@vendure/admin-ui 1.8.4 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/bundles/vendure-admin-ui-catalog.umd.js +53 -101
  2. package/bundles/vendure-admin-ui-catalog.umd.js.map +1 -1
  3. package/bundles/vendure-admin-ui-core.umd.js +115 -54
  4. package/bundles/vendure-admin-ui-core.umd.js.map +1 -1
  5. package/bundles/vendure-admin-ui-customer.umd.js +52 -2
  6. package/bundles/vendure-admin-ui-customer.umd.js.map +1 -1
  7. package/bundles/vendure-admin-ui-login.umd.js +40 -8
  8. package/bundles/vendure-admin-ui-login.umd.js.map +1 -1
  9. package/bundles/vendure-admin-ui-order.umd.js +52 -3
  10. package/bundles/vendure-admin-ui-order.umd.js.map +1 -1
  11. package/catalog/components/apply-facet-dialog/apply-facet-dialog.component.d.ts +1 -2
  12. package/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.d.ts +0 -1
  13. package/catalog/components/product-detail/product-detail.component.d.ts +2 -7
  14. package/catalog/components/product-variants-list/product-variants-list.component.d.ts +11 -11
  15. package/catalog/providers/product-detail/product-detail.service.d.ts +1 -2
  16. package/catalog/vendure-admin-ui-catalog.metadata.json +1 -1
  17. package/core/common/generated-types.d.ts +59 -0
  18. package/core/common/version.d.ts +1 -1
  19. package/core/data/definitions/facet-definitions.d.ts +1 -0
  20. package/core/data/providers/facet-data.service.d.ts +5 -1
  21. package/core/providers/custom-history-entry-component/history-entry-component-types.d.ts +81 -0
  22. package/core/providers/custom-history-entry-component/history-entry-component.service.d.ts +16 -0
  23. package/core/public_api.d.ts +2 -1
  24. package/core/shared/components/facet-value-selector/facet-value-selector.component.d.ts +17 -17
  25. package/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.d.ts +3 -11
  26. package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +1 -2
  27. package/core/vendure-admin-ui-core.metadata.json +1 -1
  28. package/customer/components/customer-detail/customer-detail.component.d.ts +3 -3
  29. package/customer/components/customer-history/customer-history-entry-host.component.d.ts +16 -0
  30. package/customer/components/customer-history/customer-history.component.d.ts +19 -3
  31. package/customer/public_api.d.ts +1 -0
  32. package/customer/vendure-admin-ui-customer.metadata.json +1 -1
  33. package/esm2015/catalog/components/apply-facet-dialog/apply-facet-dialog.component.js +2 -2
  34. package/esm2015/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.js +2 -3
  35. package/esm2015/catalog/components/product-detail/product-detail.component.js +16 -47
  36. package/esm2015/catalog/components/product-list/product-list-bulk-actions.js +4 -7
  37. package/esm2015/catalog/components/product-variants-list/product-variants-list.component.js +38 -30
  38. package/esm2015/catalog/providers/product-detail/product-detail.service.js +1 -4
  39. package/esm2015/core/common/generated-types.js +1 -1
  40. package/esm2015/core/common/introspection-result.js +2 -1
  41. package/esm2015/core/common/version.js +2 -2
  42. package/esm2015/core/data/definitions/facet-definitions.js +12 -1
  43. package/esm2015/core/data/providers/facet-data.service.js +5 -2
  44. package/esm2015/core/providers/custom-history-entry-component/history-entry-component-types.js +2 -0
  45. package/esm2015/core/providers/custom-history-entry-component/history-entry-component.service.js +39 -0
  46. package/esm2015/core/public_api.js +3 -2
  47. package/esm2015/core/shared/components/facet-value-selector/facet-value-selector.component.js +52 -22
  48. package/esm2015/core/shared/components/form-field/form-field.component.js +2 -2
  49. package/esm2015/core/shared/components/timeline-entry/timeline-entry.component.js +2 -2
  50. package/esm2015/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.js +3 -15
  51. package/esm2015/customer/components/customer-detail/customer-detail.component.js +1 -1
  52. package/esm2015/customer/components/customer-history/customer-history-entry-host.component.js +51 -0
  53. package/esm2015/customer/components/customer-history/customer-history.component.js +12 -4
  54. package/esm2015/customer/customer.module.js +3 -1
  55. package/esm2015/customer/public_api.js +2 -1
  56. package/esm2015/login/components/login/login.component.js +37 -5
  57. package/esm2015/order/components/order-detail/order-detail.component.js +1 -1
  58. package/esm2015/order/components/order-history/order-history-entry-host.component.js +51 -0
  59. package/esm2015/order/components/order-history/order-history.component.js +12 -5
  60. package/esm2015/order/order.module.js +6 -4
  61. package/esm2015/order/public_api.js +2 -1
  62. package/fesm2015/vendure-admin-ui-catalog.js +54 -85
  63. package/fesm2015/vendure-admin-ui-catalog.js.map +1 -1
  64. package/fesm2015/vendure-admin-ui-core.js +106 -39
  65. package/fesm2015/vendure-admin-ui-core.js.map +1 -1
  66. package/fesm2015/vendure-admin-ui-customer.js +63 -5
  67. package/fesm2015/vendure-admin-ui-customer.js.map +1 -1
  68. package/fesm2015/vendure-admin-ui-login.js +36 -4
  69. package/fesm2015/vendure-admin-ui-login.js.map +1 -1
  70. package/fesm2015/vendure-admin-ui-order.js +63 -6
  71. package/fesm2015/vendure-admin-ui-order.js.map +1 -1
  72. package/login/components/login/login.component.d.ts +11 -1
  73. package/login/vendure-admin-ui-login.metadata.json +1 -1
  74. package/order/components/order-detail/order-detail.component.d.ts +3 -3
  75. package/order/components/order-history/order-history-entry-host.component.d.ts +16 -0
  76. package/order/components/order-history/order-history.component.d.ts +18 -3
  77. package/order/public_api.d.ts +1 -0
  78. package/order/vendure-admin-ui-order.metadata.json +1 -1
  79. package/package.json +2 -2
  80. package/static/i18n-messages/de.json +3 -1
  81. package/static/i18n-messages/en.json +3 -1
  82. package/static/styles/_variables.scss +1 -0
  83. package/core/common/utilities/flatten-facet-values.d.ts +0 -2
  84. package/esm2015/core/common/utilities/flatten-facet-values.js +0 -4
@@ -984,4 +984,4 @@ export var StockMovementType;
984
984
  StockMovementType["CANCELLATION"] = "CANCELLATION";
985
985
  StockMovementType["RETURN"] = "RETURN";
986
986
  })(StockMovementType || (StockMovementType = {}));
987
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVkLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9jb21tb24vZ2VuZXJhdGVkLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9GQSxNQUFNLENBQU4sSUFBWSxjQUlYO0FBSkQsV0FBWSxjQUFjO0lBQ3hCLHlDQUF1QixDQUFBO0lBQ3ZCLDZFQUEyRCxDQUFBO0lBQzNELGlDQUFlLENBQUE7QUFDakIsQ0FBQyxFQUpXLGNBQWMsS0FBZCxjQUFjLFFBSXpCO0FBb0pELE1BQU0sQ0FBTixJQUFZLFNBSVg7QUFKRCxXQUFZLFNBQVM7SUFDbkIsNEJBQWUsQ0FBQTtJQUNmLDRCQUFlLENBQUE7SUFDZiw4QkFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSlcsU0FBUyxLQUFULFNBQVMsUUFJcEI7QUFtbUJEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFOLElBQVksWUEyVFg7QUEzVEQsV0FBWSxZQUFZO0lBQ3RCLGtDQUFrQztJQUNsQywyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCxtQkFBbUI7SUFDbkIsMkJBQVcsQ0FBQTtJQUNYLG9CQUFvQjtJQUNwQiwyQkFBVyxDQUFBO0lBQ1gsb0NBQW9DO0lBQ3BDLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gsd0JBQXdCO0lBQ3hCLDJCQUFXLENBQUE7SUFDWCxvQkFBb0I7SUFDcEIsMkJBQVcsQ0FBQTtJQUNYLHdCQUF3QjtJQUN4QiwyQkFBVyxDQUFBO0lBQ1gsOENBQThDO0lBQzlDLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLHVCQUF1QjtJQUN2QiwyQkFBVyxDQUFBO0lBQ1gsb0JBQW9CO0lBQ3BCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHNCQUFzQjtJQUN0QiwyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCxvQkFBb0I7SUFDcEIsMkJBQVcsQ0FBQTtJQUNYLGdCQUFnQjtJQUNoQiwyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLHlCQUF5QjtJQUN6QiwyQkFBVyxDQUFBO0lBQ1gsb0JBQW9CO0lBQ3BCLDJCQUFXLENBQUE7SUFDWCx1QkFBdUI7SUFDdkIsMkJBQVcsQ0FBQTtJQUNYLG9CQUFvQjtJQUNwQiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLGtCQUFrQjtJQUNsQiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCw4QkFBOEI7SUFDOUIsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gsd0JBQXdCO0lBQ3hCLDJCQUFXLENBQUE7SUFDWCw2QkFBNkI7SUFDN0IsMkJBQVcsQ0FBQTtJQUNYLGlCQUFpQjtJQUNqQiwyQkFBVyxDQUFBO0lBQ1gsd0JBQXdCO0lBQ3hCLDJCQUFXLENBQUE7SUFDWCxtQkFBbUI7SUFDbkIsMkJBQVcsQ0FBQTtJQUNYLHVCQUF1QjtJQUN2QiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gsV0FBVztJQUNYLDJCQUFXLENBQUE7SUFDWCxrQkFBa0I7SUFDbEIsMkJBQVcsQ0FBQTtJQUNYLDZCQUE2QjtJQUM3QiwyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCxvQkFBb0I7SUFDcEIsMkJBQVcsQ0FBQTtJQUNYLG9CQUFvQjtJQUNwQiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLG9CQUFvQjtJQUNwQiwyQkFBVyxDQUFBO0lBQ1gseUJBQXlCO0lBQ3pCLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLHVCQUF1QjtJQUN2QiwyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCxvQkFBb0I7SUFDcEIsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCx3QkFBd0I7SUFDeEIsMkJBQVcsQ0FBQTtJQUNYLHlCQUF5QjtJQUN6QiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCxrQkFBa0I7SUFDbEIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLHNCQUFzQjtJQUN0QiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLHNCQUFzQjtJQUN0QiwyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCxtQkFBbUI7SUFDbkIsMkJBQVcsQ0FBQTtJQUNYLHVCQUF1QjtJQUN2QiwyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCxvQkFBb0I7SUFDcEIsMkJBQVcsQ0FBQTtJQUNYLDRCQUE0QjtJQUM1QiwyQkFBVyxDQUFBO0lBQ1gsd0JBQXdCO0lBQ3hCLDJCQUFXLENBQUE7SUFDWCxjQUFjO0lBQ2QsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCx1QkFBdUI7SUFDdkIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLDBCQUEwQjtJQUMxQiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCx3QkFBd0I7SUFDeEIsMkJBQVcsQ0FBQTtJQUNYLHNCQUFzQjtJQUN0QiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCx3QkFBd0I7SUFDeEIsMkJBQVcsQ0FBQTtJQUNYLHlCQUF5QjtJQUN6QiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHlCQUF5QjtJQUN6QiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHlCQUF5QjtJQUN6QiwyQkFBVyxDQUFBO0lBQ1gsaUJBQWlCO0lBQ2pCLDJCQUFXLENBQUE7SUFDWCx3QkFBd0I7SUFDeEIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsNkJBQTZCO0lBQzdCLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLHNCQUFzQjtJQUN0QiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCx5QkFBeUI7SUFDekIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCxvQkFBb0I7SUFDcEIsMkJBQVcsQ0FBQTtJQUNYLG9CQUFvQjtJQUNwQiwyQkFBVyxDQUFBO0lBQ1gsb0JBQW9CO0lBQ3BCLDJCQUFXLENBQUE7SUFDWCxrQkFBa0I7SUFDbEIsMkJBQVcsQ0FBQTtJQUNYLDZCQUE2QjtJQUM3QiwyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLDJCQUEyQjtJQUMzQiwyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCx5QkFBeUI7SUFDekIsMkJBQVcsQ0FBQTtJQUNYLDJCQUEyQjtJQUMzQiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCx3QkFBd0I7SUFDeEIsMkJBQVcsQ0FBQTtJQUNYLDJCQUEyQjtJQUMzQiwyQkFBVyxDQUFBO0lBQ1gsa0NBQWtDO0lBQ2xDLDJCQUFXLENBQUE7SUFDWCx1QkFBdUI7SUFDdkIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxnQkFBZ0I7SUFDaEIsMkJBQVcsQ0FBQTtJQUNYLHlCQUF5QjtJQUN6QiwyQkFBVyxDQUFBO0lBQ1gseUJBQXlCO0lBQ3pCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCxpQ0FBaUM7SUFDakMsMkJBQVcsQ0FBQTtJQUNYLHdCQUF3QjtJQUN4QiwyQkFBVyxDQUFBO0lBQ1gseUJBQXlCO0lBQ3pCLDJCQUFXLENBQUE7SUFDWCx3QkFBd0I7SUFDeEIsMkJBQVcsQ0FBQTtJQUNYLHVCQUF1QjtJQUN2QiwyQkFBVyxDQUFBO0lBQ1gsMkJBQTJCO0lBQzNCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gsa0NBQWtDO0lBQ2xDLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsa0JBQWtCO0lBQ2xCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLDRCQUE0QjtJQUM1QiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxrQ0FBa0M7SUFDbEMsMkJBQVcsQ0FBQTtJQUNYLGtCQUFrQjtJQUNsQiwyQkFBVyxDQUFBO0lBQ1gseUJBQXlCO0lBQ3pCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHdCQUF3QjtJQUN4QiwyQkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQTNUVyxZQUFZLEtBQVosWUFBWSxRQTJUdkI7QUFrUEQsTUFBTSxDQUFOLElBQVksY0FLWDtBQUxELFdBQVksY0FBYztJQUN4QiwwQ0FBMEM7SUFDMUMscUNBQW1CLENBQUE7SUFDbkIsMkRBQTJEO0lBQzNELDZDQUEyQixDQUFBO0FBQzdCLENBQUMsRUFMVyxjQUFjLEtBQWQsY0FBYyxRQUt6QjtBQXlCRCxNQUFNLENBQU4sSUFBWSxTQTJDWDtBQTNDRCxXQUFZLFNBQVM7SUFDbkIsNENBQStCLENBQUE7SUFDL0IsZ0RBQW1DLENBQUE7SUFDbkMsMEVBQTZELENBQUE7SUFDN0Qsc0RBQXlDLENBQUE7SUFDekMsOEVBQWlFLENBQUE7SUFDakUsMERBQTZDLENBQUE7SUFDN0MsMERBQTZDLENBQUE7SUFDN0Msa0ZBQXFFLENBQUE7SUFDckUsNEVBQStELENBQUE7SUFDL0Qsb0ZBQXVFLENBQUE7SUFDdkUsa0VBQXFELENBQUE7SUFDckQsa0ZBQXFFLENBQUE7SUFDckUsMERBQTZDLENBQUE7SUFDN0Msb0VBQXVELENBQUE7SUFDdkQsMEVBQTZELENBQUE7SUFDN0Qsa0VBQXFELENBQUE7SUFDckQsZ0VBQW1ELENBQUE7SUFDbkQsOERBQWlELENBQUE7SUFDakQsa0VBQXFELENBQUE7SUFDckQsNEVBQStELENBQUE7SUFDL0QsOEVBQWlFLENBQUE7SUFDakUsc0ZBQXlFLENBQUE7SUFDekUsOEVBQWlFLENBQUE7SUFDakUsc0VBQXlELENBQUE7SUFDekQsMEVBQTZELENBQUE7SUFDN0QsZ0ZBQW1FLENBQUE7SUFDbkUsc0VBQXlELENBQUE7SUFDekQsd0VBQTJELENBQUE7SUFDM0Qsa0VBQXFELENBQUE7SUFDckQsc0VBQXlELENBQUE7SUFDekQsb0VBQXVELENBQUE7SUFDdkQsMEVBQTZELENBQUE7SUFDN0QsMEVBQTZELENBQUE7SUFDN0Qsb0RBQXVDLENBQUE7SUFDdkMsZ0VBQW1ELENBQUE7SUFDbkQsa0VBQXFELENBQUE7SUFDckQsb0VBQXVELENBQUE7SUFDdkQsb0VBQXVELENBQUE7SUFDdkQsZ0VBQW1ELENBQUE7SUFDbkQsa0VBQXFELENBQUE7SUFDckQsa0ZBQXFFLENBQUE7SUFDckUsNERBQStDLENBQUE7QUFDakQsQ0FBQyxFQTNDVyxTQUFTLEtBQVQsU0FBUyxRQTJDcEI7QUEwTEQsTUFBTSxDQUFOLElBQVksVUFJWDtBQUpELFdBQVksVUFBVTtJQUNwQiwyQkFBYSxDQUFBO0lBQ2IsNkJBQWUsQ0FBQTtJQUNmLGlDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFKVyxVQUFVLEtBQVYsVUFBVSxRQUlyQjtBQTBERCxNQUFNLENBQU4sSUFBWSxnQkF5Qlg7QUF6QkQsV0FBWSxnQkFBZ0I7SUFDMUIsK0RBQTJDLENBQUE7SUFDM0MsMkRBQXVDLENBQUE7SUFDdkMsdUVBQW1ELENBQUE7SUFDbkQsdUVBQW1ELENBQUE7SUFDbkQsK0VBQTJELENBQUE7SUFDM0QseUVBQXFELENBQUE7SUFDckQseUVBQXFELENBQUE7SUFDckQseUVBQXFELENBQUE7SUFDckQsMkVBQXVELENBQUE7SUFDdkQsMkZBQXVFLENBQUE7SUFDdkUseUZBQXFFLENBQUE7SUFDckUsdUZBQW1FLENBQUE7SUFDbkUscUZBQWlFLENBQUE7SUFDakUsbURBQStCLENBQUE7SUFDL0IscUVBQWlELENBQUE7SUFDakQseUVBQXFELENBQUE7SUFDckQsMkRBQXVDLENBQUE7SUFDdkMsNkRBQXlDLENBQUE7SUFDekMsdUVBQW1ELENBQUE7SUFDbkQsaUZBQTZELENBQUE7SUFDN0QsNkNBQXlCLENBQUE7SUFDekIsaUVBQTZDLENBQUE7SUFDN0MsaUVBQTZDLENBQUE7SUFDN0MscURBQWlDLENBQUE7QUFDbkMsQ0FBQyxFQXpCVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBeUIzQjtBQXFLRDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBTixJQUFZLFFBT1g7QUFQRCxXQUFZLFFBQVE7SUFDbEIsK0JBQW1CLENBQUE7SUFDbkIsK0JBQW1CLENBQUE7SUFDbkIsbUNBQXVCLENBQUE7SUFDdkIsaUNBQXFCLENBQUE7SUFDckIsNkJBQWlCLENBQUE7SUFDakIsbUNBQXVCLENBQUE7QUFDekIsQ0FBQyxFQVBXLFFBQVEsS0FBUixRQUFRLFFBT25CO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLENBQU4sSUFBWSxZQTJUWDtBQTNURCxXQUFZLFlBQVk7SUFDdEIsZ0JBQWdCO0lBQ2hCLHlCQUFTLENBQUE7SUFDVCxXQUFXO0lBQ1gseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxlQUFlO0lBQ2YseUJBQVMsQ0FBQTtJQUNULGtCQUFrQjtJQUNsQix5QkFBUyxDQUFBO0lBQ1QsaUJBQWlCO0lBQ2pCLHlCQUFTLENBQUE7SUFDVCxnQkFBZ0I7SUFDaEIseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULG9CQUFvQjtJQUNwQix5QkFBUyxDQUFBO0lBQ1QsWUFBWTtJQUNaLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1Qsc0JBQXNCO0lBQ3RCLCtCQUFlLENBQUE7SUFDZix3QkFBd0I7SUFDeEIsK0JBQWUsQ0FBQTtJQUNmLGVBQWU7SUFDZix5QkFBUyxDQUFBO0lBQ1QsVUFBVTtJQUNWLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QseUJBQXlCO0lBQ3pCLCtCQUFlLENBQUE7SUFDZix1QkFBdUI7SUFDdkIsK0JBQWUsQ0FBQTtJQUNmLHNCQUFzQjtJQUN0QiwrQkFBZSxDQUFBO0lBQ2YsdUJBQXVCO0lBQ3ZCLCtCQUFlLENBQUE7SUFDZixnQkFBZ0I7SUFDaEIseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsdUJBQXVCO0lBQ3ZCLCtCQUFlLENBQUE7SUFDZixzQkFBc0I7SUFDdEIsK0JBQWUsQ0FBQTtJQUNmLGVBQWU7SUFDZix5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULFdBQVc7SUFDWCwrQkFBZSxDQUFBO0lBQ2YsWUFBWTtJQUNaLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxzQkFBc0I7SUFDdEIsK0JBQWUsQ0FBQTtJQUNmLG1CQUFtQjtJQUNuQiwrQkFBZSxDQUFBO0lBQ2Ysc0JBQXNCO0lBQ3RCLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULHNCQUFzQjtJQUN0Qix5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxlQUFlO0lBQ2YseUJBQVMsQ0FBQTtJQUNULFdBQVc7SUFDWCx5QkFBUyxDQUFBO0lBQ1QsWUFBWTtJQUNaLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxxQkFBcUI7SUFDckIseUJBQVMsQ0FBQTtJQUNULGdCQUFnQjtJQUNoQix5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxrQkFBa0I7SUFDbEIseUJBQVMsQ0FBQTtJQUNULGlCQUFpQjtJQUNqQix5QkFBUyxDQUFBO0lBQ1QsV0FBVztJQUNYLHlCQUFTLENBQUE7SUFDVCxpQkFBaUI7SUFDakIseUJBQVMsQ0FBQTtJQUNULGdCQUFnQjtJQUNoQix5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxlQUFlO0lBQ2YseUJBQVMsQ0FBQTtJQUNULGVBQWU7SUFDZix5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1Qsa0JBQWtCO0lBQ2xCLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxlQUFlO0lBQ2YseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1Qsb0JBQW9CO0lBQ3BCLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsVUFBVTtJQUNWLHlCQUFTLENBQUE7SUFDVCxpQkFBaUI7SUFDakIseUJBQVMsQ0FBQTtJQUNULG1CQUFtQjtJQUNuQix5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxlQUFlO0lBQ2YseUJBQVMsQ0FBQTtJQUNULFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1QsaUJBQWlCO0lBQ2pCLHlCQUFTLENBQUE7SUFDVCxnQkFBZ0I7SUFDaEIseUJBQVMsQ0FBQTtJQUNULGdCQUFnQjtJQUNoQix5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCx1QkFBdUI7SUFDdkIseUJBQVMsQ0FBQTtJQUNULG9CQUFvQjtJQUNwQix5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCwrQkFBZSxDQUFBO0lBQ2Ysd0JBQXdCO0lBQ3hCLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1QsV0FBVztJQUNYLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULGlCQUFpQjtJQUNqQix5QkFBUyxDQUFBO0lBQ1QsMkJBQTJCO0lBQzNCLCtCQUFlLENBQUE7SUFDZiwwQkFBMEI7SUFDMUIsK0JBQWUsQ0FBQTtJQUNmLGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULGVBQWU7SUFDZix5QkFBUyxDQUFBO0lBQ1QsZ0JBQWdCO0lBQ2hCLCtCQUFlLENBQUE7SUFDZixjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGtCQUFrQjtJQUNsQix5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULG9CQUFvQjtJQUNwQix5QkFBUyxDQUFBO0lBQ1QsWUFBWTtJQUNaLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1QsZ0JBQWdCO0lBQ2hCLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxlQUFlO0lBQ2YseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QscUJBQXFCO0lBQ3JCLHlCQUFTLENBQUE7SUFDVCxnQkFBZ0I7SUFDaEIseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxvQkFBb0I7SUFDcEIsK0JBQWUsQ0FBQTtJQUNmLFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULFdBQVc7SUFDWCx5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1QsZ0JBQWdCO0lBQ2hCLHlCQUFTLENBQUE7SUFDVCxXQUFXO0lBQ1gseUJBQVMsQ0FBQTtJQUNULFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1QsaUJBQWlCO0lBQ2pCLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1QsWUFBWTtJQUNaLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCx5QkFBeUI7SUFDekIsbUNBQW1CLENBQUE7SUFDbkIsMEJBQTBCO0lBQzFCLG1DQUFtQixDQUFBO0lBQ25CLFdBQVc7SUFDWCx5QkFBUyxDQUFBO0FBQ1gsQ0FBQyxFQTNUVyxZQUFZLEtBQVosWUFBWSxRQTJUdkI7QUErQkQsTUFBTSxDQUFOLElBQVksZUFHWDtBQUhELFdBQVksZUFBZTtJQUN6Qiw4QkFBVyxDQUFBO0lBQ1gsNEJBQVMsQ0FBQTtBQUNYLENBQUMsRUFIVyxlQUFlLEtBQWYsZUFBZSxRQUcxQjtBQXUvQ0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQkc7QUFDSCxNQUFNLENBQU4sSUFBWSxVQTRLWDtBQTVLRCxXQUFZLFVBQVU7SUFDcEIsNERBQTREO0lBQzVELDZDQUErQixDQUFBO0lBQy9CLGdEQUFnRDtJQUNoRCx5REFBMkMsQ0FBQTtJQUMzQyx3Q0FBd0M7SUFDeEMseUNBQTJCLENBQUE7SUFDM0Isd0VBQXdFO0lBQ3hFLDZDQUErQixDQUFBO0lBQy9CLDBDQUEwQztJQUMxQyw2Q0FBK0IsQ0FBQTtJQUMvQiw2Q0FBNkM7SUFDN0MsbURBQXFDLENBQUE7SUFDckMsMENBQTBDO0lBQzFDLDZDQUErQixDQUFBO0lBQy9CLDJDQUEyQztJQUMzQywrQ0FBaUMsQ0FBQTtJQUNqQyxnREFBZ0Q7SUFDaEQseURBQTJDLENBQUE7SUFDM0Msd0NBQXdDO0lBQ3hDLHlDQUEyQixDQUFBO0lBQzNCLHdDQUF3QztJQUN4Qyx5Q0FBMkIsQ0FBQTtJQUMzQixnREFBZ0Q7SUFDaEQseURBQTJDLENBQUE7SUFDM0MsMENBQTBDO0lBQzFDLDZDQUErQixDQUFBO0lBQy9CLDRDQUE0QztJQUM1QyxpREFBbUMsQ0FBQTtJQUNuQyxzSUFBc0k7SUFDdEksK0NBQWlDLENBQUE7SUFDakMsaURBQWlEO0lBQ2pELDJEQUE2QyxDQUFBO0lBQzdDLHlDQUF5QztJQUN6QywyQ0FBNkIsQ0FBQTtJQUM3QixzQ0FBc0M7SUFDdEMscUNBQXVCLENBQUE7SUFDdkIsOENBQThDO0lBQzlDLHFEQUF1QyxDQUFBO0lBQ3ZDLDBDQUEwQztJQUMxQyw2Q0FBK0IsQ0FBQTtJQUMvQix1Q0FBdUM7SUFDdkMsdUNBQXlCLENBQUE7SUFDekIsZ0RBQWdEO0lBQ2hELHlEQUEyQyxDQUFBO0lBQzNDLHdDQUF3QztJQUN4Qyx5Q0FBMkIsQ0FBQTtJQUMzQix3RUFBd0U7SUFDeEUsNkNBQStCLENBQUE7SUFDL0IsMENBQTBDO0lBQzFDLDZDQUErQixDQUFBO0lBQy9CLDZDQUE2QztJQUM3QyxtREFBcUMsQ0FBQTtJQUNyQywwQ0FBMEM7SUFDMUMsNkNBQStCLENBQUE7SUFDL0IsMkNBQTJDO0lBQzNDLCtDQUFpQyxDQUFBO0lBQ2pDLGdEQUFnRDtJQUNoRCx5REFBMkMsQ0FBQTtJQUMzQyx3Q0FBd0M7SUFDeEMseUNBQTJCLENBQUE7SUFDM0Isd0NBQXdDO0lBQ3hDLHlDQUEyQixDQUFBO0lBQzNCLGdEQUFnRDtJQUNoRCx5REFBMkMsQ0FBQTtJQUMzQywwQ0FBMEM7SUFDMUMsNkNBQStCLENBQUE7SUFDL0IsNENBQTRDO0lBQzVDLGlEQUFtQyxDQUFBO0lBQ25DLHNJQUFzSTtJQUN0SSwrQ0FBaUMsQ0FBQTtJQUNqQyxpREFBaUQ7SUFDakQsMkRBQTZDLENBQUE7SUFDN0MseUNBQXlDO0lBQ3pDLDJDQUE2QixDQUFBO0lBQzdCLHNDQUFzQztJQUN0QyxxQ0FBdUIsQ0FBQTtJQUN2Qiw4Q0FBOEM7SUFDOUMscURBQXVDLENBQUE7SUFDdkMsMENBQTBDO0lBQzFDLDZDQUErQixDQUFBO0lBQy9CLHVDQUF1QztJQUN2Qyx1Q0FBeUIsQ0FBQTtJQUN6Qix5RUFBeUU7SUFDekUsNkJBQWUsQ0FBQTtJQUNmLHlDQUEyQixDQUFBO0lBQzNCLHNFQUFzRTtJQUN0RSwrQkFBaUIsQ0FBQTtJQUNqQiw4Q0FBOEM7SUFDOUMscURBQXVDLENBQUE7SUFDdkMsc0NBQXNDO0lBQ3RDLHFDQUF1QixDQUFBO0lBQ3ZCLHNFQUFzRTtJQUN0RSx5Q0FBMkIsQ0FBQTtJQUMzQix3Q0FBd0M7SUFDeEMseUNBQTJCLENBQUE7SUFDM0IsMkNBQTJDO0lBQzNDLCtDQUFpQyxDQUFBO0lBQ2pDLHdDQUF3QztJQUN4Qyx5Q0FBMkIsQ0FBQTtJQUMzQix5Q0FBeUM7SUFDekMsMkNBQTZCLENBQUE7SUFDN0IsOENBQThDO0lBQzlDLHFEQUF1QyxDQUFBO0lBQ3ZDLHNDQUFzQztJQUN0QyxxQ0FBdUIsQ0FBQTtJQUN2QixzQ0FBc0M7SUFDdEMscUNBQXVCLENBQUE7SUFDdkIsOENBQThDO0lBQzlDLHFEQUF1QyxDQUFBO0lBQ3ZDLHdDQUF3QztJQUN4Qyx5Q0FBMkIsQ0FBQTtJQUMzQiwwQ0FBMEM7SUFDMUMsNkNBQStCLENBQUE7SUFDL0Isb0lBQW9JO0lBQ3BJLDJDQUE2QixDQUFBO0lBQzdCLCtDQUErQztJQUMvQyx1REFBeUMsQ0FBQTtJQUN6Qyx1Q0FBdUM7SUFDdkMsdUNBQXlCLENBQUE7SUFDekIsb0NBQW9DO0lBQ3BDLGlDQUFtQixDQUFBO0lBQ25CLDRDQUE0QztJQUM1QyxpREFBbUMsQ0FBQTtJQUNuQyx3Q0FBd0M7SUFDeEMseUNBQTJCLENBQUE7SUFDM0IscUNBQXFDO0lBQ3JDLG1DQUFxQixDQUFBO0lBQ3JCLDJEQUEyRDtJQUMzRCx1Q0FBeUIsQ0FBQTtJQUN6QixnREFBZ0Q7SUFDaEQseURBQTJDLENBQUE7SUFDM0Msd0NBQXdDO0lBQ3hDLHlDQUEyQixDQUFBO0lBQzNCLHdFQUF3RTtJQUN4RSw2Q0FBK0IsQ0FBQTtJQUMvQiwwQ0FBMEM7SUFDMUMsNkNBQStCLENBQUE7SUFDL0IsNkNBQTZDO0lBQzdDLG1EQUFxQyxDQUFBO0lBQ3JDLDBDQUEwQztJQUMxQyw2Q0FBK0IsQ0FBQTtJQUMvQiwyQ0FBMkM7SUFDM0MsK0NBQWlDLENBQUE7SUFDakMsZ0RBQWdEO0lBQ2hELHlEQUEyQyxDQUFBO0lBQzNDLHdDQUF3QztJQUN4Qyx5Q0FBMkIsQ0FBQTtJQUMzQixpREFBaUQ7SUFDakQsMkRBQTZDLENBQUE7SUFDN0Msd0NBQXdDO0lBQ3hDLHlDQUEyQixDQUFBO0lBQzNCLGdEQUFnRDtJQUNoRCx5REFBMkMsQ0FBQTtJQUMzQywwQ0FBMEM7SUFDMUMsNkNBQStCLENBQUE7SUFDL0IsNENBQTRDO0lBQzVDLGlEQUFtQyxDQUFBO0lBQ25DLHNJQUFzSTtJQUN0SSwrQ0FBaUMsQ0FBQTtJQUNqQyxpREFBaUQ7SUFDakQsMkRBQTZDLENBQUE7SUFDN0MseUNBQXlDO0lBQ3pDLDJDQUE2QixDQUFBO0lBQzdCLHNDQUFzQztJQUN0QyxxQ0FBdUIsQ0FBQTtJQUN2Qiw4Q0FBOEM7SUFDOUMscURBQXVDLENBQUE7SUFDdkMsMENBQTBDO0lBQzFDLDZDQUErQixDQUFBO0lBQy9CLHVDQUF1QztJQUN2Qyx1Q0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBNUtXLFVBQVUsS0FBVixVQUFVLFFBNEtyQjtBQWtoQ0QsTUFBTSxDQUFOLElBQVksU0FHWDtBQUhELFdBQVksU0FBUztJQUNuQix3QkFBVyxDQUFBO0lBQ1gsMEJBQWEsQ0FBQTtBQUNmLENBQUMsRUFIVyxTQUFTLEtBQVQsU0FBUyxRQUdwQjtBQW1DRCxNQUFNLENBQU4sSUFBWSxpQkFPWDtBQVBELFdBQVksaUJBQWlCO0lBQzNCLDhDQUF5QixDQUFBO0lBQ3pCLDhDQUF5QixDQUFBO0lBQ3pCLHdDQUFtQixDQUFBO0lBQ25CLGtDQUFhLENBQUE7SUFDYixrREFBNkIsQ0FBQTtJQUM3QixzQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBUFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQU81QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlXHJcbmV4cG9ydCB0eXBlIE1heWJlPFQ+ID0gVCB8IG51bGw7XHJcbmV4cG9ydCB0eXBlIEV4YWN0PFQgZXh0ZW5kcyB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfT4gPSB7IFtLIGluIGtleW9mIFRdOiBUW0tdIH07XHJcbmV4cG9ydCB0eXBlIE1ha2VPcHRpb25hbDxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBPbWl0PFQsIEs+ICYgeyBbU3ViS2V5IGluIEtdPzogTWF5YmU8VFtTdWJLZXldPiB9O1xyXG5leHBvcnQgdHlwZSBNYWtlTWF5YmU8VCwgSyBleHRlbmRzIGtleW9mIFQ+ID0gT21pdDxULCBLPiAmIHsgW1N1YktleSBpbiBLXTogTWF5YmU8VFtTdWJLZXldPiB9O1xyXG4vKiogQWxsIGJ1aWx0LWluIGFuZCBjdXN0b20gc2NhbGFycywgbWFwcGVkIHRvIHRoZWlyIGFjdHVhbCB2YWx1ZXMgKi9cclxuZXhwb3J0IHR5cGUgU2NhbGFycyA9IHtcclxuICBJRDogc3RyaW5nO1xyXG4gIFN0cmluZzogc3RyaW5nO1xyXG4gIEJvb2xlYW46IGJvb2xlYW47XHJcbiAgSW50OiBudW1iZXI7XHJcbiAgRmxvYXQ6IG51bWJlcjtcclxuICAvKiogQSBkYXRlLXRpbWUgc3RyaW5nIGF0IFVUQywgc3VjaCBhcyAyMDA3LTEyLTAzVDEwOjE1OjMwWiwgY29tcGxpYW50IHdpdGggdGhlIGBkYXRlLXRpbWVgIGZvcm1hdCBvdXRsaW5lZCBpbiBzZWN0aW9uIDUuNiBvZiB0aGUgUkZDIDMzMzkgcHJvZmlsZSBvZiB0aGUgSVNPIDg2MDEgc3RhbmRhcmQgZm9yIHJlcHJlc2VudGF0aW9uIG9mIGRhdGVzIGFuZCB0aW1lcyB1c2luZyB0aGUgR3JlZ29yaWFuIGNhbGVuZGFyLiAqL1xyXG4gIERhdGVUaW1lOiBhbnk7XHJcbiAgLyoqIFRoZSBgSlNPTmAgc2NhbGFyIHR5cGUgcmVwcmVzZW50cyBKU09OIHZhbHVlcyBhcyBzcGVjaWZpZWQgYnkgW0VDTUEtNDA0XShodHRwOi8vd3d3LmVjbWEtaW50ZXJuYXRpb25hbC5vcmcvcHVibGljYXRpb25zL2ZpbGVzL0VDTUEtU1QvRUNNQS00MDQucGRmKS4gKi9cclxuICBKU09OOiBhbnk7XHJcbiAgLyoqIFRoZSBgVXBsb2FkYCBzY2FsYXIgdHlwZSByZXByZXNlbnRzIGEgZmlsZSB1cGxvYWQuICovXHJcbiAgVXBsb2FkOiBhbnk7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQWRkRnVsZmlsbG1lbnRUb09yZGVyUmVzdWx0ID0gRnVsZmlsbG1lbnQgfCBFbXB0eU9yZGVyTGluZVNlbGVjdGlvbkVycm9yIHwgSXRlbXNBbHJlYWR5RnVsZmlsbGVkRXJyb3IgfCBJbnN1ZmZpY2llbnRTdG9ja09uSGFuZEVycm9yIHwgSW52YWxpZEZ1bGZpbGxtZW50SGFuZGxlckVycm9yIHwgRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvciB8IENyZWF0ZUZ1bGZpbGxtZW50RXJyb3I7XHJcblxyXG5leHBvcnQgdHlwZSBBZGRJdGVtSW5wdXQgPSB7XHJcbiAgcHJvZHVjdFZhcmlhbnRJZDogU2NhbGFyc1snSUQnXTtcclxuICBxdWFudGl0eTogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBZGRJdGVtVG9EcmFmdE9yZGVySW5wdXQgPSB7XHJcbiAgcHJvZHVjdFZhcmlhbnRJZDogU2NhbGFyc1snSUQnXTtcclxuICBxdWFudGl0eTogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBZGRNYW51YWxQYXltZW50VG9PcmRlclJlc3VsdCA9IE9yZGVyIHwgTWFudWFsUGF5bWVudFN0YXRlRXJyb3I7XHJcblxyXG5leHBvcnQgdHlwZSBBZGROb3RlVG9DdXN0b21lcklucHV0ID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIG5vdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGlzUHVibGljOiBTY2FsYXJzWydCb29sZWFuJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBZGROb3RlVG9PcmRlcklucHV0ID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIG5vdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGlzUHVibGljOiBTY2FsYXJzWydCb29sZWFuJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBZGRyZXNzID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgZnVsbE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY29tcGFueT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBzdHJlZXRMaW5lMTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgc3RyZWV0TGluZTI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY2l0eT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBwcm92aW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBwb3N0YWxDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGNvdW50cnk6IENvdW50cnk7XHJcbiAgcGhvbmVOdW1iZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgZGVmYXVsdFNoaXBwaW5nQWRkcmVzcz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgZGVmYXVsdEJpbGxpbmdBZGRyZXNzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQWRqdXN0RHJhZnRPcmRlckxpbmVJbnB1dCA9IHtcclxuICBvcmRlckxpbmVJZDogU2NhbGFyc1snSUQnXTtcclxuICBxdWFudGl0eTogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBZGp1c3RPcmRlckxpbmVJbnB1dCA9IHtcclxuICBvcmRlckxpbmVJZDogU2NhbGFyc1snSUQnXTtcclxuICBxdWFudGl0eTogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBZGp1c3RtZW50ID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnQWRqdXN0bWVudCc7XHJcbiAgYWRqdXN0bWVudFNvdXJjZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdHlwZTogQWRqdXN0bWVudFR5cGU7XHJcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGFtb3VudDogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgZW51bSBBZGp1c3RtZW50VHlwZSB7XHJcbiAgUFJPTU9USU9OID0gJ1BST01PVElPTicsXHJcbiAgRElTVFJJQlVURURfT1JERVJfUFJPTU9USU9OID0gJ0RJU1RSSUJVVEVEX09SREVSX1BST01PVElPTicsXHJcbiAgT1RIRVIgPSAnT1RIRVInXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEFkbWluaXN0cmF0b3IgPSBOb2RlICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnQWRtaW5pc3RyYXRvcic7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBmaXJzdE5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGxhc3ROYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBlbWFpbEFkZHJlc3M6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHVzZXI6IFVzZXI7XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFkbWluaXN0cmF0b3JGaWx0ZXJQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgZmlyc3ROYW1lPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBsYXN0TmFtZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgZW1haWxBZGRyZXNzPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFkbWluaXN0cmF0b3JMaXN0ID0gUGFnaW5hdGVkTGlzdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0FkbWluaXN0cmF0b3JMaXN0JztcclxuICBpdGVtczogQXJyYXk8QWRtaW5pc3RyYXRvcj47XHJcbiAgdG90YWxJdGVtczogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBZG1pbmlzdHJhdG9yTGlzdE9wdGlvbnMgPSB7XHJcbiAgLyoqIFNraXBzIHRoZSBmaXJzdCBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHNraXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFRha2VzIG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgdGFrZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogU3BlY2lmaWVzIHdoaWNoIHByb3BlcnRpZXMgdG8gc29ydCB0aGUgcmVzdWx0cyBieSAqL1xyXG4gIHNvcnQ/OiBNYXliZTxBZG1pbmlzdHJhdG9yU29ydFBhcmFtZXRlcj47XHJcbiAgLyoqIEFsbG93cyB0aGUgcmVzdWx0cyB0byBiZSBmaWx0ZXJlZCAqL1xyXG4gIGZpbHRlcj86IE1heWJlPEFkbWluaXN0cmF0b3JGaWx0ZXJQYXJhbWV0ZXI+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hldGhlciBtdWx0aXBsZSBcImZpbHRlclwiIGFyZ3VtZW50cyBzaG91bGQgYmUgY29tYmluZXMgd2l0aCBhIGxvZ2ljYWwgQU5EIG9yIE9SIG9wZXJhdGlvbi4gRGVmYXVsdHMgdG8gQU5ELiAqL1xyXG4gIGZpbHRlck9wZXJhdG9yPzogTWF5YmU8TG9naWNhbE9wZXJhdG9yPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFkbWluaXN0cmF0b3JQYXltZW50SW5wdXQgPSB7XHJcbiAgcGF5bWVudE1ldGhvZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBtZXRhZGF0YT86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBZG1pbmlzdHJhdG9yUmVmdW5kSW5wdXQgPSB7XHJcbiAgcGF5bWVudElkOiBTY2FsYXJzWydJRCddO1xyXG4gIHJlYXNvbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFkbWluaXN0cmF0b3JTb3J0UGFyYW1ldGVyID0ge1xyXG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHVwZGF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgZmlyc3ROYW1lPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBsYXN0TmFtZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgZW1haWxBZGRyZXNzPzogTWF5YmU8U29ydE9yZGVyPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFsbG9jYXRpb24gPSBOb2RlICYgU3RvY2tNb3ZlbWVudCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0FsbG9jYXRpb24nO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgcHJvZHVjdFZhcmlhbnQ6IFByb2R1Y3RWYXJpYW50O1xyXG4gIHR5cGU6IFN0b2NrTW92ZW1lbnRUeXBlO1xyXG4gIHF1YW50aXR5OiBTY2FsYXJzWydJbnQnXTtcclxuICBvcmRlckxpbmU6IE9yZGVyTGluZTtcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCBpZiBhbiBhdHRlbXB0aW5nIHRvIHJlZnVuZCBhbiBPcmRlckl0ZW0gd2hpY2ggaGFzIGFscmVhZHkgYmVlbiByZWZ1bmRlZCAqL1xyXG5leHBvcnQgdHlwZSBBbHJlYWR5UmVmdW5kZWRFcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnQWxyZWFkeVJlZnVuZGVkRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHJlZnVuZElkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQXBwbHlDb3Vwb25Db2RlUmVzdWx0ID0gT3JkZXIgfCBDb3Vwb25Db2RlRXhwaXJlZEVycm9yIHwgQ291cG9uQ29kZUludmFsaWRFcnJvciB8IENvdXBvbkNvZGVMaW1pdEVycm9yO1xyXG5cclxuZXhwb3J0IHR5cGUgQXNzZXQgPSBOb2RlICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnQXNzZXQnO1xyXG4gIHRhZ3M6IEFycmF5PFRhZz47XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0eXBlOiBBc3NldFR5cGU7XHJcbiAgZmlsZVNpemU6IFNjYWxhcnNbJ0ludCddO1xyXG4gIG1pbWVUeXBlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB3aWR0aDogU2NhbGFyc1snSW50J107XHJcbiAgaGVpZ2h0OiBTY2FsYXJzWydJbnQnXTtcclxuICBzb3VyY2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHByZXZpZXc6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGZvY2FsUG9pbnQ/OiBNYXliZTxDb29yZGluYXRlPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQXNzZXRGaWx0ZXJQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgbmFtZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgdHlwZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgZmlsZVNpemU/OiBNYXliZTxOdW1iZXJPcGVyYXRvcnM+O1xyXG4gIG1pbWVUeXBlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICB3aWR0aD86IE1heWJlPE51bWJlck9wZXJhdG9ycz47XHJcbiAgaGVpZ2h0PzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICBzb3VyY2U/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIHByZXZpZXc/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQXNzZXRMaXN0ID0gUGFnaW5hdGVkTGlzdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0Fzc2V0TGlzdCc7XHJcbiAgaXRlbXM6IEFycmF5PEFzc2V0PjtcclxuICB0b3RhbEl0ZW1zOiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFzc2V0TGlzdE9wdGlvbnMgPSB7XHJcbiAgdGFncz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPj47XHJcbiAgdGFnc09wZXJhdG9yPzogTWF5YmU8TG9naWNhbE9wZXJhdG9yPjtcclxuICAvKiogU2tpcHMgdGhlIGZpcnN0IG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgc2tpcD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogVGFrZXMgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICB0YWtlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hpY2ggcHJvcGVydGllcyB0byBzb3J0IHRoZSByZXN1bHRzIGJ5ICovXHJcbiAgc29ydD86IE1heWJlPEFzc2V0U29ydFBhcmFtZXRlcj47XHJcbiAgLyoqIEFsbG93cyB0aGUgcmVzdWx0cyB0byBiZSBmaWx0ZXJlZCAqL1xyXG4gIGZpbHRlcj86IE1heWJlPEFzc2V0RmlsdGVyUGFyYW1ldGVyPjtcclxuICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgbXVsdGlwbGUgXCJmaWx0ZXJcIiBhcmd1bWVudHMgc2hvdWxkIGJlIGNvbWJpbmVzIHdpdGggYSBsb2dpY2FsIEFORCBvciBPUiBvcGVyYXRpb24uIERlZmF1bHRzIHRvIEFORC4gKi9cclxuICBmaWx0ZXJPcGVyYXRvcj86IE1heWJlPExvZ2ljYWxPcGVyYXRvcj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBc3NldFNvcnRQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBuYW1lPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBmaWxlU2l6ZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgbWltZVR5cGU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHdpZHRoPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBoZWlnaHQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHNvdXJjZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgcHJldmlldz86IE1heWJlPFNvcnRPcmRlcj47XHJcbn07XHJcblxyXG5leHBvcnQgZW51bSBBc3NldFR5cGUge1xyXG4gIElNQUdFID0gJ0lNQUdFJyxcclxuICBWSURFTyA9ICdWSURFTycsXHJcbiAgQklOQVJZID0gJ0JJTkFSWSdcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQXNzaWduQXNzZXRzVG9DaGFubmVsSW5wdXQgPSB7XHJcbiAgYXNzZXRJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGNoYW5uZWxJZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsSW5wdXQgPSB7XHJcbiAgY29sbGVjdGlvbklkczogQXJyYXk8U2NhbGFyc1snSUQnXT47XHJcbiAgY2hhbm5lbElkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQXNzaWduRmFjZXRzVG9DaGFubmVsSW5wdXQgPSB7XHJcbiAgZmFjZXRJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGNoYW5uZWxJZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFzc2lnblByb2R1Y3RWYXJpYW50c1RvQ2hhbm5lbElucHV0ID0ge1xyXG4gIHByb2R1Y3RWYXJpYW50SWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcclxuICBjaGFubmVsSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgcHJpY2VGYWN0b3I/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFzc2lnblByb2R1Y3RzVG9DaGFubmVsSW5wdXQgPSB7XHJcbiAgcHJvZHVjdElkczogQXJyYXk8U2NhbGFyc1snSUQnXT47XHJcbiAgY2hhbm5lbElkOiBTY2FsYXJzWydJRCddO1xyXG4gIHByaWNlRmFjdG9yPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBc3NpZ25Qcm9tb3Rpb25zVG9DaGFubmVsSW5wdXQgPSB7XHJcbiAgcHJvbW90aW9uSWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcclxuICBjaGFubmVsSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBdXRoZW50aWNhdGlvbklucHV0ID0ge1xyXG4gIG5hdGl2ZT86IE1heWJlPE5hdGl2ZUF1dGhJbnB1dD47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBdXRoZW50aWNhdGlvbk1ldGhvZCA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdBdXRoZW50aWNhdGlvbk1ldGhvZCc7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBzdHJhdGVneTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBdXRoZW50aWNhdGlvblJlc3VsdCA9IEN1cnJlbnRVc2VyIHwgSW52YWxpZENyZWRlbnRpYWxzRXJyb3I7XHJcblxyXG5leHBvcnQgdHlwZSBCb29sZWFuQ3VzdG9tRmllbGRDb25maWcgPSBDdXN0b21GaWVsZCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZyc7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdHlwZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgbGlzdDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGxhYmVsPzogTWF5YmU8QXJyYXk8TG9jYWxpemVkU3RyaW5nPj47XHJcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxBcnJheTxMb2NhbGl6ZWRTdHJpbmc+PjtcclxuICByZWFkb25seT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgaW50ZXJuYWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIG51bGxhYmxlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICB1aT86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG4vKiogT3BlcmF0b3JzIGZvciBmaWx0ZXJpbmcgb24gYSBsaXN0IG9mIEJvb2xlYW4gZmllbGRzICovXHJcbmV4cG9ydCB0eXBlIEJvb2xlYW5MaXN0T3BlcmF0b3JzID0ge1xyXG4gIGluTGlzdDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG59O1xyXG5cclxuLyoqIE9wZXJhdG9ycyBmb3IgZmlsdGVyaW5nIG9uIGEgQm9vbGVhbiBmaWVsZCAqL1xyXG5leHBvcnQgdHlwZSBCb29sZWFuT3BlcmF0b3JzID0ge1xyXG4gIGVxPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCBpZiBhbiBhdHRlbXB0aW5nIHRvIGNhbmNlbCBsaW5lcyBmcm9tIGFuIE9yZGVyIHdoaWNoIGlzIHN0aWxsIGFjdGl2ZSAqL1xyXG5leHBvcnQgdHlwZSBDYW5jZWxBY3RpdmVPcmRlckVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdDYW5jZWxBY3RpdmVPcmRlckVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBvcmRlclN0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENhbmNlbE9yZGVySW5wdXQgPSB7XHJcbiAgLyoqIFRoZSBpZCBvZiB0aGUgb3JkZXIgdG8gYmUgY2FuY2VsbGVkICovXHJcbiAgb3JkZXJJZDogU2NhbGFyc1snSUQnXTtcclxuICAvKiogT3B0aW9uYWxseSBzcGVjaWZ5IHdoaWNoIE9yZGVyTGluZXMgdG8gY2FuY2VsLiBJZiBub3QgcHJvdmlkZWQsIGFsbCBPcmRlckxpbmVzIHdpbGwgYmUgY2FuY2VsbGVkICovXHJcbiAgbGluZXM/OiBNYXliZTxBcnJheTxPcmRlckxpbmVJbnB1dD4+O1xyXG4gIC8qKiBTcGVjaWZ5IHdoZXRoZXIgdGhlIHNoaXBwaW5nIGNoYXJnZXMgc2hvdWxkIGFsc28gYmUgY2FuY2VsbGVkLiBEZWZhdWx0cyB0byBmYWxzZSAqL1xyXG4gIGNhbmNlbFNoaXBwaW5nPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICByZWFzb24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDYW5jZWxPcmRlclJlc3VsdCA9IE9yZGVyIHwgRW1wdHlPcmRlckxpbmVTZWxlY3Rpb25FcnJvciB8IFF1YW50aXR5VG9vR3JlYXRFcnJvciB8IE11bHRpcGxlT3JkZXJFcnJvciB8IENhbmNlbEFjdGl2ZU9yZGVyRXJyb3IgfCBPcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yO1xyXG5cclxuLyoqIFJldHVybmVkIGlmIHRoZSBQYXltZW50IGNhbmNlbGxhdGlvbiBmYWlscyAqL1xyXG5leHBvcnQgdHlwZSBDYW5jZWxQYXltZW50RXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0NhbmNlbFBheW1lbnRFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgcGF5bWVudEVycm9yTWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDYW5jZWxQYXltZW50UmVzdWx0ID0gUGF5bWVudCB8IENhbmNlbFBheW1lbnRFcnJvciB8IFBheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcjtcclxuXHJcbmV4cG9ydCB0eXBlIENhbmNlbGxhdGlvbiA9IE5vZGUgJiBTdG9ja01vdmVtZW50ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnQ2FuY2VsbGF0aW9uJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHByb2R1Y3RWYXJpYW50OiBQcm9kdWN0VmFyaWFudDtcclxuICB0eXBlOiBTdG9ja01vdmVtZW50VHlwZTtcclxuICBxdWFudGl0eTogU2NhbGFyc1snSW50J107XHJcbiAgb3JkZXJMaW5lOiBPcmRlckxpbmU7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDaGFubmVsID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0NoYW5uZWwnO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdG9rZW46IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGRlZmF1bHRUYXhab25lPzogTWF5YmU8Wm9uZT47XHJcbiAgZGVmYXVsdFNoaXBwaW5nWm9uZT86IE1heWJlPFpvbmU+O1xyXG4gIGRlZmF1bHRMYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICBjdXJyZW5jeUNvZGU6IEN1cnJlbmN5Q29kZTtcclxuICBwcmljZXNJbmNsdWRlVGF4OiBTY2FsYXJzWydCb29sZWFuJ107XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBSZXR1cm5lZCB3aGVuIHRoZSBkZWZhdWx0IExhbmd1YWdlQ29kZSBvZiBhIENoYW5uZWwgaXMgbm8gbG9uZ2VyIGZvdW5kIGluIHRoZSBgYXZhaWxhYmxlTGFuZ3VhZ2VzYFxyXG4gKiBvZiB0aGUgR2xvYmFsU2V0dGluZ3NcclxuICovXHJcbmV4cG9ydCB0eXBlIENoYW5uZWxEZWZhdWx0TGFuZ3VhZ2VFcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnQ2hhbm5lbERlZmF1bHRMYW5ndWFnZUVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBsYW5ndWFnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgY2hhbm5lbENvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ29sbGVjdGlvbiA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdDb2xsZWN0aW9uJztcclxuICBpc1ByaXZhdGU6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIGxhbmd1YWdlQ29kZT86IE1heWJlPExhbmd1YWdlQ29kZT47XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgc2x1ZzogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgYnJlYWRjcnVtYnM6IEFycmF5PENvbGxlY3Rpb25CcmVhZGNydW1iPjtcclxuICBwb3NpdGlvbjogU2NhbGFyc1snSW50J107XHJcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGZlYXR1cmVkQXNzZXQ/OiBNYXliZTxBc3NldD47XHJcbiAgYXNzZXRzOiBBcnJheTxBc3NldD47XHJcbiAgcGFyZW50PzogTWF5YmU8Q29sbGVjdGlvbj47XHJcbiAgY2hpbGRyZW4/OiBNYXliZTxBcnJheTxDb2xsZWN0aW9uPj47XHJcbiAgZmlsdGVyczogQXJyYXk8Q29uZmlndXJhYmxlT3BlcmF0aW9uPjtcclxuICB0cmFuc2xhdGlvbnM6IEFycmF5PENvbGxlY3Rpb25UcmFuc2xhdGlvbj47XHJcbiAgcHJvZHVjdFZhcmlhbnRzOiBQcm9kdWN0VmFyaWFudExpc3Q7XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDb2xsZWN0aW9uUHJvZHVjdFZhcmlhbnRzQXJncyA9IHtcclxuICBvcHRpb25zPzogTWF5YmU8UHJvZHVjdFZhcmlhbnRMaXN0T3B0aW9ucz47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDb2xsZWN0aW9uQnJlYWRjcnVtYiA9IHtcclxuICBfX3R5cGVuYW1lPzogJ0NvbGxlY3Rpb25CcmVhZGNydW1iJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBzbHVnOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENvbGxlY3Rpb25GaWx0ZXJQYXJhbWV0ZXIgPSB7XHJcbiAgaXNQcml2YXRlPzogTWF5YmU8Qm9vbGVhbk9wZXJhdG9ycz47XHJcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgbGFuZ3VhZ2VDb2RlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBuYW1lPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBzbHVnPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBwb3NpdGlvbj86IE1heWJlPE51bWJlck9wZXJhdG9ycz47XHJcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ29sbGVjdGlvbkxpc3QgPSBQYWdpbmF0ZWRMaXN0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnQ29sbGVjdGlvbkxpc3QnO1xyXG4gIGl0ZW1zOiBBcnJheTxDb2xsZWN0aW9uPjtcclxuICB0b3RhbEl0ZW1zOiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENvbGxlY3Rpb25MaXN0T3B0aW9ucyA9IHtcclxuICAvKiogU2tpcHMgdGhlIGZpcnN0IG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgc2tpcD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogVGFrZXMgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICB0YWtlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hpY2ggcHJvcGVydGllcyB0byBzb3J0IHRoZSByZXN1bHRzIGJ5ICovXHJcbiAgc29ydD86IE1heWJlPENvbGxlY3Rpb25Tb3J0UGFyYW1ldGVyPjtcclxuICAvKiogQWxsb3dzIHRoZSByZXN1bHRzIHRvIGJlIGZpbHRlcmVkICovXHJcbiAgZmlsdGVyPzogTWF5YmU8Q29sbGVjdGlvbkZpbHRlclBhcmFtZXRlcj47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIG11bHRpcGxlIFwiZmlsdGVyXCIgYXJndW1lbnRzIHNob3VsZCBiZSBjb21iaW5lcyB3aXRoIGEgbG9naWNhbCBBTkQgb3IgT1Igb3BlcmF0aW9uLiBEZWZhdWx0cyB0byBBTkQuICovXHJcbiAgZmlsdGVyT3BlcmF0b3I/OiBNYXliZTxMb2dpY2FsT3BlcmF0b3I+O1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFdoaWNoIENvbGxlY3Rpb25zIGFyZSBwcmVzZW50IGluIHRoZSBwcm9kdWN0cyByZXR1cm5lZFxyXG4gKiBieSB0aGUgc2VhcmNoLCBhbmQgaW4gd2hhdCBxdWFudGl0eS5cclxuICovXHJcbmV4cG9ydCB0eXBlIENvbGxlY3Rpb25SZXN1bHQgPSB7XHJcbiAgX190eXBlbmFtZT86ICdDb2xsZWN0aW9uUmVzdWx0JztcclxuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uO1xyXG4gIGNvdW50OiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENvbGxlY3Rpb25Tb3J0UGFyYW1ldGVyID0ge1xyXG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHVwZGF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgbmFtZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgc2x1Zz86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgcG9zaXRpb24/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8U29ydE9yZGVyPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENvbGxlY3Rpb25UcmFuc2xhdGlvbiA9IHtcclxuICBfX3R5cGVuYW1lPzogJ0NvbGxlY3Rpb25UcmFuc2xhdGlvbic7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBzbHVnOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDb25maWdBcmcgPSB7XHJcbiAgX190eXBlbmFtZT86ICdDb25maWdBcmcnO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHZhbHVlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENvbmZpZ0FyZ0RlZmluaXRpb24gPSB7XHJcbiAgX190eXBlbmFtZT86ICdDb25maWdBcmdEZWZpbml0aW9uJztcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0eXBlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBsaXN0OiBTY2FsYXJzWydCb29sZWFuJ107XHJcbiAgcmVxdWlyZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICBkZWZhdWx0VmFsdWU/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG4gIGxhYmVsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHVpPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENvbmZpZ0FyZ0lucHV0ID0ge1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIC8qKiBBIEpTT04gc3RyaW5naWZpZWQgcmVwcmVzZW50YXRpb24gb2YgdGhlIGFjdHVhbCB2YWx1ZSAqL1xyXG4gIHZhbHVlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENvbmZpZ3VyYWJsZU9wZXJhdGlvbiA9IHtcclxuICBfX3R5cGVuYW1lPzogJ0NvbmZpZ3VyYWJsZU9wZXJhdGlvbic7XHJcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgYXJnczogQXJyYXk8Q29uZmlnQXJnPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZmluaXRpb24gPSB7XHJcbiAgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uJztcclxuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBhcmdzOiBBcnJheTxDb25maWdBcmdEZWZpbml0aW9uPjtcclxuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDb25maWd1cmFibGVPcGVyYXRpb25JbnB1dCA9IHtcclxuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBhcmd1bWVudHM6IEFycmF5PENvbmZpZ0FyZ0lucHV0PjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENvb3JkaW5hdGUgPSB7XHJcbiAgX190eXBlbmFtZT86ICdDb29yZGluYXRlJztcclxuICB4OiBTY2FsYXJzWydGbG9hdCddO1xyXG4gIHk6IFNjYWxhcnNbJ0Zsb2F0J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDb29yZGluYXRlSW5wdXQgPSB7XHJcbiAgeDogU2NhbGFyc1snRmxvYXQnXTtcclxuICB5OiBTY2FsYXJzWydGbG9hdCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ291bnRyeSA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdDb3VudHJ5JztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGVuYWJsZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICB0cmFuc2xhdGlvbnM6IEFycmF5PENvdW50cnlUcmFuc2xhdGlvbj47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENvdW50cnlGaWx0ZXJQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgbGFuZ3VhZ2VDb2RlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBjb2RlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBuYW1lPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBlbmFibGVkPzogTWF5YmU8Qm9vbGVhbk9wZXJhdG9ycz47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDb3VudHJ5TGlzdCA9IFBhZ2luYXRlZExpc3QgJiB7XHJcbiAgX190eXBlbmFtZT86ICdDb3VudHJ5TGlzdCc7XHJcbiAgaXRlbXM6IEFycmF5PENvdW50cnk+O1xyXG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ291bnRyeUxpc3RPcHRpb25zID0ge1xyXG4gIC8qKiBTa2lwcyB0aGUgZmlyc3QgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICBza2lwPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBUYWtlcyBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHRha2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGljaCBwcm9wZXJ0aWVzIHRvIHNvcnQgdGhlIHJlc3VsdHMgYnkgKi9cclxuICBzb3J0PzogTWF5YmU8Q291bnRyeVNvcnRQYXJhbWV0ZXI+O1xyXG4gIC8qKiBBbGxvd3MgdGhlIHJlc3VsdHMgdG8gYmUgZmlsdGVyZWQgKi9cclxuICBmaWx0ZXI/OiBNYXliZTxDb3VudHJ5RmlsdGVyUGFyYW1ldGVyPjtcclxuICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgbXVsdGlwbGUgXCJmaWx0ZXJcIiBhcmd1bWVudHMgc2hvdWxkIGJlIGNvbWJpbmVzIHdpdGggYSBsb2dpY2FsIEFORCBvciBPUiBvcGVyYXRpb24uIERlZmF1bHRzIHRvIEFORC4gKi9cclxuICBmaWx0ZXJPcGVyYXRvcj86IE1heWJlPExvZ2ljYWxPcGVyYXRvcj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDb3VudHJ5U29ydFBhcmFtZXRlciA9IHtcclxuICBpZD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICB1cGRhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGNvZGU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIG5hbWU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ291bnRyeVRyYW5zbGF0aW9uID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnQ291bnRyeVRyYW5zbGF0aW9uJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ291bnRyeVRyYW5zbGF0aW9uSW5wdXQgPSB7XHJcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICBuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG4vKiogUmV0dXJuZWQgaWYgdGhlIHByb3ZpZGVkIGNvdXBvbiBjb2RlIGlzIGludmFsaWQgKi9cclxuZXhwb3J0IHR5cGUgQ291cG9uQ29kZUV4cGlyZWRFcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnQ291cG9uQ29kZUV4cGlyZWRFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgY291cG9uQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG4vKiogUmV0dXJuZWQgaWYgdGhlIHByb3ZpZGVkIGNvdXBvbiBjb2RlIGlzIGludmFsaWQgKi9cclxuZXhwb3J0IHR5cGUgQ291cG9uQ29kZUludmFsaWRFcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnQ291cG9uQ29kZUludmFsaWRFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgY291cG9uQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG4vKiogUmV0dXJuZWQgaWYgdGhlIHByb3ZpZGVkIGNvdXBvbiBjb2RlIGlzIGludmFsaWQgKi9cclxuZXhwb3J0IHR5cGUgQ291cG9uQ29kZUxpbWl0RXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0NvdXBvbkNvZGVMaW1pdEVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBjb3Vwb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBsaW1pdDogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVBZGRyZXNzSW5wdXQgPSB7XHJcbiAgZnVsbE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY29tcGFueT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBzdHJlZXRMaW5lMTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgc3RyZWV0TGluZTI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY2l0eT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBwcm92aW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBwb3N0YWxDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBwaG9uZU51bWJlcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBkZWZhdWx0U2hpcHBpbmdBZGRyZXNzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBkZWZhdWx0QmlsbGluZ0FkZHJlc3M/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVBZG1pbmlzdHJhdG9ySW5wdXQgPSB7XHJcbiAgZmlyc3ROYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBsYXN0TmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZW1haWxBZGRyZXNzOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBwYXNzd29yZDogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgcm9sZUlkczogQXJyYXk8U2NhbGFyc1snSUQnXT47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUFzc2V0SW5wdXQgPSB7XHJcbiAgZmlsZTogU2NhbGFyc1snVXBsb2FkJ107XHJcbiAgdGFncz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPj47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUFzc2V0UmVzdWx0ID0gQXNzZXQgfCBNaW1lVHlwZUVycm9yO1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlQ2hhbm5lbElucHV0ID0ge1xyXG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHRva2VuOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBkZWZhdWx0TGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgcHJpY2VzSW5jbHVkZVRheDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGN1cnJlbmN5Q29kZTogQ3VycmVuY3lDb2RlO1xyXG4gIGRlZmF1bHRUYXhab25lSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgZGVmYXVsdFNoaXBwaW5nWm9uZUlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVDaGFubmVsUmVzdWx0ID0gQ2hhbm5lbCB8IExhbmd1YWdlTm90QXZhaWxhYmxlRXJyb3I7XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVDb2xsZWN0aW9uSW5wdXQgPSB7XHJcbiAgaXNQcml2YXRlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBmZWF0dXJlZEFzc2V0SWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBhc3NldElkcz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ0lEJ10+PjtcclxuICBwYXJlbnRJZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGZpbHRlcnM6IEFycmF5PENvbmZpZ3VyYWJsZU9wZXJhdGlvbklucHV0PjtcclxuICB0cmFuc2xhdGlvbnM6IEFycmF5PENyZWF0ZUNvbGxlY3Rpb25UcmFuc2xhdGlvbklucHV0PjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlQ29sbGVjdGlvblRyYW5zbGF0aW9uSW5wdXQgPSB7XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgc2x1ZzogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVDb3VudHJ5SW5wdXQgPSB7XHJcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdHJhbnNsYXRpb25zOiBBcnJheTxDb3VudHJ5VHJhbnNsYXRpb25JbnB1dD47XHJcbiAgZW5hYmxlZDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVDdXN0b21lckdyb3VwSW5wdXQgPSB7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgY3VzdG9tZXJJZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydJRCddPj47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUN1c3RvbWVySW5wdXQgPSB7XHJcbiAgdGl0bGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgZmlyc3ROYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBsYXN0TmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgcGhvbmVOdW1iZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgZW1haWxBZGRyZXNzOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlQ3VzdG9tZXJSZXN1bHQgPSBDdXN0b21lciB8IEVtYWlsQWRkcmVzc0NvbmZsaWN0RXJyb3I7XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVGYWNldElucHV0ID0ge1xyXG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGlzUHJpdmF0ZTogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIHRyYW5zbGF0aW9uczogQXJyYXk8RmFjZXRUcmFuc2xhdGlvbklucHV0PjtcclxuICB2YWx1ZXM/OiBNYXliZTxBcnJheTxDcmVhdGVGYWNldFZhbHVlV2l0aEZhY2V0SW5wdXQ+PjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlRmFjZXRWYWx1ZUlucHV0ID0ge1xyXG4gIGZhY2V0SWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdHJhbnNsYXRpb25zOiBBcnJheTxGYWNldFZhbHVlVHJhbnNsYXRpb25JbnB1dD47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUZhY2V0VmFsdWVXaXRoRmFjZXRJbnB1dCA9IHtcclxuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0cmFuc2xhdGlvbnM6IEFycmF5PEZhY2V0VmFsdWVUcmFuc2xhdGlvbklucHV0PjtcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCBpZiBhbiBlcnJvciBpcyB0aHJvd24gaW4gYSBGdWxmaWxsbWVudEhhbmRsZXIncyBjcmVhdGVGdWxmaWxsbWVudCBtZXRob2QgKi9cclxuZXhwb3J0IHR5cGUgQ3JlYXRlRnVsZmlsbG1lbnRFcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnQ3JlYXRlRnVsZmlsbG1lbnRFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZnVsZmlsbG1lbnRIYW5kbGVyRXJyb3I6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlR3JvdXBPcHRpb25JbnB1dCA9IHtcclxuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0cmFuc2xhdGlvbnM6IEFycmF5PFByb2R1Y3RPcHRpb25Hcm91cFRyYW5zbGF0aW9uSW5wdXQ+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlUGF5bWVudE1ldGhvZElucHV0ID0ge1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGVuYWJsZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICBjaGVja2VyPzogTWF5YmU8Q29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQ+O1xyXG4gIGhhbmRsZXI6IENvbmZpZ3VyYWJsZU9wZXJhdGlvbklucHV0O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVQcm9kdWN0SW5wdXQgPSB7XHJcbiAgZmVhdHVyZWRBc3NldElkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbiAgZW5hYmxlZD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgYXNzZXRJZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydJRCddPj47XHJcbiAgZmFjZXRWYWx1ZUlkcz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ0lEJ10+PjtcclxuICB0cmFuc2xhdGlvbnM6IEFycmF5PFByb2R1Y3RUcmFuc2xhdGlvbklucHV0PjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlUHJvZHVjdE9wdGlvbkdyb3VwSW5wdXQgPSB7XHJcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdHJhbnNsYXRpb25zOiBBcnJheTxQcm9kdWN0T3B0aW9uR3JvdXBUcmFuc2xhdGlvbklucHV0PjtcclxuICBvcHRpb25zOiBBcnJheTxDcmVhdGVHcm91cE9wdGlvbklucHV0PjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlUHJvZHVjdE9wdGlvbklucHV0ID0ge1xyXG4gIHByb2R1Y3RPcHRpb25Hcm91cElkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHRyYW5zbGF0aW9uczogQXJyYXk8UHJvZHVjdE9wdGlvbkdyb3VwVHJhbnNsYXRpb25JbnB1dD47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVByb2R1Y3RWYXJpYW50SW5wdXQgPSB7XHJcbiAgcHJvZHVjdElkOiBTY2FsYXJzWydJRCddO1xyXG4gIHRyYW5zbGF0aW9uczogQXJyYXk8UHJvZHVjdFZhcmlhbnRUcmFuc2xhdGlvbklucHV0PjtcclxuICBmYWNldFZhbHVlSWRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snSUQnXT4+O1xyXG4gIHNrdTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgcHJpY2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgdGF4Q2F0ZWdvcnlJZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xyXG4gIG9wdGlvbklkcz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ0lEJ10+PjtcclxuICBmZWF0dXJlZEFzc2V0SWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBhc3NldElkcz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ0lEJ10+PjtcclxuICBzdG9ja09uSGFuZD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICBvdXRPZlN0b2NrVGhyZXNob2xkPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIHVzZUdsb2JhbE91dE9mU3RvY2tUaHJlc2hvbGQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIHRyYWNrSW52ZW50b3J5PzogTWF5YmU8R2xvYmFsRmxhZz47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVByb2R1Y3RWYXJpYW50T3B0aW9uSW5wdXQgPSB7XHJcbiAgb3B0aW9uR3JvdXBJZDogU2NhbGFyc1snSUQnXTtcclxuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0cmFuc2xhdGlvbnM6IEFycmF5PFByb2R1Y3RPcHRpb25UcmFuc2xhdGlvbklucHV0PjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVByb21vdGlvbklucHV0ID0ge1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGVuYWJsZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICBzdGFydHNBdD86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xyXG4gIGVuZHNBdD86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xyXG4gIGNvdXBvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgcGVyQ3VzdG9tZXJVc2FnZUxpbWl0PzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIGNvbmRpdGlvbnM6IEFycmF5PENvbmZpZ3VyYWJsZU9wZXJhdGlvbklucHV0PjtcclxuICBhY3Rpb25zOiBBcnJheTxDb25maWd1cmFibGVPcGVyYXRpb25JbnB1dD47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVByb21vdGlvblJlc3VsdCA9IFByb21vdGlvbiB8IE1pc3NpbmdDb25kaXRpb25zRXJyb3I7XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVSb2xlSW5wdXQgPSB7XHJcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHBlcm1pc3Npb25zOiBBcnJheTxQZXJtaXNzaW9uPjtcclxuICBjaGFubmVsSWRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snSUQnXT4+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlU2hpcHBpbmdNZXRob2RJbnB1dCA9IHtcclxuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBmdWxmaWxsbWVudEhhbmRsZXI6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGNoZWNrZXI6IENvbmZpZ3VyYWJsZU9wZXJhdGlvbklucHV0O1xyXG4gIGNhbGN1bGF0b3I6IENvbmZpZ3VyYWJsZU9wZXJhdGlvbklucHV0O1xyXG4gIHRyYW5zbGF0aW9uczogQXJyYXk8U2hpcHBpbmdNZXRob2RUcmFuc2xhdGlvbklucHV0PjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlVGFnSW5wdXQgPSB7XHJcbiAgdmFsdWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlVGF4Q2F0ZWdvcnlJbnB1dCA9IHtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBpc0RlZmF1bHQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVUYXhSYXRlSW5wdXQgPSB7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZW5hYmxlZDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIHZhbHVlOiBTY2FsYXJzWydGbG9hdCddO1xyXG4gIGNhdGVnb3J5SWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgem9uZUlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGN1c3RvbWVyR3JvdXBJZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVab25lSW5wdXQgPSB7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgbWVtYmVySWRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snSUQnXT4+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIElTTyA0MjE3IGN1cnJlbmN5IGNvZGVcclxuICpcclxuICogQGRvY3NDYXRlZ29yeSBjb21tb25cclxuICovXHJcbmV4cG9ydCBlbnVtIEN1cnJlbmN5Q29kZSB7XHJcbiAgLyoqIFVuaXRlZCBBcmFiIEVtaXJhdGVzIGRpcmhhbSAqL1xyXG4gIEFFRCA9ICdBRUQnLFxyXG4gIC8qKiBBZmdoYW4gYWZnaGFuaSAqL1xyXG4gIEFGTiA9ICdBRk4nLFxyXG4gIC8qKiBBbGJhbmlhbiBsZWsgKi9cclxuICBBTEwgPSAnQUxMJyxcclxuICAvKiogQXJtZW5pYW4gZHJhbSAqL1xyXG4gIEFNRCA9ICdBTUQnLFxyXG4gIC8qKiBOZXRoZXJsYW5kcyBBbnRpbGxlYW4gZ3VpbGRlciAqL1xyXG4gIEFORyA9ICdBTkcnLFxyXG4gIC8qKiBBbmdvbGFuIGt3YW56YSAqL1xyXG4gIEFPQSA9ICdBT0EnLFxyXG4gIC8qKiBBcmdlbnRpbmUgcGVzbyAqL1xyXG4gIEFSUyA9ICdBUlMnLFxyXG4gIC8qKiBBdXN0cmFsaWFuIGRvbGxhciAqL1xyXG4gIEFVRCA9ICdBVUQnLFxyXG4gIC8qKiBBcnViYW4gZmxvcmluICovXHJcbiAgQVdHID0gJ0FXRycsXHJcbiAgLyoqIEF6ZXJiYWlqYW5pIG1hbmF0ICovXHJcbiAgQVpOID0gJ0FaTicsXHJcbiAgLyoqIEJvc25pYSBhbmQgSGVyemVnb3ZpbmEgY29udmVydGlibGUgbWFyayAqL1xyXG4gIEJBTSA9ICdCQU0nLFxyXG4gIC8qKiBCYXJiYWRvcyBkb2xsYXIgKi9cclxuICBCQkQgPSAnQkJEJyxcclxuICAvKiogQmFuZ2xhZGVzaGkgdGFrYSAqL1xyXG4gIEJEVCA9ICdCRFQnLFxyXG4gIC8qKiBCdWxnYXJpYW4gbGV2ICovXHJcbiAgQkdOID0gJ0JHTicsXHJcbiAgLyoqIEJhaHJhaW5pIGRpbmFyICovXHJcbiAgQkhEID0gJ0JIRCcsXHJcbiAgLyoqIEJ1cnVuZGlhbiBmcmFuYyAqL1xyXG4gIEJJRiA9ICdCSUYnLFxyXG4gIC8qKiBCZXJtdWRpYW4gZG9sbGFyICovXHJcbiAgQk1EID0gJ0JNRCcsXHJcbiAgLyoqIEJydW5laSBkb2xsYXIgKi9cclxuICBCTkQgPSAnQk5EJyxcclxuICAvKiogQm9saXZpYW5vICovXHJcbiAgQk9CID0gJ0JPQicsXHJcbiAgLyoqIEJyYXppbGlhbiByZWFsICovXHJcbiAgQlJMID0gJ0JSTCcsXHJcbiAgLyoqIEJhaGFtaWFuIGRvbGxhciAqL1xyXG4gIEJTRCA9ICdCU0QnLFxyXG4gIC8qKiBCaHV0YW5lc2Ugbmd1bHRydW0gKi9cclxuICBCVE4gPSAnQlROJyxcclxuICAvKiogQm90c3dhbmEgcHVsYSAqL1xyXG4gIEJXUCA9ICdCV1AnLFxyXG4gIC8qKiBCZWxhcnVzaWFuIHJ1YmxlICovXHJcbiAgQllOID0gJ0JZTicsXHJcbiAgLyoqIEJlbGl6ZSBkb2xsYXIgKi9cclxuICBCWkQgPSAnQlpEJyxcclxuICAvKiogQ2FuYWRpYW4gZG9sbGFyICovXHJcbiAgQ0FEID0gJ0NBRCcsXHJcbiAgLyoqIENvbmdvbGVzZSBmcmFuYyAqL1xyXG4gIENERiA9ICdDREYnLFxyXG4gIC8qKiBTd2lzcyBmcmFuYyAqL1xyXG4gIENIRiA9ICdDSEYnLFxyXG4gIC8qKiBDaGlsZWFuIHBlc28gKi9cclxuICBDTFAgPSAnQ0xQJyxcclxuICAvKiogUmVubWluYmkgKENoaW5lc2UpIHl1YW4gKi9cclxuICBDTlkgPSAnQ05ZJyxcclxuICAvKiogQ29sb21iaWFuIHBlc28gKi9cclxuICBDT1AgPSAnQ09QJyxcclxuICAvKiogQ29zdGEgUmljYW4gY29sb24gKi9cclxuICBDUkMgPSAnQ1JDJyxcclxuICAvKiogQ3ViYW4gY29udmVydGlibGUgcGVzbyAqL1xyXG4gIENVQyA9ICdDVUMnLFxyXG4gIC8qKiBDdWJhbiBwZXNvICovXHJcbiAgQ1VQID0gJ0NVUCcsXHJcbiAgLyoqIENhcGUgVmVyZGUgZXNjdWRvICovXHJcbiAgQ1ZFID0gJ0NWRScsXHJcbiAgLyoqIEN6ZWNoIGtvcnVuYSAqL1xyXG4gIENaSyA9ICdDWksnLFxyXG4gIC8qKiBEamlib3V0aWFuIGZyYW5jICovXHJcbiAgREpGID0gJ0RKRicsXHJcbiAgLyoqIERhbmlzaCBrcm9uZSAqL1xyXG4gIERLSyA9ICdES0snLFxyXG4gIC8qKiBEb21pbmljYW4gcGVzbyAqL1xyXG4gIERPUCA9ICdET1AnLFxyXG4gIC8qKiBBbGdlcmlhbiBkaW5hciAqL1xyXG4gIERaRCA9ICdEWkQnLFxyXG4gIC8qKiBFZ3lwdGlhbiBwb3VuZCAqL1xyXG4gIEVHUCA9ICdFR1AnLFxyXG4gIC8qKiBFcml0cmVhbiBuYWtmYSAqL1xyXG4gIEVSTiA9ICdFUk4nLFxyXG4gIC8qKiBFdGhpb3BpYW4gYmlyciAqL1xyXG4gIEVUQiA9ICdFVEInLFxyXG4gIC8qKiBFdXJvICovXHJcbiAgRVVSID0gJ0VVUicsXHJcbiAgLyoqIEZpamkgZG9sbGFyICovXHJcbiAgRkpEID0gJ0ZKRCcsXHJcbiAgLyoqIEZhbGtsYW5kIElzbGFuZHMgcG91bmQgKi9cclxuICBGS1AgPSAnRktQJyxcclxuICAvKiogUG91bmQgc3RlcmxpbmcgKi9cclxuICBHQlAgPSAnR0JQJyxcclxuICAvKiogR2VvcmdpYW4gbGFyaSAqL1xyXG4gIEdFTCA9ICdHRUwnLFxyXG4gIC8qKiBHaGFuYWlhbiBjZWRpICovXHJcbiAgR0hTID0gJ0dIUycsXHJcbiAgLyoqIEdpYnJhbHRhciBwb3VuZCAqL1xyXG4gIEdJUCA9ICdHSVAnLFxyXG4gIC8qKiBHYW1iaWFuIGRhbGFzaSAqL1xyXG4gIEdNRCA9ICdHTUQnLFxyXG4gIC8qKiBHdWluZWFuIGZyYW5jICovXHJcbiAgR05GID0gJ0dORicsXHJcbiAgLyoqIEd1YXRlbWFsYW4gcXVldHphbCAqL1xyXG4gIEdUUSA9ICdHVFEnLFxyXG4gIC8qKiBHdXlhbmVzZSBkb2xsYXIgKi9cclxuICBHWUQgPSAnR1lEJyxcclxuICAvKiogSG9uZyBLb25nIGRvbGxhciAqL1xyXG4gIEhLRCA9ICdIS0QnLFxyXG4gIC8qKiBIb25kdXJhbiBsZW1waXJhICovXHJcbiAgSE5MID0gJ0hOTCcsXHJcbiAgLyoqIENyb2F0aWFuIGt1bmEgKi9cclxuICBIUksgPSAnSFJLJyxcclxuICAvKiogSGFpdGlhbiBnb3VyZGUgKi9cclxuICBIVEcgPSAnSFRHJyxcclxuICAvKiogSHVuZ2FyaWFuIGZvcmludCAqL1xyXG4gIEhVRiA9ICdIVUYnLFxyXG4gIC8qKiBJbmRvbmVzaWFuIHJ1cGlhaCAqL1xyXG4gIElEUiA9ICdJRFInLFxyXG4gIC8qKiBJc3JhZWxpIG5ldyBzaGVrZWwgKi9cclxuICBJTFMgPSAnSUxTJyxcclxuICAvKiogSW5kaWFuIHJ1cGVlICovXHJcbiAgSU5SID0gJ0lOUicsXHJcbiAgLyoqIElyYXFpIGRpbmFyICovXHJcbiAgSVFEID0gJ0lRRCcsXHJcbiAgLyoqIElyYW5pYW4gcmlhbCAqL1xyXG4gIElSUiA9ICdJUlInLFxyXG4gIC8qKiBJY2VsYW5kaWMga3LDs25hICovXHJcbiAgSVNLID0gJ0lTSycsXHJcbiAgLyoqIEphbWFpY2FuIGRvbGxhciAqL1xyXG4gIEpNRCA9ICdKTUQnLFxyXG4gIC8qKiBKb3JkYW5pYW4gZGluYXIgKi9cclxuICBKT0QgPSAnSk9EJyxcclxuICAvKiogSmFwYW5lc2UgeWVuICovXHJcbiAgSlBZID0gJ0pQWScsXHJcbiAgLyoqIEtlbnlhbiBzaGlsbGluZyAqL1xyXG4gIEtFUyA9ICdLRVMnLFxyXG4gIC8qKiBLeXJneXpzdGFuaSBzb20gKi9cclxuICBLR1MgPSAnS0dTJyxcclxuICAvKiogQ2FtYm9kaWFuIHJpZWwgKi9cclxuICBLSFIgPSAnS0hSJyxcclxuICAvKiogQ29tb3JvIGZyYW5jICovXHJcbiAgS01GID0gJ0tNRicsXHJcbiAgLyoqIE5vcnRoIEtvcmVhbiB3b24gKi9cclxuICBLUFcgPSAnS1BXJyxcclxuICAvKiogU291dGggS29yZWFuIHdvbiAqL1xyXG4gIEtSVyA9ICdLUlcnLFxyXG4gIC8qKiBLdXdhaXRpIGRpbmFyICovXHJcbiAgS1dEID0gJ0tXRCcsXHJcbiAgLyoqIENheW1hbiBJc2xhbmRzIGRvbGxhciAqL1xyXG4gIEtZRCA9ICdLWUQnLFxyXG4gIC8qKiBLYXpha2hzdGFuaSB0ZW5nZSAqL1xyXG4gIEtaVCA9ICdLWlQnLFxyXG4gIC8qKiBMYW8ga2lwICovXHJcbiAgTEFLID0gJ0xBSycsXHJcbiAgLyoqIExlYmFuZXNlIHBvdW5kICovXHJcbiAgTEJQID0gJ0xCUCcsXHJcbiAgLyoqIFNyaSBMYW5rYW4gcnVwZWUgKi9cclxuICBMS1IgPSAnTEtSJyxcclxuICAvKiogTGliZXJpYW4gZG9sbGFyICovXHJcbiAgTFJEID0gJ0xSRCcsXHJcbiAgLyoqIExlc290aG8gbG90aSAqL1xyXG4gIExTTCA9ICdMU0wnLFxyXG4gIC8qKiBMaWJ5YW4gZGluYXIgKi9cclxuICBMWUQgPSAnTFlEJyxcclxuICAvKiogTW9yb2NjYW4gZGlyaGFtICovXHJcbiAgTUFEID0gJ01BRCcsXHJcbiAgLyoqIE1vbGRvdmFuIGxldSAqL1xyXG4gIE1ETCA9ICdNREwnLFxyXG4gIC8qKiBNYWxhZ2FzeSBhcmlhcnkgKi9cclxuICBNR0EgPSAnTUdBJyxcclxuICAvKiogTWFjZWRvbmlhbiBkZW5hciAqL1xyXG4gIE1LRCA9ICdNS0QnLFxyXG4gIC8qKiBNeWFubWFyIGt5YXQgKi9cclxuICBNTUsgPSAnTU1LJyxcclxuICAvKiogTW9uZ29saWFuIHTDtmdyw7ZnICovXHJcbiAgTU5UID0gJ01OVCcsXHJcbiAgLyoqIE1hY2FuZXNlIHBhdGFjYSAqL1xyXG4gIE1PUCA9ICdNT1AnLFxyXG4gIC8qKiBNYXVyaXRhbmlhbiBvdWd1aXlhICovXHJcbiAgTVJVID0gJ01SVScsXHJcbiAgLyoqIE1hdXJpdGlhbiBydXBlZSAqL1xyXG4gIE1VUiA9ICdNVVInLFxyXG4gIC8qKiBNYWxkaXZpYW4gcnVmaXlhYSAqL1xyXG4gIE1WUiA9ICdNVlInLFxyXG4gIC8qKiBNYWxhd2lhbiBrd2FjaGEgKi9cclxuICBNV0sgPSAnTVdLJyxcclxuICAvKiogTWV4aWNhbiBwZXNvICovXHJcbiAgTVhOID0gJ01YTicsXHJcbiAgLyoqIE1hbGF5c2lhbiByaW5nZ2l0ICovXHJcbiAgTVlSID0gJ01ZUicsXHJcbiAgLyoqIE1vemFtYmljYW4gbWV0aWNhbCAqL1xyXG4gIE1aTiA9ICdNWk4nLFxyXG4gIC8qKiBOYW1pYmlhbiBkb2xsYXIgKi9cclxuICBOQUQgPSAnTkFEJyxcclxuICAvKiogTmlnZXJpYW4gbmFpcmEgKi9cclxuICBOR04gPSAnTkdOJyxcclxuICAvKiogTmljYXJhZ3VhbiBjw7NyZG9iYSAqL1xyXG4gIE5JTyA9ICdOSU8nLFxyXG4gIC8qKiBOb3J3ZWdpYW4ga3JvbmUgKi9cclxuICBOT0sgPSAnTk9LJyxcclxuICAvKiogTmVwYWxlc2UgcnVwZWUgKi9cclxuICBOUFIgPSAnTlBSJyxcclxuICAvKiogTmV3IFplYWxhbmQgZG9sbGFyICovXHJcbiAgTlpEID0gJ05aRCcsXHJcbiAgLyoqIE9tYW5pIHJpYWwgKi9cclxuICBPTVIgPSAnT01SJyxcclxuICAvKiogUGFuYW1hbmlhbiBiYWxib2EgKi9cclxuICBQQUIgPSAnUEFCJyxcclxuICAvKiogUGVydXZpYW4gc29sICovXHJcbiAgUEVOID0gJ1BFTicsXHJcbiAgLyoqIFBhcHVhIE5ldyBHdWluZWFuIGtpbmEgKi9cclxuICBQR0sgPSAnUEdLJyxcclxuICAvKiogUGhpbGlwcGluZSBwZXNvICovXHJcbiAgUEhQID0gJ1BIUCcsXHJcbiAgLyoqIFBha2lzdGFuaSBydXBlZSAqL1xyXG4gIFBLUiA9ICdQS1InLFxyXG4gIC8qKiBQb2xpc2ggesWCb3R5ICovXHJcbiAgUExOID0gJ1BMTicsXHJcbiAgLyoqIFBhcmFndWF5YW4gZ3VhcmFuw60gKi9cclxuICBQWUcgPSAnUFlHJyxcclxuICAvKiogUWF0YXJpIHJpeWFsICovXHJcbiAgUUFSID0gJ1FBUicsXHJcbiAgLyoqIFJvbWFuaWFuIGxldSAqL1xyXG4gIFJPTiA9ICdST04nLFxyXG4gIC8qKiBTZXJiaWFuIGRpbmFyICovXHJcbiAgUlNEID0gJ1JTRCcsXHJcbiAgLyoqIFJ1c3NpYW4gcnVibGUgKi9cclxuICBSVUIgPSAnUlVCJyxcclxuICAvKiogUndhbmRhbiBmcmFuYyAqL1xyXG4gIFJXRiA9ICdSV0YnLFxyXG4gIC8qKiBTYXVkaSByaXlhbCAqL1xyXG4gIFNBUiA9ICdTQVInLFxyXG4gIC8qKiBTb2xvbW9uIElzbGFuZHMgZG9sbGFyICovXHJcbiAgU0JEID0gJ1NCRCcsXHJcbiAgLyoqIFNleWNoZWxsZXMgcnVwZWUgKi9cclxuICBTQ1IgPSAnU0NSJyxcclxuICAvKiogU3VkYW5lc2UgcG91bmQgKi9cclxuICBTREcgPSAnU0RHJyxcclxuICAvKiogU3dlZGlzaCBrcm9uYS9rcm9ub3IgKi9cclxuICBTRUsgPSAnU0VLJyxcclxuICAvKiogU2luZ2Fwb3JlIGRvbGxhciAqL1xyXG4gIFNHRCA9ICdTR0QnLFxyXG4gIC8qKiBTYWludCBIZWxlbmEgcG91bmQgKi9cclxuICBTSFAgPSAnU0hQJyxcclxuICAvKiogU2llcnJhIExlb25lYW4gbGVvbmUgKi9cclxuICBTTEwgPSAnU0xMJyxcclxuICAvKiogU29tYWxpIHNoaWxsaW5nICovXHJcbiAgU09TID0gJ1NPUycsXHJcbiAgLyoqIFN1cmluYW1lc2UgZG9sbGFyICovXHJcbiAgU1JEID0gJ1NSRCcsXHJcbiAgLyoqIFNvdXRoIFN1ZGFuZXNlIHBvdW5kICovXHJcbiAgU1NQID0gJ1NTUCcsXHJcbiAgLyoqIFPDo28gVG9tw6kgYW5kIFByw61uY2lwZSBkb2JyYSAqL1xyXG4gIFNUTiA9ICdTVE4nLFxyXG4gIC8qKiBTYWx2YWRvcmFuIGNvbMOzbiAqL1xyXG4gIFNWQyA9ICdTVkMnLFxyXG4gIC8qKiBTeXJpYW4gcG91bmQgKi9cclxuICBTWVAgPSAnU1lQJyxcclxuICAvKiogU3dhemkgbGlsYW5nZW5pICovXHJcbiAgU1pMID0gJ1NaTCcsXHJcbiAgLyoqIFRoYWkgYmFodCAqL1xyXG4gIFRIQiA9ICdUSEInLFxyXG4gIC8qKiBUYWppa2lzdGFuaSBzb21vbmkgKi9cclxuICBUSlMgPSAnVEpTJyxcclxuICAvKiogVHVya21lbmlzdGFuIG1hbmF0ICovXHJcbiAgVE1UID0gJ1RNVCcsXHJcbiAgLyoqIFR1bmlzaWFuIGRpbmFyICovXHJcbiAgVE5EID0gJ1RORCcsXHJcbiAgLyoqIFRvbmdhbiBwYcq7YW5nYSAqL1xyXG4gIFRPUCA9ICdUT1AnLFxyXG4gIC8qKiBUdXJraXNoIGxpcmEgKi9cclxuICBUUlkgPSAnVFJZJyxcclxuICAvKiogVHJpbmlkYWQgYW5kIFRvYmFnbyBkb2xsYXIgKi9cclxuICBUVEQgPSAnVFREJyxcclxuICAvKiogTmV3IFRhaXdhbiBkb2xsYXIgKi9cclxuICBUV0QgPSAnVFdEJyxcclxuICAvKiogVGFuemFuaWFuIHNoaWxsaW5nICovXHJcbiAgVFpTID0gJ1RaUycsXHJcbiAgLyoqIFVrcmFpbmlhbiBocnl2bmlhICovXHJcbiAgVUFIID0gJ1VBSCcsXHJcbiAgLyoqIFVnYW5kYW4gc2hpbGxpbmcgKi9cclxuICBVR1ggPSAnVUdYJyxcclxuICAvKiogVW5pdGVkIFN0YXRlcyBkb2xsYXIgKi9cclxuICBVU0QgPSAnVVNEJyxcclxuICAvKiogVXJ1Z3VheWFuIHBlc28gKi9cclxuICBVWVUgPSAnVVlVJyxcclxuICAvKiogVXpiZWtpc3RhbiBzb20gKi9cclxuICBVWlMgPSAnVVpTJyxcclxuICAvKiogVmVuZXp1ZWxhbiBib2zDrXZhciBzb2JlcmFubyAqL1xyXG4gIFZFUyA9ICdWRVMnLFxyXG4gIC8qKiBWaWV0bmFtZXNlIMSR4buTbmcgKi9cclxuICBWTkQgPSAnVk5EJyxcclxuICAvKiogVmFudWF0dSB2YXR1ICovXHJcbiAgVlVWID0gJ1ZVVicsXHJcbiAgLyoqIFNhbW9hbiB0YWxhICovXHJcbiAgV1NUID0gJ1dTVCcsXHJcbiAgLyoqIENGQSBmcmFuYyBCRUFDICovXHJcbiAgWEFGID0gJ1hBRicsXHJcbiAgLyoqIEVhc3QgQ2FyaWJiZWFuIGRvbGxhciAqL1xyXG4gIFhDRCA9ICdYQ0QnLFxyXG4gIC8qKiBDRkEgZnJhbmMgQkNFQU8gKi9cclxuICBYT0YgPSAnWE9GJyxcclxuICAvKiogQ0ZQIGZyYW5jIChmcmFuYyBQYWNpZmlxdWUpICovXHJcbiAgWFBGID0gJ1hQRicsXHJcbiAgLyoqIFllbWVuaSByaWFsICovXHJcbiAgWUVSID0gJ1lFUicsXHJcbiAgLyoqIFNvdXRoIEFmcmljYW4gcmFuZCAqL1xyXG4gIFpBUiA9ICdaQVInLFxyXG4gIC8qKiBaYW1iaWFuIGt3YWNoYSAqL1xyXG4gIFpNVyA9ICdaTVcnLFxyXG4gIC8qKiBaaW1iYWJ3ZWFuIGRvbGxhciAqL1xyXG4gIFpXTCA9ICdaV0wnXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEN1cnJlbnRVc2VyID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnQ3VycmVudFVzZXInO1xyXG4gIGNoYW5uZWxzOiBBcnJheTxDdXJyZW50VXNlckNoYW5uZWw+O1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGlkZW50aWZpZXI6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VycmVudFVzZXJDaGFubmVsID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnQ3VycmVudFVzZXJDaGFubmVsJztcclxuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBwZXJtaXNzaW9uczogQXJyYXk8UGVybWlzc2lvbj47XHJcbiAgdG9rZW46IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VycmVudFVzZXJDaGFubmVsSW5wdXQgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgdG9rZW46IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHBlcm1pc3Npb25zOiBBcnJheTxQZXJtaXNzaW9uPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEN1c3RvbUZpZWxkID0ge1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHR5cGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGxpc3Q6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICBsYWJlbD86IE1heWJlPEFycmF5PExvY2FsaXplZFN0cmluZz4+O1xyXG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8QXJyYXk8TG9jYWxpemVkU3RyaW5nPj47XHJcbiAgcmVhZG9ubHk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIGludGVybmFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBudWxsYWJsZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgdWk/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VzdG9tRmllbGRDb25maWcgPSBTdHJpbmdDdXN0b21GaWVsZENvbmZpZyB8IExvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnIHwgSW50Q3VzdG9tRmllbGRDb25maWcgfCBGbG9hdEN1c3RvbUZpZWxkQ29uZmlnIHwgQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnIHwgRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZyB8IFJlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcgfCBUZXh0Q3VzdG9tRmllbGRDb25maWc7XHJcblxyXG5leHBvcnQgdHlwZSBDdXN0b21GaWVsZHMgPSB7XHJcbiAgX190eXBlbmFtZT86ICdDdXN0b21GaWVsZHMnO1xyXG4gIEFkZHJlc3M6IEFycmF5PEN1c3RvbUZpZWxkQ29uZmlnPjtcclxuICBBZG1pbmlzdHJhdG9yOiBBcnJheTxDdXN0b21GaWVsZENvbmZpZz47XHJcbiAgQXNzZXQ6IEFycmF5PEN1c3RvbUZpZWxkQ29uZmlnPjtcclxuICBDaGFubmVsOiBBcnJheTxDdXN0b21GaWVsZENvbmZpZz47XHJcbiAgQ29sbGVjdGlvbjogQXJyYXk8Q3VzdG9tRmllbGRDb25maWc+O1xyXG4gIENvdW50cnk6IEFycmF5PEN1c3RvbUZpZWxkQ29uZmlnPjtcclxuICBDdXN0b21lcjogQXJyYXk8Q3VzdG9tRmllbGRDb25maWc+O1xyXG4gIEN1c3RvbWVyR3JvdXA6IEFycmF5PEN1c3RvbUZpZWxkQ29uZmlnPjtcclxuICBGYWNldDogQXJyYXk8Q3VzdG9tRmllbGRDb25maWc+O1xyXG4gIEZhY2V0VmFsdWU6IEFycmF5PEN1c3RvbUZpZWxkQ29uZmlnPjtcclxuICBGdWxmaWxsbWVudDogQXJyYXk8Q3VzdG9tRmllbGRDb25maWc+O1xyXG4gIEdsb2JhbFNldHRpbmdzOiBBcnJheTxDdXN0b21GaWVsZENvbmZpZz47XHJcbiAgT3JkZXI6IEFycmF5PEN1c3RvbUZpZWxkQ29uZmlnPjtcclxuICBPcmRlckxpbmU6IEFycmF5PEN1c3RvbUZpZWxkQ29uZmlnPjtcclxuICBQYXltZW50TWV0aG9kOiBBcnJheTxDdXN0b21GaWVsZENvbmZpZz47XHJcbiAgUHJvZHVjdDogQXJyYXk8Q3VzdG9tRmllbGRDb25maWc+O1xyXG4gIFByb2R1Y3RPcHRpb246IEFycmF5PEN1c3RvbUZpZWxkQ29uZmlnPjtcclxuICBQcm9kdWN0T3B0aW9uR3JvdXA6IEFycmF5PEN1c3RvbUZpZWxkQ29uZmlnPjtcclxuICBQcm9kdWN0VmFyaWFudDogQXJyYXk8Q3VzdG9tRmllbGRDb25maWc+O1xyXG4gIFByb21vdGlvbjogQXJyYXk8Q3VzdG9tRmllbGRDb25maWc+O1xyXG4gIFNoaXBwaW5nTWV0aG9kOiBBcnJheTxDdXN0b21GaWVsZENvbmZpZz47XHJcbiAgVGF4Q2F0ZWdvcnk6IEFycmF5PEN1c3RvbUZpZWxkQ29uZmlnPjtcclxuICBUYXhSYXRlOiBBcnJheTxDdXN0b21GaWVsZENvbmZpZz47XHJcbiAgVXNlcjogQXJyYXk8Q3VzdG9tRmllbGRDb25maWc+O1xyXG4gIFpvbmU6IEFycmF5PEN1c3RvbUZpZWxkQ29uZmlnPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEN1c3RvbWVyID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyJztcclxuICBncm91cHM6IEFycmF5PEN1c3RvbWVyR3JvdXA+O1xyXG4gIGhpc3Rvcnk6IEhpc3RvcnlFbnRyeUxpc3Q7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB0aXRsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBmaXJzdE5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGxhc3ROYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBwaG9uZU51bWJlcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBlbWFpbEFkZHJlc3M6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGFkZHJlc3Nlcz86IE1heWJlPEFycmF5PEFkZHJlc3M+PjtcclxuICBvcmRlcnM6IE9yZGVyTGlzdDtcclxuICB1c2VyPzogTWF5YmU8VXNlcj47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDdXN0b21lckhpc3RvcnlBcmdzID0ge1xyXG4gIG9wdGlvbnM/OiBNYXliZTxIaXN0b3J5RW50cnlMaXN0T3B0aW9ucz47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQ3VzdG9tZXJPcmRlcnNBcmdzID0ge1xyXG4gIG9wdGlvbnM/OiBNYXliZTxPcmRlckxpc3RPcHRpb25zPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEN1c3RvbWVyRmlsdGVyUGFyYW1ldGVyID0ge1xyXG4gIHBvc3RhbENvZGU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIGlkPzogTWF5YmU8SWRPcGVyYXRvcnM+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xyXG4gIHVwZGF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xyXG4gIHRpdGxlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBmaXJzdE5hbWU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIGxhc3ROYW1lPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBwaG9uZU51bWJlcj86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgZW1haWxBZGRyZXNzPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEN1c3RvbWVyR3JvdXAgPSBOb2RlICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXJHcm91cCc7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBjdXN0b21lcnM6IEN1c3RvbWVyTGlzdDtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEN1c3RvbWVyR3JvdXBDdXN0b21lcnNBcmdzID0ge1xyXG4gIG9wdGlvbnM/OiBNYXliZTxDdXN0b21lckxpc3RPcHRpb25zPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEN1c3RvbWVyR3JvdXBGaWx0ZXJQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgbmFtZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDdXN0b21lckdyb3VwTGlzdCA9IFBhZ2luYXRlZExpc3QgJiB7XHJcbiAgX190eXBlbmFtZT86ICdDdXN0b21lckdyb3VwTGlzdCc7XHJcbiAgaXRlbXM6IEFycmF5PEN1c3RvbWVyR3JvdXA+O1xyXG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VzdG9tZXJHcm91cExpc3RPcHRpb25zID0ge1xyXG4gIC8qKiBTa2lwcyB0aGUgZmlyc3QgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICBza2lwPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBUYWtlcyBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHRha2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGljaCBwcm9wZXJ0aWVzIHRvIHNvcnQgdGhlIHJlc3VsdHMgYnkgKi9cclxuICBzb3J0PzogTWF5YmU8Q3VzdG9tZXJHcm91cFNvcnRQYXJhbWV0ZXI+O1xyXG4gIC8qKiBBbGxvd3MgdGhlIHJlc3VsdHMgdG8gYmUgZmlsdGVyZWQgKi9cclxuICBmaWx0ZXI/OiBNYXliZTxDdXN0b21lckdyb3VwRmlsdGVyUGFyYW1ldGVyPjtcclxuICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgbXVsdGlwbGUgXCJmaWx0ZXJcIiBhcmd1bWVudHMgc2hvdWxkIGJlIGNvbWJpbmVzIHdpdGggYSBsb2dpY2FsIEFORCBvciBPUiBvcGVyYXRpb24uIERlZmF1bHRzIHRvIEFORC4gKi9cclxuICBmaWx0ZXJPcGVyYXRvcj86IE1heWJlPExvZ2ljYWxPcGVyYXRvcj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDdXN0b21lckdyb3VwU29ydFBhcmFtZXRlciA9IHtcclxuICBpZD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICB1cGRhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIG5hbWU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VzdG9tZXJMaXN0ID0gUGFnaW5hdGVkTGlzdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyTGlzdCc7XHJcbiAgaXRlbXM6IEFycmF5PEN1c3RvbWVyPjtcclxuICB0b3RhbEl0ZW1zOiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEN1c3RvbWVyTGlzdE9wdGlvbnMgPSB7XHJcbiAgLyoqIFNraXBzIHRoZSBmaXJzdCBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHNraXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFRha2VzIG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgdGFrZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogU3BlY2lmaWVzIHdoaWNoIHByb3BlcnRpZXMgdG8gc29ydCB0aGUgcmVzdWx0cyBieSAqL1xyXG4gIHNvcnQ/OiBNYXliZTxDdXN0b21lclNvcnRQYXJhbWV0ZXI+O1xyXG4gIC8qKiBBbGxvd3MgdGhlIHJlc3VsdHMgdG8gYmUgZmlsdGVyZWQgKi9cclxuICBmaWx0ZXI/OiBNYXliZTxDdXN0b21lckZpbHRlclBhcmFtZXRlcj47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIG11bHRpcGxlIFwiZmlsdGVyXCIgYXJndW1lbnRzIHNob3VsZCBiZSBjb21iaW5lcyB3aXRoIGEgbG9naWNhbCBBTkQgb3IgT1Igb3BlcmF0aW9uLiBEZWZhdWx0cyB0byBBTkQuICovXHJcbiAgZmlsdGVyT3BlcmF0b3I/OiBNYXliZTxMb2dpY2FsT3BlcmF0b3I+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VzdG9tZXJTb3J0UGFyYW1ldGVyID0ge1xyXG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHVwZGF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgdGl0bGU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGZpcnN0TmFtZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgbGFzdE5hbWU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHBob25lTnVtYmVyPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBlbWFpbEFkZHJlc3M/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG59O1xyXG5cclxuLyoqIE9wZXJhdG9ycyBmb3IgZmlsdGVyaW5nIG9uIGEgbGlzdCBvZiBEYXRlIGZpZWxkcyAqL1xyXG5leHBvcnQgdHlwZSBEYXRlTGlzdE9wZXJhdG9ycyA9IHtcclxuICBpbkxpc3Q6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbn07XHJcblxyXG4vKiogT3BlcmF0b3JzIGZvciBmaWx0ZXJpbmcgb24gYSBEYXRlVGltZSBmaWVsZCAqL1xyXG5leHBvcnQgdHlwZSBEYXRlT3BlcmF0b3JzID0ge1xyXG4gIGVxPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XHJcbiAgYmVmb3JlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XHJcbiAgYWZ0ZXI/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcclxuICBiZXR3ZWVuPzogTWF5YmU8RGF0ZVJhbmdlPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIERhdGVSYW5nZSA9IHtcclxuICBzdGFydDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBlbmQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbn07XHJcblxyXG5cclxuLyoqXHJcbiAqIEV4cGVjdHMgdGhlIHNhbWUgdmFsaWRhdGlvbiBmb3JtYXRzIGFzIHRoZSBgPGlucHV0IHR5cGU9XCJkYXRldGltZS1sb2NhbFwiPmAgSFRNTCBlbGVtZW50LlxyXG4gKiBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRNTC9FbGVtZW50L2lucHV0L2RhdGV0aW1lLWxvY2FsI0FkZGl0aW9uYWxfYXR0cmlidXRlc1xyXG4gKi9cclxuZXhwb3J0IHR5cGUgRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZyA9IEN1c3RvbUZpZWxkICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZyc7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdHlwZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgbGlzdDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGxhYmVsPzogTWF5YmU8QXJyYXk8TG9jYWxpemVkU3RyaW5nPj47XHJcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxBcnJheTxMb2NhbGl6ZWRTdHJpbmc+PjtcclxuICByZWFkb25seT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgaW50ZXJuYWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIG51bGxhYmxlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBtaW4/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgbWF4PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHN0ZXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgdWk/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlQXNzZXRJbnB1dCA9IHtcclxuICBhc3NldElkOiBTY2FsYXJzWydJRCddO1xyXG4gIGZvcmNlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBkZWxldGVGcm9tQWxsQ2hhbm5lbHM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlQXNzZXRzSW5wdXQgPSB7XHJcbiAgYXNzZXRJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGZvcmNlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBkZWxldGVGcm9tQWxsQ2hhbm5lbHM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRpb25SZXNwb25zZSA9IHtcclxuICBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnO1xyXG4gIHJlc3VsdDogRGVsZXRpb25SZXN1bHQ7XHJcbiAgbWVzc2FnZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxufTtcclxuXHJcbmV4cG9ydCBlbnVtIERlbGV0aW9uUmVzdWx0IHtcclxuICAvKiogVGhlIGVudGl0eSB3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQgKi9cclxuICBERUxFVEVEID0gJ0RFTEVURUQnLFxyXG4gIC8qKiBEZWxldGlvbiBkaWQgbm90IHRha2UgcGxhY2UsIHJlYXNvbiBnaXZlbiBpbiBtZXNzYWdlICovXHJcbiAgTk9UX0RFTEVURUQgPSAnTk9UX0RFTEVURUQnXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIERpc2NvdW50ID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnRGlzY291bnQnO1xyXG4gIGFkanVzdG1lbnRTb3VyY2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHR5cGU6IEFkanVzdG1lbnRUeXBlO1xyXG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBhbW91bnQ6IFNjYWxhcnNbJ0ludCddO1xyXG4gIGFtb3VudFdpdGhUYXg6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuLyoqIFJldHVybmVkIHdoZW4gYXR0ZW1wdGluZyB0byBjcmVhdGUgYSBDdXN0b21lciB3aXRoIGFuIGVtYWlsIGFkZHJlc3MgYWxyZWFkeSByZWdpc3RlcmVkIHRvIGFuIGV4aXN0aW5nIFVzZXIuICovXHJcbmV4cG9ydCB0eXBlIEVtYWlsQWRkcmVzc0NvbmZsaWN0RXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0VtYWlsQWRkcmVzc0NvbmZsaWN0RXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuLyoqIFJldHVybmVkIGlmIG5vIE9yZGVyTGluZXMgaGF2ZSBiZWVuIHNwZWNpZmllZCBmb3IgdGhlIG9wZXJhdGlvbiAqL1xyXG5leHBvcnQgdHlwZSBFbXB0eU9yZGVyTGluZVNlbGVjdGlvbkVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdFbXB0eU9yZGVyTGluZVNlbGVjdGlvbkVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCBlbnVtIEVycm9yQ29kZSB7XHJcbiAgVU5LTk9XTl9FUlJPUiA9ICdVTktOT1dOX0VSUk9SJyxcclxuICBNSU1FX1RZUEVfRVJST1IgPSAnTUlNRV9UWVBFX0VSUk9SJyxcclxuICBMQU5HVUFHRV9OT1RfQVZBSUxBQkxFX0VSUk9SID0gJ0xBTkdVQUdFX05PVF9BVkFJTEFCTEVfRVJST1InLFxyXG4gIEZBQ0VUX0lOX1VTRV9FUlJPUiA9ICdGQUNFVF9JTl9VU0VfRVJST1InLFxyXG4gIENIQU5ORUxfREVGQVVMVF9MQU5HVUFHRV9FUlJPUiA9ICdDSEFOTkVMX0RFRkFVTFRfTEFOR1VBR0VfRVJST1InLFxyXG4gIFNFVFRMRV9QQVlNRU5UX0VSUk9SID0gJ1NFVFRMRV9QQVlNRU5UX0VSUk9SJyxcclxuICBDQU5DRUxfUEFZTUVOVF9FUlJPUiA9ICdDQU5DRUxfUEFZTUVOVF9FUlJPUicsXHJcbiAgRU1QVFlfT1JERVJfTElORV9TRUxFQ1RJT05fRVJST1IgPSAnRU1QVFlfT1JERVJfTElORV9TRUxFQ1RJT05fRVJST1InLFxyXG4gIElURU1TX0FMUkVBRFlfRlVMRklMTEVEX0VSUk9SID0gJ0lURU1TX0FMUkVBRFlfRlVMRklMTEVEX0VSUk9SJyxcclxuICBJTlZBTElEX0ZVTEZJTExNRU5UX0hBTkRMRVJfRVJST1IgPSAnSU5WQUxJRF9GVUxGSUxMTUVOVF9IQU5ETEVSX0VSUk9SJyxcclxuICBDUkVBVEVfRlVMRklMTE1FTlRfRVJST1IgPSAnQ1JFQVRFX0ZVTEZJTExNRU5UX0VSUk9SJyxcclxuICBJTlNVRkZJQ0lFTlRfU1RPQ0tfT05fSEFORF9FUlJPUiA9ICdJTlNVRkZJQ0lFTlRfU1RPQ0tfT05fSEFORF9FUlJPUicsXHJcbiAgTVVMVElQTEVfT1JERVJfRVJST1IgPSAnTVVMVElQTEVfT1JERVJfRVJST1InLFxyXG4gIENBTkNFTF9BQ1RJVkVfT1JERVJfRVJST1IgPSAnQ0FOQ0VMX0FDVElWRV9PUkRFUl9FUlJPUicsXHJcbiAgUEFZTUVOVF9PUkRFUl9NSVNNQVRDSF9FUlJPUiA9ICdQQVlNRU5UX09SREVSX01JU01BVENIX0VSUk9SJyxcclxuICBSRUZVTkRfT1JERVJfU1RBVEVfRVJST1IgPSAnUkVGVU5EX09SREVSX1NUQVRFX0VSUk9SJyxcclxuICBOT1RISU5HX1RPX1JFRlVORF9FUlJPUiA9ICdOT1RISU5HX1RPX1JFRlVORF9FUlJPUicsXHJcbiAgQUxSRUFEWV9SRUZVTkRFRF9FUlJPUiA9ICdBTFJFQURZX1JFRlVOREVEX0VSUk9SJyxcclxuICBRVUFOVElUWV9UT09fR1JFQVRfRVJST1IgPSAnUVVBTlRJVFlfVE9PX0dSRUFUX0VSUk9SJyxcclxuICBSRUZVTkRfU1RBVEVfVFJBTlNJVElPTl9FUlJPUiA9ICdSRUZVTkRfU1RBVEVfVFJBTlNJVElPTl9FUlJPUicsXHJcbiAgUEFZTUVOVF9TVEFURV9UUkFOU0lUSU9OX0VSUk9SID0gJ1BBWU1FTlRfU1RBVEVfVFJBTlNJVElPTl9FUlJPUicsXHJcbiAgRlVMRklMTE1FTlRfU1RBVEVfVFJBTlNJVElPTl9FUlJPUiA9ICdGVUxGSUxMTUVOVF9TVEFURV9UUkFOU0lUSU9OX0VSUk9SJyxcclxuICBPUkRFUl9NT0RJRklDQVRJT05fU1RBVEVfRVJST1IgPSAnT1JERVJfTU9ESUZJQ0FUSU9OX1NUQVRFX0VSUk9SJyxcclxuICBOT19DSEFOR0VTX1NQRUNJRklFRF9FUlJPUiA9ICdOT19DSEFOR0VTX1NQRUNJRklFRF9FUlJPUicsXHJcbiAgUEFZTUVOVF9NRVRIT0RfTUlTU0lOR19FUlJPUiA9ICdQQVlNRU5UX01FVEhPRF9NSVNTSU5HX0VSUk9SJyxcclxuICBSRUZVTkRfUEFZTUVOVF9JRF9NSVNTSU5HX0VSUk9SID0gJ1JFRlVORF9QQVlNRU5UX0lEX01JU1NJTkdfRVJST1InLFxyXG4gIE1BTlVBTF9QQVlNRU5UX1NUQVRFX0VSUk9SID0gJ01BTlVBTF9QQVlNRU5UX1NUQVRFX0VSUk9SJyxcclxuICBQUk9EVUNUX09QVElPTl9JTl9VU0VfRVJST1IgPSAnUFJPRFVDVF9PUFRJT05fSU5fVVNFX0VSUk9SJyxcclxuICBNSVNTSU5HX0NPTkRJVElPTlNfRVJST1IgPSAnTUlTU0lOR19DT05ESVRJT05TX0VSUk9SJyxcclxuICBOQVRJVkVfQVVUSF9TVFJBVEVHWV9FUlJPUiA9ICdOQVRJVkVfQVVUSF9TVFJBVEVHWV9FUlJPUicsXHJcbiAgSU5WQUxJRF9DUkVERU5USUFMU19FUlJPUiA9ICdJTlZBTElEX0NSRURFTlRJQUxTX0VSUk9SJyxcclxuICBPUkRFUl9TVEFURV9UUkFOU0lUSU9OX0VSUk9SID0gJ09SREVSX1NUQVRFX1RSQU5TSVRJT05fRVJST1InLFxyXG4gIEVNQUlMX0FERFJFU1NfQ09ORkxJQ1RfRVJST1IgPSAnRU1BSUxfQUREUkVTU19DT05GTElDVF9FUlJPUicsXHJcbiAgT1JERVJfTElNSVRfRVJST1IgPSAnT1JERVJfTElNSVRfRVJST1InLFxyXG4gIE5FR0FUSVZFX1FVQU5USVRZX0VSUk9SID0gJ05FR0FUSVZFX1FVQU5USVRZX0VSUk9SJyxcclxuICBJTlNVRkZJQ0lFTlRfU1RPQ0tfRVJST1IgPSAnSU5TVUZGSUNJRU5UX1NUT0NLX0VSUk9SJyxcclxuICBDT1VQT05fQ09ERV9JTlZBTElEX0VSUk9SID0gJ0NPVVBPTl9DT0RFX0lOVkFMSURfRVJST1InLFxyXG4gIENPVVBPTl9DT0RFX0VYUElSRURfRVJST1IgPSAnQ09VUE9OX0NPREVfRVhQSVJFRF9FUlJPUicsXHJcbiAgQ09VUE9OX0NPREVfTElNSVRfRVJST1IgPSAnQ09VUE9OX0NPREVfTElNSVRfRVJST1InLFxyXG4gIE9SREVSX01PRElGSUNBVElPTl9FUlJPUiA9ICdPUkRFUl9NT0RJRklDQVRJT05fRVJST1InLFxyXG4gIElORUxJR0lCTEVfU0hJUFBJTkdfTUVUSE9EX0VSUk9SID0gJ0lORUxJR0lCTEVfU0hJUFBJTkdfTUVUSE9EX0VSUk9SJyxcclxuICBOT19BQ1RJVkVfT1JERVJfRVJST1IgPSAnTk9fQUNUSVZFX09SREVSX0VSUk9SJ1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBFcnJvclJlc3VsdCA9IHtcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEZhY2V0ID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0ZhY2V0JztcclxuICBpc1ByaXZhdGU6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHZhbHVlczogQXJyYXk8RmFjZXRWYWx1ZT47XHJcbiAgdHJhbnNsYXRpb25zOiBBcnJheTxGYWNldFRyYW5zbGF0aW9uPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRmFjZXRGaWx0ZXJQYXJhbWV0ZXIgPSB7XHJcbiAgaXNQcml2YXRlPzogTWF5YmU8Qm9vbGVhbk9wZXJhdG9ycz47XHJcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgbGFuZ3VhZ2VDb2RlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBuYW1lPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBjb2RlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEZhY2V0SW5Vc2VFcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnRmFjZXRJblVzZUVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBmYWNldENvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHByb2R1Y3RDb3VudDogU2NhbGFyc1snSW50J107XHJcbiAgdmFyaWFudENvdW50OiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEZhY2V0TGlzdCA9IFBhZ2luYXRlZExpc3QgJiB7XHJcbiAgX190eXBlbmFtZT86ICdGYWNldExpc3QnO1xyXG4gIGl0ZW1zOiBBcnJheTxGYWNldD47XHJcbiAgdG90YWxJdGVtczogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBGYWNldExpc3RPcHRpb25zID0ge1xyXG4gIC8qKiBTa2lwcyB0aGUgZmlyc3QgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICBza2lwPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBUYWtlcyBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHRha2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGljaCBwcm9wZXJ0aWVzIHRvIHNvcnQgdGhlIHJlc3VsdHMgYnkgKi9cclxuICBzb3J0PzogTWF5YmU8RmFjZXRTb3J0UGFyYW1ldGVyPjtcclxuICAvKiogQWxsb3dzIHRoZSByZXN1bHRzIHRvIGJlIGZpbHRlcmVkICovXHJcbiAgZmlsdGVyPzogTWF5YmU8RmFjZXRGaWx0ZXJQYXJhbWV0ZXI+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hldGhlciBtdWx0aXBsZSBcImZpbHRlclwiIGFyZ3VtZW50cyBzaG91bGQgYmUgY29tYmluZXMgd2l0aCBhIGxvZ2ljYWwgQU5EIG9yIE9SIG9wZXJhdGlvbi4gRGVmYXVsdHMgdG8gQU5ELiAqL1xyXG4gIGZpbHRlck9wZXJhdG9yPzogTWF5YmU8TG9naWNhbE9wZXJhdG9yPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEZhY2V0U29ydFBhcmFtZXRlciA9IHtcclxuICBpZD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICB1cGRhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIG5hbWU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGNvZGU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRmFjZXRUcmFuc2xhdGlvbiA9IHtcclxuICBfX3R5cGVuYW1lPzogJ0ZhY2V0VHJhbnNsYXRpb24nO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBGYWNldFRyYW5zbGF0aW9uSW5wdXQgPSB7XHJcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICBuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBGYWNldFZhbHVlID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0ZhY2V0VmFsdWUnO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgZmFjZXQ6IEZhY2V0O1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHRyYW5zbGF0aW9uczogQXJyYXk8RmFjZXRWYWx1ZVRyYW5zbGF0aW9uPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFVzZWQgdG8gY29uc3RydWN0IGJvb2xlYW4gZXhwcmVzc2lvbnMgZm9yIGZpbHRlcmluZyBzZWFyY2ggcmVzdWx0c1xyXG4gKiBieSBGYWNldFZhbHVlIElELiBFeGFtcGxlczpcclxuICpcclxuICogKiBJRD0xIE9SIElEPTI6IGB7IGZhY2V0VmFsdWVGaWx0ZXJzOiBbeyBvcjogWzEsMl0gfV0gfWBcclxuICogKiBJRD0xIEFORCBJRD0yOiBgeyBmYWNldFZhbHVlRmlsdGVyczogW3sgYW5kOiAxIH0sIHsgYW5kOiAyIH1dIH1gXHJcbiAqICogSUQ9MSBBTkQgKElEPTIgT1IgSUQ9Myk6IGB7IGZhY2V0VmFsdWVGaWx0ZXJzOiBbeyBhbmQ6IDEgfSwgeyBvcjogWzIsM10gfV0gfWBcclxuICovXHJcbmV4cG9ydCB0eXBlIEZhY2V0VmFsdWVGaWx0ZXJJbnB1dCA9IHtcclxuICBhbmQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBvcj86IE1heWJlPEFycmF5PFNjYWxhcnNbJ0lEJ10+PjtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBXaGljaCBGYWNldFZhbHVlcyBhcmUgcHJlc2VudCBpbiB0aGUgcHJvZHVjdHMgcmV0dXJuZWRcclxuICogYnkgdGhlIHNlYXJjaCwgYW5kIGluIHdoYXQgcXVhbnRpdHkuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBGYWNldFZhbHVlUmVzdWx0ID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnRmFjZXRWYWx1ZVJlc3VsdCc7XHJcbiAgZmFjZXRWYWx1ZTogRmFjZXRWYWx1ZTtcclxuICBjb3VudDogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBGYWNldFZhbHVlVHJhbnNsYXRpb24gPSB7XHJcbiAgX190eXBlbmFtZT86ICdGYWNldFZhbHVlVHJhbnNsYXRpb24nO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBGYWNldFZhbHVlVHJhbnNsYXRpb25JbnB1dCA9IHtcclxuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIG5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEZsb2F0Q3VzdG9tRmllbGRDb25maWcgPSBDdXN0b21GaWVsZCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHR5cGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGxpc3Q6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICBsYWJlbD86IE1heWJlPEFycmF5PExvY2FsaXplZFN0cmluZz4+O1xyXG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8QXJyYXk8TG9jYWxpemVkU3RyaW5nPj47XHJcbiAgcmVhZG9ubHk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIGludGVybmFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBudWxsYWJsZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgbWluPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XHJcbiAgbWF4PzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XHJcbiAgc3RlcD86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xyXG4gIHVpPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEZ1bGZpbGxPcmRlcklucHV0ID0ge1xyXG4gIGxpbmVzOiBBcnJheTxPcmRlckxpbmVJbnB1dD47XHJcbiAgaGFuZGxlcjogQ29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQ7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBGdWxmaWxsbWVudCA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdGdWxmaWxsbWVudCc7XHJcbiAgbmV4dFN0YXRlczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgb3JkZXJJdGVtczogQXJyYXk8T3JkZXJJdGVtPjtcclxuICBzdW1tYXJ5OiBBcnJheTxGdWxmaWxsbWVudExpbmVTdW1tYXJ5PjtcclxuICBzdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgbWV0aG9kOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0cmFja2luZ0NvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEZ1bGZpbGxtZW50TGluZVN1bW1hcnkgPSB7XHJcbiAgX190eXBlbmFtZT86ICdGdWxmaWxsbWVudExpbmVTdW1tYXJ5JztcclxuICBvcmRlckxpbmU6IE9yZGVyTGluZTtcclxuICBxdWFudGl0eTogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG4vKiogUmV0dXJuZWQgd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBpbiB0cmFuc2l0aW9uaW5nIHRoZSBGdWxmaWxsbWVudCBzdGF0ZSAqL1xyXG5leHBvcnQgdHlwZSBGdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdGdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0cmFuc2l0aW9uRXJyb3I6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGZyb21TdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdG9TdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgZW51bSBHbG9iYWxGbGFnIHtcclxuICBUUlVFID0gJ1RSVUUnLFxyXG4gIEZBTFNFID0gJ0ZBTFNFJyxcclxuICBJTkhFUklUID0gJ0lOSEVSSVQnXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEdsb2JhbFNldHRpbmdzID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnR2xvYmFsU2V0dGluZ3MnO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBBcnJheTxMYW5ndWFnZUNvZGU+O1xyXG4gIHRyYWNrSW52ZW50b3J5OiBTY2FsYXJzWydCb29sZWFuJ107XHJcbiAgb3V0T2ZTdG9ja1RocmVzaG9sZDogU2NhbGFyc1snSW50J107XHJcbiAgc2VydmVyQ29uZmlnOiBTZXJ2ZXJDb25maWc7XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEhpc3RvcnlFbnRyeSA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdIaXN0b3J5RW50cnknO1xyXG4gIGlzUHVibGljOiBTY2FsYXJzWydCb29sZWFuJ107XHJcbiAgYWRtaW5pc3RyYXRvcj86IE1heWJlPEFkbWluaXN0cmF0b3I+O1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdHlwZTogSGlzdG9yeUVudHJ5VHlwZTtcclxuICBkYXRhOiBTY2FsYXJzWydKU09OJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBIaXN0b3J5RW50cnlGaWx0ZXJQYXJhbWV0ZXIgPSB7XHJcbiAgaXNQdWJsaWM/OiBNYXliZTxCb29sZWFuT3BlcmF0b3JzPjtcclxuICBpZD86IE1heWJlPElkT3BlcmF0b3JzPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICB1cGRhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICB0eXBlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEhpc3RvcnlFbnRyeUxpc3QgPSBQYWdpbmF0ZWRMaXN0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnSGlzdG9yeUVudHJ5TGlzdCc7XHJcbiAgaXRlbXM6IEFycmF5PEhpc3RvcnlFbnRyeT47XHJcbiAgdG90YWxJdGVtczogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBIaXN0b3J5RW50cnlMaXN0T3B0aW9ucyA9IHtcclxuICAvKiogU2tpcHMgdGhlIGZpcnN0IG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgc2tpcD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogVGFrZXMgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICB0YWtlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hpY2ggcHJvcGVydGllcyB0byBzb3J0IHRoZSByZXN1bHRzIGJ5ICovXHJcbiAgc29ydD86IE1heWJlPEhpc3RvcnlFbnRyeVNvcnRQYXJhbWV0ZXI+O1xyXG4gIC8qKiBBbGxvd3MgdGhlIHJlc3VsdHMgdG8gYmUgZmlsdGVyZWQgKi9cclxuICBmaWx0ZXI/OiBNYXliZTxIaXN0b3J5RW50cnlGaWx0ZXJQYXJhbWV0ZXI+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hldGhlciBtdWx0aXBsZSBcImZpbHRlclwiIGFyZ3VtZW50cyBzaG91bGQgYmUgY29tYmluZXMgd2l0aCBhIGxvZ2ljYWwgQU5EIG9yIE9SIG9wZXJhdGlvbi4gRGVmYXVsdHMgdG8gQU5ELiAqL1xyXG4gIGZpbHRlck9wZXJhdG9yPzogTWF5YmU8TG9naWNhbE9wZXJhdG9yPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEhpc3RvcnlFbnRyeVNvcnRQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxufTtcclxuXHJcbmV4cG9ydCBlbnVtIEhpc3RvcnlFbnRyeVR5cGUge1xyXG4gIENVU1RPTUVSX1JFR0lTVEVSRUQgPSAnQ1VTVE9NRVJfUkVHSVNURVJFRCcsXHJcbiAgQ1VTVE9NRVJfVkVSSUZJRUQgPSAnQ1VTVE9NRVJfVkVSSUZJRUQnLFxyXG4gIENVU1RPTUVSX0RFVEFJTF9VUERBVEVEID0gJ0NVU1RPTUVSX0RFVEFJTF9VUERBVEVEJyxcclxuICBDVVNUT01FUl9BRERFRF9UT19HUk9VUCA9ICdDVVNUT01FUl9BRERFRF9UT19HUk9VUCcsXHJcbiAgQ1VTVE9NRVJfUkVNT1ZFRF9GUk9NX0dST1VQID0gJ0NVU1RPTUVSX1JFTU9WRURfRlJPTV9HUk9VUCcsXHJcbiAgQ1VTVE9NRVJfQUREUkVTU19DUkVBVEVEID0gJ0NVU1RPTUVSX0FERFJFU1NfQ1JFQVRFRCcsXHJcbiAgQ1VTVE9NRVJfQUREUkVTU19VUERBVEVEID0gJ0NVU1RPTUVSX0FERFJFU1NfVVBEQVRFRCcsXHJcbiAgQ1VTVE9NRVJfQUREUkVTU19ERUxFVEVEID0gJ0NVU1RPTUVSX0FERFJFU1NfREVMRVRFRCcsXHJcbiAgQ1VTVE9NRVJfUEFTU1dPUkRfVVBEQVRFRCA9ICdDVVNUT01FUl9QQVNTV09SRF9VUERBVEVEJyxcclxuICBDVVNUT01FUl9QQVNTV09SRF9SRVNFVF9SRVFVRVNURUQgPSAnQ1VTVE9NRVJfUEFTU1dPUkRfUkVTRVRfUkVRVUVTVEVEJyxcclxuICBDVVNUT01FUl9QQVNTV09SRF9SRVNFVF9WRVJJRklFRCA9ICdDVVNUT01FUl9QQVNTV09SRF9SRVNFVF9WRVJJRklFRCcsXHJcbiAgQ1VTVE9NRVJfRU1BSUxfVVBEQVRFX1JFUVVFU1RFRCA9ICdDVVNUT01FUl9FTUFJTF9VUERBVEVfUkVRVUVTVEVEJyxcclxuICBDVVNUT01FUl9FTUFJTF9VUERBVEVfVkVSSUZJRUQgPSAnQ1VTVE9NRVJfRU1BSUxfVVBEQVRFX1ZFUklGSUVEJyxcclxuICBDVVNUT01FUl9OT1RFID0gJ0NVU1RPTUVSX05PVEUnLFxyXG4gIE9SREVSX1NUQVRFX1RSQU5TSVRJT04gPSAnT1JERVJfU1RBVEVfVFJBTlNJVElPTicsXHJcbiAgT1JERVJfUEFZTUVOVF9UUkFOU0lUSU9OID0gJ09SREVSX1BBWU1FTlRfVFJBTlNJVElPTicsXHJcbiAgT1JERVJfRlVMRklMTE1FTlQgPSAnT1JERVJfRlVMRklMTE1FTlQnLFxyXG4gIE9SREVSX0NBTkNFTExBVElPTiA9ICdPUkRFUl9DQU5DRUxMQVRJT04nLFxyXG4gIE9SREVSX1JFRlVORF9UUkFOU0lUSU9OID0gJ09SREVSX1JFRlVORF9UUkFOU0lUSU9OJyxcclxuICBPUkRFUl9GVUxGSUxMTUVOVF9UUkFOU0lUSU9OID0gJ09SREVSX0ZVTEZJTExNRU5UX1RSQU5TSVRJT04nLFxyXG4gIE9SREVSX05PVEUgPSAnT1JERVJfTk9URScsXHJcbiAgT1JERVJfQ09VUE9OX0FQUExJRUQgPSAnT1JERVJfQ09VUE9OX0FQUExJRUQnLFxyXG4gIE9SREVSX0NPVVBPTl9SRU1PVkVEID0gJ09SREVSX0NPVVBPTl9SRU1PVkVEJyxcclxuICBPUkRFUl9NT0RJRklFRCA9ICdPUkRFUl9NT0RJRklFRCdcclxufVxyXG5cclxuLyoqIE9wZXJhdG9ycyBmb3IgZmlsdGVyaW5nIG9uIGEgbGlzdCBvZiBJRCBmaWVsZHMgKi9cclxuZXhwb3J0IHR5cGUgSWRMaXN0T3BlcmF0b3JzID0ge1xyXG4gIGluTGlzdDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcbi8qKiBPcGVyYXRvcnMgZm9yIGZpbHRlcmluZyBvbiBhbiBJRCBmaWVsZCAqL1xyXG5leHBvcnQgdHlwZSBJZE9wZXJhdG9ycyA9IHtcclxuICBlcT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBub3RFcT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBpbj86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPj47XHJcbiAgbm90SW4/OiBNYXliZTxBcnJheTxTY2FsYXJzWydTdHJpbmcnXT4+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgSW1wb3J0SW5mbyA9IHtcclxuICBfX3R5cGVuYW1lPzogJ0ltcG9ydEluZm8nO1xyXG4gIGVycm9ycz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPj47XHJcbiAgcHJvY2Vzc2VkOiBTY2FsYXJzWydJbnQnXTtcclxuICBpbXBvcnRlZDogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG4vKiogUmV0dXJuZWQgd2hlbiBhdHRlbXB0aW5nIHRvIHNldCBhIFNoaXBwaW5nTWV0aG9kIGZvciB3aGljaCB0aGUgT3JkZXIgaXMgbm90IGVsaWdpYmxlICovXHJcbmV4cG9ydCB0eXBlIEluZWxpZ2libGVTaGlwcGluZ01ldGhvZEVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdJbmVsaWdpYmxlU2hpcHBpbmdNZXRob2RFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG4vKiogUmV0dXJuZWQgd2hlbiBhdHRlbXB0aW5nIHRvIGFkZCBtb3JlIGl0ZW1zIHRvIHRoZSBPcmRlciB0aGFuIGFyZSBhdmFpbGFibGUgKi9cclxuZXhwb3J0IHR5cGUgSW5zdWZmaWNpZW50U3RvY2tFcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnSW5zdWZmaWNpZW50U3RvY2tFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgcXVhbnRpdHlBdmFpbGFibGU6IFNjYWxhcnNbJ0ludCddO1xyXG4gIG9yZGVyOiBPcmRlcjtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBSZXR1cm5lZCBpZiBhdHRlbXB0aW5nIHRvIGNyZWF0ZSBhIEZ1bGZpbGxtZW50IHdoZW4gdGhlcmUgaXMgaW5zdWZmaWNpZW50XHJcbiAqIHN0b2NrT25IYW5kIG9mIGEgUHJvZHVjdFZhcmlhbnQgdG8gc2F0aXNmeSB0aGUgcmVxdWVzdGVkIHF1YW50aXR5LlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgSW5zdWZmaWNpZW50U3RvY2tPbkhhbmRFcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnSW5zdWZmaWNpZW50U3RvY2tPbkhhbmRFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgcHJvZHVjdFZhcmlhbnRJZDogU2NhbGFyc1snSUQnXTtcclxuICBwcm9kdWN0VmFyaWFudE5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHN0b2NrT25IYW5kOiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEludEN1c3RvbUZpZWxkQ29uZmlnID0gQ3VzdG9tRmllbGQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZyc7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdHlwZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgbGlzdDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGxhYmVsPzogTWF5YmU8QXJyYXk8TG9jYWxpemVkU3RyaW5nPj47XHJcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxBcnJheTxMb2NhbGl6ZWRTdHJpbmc+PjtcclxuICByZWFkb25seT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgaW50ZXJuYWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIG51bGxhYmxlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBtaW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgbWF4PzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIHN0ZXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgdWk/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuLyoqIFJldHVybmVkIGlmIHRoZSB1c2VyIGF1dGhlbnRpY2F0aW9uIGNyZWRlbnRpYWxzIGFyZSBub3QgdmFsaWQgKi9cclxuZXhwb3J0IHR5cGUgSW52YWxpZENyZWRlbnRpYWxzRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0ludmFsaWRDcmVkZW50aWFsc0Vycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBhdXRoZW50aWNhdGlvbkVycm9yOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCBpZiB0aGUgc3BlY2lmaWVkIEZ1bGZpbGxtZW50SGFuZGxlciBjb2RlIGlzIG5vdCB2YWxpZCAqL1xyXG5leHBvcnQgdHlwZSBJbnZhbGlkRnVsZmlsbG1lbnRIYW5kbGVyRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0ludmFsaWRGdWxmaWxsbWVudEhhbmRsZXJFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG4vKiogUmV0dXJuZWQgaWYgdGhlIHNwZWNpZmllZCBpdGVtcyBhcmUgYWxyZWFkeSBwYXJ0IG9mIGEgRnVsZmlsbG1lbnQgKi9cclxuZXhwb3J0IHR5cGUgSXRlbXNBbHJlYWR5RnVsZmlsbGVkRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0l0ZW1zQWxyZWFkeUZ1bGZpbGxlZEVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBKb2IgPSBOb2RlICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnSm9iJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgc3RhcnRlZEF0PzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XHJcbiAgc2V0dGxlZEF0PzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XHJcbiAgcXVldWVOYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBzdGF0ZTogSm9iU3RhdGU7XHJcbiAgcHJvZ3Jlc3M6IFNjYWxhcnNbJ0Zsb2F0J107XHJcbiAgZGF0YT86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbiAgcmVzdWx0PzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxuICBlcnJvcj86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbiAgaXNTZXR0bGVkOiBTY2FsYXJzWydCb29sZWFuJ107XHJcbiAgZHVyYXRpb246IFNjYWxhcnNbJ0ludCddO1xyXG4gIHJldHJpZXM6IFNjYWxhcnNbJ0ludCddO1xyXG4gIGF0dGVtcHRzOiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEpvYkJ1ZmZlclNpemUgPSB7XHJcbiAgX190eXBlbmFtZT86ICdKb2JCdWZmZXJTaXplJztcclxuICBidWZmZXJJZDogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgc2l6ZTogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBKb2JGaWx0ZXJQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgc3RhcnRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgc2V0dGxlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgcXVldWVOYW1lPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBzdGF0ZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgcHJvZ3Jlc3M/OiBNYXliZTxOdW1iZXJPcGVyYXRvcnM+O1xyXG4gIGlzU2V0dGxlZD86IE1heWJlPEJvb2xlYW5PcGVyYXRvcnM+O1xyXG4gIGR1cmF0aW9uPzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICByZXRyaWVzPzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICBhdHRlbXB0cz86IE1heWJlPE51bWJlck9wZXJhdG9ycz47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBKb2JMaXN0ID0gUGFnaW5hdGVkTGlzdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0pvYkxpc3QnO1xyXG4gIGl0ZW1zOiBBcnJheTxKb2I+O1xyXG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgSm9iTGlzdE9wdGlvbnMgPSB7XHJcbiAgLyoqIFNraXBzIHRoZSBmaXJzdCBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHNraXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFRha2VzIG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgdGFrZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogU3BlY2lmaWVzIHdoaWNoIHByb3BlcnRpZXMgdG8gc29ydCB0aGUgcmVzdWx0cyBieSAqL1xyXG4gIHNvcnQ/OiBNYXliZTxKb2JTb3J0UGFyYW1ldGVyPjtcclxuICAvKiogQWxsb3dzIHRoZSByZXN1bHRzIHRvIGJlIGZpbHRlcmVkICovXHJcbiAgZmlsdGVyPzogTWF5YmU8Sm9iRmlsdGVyUGFyYW1ldGVyPjtcclxuICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgbXVsdGlwbGUgXCJmaWx0ZXJcIiBhcmd1bWVudHMgc2hvdWxkIGJlIGNvbWJpbmVzIHdpdGggYSBsb2dpY2FsIEFORCBvciBPUiBvcGVyYXRpb24uIERlZmF1bHRzIHRvIEFORC4gKi9cclxuICBmaWx0ZXJPcGVyYXRvcj86IE1heWJlPExvZ2ljYWxPcGVyYXRvcj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBKb2JRdWV1ZSA9IHtcclxuICBfX3R5cGVuYW1lPzogJ0pvYlF1ZXVlJztcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBydW5uaW5nOiBTY2FsYXJzWydCb29sZWFuJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBKb2JTb3J0UGFyYW1ldGVyID0ge1xyXG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHN0YXJ0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgc2V0dGxlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBxdWV1ZU5hbWU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHByb2dyZXNzPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBkdXJhdGlvbj86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgcmV0cmllcz86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgYXR0ZW1wdHM/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBUaGUgc3RhdGUgb2YgYSBKb2IgaW4gdGhlIEpvYlF1ZXVlXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgY29tbW9uXHJcbiAqL1xyXG5leHBvcnQgZW51bSBKb2JTdGF0ZSB7XHJcbiAgUEVORElORyA9ICdQRU5ESU5HJyxcclxuICBSVU5OSU5HID0gJ1JVTk5JTkcnLFxyXG4gIENPTVBMRVRFRCA9ICdDT01QTEVURUQnLFxyXG4gIFJFVFJZSU5HID0gJ1JFVFJZSU5HJyxcclxuICBGQUlMRUQgPSAnRkFJTEVEJyxcclxuICBDQU5DRUxMRUQgPSAnQ0FOQ0VMTEVEJ1xyXG59XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIExhbmd1YWdlcyBpbiB0aGUgZm9ybSBvZiBhIElTTyA2MzktMSBsYW5ndWFnZSBjb2RlIHdpdGggb3B0aW9uYWxcclxuICogcmVnaW9uIG9yIHNjcmlwdCBtb2RpZmllciAoZS5nLiBkZV9BVCkuIFRoZSBzZWxlY3Rpb24gYXZhaWxhYmxlIGlzIGJhc2VkXHJcbiAqIG9uIHRoZSBbVW5pY29kZSBDTERSIHN1bW1hcnkgbGlzdF0oaHR0cHM6Ly91bmljb2RlLW9yZy5naXRodWIuaW8vY2xkci1zdGFnaW5nL2NoYXJ0cy8zNy9zdW1tYXJ5L3Jvb3QuaHRtbClcclxuICogYW5kIGluY2x1ZGVzIHRoZSBtYWpvciBzcG9rZW4gbGFuZ3VhZ2VzIG9mIHRoZSB3b3JsZCBhbmQgYW55IHdpZGVseS11c2VkIHZhcmlhbnRzLlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGNvbW1vblxyXG4gKi9cclxuZXhwb3J0IGVudW0gTGFuZ3VhZ2VDb2RlIHtcclxuICAvKiogQWZyaWthYW5zICovXHJcbiAgYWYgPSAnYWYnLFxyXG4gIC8qKiBBa2FuICovXHJcbiAgYWsgPSAnYWsnLFxyXG4gIC8qKiBBbWhhcmljICovXHJcbiAgYW0gPSAnYW0nLFxyXG4gIC8qKiBBcmFiaWMgKi9cclxuICBhciA9ICdhcicsXHJcbiAgLyoqIEFzc2FtZXNlICovXHJcbiAgYXMgPSAnYXMnLFxyXG4gIC8qKiBBemVyYmFpamFuaSAqL1xyXG4gIGF6ID0gJ2F6JyxcclxuICAvKiogQmVsYXJ1c2lhbiAqL1xyXG4gIGJlID0gJ2JlJyxcclxuICAvKiogQnVsZ2FyaWFuICovXHJcbiAgYmcgPSAnYmcnLFxyXG4gIC8qKiBCYW1iYXJhICovXHJcbiAgYm0gPSAnYm0nLFxyXG4gIC8qKiBCYW5nbGEgKi9cclxuICBibiA9ICdibicsXHJcbiAgLyoqIFRpYmV0YW4gKi9cclxuICBibyA9ICdibycsXHJcbiAgLyoqIEJyZXRvbiAqL1xyXG4gIGJyID0gJ2JyJyxcclxuICAvKiogQm9zbmlhbiAqL1xyXG4gIGJzID0gJ2JzJyxcclxuICAvKiogQ2F0YWxhbiAqL1xyXG4gIGNhID0gJ2NhJyxcclxuICAvKiogQ2hlY2hlbiAqL1xyXG4gIGNlID0gJ2NlJyxcclxuICAvKiogQ29yc2ljYW4gKi9cclxuICBjbyA9ICdjbycsXHJcbiAgLyoqIEN6ZWNoICovXHJcbiAgY3MgPSAnY3MnLFxyXG4gIC8qKiBDaHVyY2ggU2xhdmljICovXHJcbiAgY3UgPSAnY3UnLFxyXG4gIC8qKiBXZWxzaCAqL1xyXG4gIGN5ID0gJ2N5JyxcclxuICAvKiogRGFuaXNoICovXHJcbiAgZGEgPSAnZGEnLFxyXG4gIC8qKiBHZXJtYW4gKi9cclxuICBkZSA9ICdkZScsXHJcbiAgLyoqIEF1c3RyaWFuIEdlcm1hbiAqL1xyXG4gIGRlX0FUID0gJ2RlX0FUJyxcclxuICAvKiogU3dpc3MgSGlnaCBHZXJtYW4gKi9cclxuICBkZV9DSCA9ICdkZV9DSCcsXHJcbiAgLyoqIER6b25na2hhICovXHJcbiAgZHogPSAnZHonLFxyXG4gIC8qKiBFd2UgKi9cclxuICBlZSA9ICdlZScsXHJcbiAgLyoqIEdyZWVrICovXHJcbiAgZWwgPSAnZWwnLFxyXG4gIC8qKiBFbmdsaXNoICovXHJcbiAgZW4gPSAnZW4nLFxyXG4gIC8qKiBBdXN0cmFsaWFuIEVuZ2xpc2ggKi9cclxuICBlbl9BVSA9ICdlbl9BVScsXHJcbiAgLyoqIENhbmFkaWFuIEVuZ2xpc2ggKi9cclxuICBlbl9DQSA9ICdlbl9DQScsXHJcbiAgLyoqIEJyaXRpc2ggRW5nbGlzaCAqL1xyXG4gIGVuX0dCID0gJ2VuX0dCJyxcclxuICAvKiogQW1lcmljYW4gRW5nbGlzaCAqL1xyXG4gIGVuX1VTID0gJ2VuX1VTJyxcclxuICAvKiogRXNwZXJhbnRvICovXHJcbiAgZW8gPSAnZW8nLFxyXG4gIC8qKiBTcGFuaXNoICovXHJcbiAgZXMgPSAnZXMnLFxyXG4gIC8qKiBFdXJvcGVhbiBTcGFuaXNoICovXHJcbiAgZXNfRVMgPSAnZXNfRVMnLFxyXG4gIC8qKiBNZXhpY2FuIFNwYW5pc2ggKi9cclxuICBlc19NWCA9ICdlc19NWCcsXHJcbiAgLyoqIEVzdG9uaWFuICovXHJcbiAgZXQgPSAnZXQnLFxyXG4gIC8qKiBCYXNxdWUgKi9cclxuICBldSA9ICdldScsXHJcbiAgLyoqIFBlcnNpYW4gKi9cclxuICBmYSA9ICdmYScsXHJcbiAgLyoqIERhcmkgKi9cclxuICBmYV9BRiA9ICdmYV9BRicsXHJcbiAgLyoqIEZ1bGFoICovXHJcbiAgZmYgPSAnZmYnLFxyXG4gIC8qKiBGaW5uaXNoICovXHJcbiAgZmkgPSAnZmknLFxyXG4gIC8qKiBGYXJvZXNlICovXHJcbiAgZm8gPSAnZm8nLFxyXG4gIC8qKiBGcmVuY2ggKi9cclxuICBmciA9ICdmcicsXHJcbiAgLyoqIENhbmFkaWFuIEZyZW5jaCAqL1xyXG4gIGZyX0NBID0gJ2ZyX0NBJyxcclxuICAvKiogU3dpc3MgRnJlbmNoICovXHJcbiAgZnJfQ0ggPSAnZnJfQ0gnLFxyXG4gIC8qKiBXZXN0ZXJuIEZyaXNpYW4gKi9cclxuICBmeSA9ICdmeScsXHJcbiAgLyoqIElyaXNoICovXHJcbiAgZ2EgPSAnZ2EnLFxyXG4gIC8qKiBTY290dGlzaCBHYWVsaWMgKi9cclxuICBnZCA9ICdnZCcsXHJcbiAgLyoqIEdhbGljaWFuICovXHJcbiAgZ2wgPSAnZ2wnLFxyXG4gIC8qKiBHdWphcmF0aSAqL1xyXG4gIGd1ID0gJ2d1JyxcclxuICAvKiogTWFueCAqL1xyXG4gIGd2ID0gJ2d2JyxcclxuICAvKiogSGF1c2EgKi9cclxuICBoYSA9ICdoYScsXHJcbiAgLyoqIEhlYnJldyAqL1xyXG4gIGhlID0gJ2hlJyxcclxuICAvKiogSGluZGkgKi9cclxuICBoaSA9ICdoaScsXHJcbiAgLyoqIENyb2F0aWFuICovXHJcbiAgaHIgPSAnaHInLFxyXG4gIC8qKiBIYWl0aWFuIENyZW9sZSAqL1xyXG4gIGh0ID0gJ2h0JyxcclxuICAvKiogSHVuZ2FyaWFuICovXHJcbiAgaHUgPSAnaHUnLFxyXG4gIC8qKiBBcm1lbmlhbiAqL1xyXG4gIGh5ID0gJ2h5JyxcclxuICAvKiogSW50ZXJsaW5ndWEgKi9cclxuICBpYSA9ICdpYScsXHJcbiAgLyoqIEluZG9uZXNpYW4gKi9cclxuICBpZCA9ICdpZCcsXHJcbiAgLyoqIElnYm8gKi9cclxuICBpZyA9ICdpZycsXHJcbiAgLyoqIFNpY2h1YW4gWWkgKi9cclxuICBpaSA9ICdpaScsXHJcbiAgLyoqIEljZWxhbmRpYyAqL1xyXG4gIGlzID0gJ2lzJyxcclxuICAvKiogSXRhbGlhbiAqL1xyXG4gIGl0ID0gJ2l0JyxcclxuICAvKiogSmFwYW5lc2UgKi9cclxuICBqYSA9ICdqYScsXHJcbiAgLyoqIEphdmFuZXNlICovXHJcbiAganYgPSAnanYnLFxyXG4gIC8qKiBHZW9yZ2lhbiAqL1xyXG4gIGthID0gJ2thJyxcclxuICAvKiogS2lrdXl1ICovXHJcbiAga2kgPSAna2knLFxyXG4gIC8qKiBLYXpha2ggKi9cclxuICBrayA9ICdraycsXHJcbiAgLyoqIEthbGFhbGxpc3V0ICovXHJcbiAga2wgPSAna2wnLFxyXG4gIC8qKiBLaG1lciAqL1xyXG4gIGttID0gJ2ttJyxcclxuICAvKiogS2FubmFkYSAqL1xyXG4gIGtuID0gJ2tuJyxcclxuICAvKiogS29yZWFuICovXHJcbiAga28gPSAna28nLFxyXG4gIC8qKiBLYXNobWlyaSAqL1xyXG4gIGtzID0gJ2tzJyxcclxuICAvKiogS3VyZGlzaCAqL1xyXG4gIGt1ID0gJ2t1JyxcclxuICAvKiogQ29ybmlzaCAqL1xyXG4gIGt3ID0gJ2t3JyxcclxuICAvKiogS3lyZ3l6ICovXHJcbiAga3kgPSAna3knLFxyXG4gIC8qKiBMYXRpbiAqL1xyXG4gIGxhID0gJ2xhJyxcclxuICAvKiogTHV4ZW1ib3VyZ2lzaCAqL1xyXG4gIGxiID0gJ2xiJyxcclxuICAvKiogR2FuZGEgKi9cclxuICBsZyA9ICdsZycsXHJcbiAgLyoqIExpbmdhbGEgKi9cclxuICBsbiA9ICdsbicsXHJcbiAgLyoqIExhbyAqL1xyXG4gIGxvID0gJ2xvJyxcclxuICAvKiogTGl0aHVhbmlhbiAqL1xyXG4gIGx0ID0gJ2x0JyxcclxuICAvKiogTHViYS1LYXRhbmdhICovXHJcbiAgbHUgPSAnbHUnLFxyXG4gIC8qKiBMYXR2aWFuICovXHJcbiAgbHYgPSAnbHYnLFxyXG4gIC8qKiBNYWxhZ2FzeSAqL1xyXG4gIG1nID0gJ21nJyxcclxuICAvKiogTWFvcmkgKi9cclxuICBtaSA9ICdtaScsXHJcbiAgLyoqIE1hY2Vkb25pYW4gKi9cclxuICBtayA9ICdtaycsXHJcbiAgLyoqIE1hbGF5YWxhbSAqL1xyXG4gIG1sID0gJ21sJyxcclxuICAvKiogTW9uZ29saWFuICovXHJcbiAgbW4gPSAnbW4nLFxyXG4gIC8qKiBNYXJhdGhpICovXHJcbiAgbXIgPSAnbXInLFxyXG4gIC8qKiBNYWxheSAqL1xyXG4gIG1zID0gJ21zJyxcclxuICAvKiogTWFsdGVzZSAqL1xyXG4gIG10ID0gJ210JyxcclxuICAvKiogQnVybWVzZSAqL1xyXG4gIG15ID0gJ215JyxcclxuICAvKiogTm9yd2VnaWFuIEJva23DpWwgKi9cclxuICBuYiA9ICduYicsXHJcbiAgLyoqIE5vcnRoIE5kZWJlbGUgKi9cclxuICBuZCA9ICduZCcsXHJcbiAgLyoqIE5lcGFsaSAqL1xyXG4gIG5lID0gJ25lJyxcclxuICAvKiogRHV0Y2ggKi9cclxuICBubCA9ICdubCcsXHJcbiAgLyoqIEZsZW1pc2ggKi9cclxuICBubF9CRSA9ICdubF9CRScsXHJcbiAgLyoqIE5vcndlZ2lhbiBOeW5vcnNrICovXHJcbiAgbm4gPSAnbm4nLFxyXG4gIC8qKiBOeWFuamEgKi9cclxuICBueSA9ICdueScsXHJcbiAgLyoqIE9yb21vICovXHJcbiAgb20gPSAnb20nLFxyXG4gIC8qKiBPZGlhICovXHJcbiAgb3IgPSAnb3InLFxyXG4gIC8qKiBPc3NldGljICovXHJcbiAgb3MgPSAnb3MnLFxyXG4gIC8qKiBQdW5qYWJpICovXHJcbiAgcGEgPSAncGEnLFxyXG4gIC8qKiBQb2xpc2ggKi9cclxuICBwbCA9ICdwbCcsXHJcbiAgLyoqIFBhc2h0byAqL1xyXG4gIHBzID0gJ3BzJyxcclxuICAvKiogUG9ydHVndWVzZSAqL1xyXG4gIHB0ID0gJ3B0JyxcclxuICAvKiogQnJhemlsaWFuIFBvcnR1Z3Vlc2UgKi9cclxuICBwdF9CUiA9ICdwdF9CUicsXHJcbiAgLyoqIEV1cm9wZWFuIFBvcnR1Z3Vlc2UgKi9cclxuICBwdF9QVCA9ICdwdF9QVCcsXHJcbiAgLyoqIFF1ZWNodWEgKi9cclxuICBxdSA9ICdxdScsXHJcbiAgLyoqIFJvbWFuc2ggKi9cclxuICBybSA9ICdybScsXHJcbiAgLyoqIFJ1bmRpICovXHJcbiAgcm4gPSAncm4nLFxyXG4gIC8qKiBSb21hbmlhbiAqL1xyXG4gIHJvID0gJ3JvJyxcclxuICAvKiogTW9sZGF2aWFuICovXHJcbiAgcm9fTUQgPSAncm9fTUQnLFxyXG4gIC8qKiBSdXNzaWFuICovXHJcbiAgcnUgPSAncnUnLFxyXG4gIC8qKiBLaW55YXJ3YW5kYSAqL1xyXG4gIHJ3ID0gJ3J3JyxcclxuICAvKiogU2Fuc2tyaXQgKi9cclxuICBzYSA9ICdzYScsXHJcbiAgLyoqIFNpbmRoaSAqL1xyXG4gIHNkID0gJ3NkJyxcclxuICAvKiogTm9ydGhlcm4gU2FtaSAqL1xyXG4gIHNlID0gJ3NlJyxcclxuICAvKiogU2FuZ28gKi9cclxuICBzZyA9ICdzZycsXHJcbiAgLyoqIFNpbmhhbGEgKi9cclxuICBzaSA9ICdzaScsXHJcbiAgLyoqIFNsb3ZhayAqL1xyXG4gIHNrID0gJ3NrJyxcclxuICAvKiogU2xvdmVuaWFuICovXHJcbiAgc2wgPSAnc2wnLFxyXG4gIC8qKiBTYW1vYW4gKi9cclxuICBzbSA9ICdzbScsXHJcbiAgLyoqIFNob25hICovXHJcbiAgc24gPSAnc24nLFxyXG4gIC8qKiBTb21hbGkgKi9cclxuICBzbyA9ICdzbycsXHJcbiAgLyoqIEFsYmFuaWFuICovXHJcbiAgc3EgPSAnc3EnLFxyXG4gIC8qKiBTZXJiaWFuICovXHJcbiAgc3IgPSAnc3InLFxyXG4gIC8qKiBTb3V0aGVybiBTb3RobyAqL1xyXG4gIHN0ID0gJ3N0JyxcclxuICAvKiogU3VuZGFuZXNlICovXHJcbiAgc3UgPSAnc3UnLFxyXG4gIC8qKiBTd2VkaXNoICovXHJcbiAgc3YgPSAnc3YnLFxyXG4gIC8qKiBTd2FoaWxpICovXHJcbiAgc3cgPSAnc3cnLFxyXG4gIC8qKiBDb25nbyBTd2FoaWxpICovXHJcbiAgc3dfQ0QgPSAnc3dfQ0QnLFxyXG4gIC8qKiBUYW1pbCAqL1xyXG4gIHRhID0gJ3RhJyxcclxuICAvKiogVGVsdWd1ICovXHJcbiAgdGUgPSAndGUnLFxyXG4gIC8qKiBUYWppayAqL1xyXG4gIHRnID0gJ3RnJyxcclxuICAvKiogVGhhaSAqL1xyXG4gIHRoID0gJ3RoJyxcclxuICAvKiogVGlncmlueWEgKi9cclxuICB0aSA9ICd0aScsXHJcbiAgLyoqIFR1cmttZW4gKi9cclxuICB0ayA9ICd0aycsXHJcbiAgLyoqIFRvbmdhbiAqL1xyXG4gIHRvID0gJ3RvJyxcclxuICAvKiogVHVya2lzaCAqL1xyXG4gIHRyID0gJ3RyJyxcclxuICAvKiogVGF0YXIgKi9cclxuICB0dCA9ICd0dCcsXHJcbiAgLyoqIFV5Z2h1ciAqL1xyXG4gIHVnID0gJ3VnJyxcclxuICAvKiogVWtyYWluaWFuICovXHJcbiAgdWsgPSAndWsnLFxyXG4gIC8qKiBVcmR1ICovXHJcbiAgdXIgPSAndXInLFxyXG4gIC8qKiBVemJlayAqL1xyXG4gIHV6ID0gJ3V6JyxcclxuICAvKiogVmlldG5hbWVzZSAqL1xyXG4gIHZpID0gJ3ZpJyxcclxuICAvKiogVm9sYXDDvGsgKi9cclxuICB2byA9ICd2bycsXHJcbiAgLyoqIFdvbG9mICovXHJcbiAgd28gPSAnd28nLFxyXG4gIC8qKiBYaG9zYSAqL1xyXG4gIHhoID0gJ3hoJyxcclxuICAvKiogWWlkZGlzaCAqL1xyXG4gIHlpID0gJ3lpJyxcclxuICAvKiogWW9ydWJhICovXHJcbiAgeW8gPSAneW8nLFxyXG4gIC8qKiBDaGluZXNlICovXHJcbiAgemggPSAnemgnLFxyXG4gIC8qKiBTaW1wbGlmaWVkIENoaW5lc2UgKi9cclxuICB6aF9IYW5zID0gJ3poX0hhbnMnLFxyXG4gIC8qKiBUcmFkaXRpb25hbCBDaGluZXNlICovXHJcbiAgemhfSGFudCA9ICd6aF9IYW50JyxcclxuICAvKiogWnVsdSAqL1xyXG4gIHp1ID0gJ3p1J1xyXG59XHJcblxyXG4vKiogUmV0dXJuZWQgaWYgYXR0ZW1wdGluZyB0byBzZXQgYSBDaGFubmVsJ3MgZGVmYXVsdExhbmd1YWdlQ29kZSB0byBhIGxhbmd1YWdlIHdoaWNoIGlzIG5vdCBlbmFibGVkIGluIEdsb2JhbFNldHRpbmdzICovXHJcbmV4cG9ydCB0eXBlIExhbmd1YWdlTm90QXZhaWxhYmxlRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0xhbmd1YWdlTm90QXZhaWxhYmxlRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGxhbmd1YWdlQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZyA9IEN1c3RvbUZpZWxkICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHR5cGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGxpc3Q6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICBsZW5ndGg/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgbGFiZWw/OiBNYXliZTxBcnJheTxMb2NhbGl6ZWRTdHJpbmc+PjtcclxuICBkZXNjcmlwdGlvbj86IE1heWJlPEFycmF5PExvY2FsaXplZFN0cmluZz4+O1xyXG4gIHJlYWRvbmx5PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBpbnRlcm5hbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgbnVsbGFibGU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIHBhdHRlcm4/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgdWk/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgTG9jYWxpemVkU3RyaW5nID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJztcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICB2YWx1ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgZW51bSBMb2dpY2FsT3BlcmF0b3Ige1xyXG4gIEFORCA9ICdBTkQnLFxyXG4gIE9SID0gJ09SJ1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBNYW51YWxQYXltZW50SW5wdXQgPSB7XHJcbiAgb3JkZXJJZDogU2NhbGFyc1snSUQnXTtcclxuICBtZXRob2Q6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHRyYW5zYWN0aW9uSWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgbWV0YWRhdGE/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFJldHVybmVkIHdoZW4gYSBjYWxsIHRvIGFkZE1hbnVhbFBheW1lbnRUb09yZGVyIGlzIG1hZGUgYnV0IHRoZSBPcmRlclxyXG4gKiBpcyBub3QgaW4gdGhlIHJlcXVpcmVkIHN0YXRlLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgTWFudWFsUGF5bWVudFN0YXRlRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ01hbnVhbFBheW1lbnRTdGF0ZUVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE1pbWVUeXBlRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ01pbWVUeXBlRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGZpbGVOYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBtaW1lVHlwZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG4vKiogUmV0dXJuZWQgaWYgYSBQcm9tb3Rpb25Db25kaXRpb24gaGFzIG5laXRoZXIgYSBjb3Vwb25Db2RlIG5vciBhbnkgY29uZGl0aW9ucyBzZXQgKi9cclxuZXhwb3J0IHR5cGUgTWlzc2luZ0NvbmRpdGlvbnNFcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnTWlzc2luZ0NvbmRpdGlvbnNFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBNb2RpZnlPcmRlcklucHV0ID0ge1xyXG4gIGRyeVJ1bjogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIG9yZGVySWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgYWRkSXRlbXM/OiBNYXliZTxBcnJheTxBZGRJdGVtSW5wdXQ+PjtcclxuICBhZGp1c3RPcmRlckxpbmVzPzogTWF5YmU8QXJyYXk8QWRqdXN0T3JkZXJMaW5lSW5wdXQ+PjtcclxuICBzdXJjaGFyZ2VzPzogTWF5YmU8QXJyYXk8U3VyY2hhcmdlSW5wdXQ+PjtcclxuICB1cGRhdGVTaGlwcGluZ0FkZHJlc3M/OiBNYXliZTxVcGRhdGVPcmRlckFkZHJlc3NJbnB1dD47XHJcbiAgdXBkYXRlQmlsbGluZ0FkZHJlc3M/OiBNYXliZTxVcGRhdGVPcmRlckFkZHJlc3NJbnB1dD47XHJcbiAgbm90ZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICByZWZ1bmQ/OiBNYXliZTxBZG1pbmlzdHJhdG9yUmVmdW5kSW5wdXQ+O1xyXG4gIG9wdGlvbnM/OiBNYXliZTxNb2RpZnlPcmRlck9wdGlvbnM+O1xyXG4gIGNvdXBvbkNvZGVzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+PjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE1vZGlmeU9yZGVyT3B0aW9ucyA9IHtcclxuICBmcmVlemVQcm9tb3Rpb25zPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICByZWNhbGN1bGF0ZVNoaXBwaW5nPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE1vZGlmeU9yZGVyUmVzdWx0ID0gT3JkZXIgfCBOb0NoYW5nZXNTcGVjaWZpZWRFcnJvciB8IE9yZGVyTW9kaWZpY2F0aW9uU3RhdGVFcnJvciB8IFBheW1lbnRNZXRob2RNaXNzaW5nRXJyb3IgfCBSZWZ1bmRQYXltZW50SWRNaXNzaW5nRXJyb3IgfCBPcmRlckxpbWl0RXJyb3IgfCBOZWdhdGl2ZVF1YW50aXR5RXJyb3IgfCBJbnN1ZmZpY2llbnRTdG9ja0Vycm9yIHwgQ291cG9uQ29kZUV4cGlyZWRFcnJvciB8IENvdXBvbkNvZGVJbnZhbGlkRXJyb3IgfCBDb3Vwb25Db2RlTGltaXRFcnJvcjtcclxuXHJcbmV4cG9ydCB0eXBlIE1vdmVDb2xsZWN0aW9uSW5wdXQgPSB7XHJcbiAgY29sbGVjdGlvbklkOiBTY2FsYXJzWydJRCddO1xyXG4gIHBhcmVudElkOiBTY2FsYXJzWydJRCddO1xyXG4gIGluZGV4OiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCBpZiBhbiBvcGVyYXRpb24gaGFzIHNwZWNpZmllZCBPcmRlckxpbmVzIGZyb20gbXVsdGlwbGUgT3JkZXJzICovXHJcbmV4cG9ydCB0eXBlIE11bHRpcGxlT3JkZXJFcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnTXVsdGlwbGVPcmRlckVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nO1xyXG4gIC8qKiBBZGQgQ3VzdG9tZXJzIHRvIGEgQ3VzdG9tZXJHcm91cCAqL1xyXG4gIGFkZEN1c3RvbWVyc1RvR3JvdXA6IEN1c3RvbWVyR3JvdXA7XHJcbiAgYWRkRnVsZmlsbG1lbnRUb09yZGVyOiBBZGRGdWxmaWxsbWVudFRvT3JkZXJSZXN1bHQ7XHJcbiAgLyoqIEFkZHMgYW4gaXRlbSB0byB0aGUgZHJhZnQgT3JkZXIuICovXHJcbiAgYWRkSXRlbVRvRHJhZnRPcmRlcjogVXBkYXRlT3JkZXJJdGVtc1Jlc3VsdDtcclxuICAvKipcclxuICAgKiBVc2VkIHRvIG1hbnVhbGx5IGNyZWF0ZSBhIG5ldyBQYXltZW50IGFnYWluc3QgYW4gT3JkZXIuXHJcbiAgICogVGhpcyBjYW4gYmUgdXNlZCBieSBhbiBBZG1pbmlzdHJhdG9yIHdoZW4gYW4gT3JkZXIgaXMgaW4gdGhlIEFycmFuZ2luZ1BheW1lbnQgc3RhdGUuXHJcbiAgICpcclxuICAgKiBJdCBpcyBhbHNvIHVzZWQgd2hlbiBhIGNvbXBsZXRlZCBPcmRlclxyXG4gICAqIGhhcyBiZWVuIG1vZGlmaWVkICh1c2luZyBgbW9kaWZ5T3JkZXJgKSBhbmQgdGhlIHByaWNlIGhhcyBpbmNyZWFzZWQuIFRoZSBleHRyYSBwYXltZW50XHJcbiAgICogY2FuIHRoZW4gYmUgbWFudWFsbHkgYXJyYW5nZWQgYnkgdGhlIGFkbWluaXN0cmF0b3IsIGFuZCB0aGUgZGV0YWlscyB1c2VkIHRvIGNyZWF0ZSBhIG5ld1xyXG4gICAqIFBheW1lbnQuXHJcbiAgICovXHJcbiAgYWRkTWFudWFsUGF5bWVudFRvT3JkZXI6IEFkZE1hbnVhbFBheW1lbnRUb09yZGVyUmVzdWx0O1xyXG4gIC8qKiBBZGQgbWVtYmVycyB0byBhIFpvbmUgKi9cclxuICBhZGRNZW1iZXJzVG9ab25lOiBab25lO1xyXG4gIGFkZE5vdGVUb0N1c3RvbWVyOiBDdXN0b21lcjtcclxuICBhZGROb3RlVG9PcmRlcjogT3JkZXI7XHJcbiAgLyoqIEFkZCBhbiBPcHRpb25Hcm91cCB0byBhIFByb2R1Y3QgKi9cclxuICBhZGRPcHRpb25Hcm91cFRvUHJvZHVjdDogUHJvZHVjdDtcclxuICAvKiogQWRqdXN0cyBhIGRyYWZ0IE9yZGVyTGluZS4gSWYgY3VzdG9tIGZpZWxkcyBhcmUgZGVmaW5lZCBvbiB0aGUgT3JkZXJMaW5lIGVudGl0eSwgYSB0aGlyZCBhcmd1bWVudCAnY3VzdG9tRmllbGRzJyBvZiB0eXBlIGBPcmRlckxpbmVDdXN0b21GaWVsZHNJbnB1dGAgd2lsbCBiZSBhdmFpbGFibGUuICovXHJcbiAgYWRqdXN0RHJhZnRPcmRlckxpbmU6IFVwZGF0ZU9yZGVySXRlbXNSZXN1bHQ7XHJcbiAgLyoqIEFwcGxpZXMgdGhlIGdpdmVuIGNvdXBvbiBjb2RlIHRvIHRoZSBkcmFmdCBPcmRlciAqL1xyXG4gIGFwcGx5Q291cG9uQ29kZVRvRHJhZnRPcmRlcjogQXBwbHlDb3Vwb25Db2RlUmVzdWx0O1xyXG4gIC8qKiBBc3NpZ24gYXNzZXRzIHRvIGNoYW5uZWwgKi9cclxuICBhc3NpZ25Bc3NldHNUb0NoYW5uZWw6IEFycmF5PEFzc2V0PjtcclxuICAvKiogQXNzaWducyBDb2xsZWN0aW9ucyB0byB0aGUgc3BlY2lmaWVkIENoYW5uZWwgKi9cclxuICBhc3NpZ25Db2xsZWN0aW9uc1RvQ2hhbm5lbDogQXJyYXk8Q29sbGVjdGlvbj47XHJcbiAgLyoqIEFzc2lnbnMgRmFjZXRzIHRvIHRoZSBzcGVjaWZpZWQgQ2hhbm5lbCAqL1xyXG4gIGFzc2lnbkZhY2V0c1RvQ2hhbm5lbDogQXJyYXk8RmFjZXQ+O1xyXG4gIC8qKiBBc3NpZ25zIFByb2R1Y3RWYXJpYW50cyB0byB0aGUgc3BlY2lmaWVkIENoYW5uZWwgKi9cclxuICBhc3NpZ25Qcm9kdWN0VmFyaWFudHNUb0NoYW5uZWw6IEFycmF5PFByb2R1Y3RWYXJpYW50PjtcclxuICAvKiogQXNzaWducyBhbGwgUHJvZHVjdFZhcmlhbnRzIG9mIFByb2R1Y3QgdG8gdGhlIHNwZWNpZmllZCBDaGFubmVsICovXHJcbiAgYXNzaWduUHJvZHVjdHNUb0NoYW5uZWw6IEFycmF5PFByb2R1Y3Q+O1xyXG4gIC8qKiBBc3NpZ25zIFByb21vdGlvbnMgdG8gdGhlIHNwZWNpZmllZCBDaGFubmVsICovXHJcbiAgYXNzaWduUHJvbW90aW9uc1RvQ2hhbm5lbDogQXJyYXk8UHJvbW90aW9uPjtcclxuICAvKiogQXNzaWduIGEgUm9sZSB0byBhbiBBZG1pbmlzdHJhdG9yICovXHJcbiAgYXNzaWduUm9sZVRvQWRtaW5pc3RyYXRvcjogQWRtaW5pc3RyYXRvcjtcclxuICAvKiogQXV0aGVudGljYXRlcyB0aGUgdXNlciB1c2luZyBhIG5hbWVkIGF1dGhlbnRpY2F0aW9uIHN0cmF0ZWd5ICovXHJcbiAgYXV0aGVudGljYXRlOiBBdXRoZW50aWNhdGlvblJlc3VsdDtcclxuICBjYW5jZWxKb2I6IEpvYjtcclxuICBjYW5jZWxPcmRlcjogQ2FuY2VsT3JkZXJSZXN1bHQ7XHJcbiAgY2FuY2VsUGF5bWVudDogQ2FuY2VsUGF5bWVudFJlc3VsdDtcclxuICAvKiogQ3JlYXRlIGEgbmV3IEFkbWluaXN0cmF0b3IgKi9cclxuICBjcmVhdGVBZG1pbmlzdHJhdG9yOiBBZG1pbmlzdHJhdG9yO1xyXG4gIC8qKiBDcmVhdGUgYSBuZXcgQXNzZXQgKi9cclxuICBjcmVhdGVBc3NldHM6IEFycmF5PENyZWF0ZUFzc2V0UmVzdWx0PjtcclxuICAvKiogQ3JlYXRlIGEgbmV3IENoYW5uZWwgKi9cclxuICBjcmVhdGVDaGFubmVsOiBDcmVhdGVDaGFubmVsUmVzdWx0O1xyXG4gIC8qKiBDcmVhdGUgYSBuZXcgQ29sbGVjdGlvbiAqL1xyXG4gIGNyZWF0ZUNvbGxlY3Rpb246IENvbGxlY3Rpb247XHJcbiAgLyoqIENyZWF0ZSBhIG5ldyBDb3VudHJ5ICovXHJcbiAgY3JlYXRlQ291bnRyeTogQ291bnRyeTtcclxuICAvKiogQ3JlYXRlIGEgbmV3IEN1c3RvbWVyLiBJZiBhIHBhc3N3b3JkIGlzIHByb3ZpZGVkLCBhIG5ldyBVc2VyIHdpbGwgYWxzbyBiZSBjcmVhdGVkIGFuIGxpbmtlZCB0byB0aGUgQ3VzdG9tZXIuICovXHJcbiAgY3JlYXRlQ3VzdG9tZXI6IENyZWF0ZUN1c3RvbWVyUmVzdWx0O1xyXG4gIC8qKiBDcmVhdGUgYSBuZXcgQWRkcmVzcyBhbmQgYXNzb2NpYXRlIGl0IHdpdGggdGhlIEN1c3RvbWVyIHNwZWNpZmllZCBieSBjdXN0b21lcklkICovXHJcbiAgY3JlYXRlQ3VzdG9tZXJBZGRyZXNzOiBBZGRyZXNzO1xyXG4gIC8qKiBDcmVhdGUgYSBuZXcgQ3VzdG9tZXJHcm91cCAqL1xyXG4gIGNyZWF0ZUN1c3RvbWVyR3JvdXA6IEN1c3RvbWVyR3JvdXA7XHJcbiAgLyoqIENyZWF0ZXMgYSBkcmFmdCBPcmRlciAqL1xyXG4gIGNyZWF0ZURyYWZ0T3JkZXI6IE9yZGVyO1xyXG4gIC8qKiBDcmVhdGUgYSBuZXcgRmFjZXQgKi9cclxuICBjcmVhdGVGYWNldDogRmFjZXQ7XHJcbiAgLyoqIENyZWF0ZSBvbmUgb3IgbW9yZSBGYWNldFZhbHVlcyAqL1xyXG4gIGNyZWF0ZUZhY2V0VmFsdWVzOiBBcnJheTxGYWNldFZhbHVlPjtcclxuICAvKiogQ3JlYXRlIGV4aXN0aW5nIFBheW1lbnRNZXRob2QgKi9cclxuICBjcmVhdGVQYXltZW50TWV0aG9kOiBQYXltZW50TWV0aG9kO1xyXG4gIC8qKiBDcmVhdGUgYSBuZXcgUHJvZHVjdCAqL1xyXG4gIGNyZWF0ZVByb2R1Y3Q6IFByb2R1Y3Q7XHJcbiAgLyoqIENyZWF0ZSBhIG5ldyBQcm9kdWN0T3B0aW9uIHdpdGhpbiBhIFByb2R1Y3RPcHRpb25Hcm91cCAqL1xyXG4gIGNyZWF0ZVByb2R1Y3RPcHRpb246IFByb2R1Y3RPcHRpb247XHJcbiAgLyoqIENyZWF0ZSBhIG5ldyBQcm9kdWN0T3B0aW9uR3JvdXAgKi9cclxuICBjcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXA6IFByb2R1Y3RPcHRpb25Hcm91cDtcclxuICAvKiogQ3JlYXRlIGEgc2V0IG9mIFByb2R1Y3RWYXJpYW50cyBiYXNlZCBvbiB0aGUgT3B0aW9uR3JvdXBzIGFzc2lnbmVkIHRvIHRoZSBnaXZlbiBQcm9kdWN0ICovXHJcbiAgY3JlYXRlUHJvZHVjdFZhcmlhbnRzOiBBcnJheTxNYXliZTxQcm9kdWN0VmFyaWFudD4+O1xyXG4gIGNyZWF0ZVByb21vdGlvbjogQ3JlYXRlUHJvbW90aW9uUmVzdWx0O1xyXG4gIC8qKiBDcmVhdGUgYSBuZXcgUm9sZSAqL1xyXG4gIGNyZWF0ZVJvbGU6IFJvbGU7XHJcbiAgLyoqIENyZWF0ZSBhIG5ldyBTaGlwcGluZ01ldGhvZCAqL1xyXG4gIGNyZWF0ZVNoaXBwaW5nTWV0aG9kOiBTaGlwcGluZ01ldGhvZDtcclxuICAvKiogQ3JlYXRlIGEgbmV3IFRhZyAqL1xyXG4gIGNyZWF0ZVRhZzogVGFnO1xyXG4gIC8qKiBDcmVhdGUgYSBuZXcgVGF4Q2F0ZWdvcnkgKi9cclxuICBjcmVhdGVUYXhDYXRlZ29yeTogVGF4Q2F0ZWdvcnk7XHJcbiAgLyoqIENyZWF0ZSBhIG5ldyBUYXhSYXRlICovXHJcbiAgY3JlYXRlVGF4UmF0ZTogVGF4UmF0ZTtcclxuICAvKiogQ3JlYXRlIGEgbmV3IFpvbmUgKi9cclxuICBjcmVhdGVab25lOiBab25lO1xyXG4gIC8qKiBEZWxldGUgYW4gQWRtaW5pc3RyYXRvciAqL1xyXG4gIGRlbGV0ZUFkbWluaXN0cmF0b3I6IERlbGV0aW9uUmVzcG9uc2U7XHJcbiAgLyoqIERlbGV0ZSBhbiBBc3NldCAqL1xyXG4gIGRlbGV0ZUFzc2V0OiBEZWxldGlvblJlc3BvbnNlO1xyXG4gIC8qKiBEZWxldGUgbXVsdGlwbGUgQXNzZXRzICovXHJcbiAgZGVsZXRlQXNzZXRzOiBEZWxldGlvblJlc3BvbnNlO1xyXG4gIC8qKiBEZWxldGUgYSBDaGFubmVsICovXHJcbiAgZGVsZXRlQ2hhbm5lbDogRGVsZXRpb25SZXNwb25zZTtcclxuICAvKiogRGVsZXRlIGEgQ29sbGVjdGlvbiBhbmQgYWxsIG9mIGl0cyBkZXNjZW5kYW50cyAqL1xyXG4gIGRlbGV0ZUNvbGxlY3Rpb246IERlbGV0aW9uUmVzcG9uc2U7XHJcbiAgLyoqIERlbGV0ZSBtdWx0aXBsZSBDb2xsZWN0aW9ucyBhbmQgYWxsIG9mIHRoZWlyIGRlc2NlbmRhbnRzICovXHJcbiAgZGVsZXRlQ29sbGVjdGlvbnM6IEFycmF5PERlbGV0aW9uUmVzcG9uc2U+O1xyXG4gIC8qKiBEZWxldGUgYSBDb3VudHJ5ICovXHJcbiAgZGVsZXRlQ291bnRyeTogRGVsZXRpb25SZXNwb25zZTtcclxuICAvKiogRGVsZXRlIGEgQ3VzdG9tZXIgKi9cclxuICBkZWxldGVDdXN0b21lcjogRGVsZXRpb25SZXNwb25zZTtcclxuICAvKiogVXBkYXRlIGFuIGV4aXN0aW5nIEFkZHJlc3MgKi9cclxuICBkZWxldGVDdXN0b21lckFkZHJlc3M6IFN1Y2Nlc3M7XHJcbiAgLyoqIERlbGV0ZSBhIEN1c3RvbWVyR3JvdXAgKi9cclxuICBkZWxldGVDdXN0b21lckdyb3VwOiBEZWxldGlvblJlc3BvbnNlO1xyXG4gIGRlbGV0ZUN1c3RvbWVyTm90ZTogRGVsZXRpb25SZXNwb25zZTtcclxuICAvKiogRGVsZXRlcyBhIGRyYWZ0IE9yZGVyICovXHJcbiAgZGVsZXRlRHJhZnRPcmRlcjogRGVsZXRpb25SZXNwb25zZTtcclxuICAvKiogRGVsZXRlIGFuIGV4aXN0aW5nIEZhY2V0ICovXHJcbiAgZGVsZXRlRmFjZXQ6IERlbGV0aW9uUmVzcG9uc2U7XHJcbiAgLyoqIERlbGV0ZSBvbmUgb3IgbW9yZSBGYWNldFZhbHVlcyAqL1xyXG4gIGRlbGV0ZUZhY2V0VmFsdWVzOiBBcnJheTxEZWxldGlvblJlc3BvbnNlPjtcclxuICAvKiogRGVsZXRlIG11bHRpcGxlIGV4aXN0aW5nIEZhY2V0cyAqL1xyXG4gIGRlbGV0ZUZhY2V0czogQXJyYXk8RGVsZXRpb25SZXNwb25zZT47XHJcbiAgZGVsZXRlT3JkZXJOb3RlOiBEZWxldGlvblJlc3BvbnNlO1xyXG4gIC8qKiBEZWxldGUgYSBQYXltZW50TWV0aG9kICovXHJcbiAgZGVsZXRlUGF5bWVudE1ldGhvZDogRGVsZXRpb25SZXNwb25zZTtcclxuICAvKiogRGVsZXRlIGEgUHJvZHVjdCAqL1xyXG4gIGRlbGV0ZVByb2R1Y3Q6IERlbGV0aW9uUmVzcG9uc2U7XHJcbiAgLyoqIERlbGV0ZSBhIFByb2R1Y3RPcHRpb24gKi9cclxuICBkZWxldGVQcm9kdWN0T3B0aW9uOiBEZWxldGlvblJlc3BvbnNlO1xyXG4gIC8qKiBEZWxldGUgYSBQcm9kdWN0VmFyaWFudCAqL1xyXG4gIGRlbGV0ZVByb2R1Y3RWYXJpYW50OiBEZWxldGlvblJlc3BvbnNlO1xyXG4gIC8qKiBEZWxldGUgbXVsdGlwbGUgUHJvZHVjdFZhcmlhbnRzICovXHJcbiAgZGVsZXRlUHJvZHVjdFZhcmlhbnRzOiBBcnJheTxEZWxldGlvblJlc3BvbnNlPjtcclxuICAvKiogRGVsZXRlIG11bHRpcGxlIFByb2R1Y3RzICovXHJcbiAgZGVsZXRlUHJvZHVjdHM6IEFycmF5PERlbGV0aW9uUmVzcG9uc2U+O1xyXG4gIGRlbGV0ZVByb21vdGlvbjogRGVsZXRpb25SZXNwb25zZTtcclxuICAvKiogRGVsZXRlIGFuIGV4aXN0aW5nIFJvbGUgKi9cclxuICBkZWxldGVSb2xlOiBEZWxldGlvblJlc3BvbnNlO1xyXG4gIC8qKiBEZWxldGUgYSBTaGlwcGluZ01ldGhvZCAqL1xyXG4gIGRlbGV0ZVNoaXBwaW5nTWV0aG9kOiBEZWxldGlvblJlc3BvbnNlO1xyXG4gIC8qKiBEZWxldGUgYW4gZXhpc3RpbmcgVGFnICovXHJcbiAgZGVsZXRlVGFnOiBEZWxldGlvblJlc3BvbnNlO1xyXG4gIC8qKiBEZWxldGVzIGEgVGF4Q2F0ZWdvcnkgKi9cclxuICBkZWxldGVUYXhDYXRlZ29yeTogRGVsZXRpb25SZXNwb25zZTtcclxuICAvKiogRGVsZXRlIGEgVGF4UmF0ZSAqL1xyXG4gIGRlbGV0ZVRheFJhdGU6IERlbGV0aW9uUmVzcG9uc2U7XHJcbiAgLyoqIERlbGV0ZSBhIFpvbmUgKi9cclxuICBkZWxldGVab25lOiBEZWxldGlvblJlc3BvbnNlO1xyXG4gIGZsdXNoQnVmZmVyZWRKb2JzOiBTdWNjZXNzO1xyXG4gIGltcG9ydFByb2R1Y3RzPzogTWF5YmU8SW1wb3J0SW5mbz47XHJcbiAgLyoqIEF1dGhlbnRpY2F0ZXMgdGhlIHVzZXIgdXNpbmcgdGhlIG5hdGl2ZSBhdXRoZW50aWNhdGlvbiBzdHJhdGVneS4gVGhpcyBtdXRhdGlvbiBpcyBhbiBhbGlhcyBmb3IgYGF1dGhlbnRpY2F0ZSh7IG5hdGl2ZTogeyAuLi4gfX0pYCAqL1xyXG4gIGxvZ2luOiBOYXRpdmVBdXRoZW50aWNhdGlvblJlc3VsdDtcclxuICBsb2dvdXQ6IFN1Y2Nlc3M7XHJcbiAgLyoqXHJcbiAgICogQWxsb3dzIGFuIE9yZGVyIHRvIGJlIG1vZGlmaWVkIGFmdGVyIGl0IGhhcyBiZWVuIGNvbXBsZXRlZCBieSB0aGUgQ3VzdG9tZXIuIFRoZSBPcmRlciBtdXN0IGZpcnN0XHJcbiAgICogYmUgaW4gdGhlIGBNb2RpZnlpbmdgIHN0YXRlLlxyXG4gICAqL1xyXG4gIG1vZGlmeU9yZGVyOiBNb2RpZnlPcmRlclJlc3VsdDtcclxuICAvKiogTW92ZSBhIENvbGxlY3Rpb24gdG8gYSBkaWZmZXJlbnQgcGFyZW50IG9yIGluZGV4ICovXHJcbiAgbW92ZUNvbGxlY3Rpb246IENvbGxlY3Rpb247XHJcbiAgcmVmdW5kT3JkZXI6IFJlZnVuZE9yZGVyUmVzdWx0O1xyXG4gIHJlaW5kZXg6IEpvYjtcclxuICAvKiogUmVtb3ZlcyBDb2xsZWN0aW9ucyBmcm9tIHRoZSBzcGVjaWZpZWQgQ2hhbm5lbCAqL1xyXG4gIHJlbW92ZUNvbGxlY3Rpb25zRnJvbUNoYW5uZWw6IEFycmF5PENvbGxlY3Rpb24+O1xyXG4gIC8qKiBSZW1vdmVzIHRoZSBnaXZlbiBjb3Vwb24gY29kZSBmcm9tIHRoZSBkcmFmdCBPcmRlciAqL1xyXG4gIHJlbW92ZUNvdXBvbkNvZGVGcm9tRHJhZnRPcmRlcj86IE1heWJlPE9yZGVyPjtcclxuICAvKiogUmVtb3ZlIEN1c3RvbWVycyBmcm9tIGEgQ3VzdG9tZXJHcm91cCAqL1xyXG4gIHJlbW92ZUN1c3RvbWVyc0Zyb21Hcm91cDogQ3VzdG9tZXJHcm91cDtcclxuICAvKiogUmVtb3ZlIGFuIE9yZGVyTGluZSBmcm9tIHRoZSBkcmFmdCBPcmRlciAqL1xyXG4gIHJlbW92ZURyYWZ0T3JkZXJMaW5lOiBSZW1vdmVPcmRlckl0ZW1zUmVzdWx0O1xyXG4gIC8qKiBSZW1vdmVzIEZhY2V0cyBmcm9tIHRoZSBzcGVjaWZpZWQgQ2hhbm5lbCAqL1xyXG4gIHJlbW92ZUZhY2V0c0Zyb21DaGFubmVsOiBBcnJheTxSZW1vdmVGYWNldEZyb21DaGFubmVsUmVzdWx0PjtcclxuICAvKiogUmVtb3ZlIG1lbWJlcnMgZnJvbSBhIFpvbmUgKi9cclxuICByZW1vdmVNZW1iZXJzRnJvbVpvbmU6IFpvbmU7XHJcbiAgLyoqIFJlbW92ZSBhbiBPcHRpb25Hcm91cCBmcm9tIGEgUHJvZHVjdCAqL1xyXG4gIHJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3Q6IFJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3RSZXN1bHQ7XHJcbiAgLyoqIFJlbW92ZXMgUHJvZHVjdFZhcmlhbnRzIGZyb20gdGhlIHNwZWNpZmllZCBDaGFubmVsICovXHJcbiAgcmVtb3ZlUHJvZHVjdFZhcmlhbnRzRnJvbUNoYW5uZWw6IEFycmF5PFByb2R1Y3RWYXJpYW50PjtcclxuICAvKiogUmVtb3ZlcyBhbGwgUHJvZHVjdFZhcmlhbnRzIG9mIFByb2R1Y3QgZnJvbSB0aGUgc3BlY2lmaWVkIENoYW5uZWwgKi9cclxuICByZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsOiBBcnJheTxQcm9kdWN0PjtcclxuICAvKiogUmVtb3ZlcyBQcm9tb3Rpb25zIGZyb20gdGhlIHNwZWNpZmllZCBDaGFubmVsICovXHJcbiAgcmVtb3ZlUHJvbW90aW9uc0Zyb21DaGFubmVsOiBBcnJheTxQcm9tb3Rpb24+O1xyXG4gIC8qKiBSZW1vdmUgYWxsIHNldHRsZWQgam9icyBpbiB0aGUgZ2l2ZW4gcXVldWVzIG9sZGVyIHRoYW4gdGhlIGdpdmVuIGRhdGUuIFJldHVybnMgdGhlIG51bWJlciBvZiBqb2JzIGRlbGV0ZWQuICovXHJcbiAgcmVtb3ZlU2V0dGxlZEpvYnM6IFNjYWxhcnNbJ0ludCddO1xyXG4gIHJlcXVlc3RDb21wbGV0ZWQ6IFNjYWxhcnNbJ0ludCddO1xyXG4gIHJlcXVlc3RTdGFydGVkOiBTY2FsYXJzWydJbnQnXTtcclxuICBydW5QZW5kaW5nU2VhcmNoSW5kZXhVcGRhdGVzOiBTdWNjZXNzO1xyXG4gIHNldEFjdGl2ZUNoYW5uZWw6IFVzZXJTdGF0dXM7XHJcbiAgc2V0QXNMb2dnZWRJbjogVXNlclN0YXR1cztcclxuICBzZXRBc0xvZ2dlZE91dDogVXNlclN0YXR1cztcclxuICBzZXRDb250ZW50TGFuZ3VhZ2U6IExhbmd1YWdlQ29kZTtcclxuICBzZXRDdXN0b21lckZvckRyYWZ0T3JkZXI6IFNldEN1c3RvbWVyRm9yRHJhZnRPcmRlclJlc3VsdDtcclxuICBzZXREaXNwbGF5VWlFeHRlbnNpb25Qb2ludHM6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICAvKiogU2V0cyB0aGUgYmlsbGluZyBhZGRyZXNzIGZvciBhIGRyYWZ0IE9yZGVyICovXHJcbiAgc2V0RHJhZnRPcmRlckJpbGxpbmdBZGRyZXNzOiBPcmRlcjtcclxuICAvKiogQWxsb3dzIGFueSBjdXN0b20gZmllbGRzIHRvIGJlIHNldCBmb3IgdGhlIGFjdGl2ZSBvcmRlciAqL1xyXG4gIHNldERyYWZ0T3JkZXJDdXN0b21GaWVsZHM6IE9yZGVyO1xyXG4gIC8qKiBTZXRzIHRoZSBzaGlwcGluZyBhZGRyZXNzIGZvciBhIGRyYWZ0IE9yZGVyICovXHJcbiAgc2V0RHJhZnRPcmRlclNoaXBwaW5nQWRkcmVzczogT3JkZXI7XHJcbiAgLyoqIFNldHMgdGhlIHNoaXBwaW5nIG1ldGhvZCBieSBpZCwgd2hpY2ggY2FuIGJlIG9idGFpbmVkIHdpdGggdGhlIGBlbGlnaWJsZVNoaXBwaW5nTWV0aG9kc0ZvckRyYWZ0T3JkZXJgIHF1ZXJ5ICovXHJcbiAgc2V0RHJhZnRPcmRlclNoaXBwaW5nTWV0aG9kOiBTZXRPcmRlclNoaXBwaW5nTWV0aG9kUmVzdWx0O1xyXG4gIHNldE9yZGVyQ3VzdG9tRmllbGRzPzogTWF5YmU8T3JkZXI+O1xyXG4gIHNldFVpTGFuZ3VhZ2U6IExhbmd1YWdlQ29kZTtcclxuICBzZXRVaUxvY2FsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBzZXRVaVRoZW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBzZXR0bGVQYXltZW50OiBTZXR0bGVQYXltZW50UmVzdWx0O1xyXG4gIHNldHRsZVJlZnVuZDogU2V0dGxlUmVmdW5kUmVzdWx0O1xyXG4gIHRyYW5zaXRpb25GdWxmaWxsbWVudFRvU3RhdGU6IFRyYW5zaXRpb25GdWxmaWxsbWVudFRvU3RhdGVSZXN1bHQ7XHJcbiAgdHJhbnNpdGlvbk9yZGVyVG9TdGF0ZT86IE1heWJlPFRyYW5zaXRpb25PcmRlclRvU3RhdGVSZXN1bHQ+O1xyXG4gIHRyYW5zaXRpb25QYXltZW50VG9TdGF0ZTogVHJhbnNpdGlvblBheW1lbnRUb1N0YXRlUmVzdWx0O1xyXG4gIC8qKiBVcGRhdGUgdGhlIGFjdGl2ZSAoY3VycmVudGx5IGxvZ2dlZC1pbikgQWRtaW5pc3RyYXRvciAqL1xyXG4gIHVwZGF0ZUFjdGl2ZUFkbWluaXN0cmF0b3I6IEFkbWluaXN0cmF0b3I7XHJcbiAgLyoqIFVwZGF0ZSBhbiBleGlzdGluZyBBZG1pbmlzdHJhdG9yICovXHJcbiAgdXBkYXRlQWRtaW5pc3RyYXRvcjogQWRtaW5pc3RyYXRvcjtcclxuICAvKiogVXBkYXRlIGFuIGV4aXN0aW5nIEFzc2V0ICovXHJcbiAgdXBkYXRlQXNzZXQ6IEFzc2V0O1xyXG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgQ2hhbm5lbCAqL1xyXG4gIHVwZGF0ZUNoYW5uZWw6IFVwZGF0ZUNoYW5uZWxSZXN1bHQ7XHJcbiAgLyoqIFVwZGF0ZSBhbiBleGlzdGluZyBDb2xsZWN0aW9uICovXHJcbiAgdXBkYXRlQ29sbGVjdGlvbjogQ29sbGVjdGlvbjtcclxuICAvKiogVXBkYXRlIGFuIGV4aXN0aW5nIENvdW50cnkgKi9cclxuICB1cGRhdGVDb3VudHJ5OiBDb3VudHJ5O1xyXG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgQ3VzdG9tZXIgKi9cclxuICB1cGRhdGVDdXN0b21lcjogVXBkYXRlQ3VzdG9tZXJSZXN1bHQ7XHJcbiAgLyoqIFVwZGF0ZSBhbiBleGlzdGluZyBBZGRyZXNzICovXHJcbiAgdXBkYXRlQ3VzdG9tZXJBZGRyZXNzOiBBZGRyZXNzO1xyXG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgQ3VzdG9tZXJHcm91cCAqL1xyXG4gIHVwZGF0ZUN1c3RvbWVyR3JvdXA6IEN1c3RvbWVyR3JvdXA7XHJcbiAgdXBkYXRlQ3VzdG9tZXJOb3RlOiBIaXN0b3J5RW50cnk7XHJcbiAgLyoqIFVwZGF0ZSBhbiBleGlzdGluZyBGYWNldCAqL1xyXG4gIHVwZGF0ZUZhY2V0OiBGYWNldDtcclxuICAvKiogVXBkYXRlIG9uZSBvciBtb3JlIEZhY2V0VmFsdWVzICovXHJcbiAgdXBkYXRlRmFjZXRWYWx1ZXM6IEFycmF5PEZhY2V0VmFsdWU+O1xyXG4gIHVwZGF0ZUdsb2JhbFNldHRpbmdzOiBVcGRhdGVHbG9iYWxTZXR0aW5nc1Jlc3VsdDtcclxuICB1cGRhdGVPcmRlck5vdGU6IEhpc3RvcnlFbnRyeTtcclxuICAvKiogVXBkYXRlIGFuIGV4aXN0aW5nIFBheW1lbnRNZXRob2QgKi9cclxuICB1cGRhdGVQYXltZW50TWV0aG9kOiBQYXltZW50TWV0aG9kO1xyXG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgUHJvZHVjdCAqL1xyXG4gIHVwZGF0ZVByb2R1Y3Q6IFByb2R1Y3Q7XHJcbiAgLyoqIENyZWF0ZSBhIG5ldyBQcm9kdWN0T3B0aW9uIHdpdGhpbiBhIFByb2R1Y3RPcHRpb25Hcm91cCAqL1xyXG4gIHVwZGF0ZVByb2R1Y3RPcHRpb246IFByb2R1Y3RPcHRpb247XHJcbiAgLyoqIFVwZGF0ZSBhbiBleGlzdGluZyBQcm9kdWN0T3B0aW9uR3JvdXAgKi9cclxuICB1cGRhdGVQcm9kdWN0T3B0aW9uR3JvdXA6IFByb2R1Y3RPcHRpb25Hcm91cDtcclxuICAvKiogVXBkYXRlIGV4aXN0aW5nIFByb2R1Y3RWYXJpYW50cyAqL1xyXG4gIHVwZGF0ZVByb2R1Y3RWYXJpYW50czogQXJyYXk8TWF5YmU8UHJvZHVjdFZhcmlhbnQ+PjtcclxuICAvKiogVXBkYXRlIG11bHRpcGxlIGV4aXN0aW5nIFByb2R1Y3RzICovXHJcbiAgdXBkYXRlUHJvZHVjdHM6IEFycmF5PFByb2R1Y3Q+O1xyXG4gIHVwZGF0ZVByb21vdGlvbjogVXBkYXRlUHJvbW90aW9uUmVzdWx0O1xyXG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgUm9sZSAqL1xyXG4gIHVwZGF0ZVJvbGU6IFJvbGU7XHJcbiAgLyoqIFVwZGF0ZSBhbiBleGlzdGluZyBTaGlwcGluZ01ldGhvZCAqL1xyXG4gIHVwZGF0ZVNoaXBwaW5nTWV0aG9kOiBTaGlwcGluZ01ldGhvZDtcclxuICAvKiogVXBkYXRlIGFuIGV4aXN0aW5nIFRhZyAqL1xyXG4gIHVwZGF0ZVRhZzogVGFnO1xyXG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgVGF4Q2F0ZWdvcnkgKi9cclxuICB1cGRhdGVUYXhDYXRlZ29yeTogVGF4Q2F0ZWdvcnk7XHJcbiAgLyoqIFVwZGF0ZSBhbiBleGlzdGluZyBUYXhSYXRlICovXHJcbiAgdXBkYXRlVGF4UmF0ZTogVGF4UmF0ZTtcclxuICB1cGRhdGVVc2VyQ2hhbm5lbHM6IFVzZXJTdGF0dXM7XHJcbiAgLyoqIFVwZGF0ZSBhbiBleGlzdGluZyBab25lICovXHJcbiAgdXBkYXRlWm9uZTogWm9uZTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFkZEN1c3RvbWVyc1RvR3JvdXBBcmdzID0ge1xyXG4gIGN1c3RvbWVyR3JvdXBJZDogU2NhbGFyc1snSUQnXTtcclxuICBjdXN0b21lcklkczogQXJyYXk8U2NhbGFyc1snSUQnXT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25BZGRGdWxmaWxsbWVudFRvT3JkZXJBcmdzID0ge1xyXG4gIGlucHV0OiBGdWxmaWxsT3JkZXJJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFkZEl0ZW1Ub0RyYWZ0T3JkZXJBcmdzID0ge1xyXG4gIG9yZGVySWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgaW5wdXQ6IEFkZEl0ZW1Ub0RyYWZ0T3JkZXJJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFkZE1hbnVhbFBheW1lbnRUb09yZGVyQXJncyA9IHtcclxuICBpbnB1dDogTWFudWFsUGF5bWVudElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkTWVtYmVyc1RvWm9uZUFyZ3MgPSB7XHJcbiAgem9uZUlkOiBTY2FsYXJzWydJRCddO1xyXG4gIG1lbWJlcklkczogQXJyYXk8U2NhbGFyc1snSUQnXT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25BZGROb3RlVG9DdXN0b21lckFyZ3MgPSB7XHJcbiAgaW5wdXQ6IEFkZE5vdGVUb0N1c3RvbWVySW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25BZGROb3RlVG9PcmRlckFyZ3MgPSB7XHJcbiAgaW5wdXQ6IEFkZE5vdGVUb09yZGVySW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25BZGRPcHRpb25Hcm91cFRvUHJvZHVjdEFyZ3MgPSB7XHJcbiAgcHJvZHVjdElkOiBTY2FsYXJzWydJRCddO1xyXG4gIG9wdGlvbkdyb3VwSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25BZGp1c3REcmFmdE9yZGVyTGluZUFyZ3MgPSB7XHJcbiAgb3JkZXJJZDogU2NhbGFyc1snSUQnXTtcclxuICBpbnB1dDogQWRqdXN0RHJhZnRPcmRlckxpbmVJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFwcGx5Q291cG9uQ29kZVRvRHJhZnRPcmRlckFyZ3MgPSB7XHJcbiAgb3JkZXJJZDogU2NhbGFyc1snSUQnXTtcclxuICBjb3Vwb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFzc2lnbkFzc2V0c1RvQ2hhbm5lbEFyZ3MgPSB7XHJcbiAgaW5wdXQ6IEFzc2lnbkFzc2V0c1RvQ2hhbm5lbElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQXNzaWduQ29sbGVjdGlvbnNUb0NoYW5uZWxBcmdzID0ge1xyXG4gIGlucHV0OiBBc3NpZ25Db2xsZWN0aW9uc1RvQ2hhbm5lbElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQXNzaWduRmFjZXRzVG9DaGFubmVsQXJncyA9IHtcclxuICBpbnB1dDogQXNzaWduRmFjZXRzVG9DaGFubmVsSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25Bc3NpZ25Qcm9kdWN0VmFyaWFudHNUb0NoYW5uZWxBcmdzID0ge1xyXG4gIGlucHV0OiBBc3NpZ25Qcm9kdWN0VmFyaWFudHNUb0NoYW5uZWxJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFzc2lnblByb2R1Y3RzVG9DaGFubmVsQXJncyA9IHtcclxuICBpbnB1dDogQXNzaWduUHJvZHVjdHNUb0NoYW5uZWxJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFzc2lnblByb21vdGlvbnNUb0NoYW5uZWxBcmdzID0ge1xyXG4gIGlucHV0OiBBc3NpZ25Qcm9tb3Rpb25zVG9DaGFubmVsSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25Bc3NpZ25Sb2xlVG9BZG1pbmlzdHJhdG9yQXJncyA9IHtcclxuICBhZG1pbmlzdHJhdG9ySWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgcm9sZUlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQXV0aGVudGljYXRlQXJncyA9IHtcclxuICBpbnB1dDogQXV0aGVudGljYXRpb25JbnB1dDtcclxuICByZW1lbWJlck1lPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNhbmNlbEpvYkFyZ3MgPSB7XHJcbiAgam9iSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DYW5jZWxPcmRlckFyZ3MgPSB7XHJcbiAgaW5wdXQ6IENhbmNlbE9yZGVySW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DYW5jZWxQYXltZW50QXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZUFkbWluaXN0cmF0b3JBcmdzID0ge1xyXG4gIGlucHV0OiBDcmVhdGVBZG1pbmlzdHJhdG9ySW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVBc3NldHNBcmdzID0ge1xyXG4gIGlucHV0OiBBcnJheTxDcmVhdGVBc3NldElucHV0PjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZUNoYW5uZWxBcmdzID0ge1xyXG4gIGlucHV0OiBDcmVhdGVDaGFubmVsSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVDb2xsZWN0aW9uQXJncyA9IHtcclxuICBpbnB1dDogQ3JlYXRlQ29sbGVjdGlvbklucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlQ291bnRyeUFyZ3MgPSB7XHJcbiAgaW5wdXQ6IENyZWF0ZUNvdW50cnlJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZUN1c3RvbWVyQXJncyA9IHtcclxuICBpbnB1dDogQ3JlYXRlQ3VzdG9tZXJJbnB1dDtcclxuICBwYXNzd29yZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZUN1c3RvbWVyQWRkcmVzc0FyZ3MgPSB7XHJcbiAgY3VzdG9tZXJJZDogU2NhbGFyc1snSUQnXTtcclxuICBpbnB1dDogQ3JlYXRlQWRkcmVzc0lucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlQ3VzdG9tZXJHcm91cEFyZ3MgPSB7XHJcbiAgaW5wdXQ6IENyZWF0ZUN1c3RvbWVyR3JvdXBJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZUZhY2V0QXJncyA9IHtcclxuICBpbnB1dDogQ3JlYXRlRmFjZXRJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZUZhY2V0VmFsdWVzQXJncyA9IHtcclxuICBpbnB1dDogQXJyYXk8Q3JlYXRlRmFjZXRWYWx1ZUlucHV0PjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZVBheW1lbnRNZXRob2RBcmdzID0ge1xyXG4gIGlucHV0OiBDcmVhdGVQYXltZW50TWV0aG9kSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVQcm9kdWN0QXJncyA9IHtcclxuICBpbnB1dDogQ3JlYXRlUHJvZHVjdElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlUHJvZHVjdE9wdGlvbkFyZ3MgPSB7XHJcbiAgaW5wdXQ6IENyZWF0ZVByb2R1Y3RPcHRpb25JbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZVByb2R1Y3RPcHRpb25Hcm91cEFyZ3MgPSB7XHJcbiAgaW5wdXQ6IENyZWF0ZVByb2R1Y3RPcHRpb25Hcm91cElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlUHJvZHVjdFZhcmlhbnRzQXJncyA9IHtcclxuICBpbnB1dDogQXJyYXk8Q3JlYXRlUHJvZHVjdFZhcmlhbnRJbnB1dD47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVQcm9tb3Rpb25BcmdzID0ge1xyXG4gIGlucHV0OiBDcmVhdGVQcm9tb3Rpb25JbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZVJvbGVBcmdzID0ge1xyXG4gIGlucHV0OiBDcmVhdGVSb2xlSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVTaGlwcGluZ01ldGhvZEFyZ3MgPSB7XHJcbiAgaW5wdXQ6IENyZWF0ZVNoaXBwaW5nTWV0aG9kSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVUYWdBcmdzID0ge1xyXG4gIGlucHV0OiBDcmVhdGVUYWdJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZVRheENhdGVnb3J5QXJncyA9IHtcclxuICBpbnB1dDogQ3JlYXRlVGF4Q2F0ZWdvcnlJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZVRheFJhdGVBcmdzID0ge1xyXG4gIGlucHV0OiBDcmVhdGVUYXhSYXRlSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVab25lQXJncyA9IHtcclxuICBpbnB1dDogQ3JlYXRlWm9uZUlucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlQWRtaW5pc3RyYXRvckFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVBc3NldEFyZ3MgPSB7XHJcbiAgaW5wdXQ6IERlbGV0ZUFzc2V0SW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVBc3NldHNBcmdzID0ge1xyXG4gIGlucHV0OiBEZWxldGVBc3NldHNJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZUNoYW5uZWxBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlQ29sbGVjdGlvbkFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVDb2xsZWN0aW9uc0FyZ3MgPSB7XHJcbiAgaWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZUNvdW50cnlBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlQ3VzdG9tZXJBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlQ3VzdG9tZXJBZGRyZXNzQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZUN1c3RvbWVyR3JvdXBBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlQ3VzdG9tZXJOb3RlQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZURyYWZ0T3JkZXJBcmdzID0ge1xyXG4gIG9yZGVySWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVGYWNldEFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgZm9yY2U/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlRmFjZXRWYWx1ZXNBcmdzID0ge1xyXG4gIGlkczogQXJyYXk8U2NhbGFyc1snSUQnXT47XHJcbiAgZm9yY2U/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlRmFjZXRzQXJncyA9IHtcclxuICBpZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGZvcmNlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZU9yZGVyTm90ZUFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVQYXltZW50TWV0aG9kQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBmb3JjZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVQcm9kdWN0QXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZVByb2R1Y3RPcHRpb25BcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlUHJvZHVjdFZhcmlhbnRBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlUHJvZHVjdFZhcmlhbnRzQXJncyA9IHtcclxuICBpZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlUHJvZHVjdHNBcmdzID0ge1xyXG4gIGlkczogQXJyYXk8U2NhbGFyc1snSUQnXT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVQcm9tb3Rpb25BcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlUm9sZUFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVTaGlwcGluZ01ldGhvZEFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVUYWdBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlVGF4Q2F0ZWdvcnlBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlVGF4UmF0ZUFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVab25lQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkZsdXNoQnVmZmVyZWRKb2JzQXJncyA9IHtcclxuICBidWZmZXJJZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydTdHJpbmcnXT4+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uSW1wb3J0UHJvZHVjdHNBcmdzID0ge1xyXG4gIGNzdkZpbGU6IFNjYWxhcnNbJ1VwbG9hZCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uTG9naW5BcmdzID0ge1xyXG4gIHVzZXJuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBwYXNzd29yZDogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgcmVtZW1iZXJNZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25Nb2RpZnlPcmRlckFyZ3MgPSB7XHJcbiAgaW5wdXQ6IE1vZGlmeU9yZGVySW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25Nb3ZlQ29sbGVjdGlvbkFyZ3MgPSB7XHJcbiAgaW5wdXQ6IE1vdmVDb2xsZWN0aW9uSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZWZ1bmRPcmRlckFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFJlZnVuZE9yZGVySW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVDb2xsZWN0aW9uc0Zyb21DaGFubmVsQXJncyA9IHtcclxuICBpbnB1dDogUmVtb3ZlQ29sbGVjdGlvbnNGcm9tQ2hhbm5lbElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlQ291cG9uQ29kZUZyb21EcmFmdE9yZGVyQXJncyA9IHtcclxuICBvcmRlcklkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNvdXBvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlQ3VzdG9tZXJzRnJvbUdyb3VwQXJncyA9IHtcclxuICBjdXN0b21lckdyb3VwSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3VzdG9tZXJJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlRHJhZnRPcmRlckxpbmVBcmdzID0ge1xyXG4gIG9yZGVySWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgb3JkZXJMaW5lSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVGYWNldHNGcm9tQ2hhbm5lbEFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFJlbW92ZUZhY2V0c0Zyb21DaGFubmVsSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVNZW1iZXJzRnJvbVpvbmVBcmdzID0ge1xyXG4gIHpvbmVJZDogU2NhbGFyc1snSUQnXTtcclxuICBtZW1iZXJJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlT3B0aW9uR3JvdXBGcm9tUHJvZHVjdEFyZ3MgPSB7XHJcbiAgcHJvZHVjdElkOiBTY2FsYXJzWydJRCddO1xyXG4gIG9wdGlvbkdyb3VwSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVQcm9kdWN0VmFyaWFudHNGcm9tQ2hhbm5lbEFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFJlbW92ZVByb2R1Y3RWYXJpYW50c0Zyb21DaGFubmVsSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsQXJncyA9IHtcclxuICBpbnB1dDogUmVtb3ZlUHJvZHVjdHNGcm9tQ2hhbm5lbElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlUHJvbW90aW9uc0Zyb21DaGFubmVsQXJncyA9IHtcclxuICBpbnB1dDogUmVtb3ZlUHJvbW90aW9uc0Zyb21DaGFubmVsSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVTZXR0bGVkSm9ic0FyZ3MgPSB7XHJcbiAgcXVldWVOYW1lcz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPj47XHJcbiAgb2xkZXJUaGFuPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRBY3RpdmVDaGFubmVsQXJncyA9IHtcclxuICBjaGFubmVsSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRBc0xvZ2dlZEluQXJncyA9IHtcclxuICBpbnB1dDogVXNlclN0YXR1c0lucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0Q29udGVudExhbmd1YWdlQXJncyA9IHtcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblNldEN1c3RvbWVyRm9yRHJhZnRPcmRlckFyZ3MgPSB7XHJcbiAgb3JkZXJJZDogU2NhbGFyc1snSUQnXTtcclxuICBjdXN0b21lcklkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbiAgaW5wdXQ/OiBNYXliZTxDcmVhdGVDdXN0b21lcklucHV0PjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblNldERpc3BsYXlVaUV4dGVuc2lvblBvaW50c0FyZ3MgPSB7XHJcbiAgZGlzcGxheTogU2NhbGFyc1snQm9vbGVhbiddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0RHJhZnRPcmRlckJpbGxpbmdBZGRyZXNzQXJncyA9IHtcclxuICBvcmRlcklkOiBTY2FsYXJzWydJRCddO1xyXG4gIGlucHV0OiBDcmVhdGVBZGRyZXNzSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXREcmFmdE9yZGVyQ3VzdG9tRmllbGRzQXJncyA9IHtcclxuICBvcmRlcklkOiBTY2FsYXJzWydJRCddO1xyXG4gIGlucHV0OiBVcGRhdGVPcmRlcklucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0RHJhZnRPcmRlclNoaXBwaW5nQWRkcmVzc0FyZ3MgPSB7XHJcbiAgb3JkZXJJZDogU2NhbGFyc1snSUQnXTtcclxuICBpbnB1dDogQ3JlYXRlQWRkcmVzc0lucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0RHJhZnRPcmRlclNoaXBwaW5nTWV0aG9kQXJncyA9IHtcclxuICBvcmRlcklkOiBTY2FsYXJzWydJRCddO1xyXG4gIHNoaXBwaW5nTWV0aG9kSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRPcmRlckN1c3RvbUZpZWxkc0FyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZU9yZGVySW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRVaUxhbmd1YWdlQXJncyA9IHtcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblNldFVpTG9jYWxlQXJncyA9IHtcclxuICBsb2NhbGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRVaVRoZW1lQXJncyA9IHtcclxuICB0aGVtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXR0bGVQYXltZW50QXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblNldHRsZVJlZnVuZEFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFNldHRsZVJlZnVuZElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uVHJhbnNpdGlvbkZ1bGZpbGxtZW50VG9TdGF0ZUFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgc3RhdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uVHJhbnNpdGlvbk9yZGVyVG9TdGF0ZUFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgc3RhdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uVHJhbnNpdGlvblBheW1lbnRUb1N0YXRlQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBzdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVBY3RpdmVBZG1pbmlzdHJhdG9yQXJncyA9IHtcclxuICBpbnB1dDogVXBkYXRlQWN0aXZlQWRtaW5pc3RyYXRvcklucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlQWRtaW5pc3RyYXRvckFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZUFkbWluaXN0cmF0b3JJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZUFzc2V0QXJncyA9IHtcclxuICBpbnB1dDogVXBkYXRlQXNzZXRJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZUNoYW5uZWxBcmdzID0ge1xyXG4gIGlucHV0OiBVcGRhdGVDaGFubmVsSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVDb2xsZWN0aW9uQXJncyA9IHtcclxuICBpbnB1dDogVXBkYXRlQ29sbGVjdGlvbklucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlQ291bnRyeUFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZUNvdW50cnlJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZUN1c3RvbWVyQXJncyA9IHtcclxuICBpbnB1dDogVXBkYXRlQ3VzdG9tZXJJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZUN1c3RvbWVyQWRkcmVzc0FyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZUFkZHJlc3NJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZUN1c3RvbWVyR3JvdXBBcmdzID0ge1xyXG4gIGlucHV0OiBVcGRhdGVDdXN0b21lckdyb3VwSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVDdXN0b21lck5vdGVBcmdzID0ge1xyXG4gIGlucHV0OiBVcGRhdGVDdXN0b21lck5vdGVJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZUZhY2V0QXJncyA9IHtcclxuICBpbnB1dDogVXBkYXRlRmFjZXRJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZUZhY2V0VmFsdWVzQXJncyA9IHtcclxuICBpbnB1dDogQXJyYXk8VXBkYXRlRmFjZXRWYWx1ZUlucHV0PjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZUdsb2JhbFNldHRpbmdzQXJncyA9IHtcclxuICBpbnB1dDogVXBkYXRlR2xvYmFsU2V0dGluZ3NJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZU9yZGVyTm90ZUFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZU9yZGVyTm90ZUlucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlUGF5bWVudE1ldGhvZEFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZVBheW1lbnRNZXRob2RJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZVByb2R1Y3RBcmdzID0ge1xyXG4gIGlucHV0OiBVcGRhdGVQcm9kdWN0SW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVQcm9kdWN0T3B0aW9uQXJncyA9IHtcclxuICBpbnB1dDogVXBkYXRlUHJvZHVjdE9wdGlvbklucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwQXJncyA9IHtcclxuICBpbnB1dDogVXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVQcm9kdWN0VmFyaWFudHNBcmdzID0ge1xyXG4gIGlucHV0OiBBcnJheTxVcGRhdGVQcm9kdWN0VmFyaWFudElucHV0PjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZVByb2R1Y3RzQXJncyA9IHtcclxuICBpbnB1dDogQXJyYXk8VXBkYXRlUHJvZHVjdElucHV0PjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZVByb21vdGlvbkFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZVByb21vdGlvbklucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlUm9sZUFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZVJvbGVJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZVNoaXBwaW5nTWV0aG9kQXJncyA9IHtcclxuICBpbnB1dDogVXBkYXRlU2hpcHBpbmdNZXRob2RJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZVRhZ0FyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZVRhZ0lucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlVGF4Q2F0ZWdvcnlBcmdzID0ge1xyXG4gIGlucHV0OiBVcGRhdGVUYXhDYXRlZ29yeUlucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlVGF4UmF0ZUFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZVRheFJhdGVJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZVVzZXJDaGFubmVsc0FyZ3MgPSB7XHJcbiAgY2hhbm5lbHM6IEFycmF5PEN1cnJlbnRVc2VyQ2hhbm5lbElucHV0PjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZVpvbmVBcmdzID0ge1xyXG4gIGlucHV0OiBVcGRhdGVab25lSW5wdXQ7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBOYXRpdmVBdXRoSW5wdXQgPSB7XHJcbiAgdXNlcm5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHBhc3N3b3JkOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCB3aGVuIGF0dGVtcHRpbmcgYW4gb3BlcmF0aW9uIHRoYXQgcmVsaWVzIG9uIHRoZSBOYXRpdmVBdXRoU3RyYXRlZ3ksIGlmIHRoYXQgc3RyYXRlZ3kgaXMgbm90IGNvbmZpZ3VyZWQuICovXHJcbmV4cG9ydCB0eXBlIE5hdGl2ZUF1dGhTdHJhdGVneUVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdOYXRpdmVBdXRoU3RyYXRlZ3lFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBOYXRpdmVBdXRoZW50aWNhdGlvblJlc3VsdCA9IEN1cnJlbnRVc2VyIHwgSW52YWxpZENyZWRlbnRpYWxzRXJyb3IgfCBOYXRpdmVBdXRoU3RyYXRlZ3lFcnJvcjtcclxuXHJcbi8qKiBSZXR1cm5lZCB3aGVuIGF0dGVtcHRpbmcgdG8gc2V0IGEgbmVnYXRpdmUgT3JkZXJMaW5lIHF1YW50aXR5LiAqL1xyXG5leHBvcnQgdHlwZSBOZWdhdGl2ZVF1YW50aXR5RXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ05lZ2F0aXZlUXVhbnRpdHlFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBOZXR3b3JrU3RhdHVzID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnTmV0d29ya1N0YXR1cyc7XHJcbiAgaW5GbGlnaHRSZXF1ZXN0czogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG4vKipcclxuICogUmV0dXJuZWQgd2hlbiBpbnZva2luZyBhIG11dGF0aW9uIHdoaWNoIGRlcGVuZHMgb24gdGhlcmUgYmVpbmcgYW4gYWN0aXZlIE9yZGVyIG9uIHRoZVxyXG4gKiBjdXJyZW50IHNlc3Npb24uXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBOb0FjdGl2ZU9yZGVyRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ05vQWN0aXZlT3JkZXJFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG4vKiogUmV0dXJuZWQgd2hlbiBhIGNhbGwgdG8gbW9kaWZ5T3JkZXIgZmFpbHMgdG8gc3BlY2lmeSBhbnkgY2hhbmdlcyAqL1xyXG5leHBvcnQgdHlwZSBOb0NoYW5nZXNTcGVjaWZpZWRFcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnTm9DaGFuZ2VzU3BlY2lmaWVkRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgTm9kZSA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCBpZiBhbiBhdHRlbXB0aW5nIHRvIHJlZnVuZCBhbiBPcmRlciBidXQgbmVpdGhlciBpdGVtcyBub3Igc2hpcHBpbmcgcmVmdW5kIHdhcyBzcGVjaWZpZWQgKi9cclxuZXhwb3J0IHR5cGUgTm90aGluZ1RvUmVmdW5kRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ05vdGhpbmdUb1JlZnVuZEVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbi8qKiBPcGVyYXRvcnMgZm9yIGZpbHRlcmluZyBvbiBhIGxpc3Qgb2YgTnVtYmVyIGZpZWxkcyAqL1xyXG5leHBvcnQgdHlwZSBOdW1iZXJMaXN0T3BlcmF0b3JzID0ge1xyXG4gIGluTGlzdDogU2NhbGFyc1snRmxvYXQnXTtcclxufTtcclxuXHJcbi8qKiBPcGVyYXRvcnMgZm9yIGZpbHRlcmluZyBvbiBhIEludCBvciBGbG9hdCBmaWVsZCAqL1xyXG5leHBvcnQgdHlwZSBOdW1iZXJPcGVyYXRvcnMgPSB7XHJcbiAgZXE/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcclxuICBsdD86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xyXG4gIGx0ZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xyXG4gIGd0PzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XHJcbiAgZ3RlPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XHJcbiAgYmV0d2Vlbj86IE1heWJlPE51bWJlclJhbmdlPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE51bWJlclJhbmdlID0ge1xyXG4gIHN0YXJ0OiBTY2FsYXJzWydGbG9hdCddO1xyXG4gIGVuZDogU2NhbGFyc1snRmxvYXQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE9yZGVyID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ09yZGVyJztcclxuICBuZXh0U3RhdGVzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgbW9kaWZpY2F0aW9uczogQXJyYXk8T3JkZXJNb2RpZmljYXRpb24+O1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgLyoqXHJcbiAgICogVGhlIGRhdGUgJiB0aW1lIHRoYXQgdGhlIE9yZGVyIHdhcyBwbGFjZWQsIGkuZS4gdGhlIEN1c3RvbWVyXHJcbiAgICogY29tcGxldGVkIHRoZSBjaGVja291dCBhbmQgdGhlIE9yZGVyIGlzIG5vIGxvbmdlciBcImFjdGl2ZVwiXHJcbiAgICovXHJcbiAgb3JkZXJQbGFjZWRBdD86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xyXG4gIC8qKiBBIHVuaXF1ZSBjb2RlIGZvciB0aGUgT3JkZXIgKi9cclxuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBzdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgLyoqIEFuIG9yZGVyIGlzIGFjdGl2ZSBhcyBsb25nIGFzIHRoZSBwYXltZW50IHByb2Nlc3MgaGFzIG5vdCBiZWVuIGNvbXBsZXRlZCAqL1xyXG4gIGFjdGl2ZTogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGN1c3RvbWVyPzogTWF5YmU8Q3VzdG9tZXI+O1xyXG4gIHNoaXBwaW5nQWRkcmVzcz86IE1heWJlPE9yZGVyQWRkcmVzcz47XHJcbiAgYmlsbGluZ0FkZHJlc3M/OiBNYXliZTxPcmRlckFkZHJlc3M+O1xyXG4gIGxpbmVzOiBBcnJheTxPcmRlckxpbmU+O1xyXG4gIC8qKlxyXG4gICAqIFN1cmNoYXJnZXMgYXJlIGFyYml0cmFyeSBtb2RpZmljYXRpb25zIHRvIHRoZSBPcmRlciB0b3RhbCB3aGljaCBhcmUgbmVpdGhlclxyXG4gICAqIFByb2R1Y3RWYXJpYW50cyBub3IgZGlzY291bnRzIHJlc3VsdGluZyBmcm9tIGFwcGxpZWQgUHJvbW90aW9ucy4gRm9yIGV4YW1wbGUsXHJcbiAgICogb25lLW9mZiBkaXNjb3VudHMgYmFzZWQgb24gY3VzdG9tZXIgaW50ZXJhY3Rpb24sIG9yIHN1cmNoYXJnZXMgYmFzZWQgb24gcGF5bWVudFxyXG4gICAqIG1ldGhvZHMuXHJcbiAgICovXHJcbiAgc3VyY2hhcmdlczogQXJyYXk8U3VyY2hhcmdlPjtcclxuICBkaXNjb3VudHM6IEFycmF5PERpc2NvdW50PjtcclxuICAvKiogQW4gYXJyYXkgb2YgYWxsIGNvdXBvbiBjb2RlcyBhcHBsaWVkIHRvIHRoZSBPcmRlciAqL1xyXG4gIGNvdXBvbkNvZGVzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgLyoqIFByb21vdGlvbnMgYXBwbGllZCB0byB0aGUgb3JkZXIuIE9ubHkgZ2V0cyBwb3B1bGF0ZWQgYWZ0ZXIgdGhlIHBheW1lbnQgcHJvY2VzcyBoYXMgY29tcGxldGVkLiAqL1xyXG4gIHByb21vdGlvbnM6IEFycmF5PFByb21vdGlvbj47XHJcbiAgcGF5bWVudHM/OiBNYXliZTxBcnJheTxQYXltZW50Pj47XHJcbiAgZnVsZmlsbG1lbnRzPzogTWF5YmU8QXJyYXk8RnVsZmlsbG1lbnQ+PjtcclxuICB0b3RhbFF1YW50aXR5OiBTY2FsYXJzWydJbnQnXTtcclxuICAvKipcclxuICAgKiBUaGUgc3ViVG90YWwgaXMgdGhlIHRvdGFsIG9mIGFsbCBPcmRlckxpbmVzIGluIHRoZSBPcmRlci4gVGhpcyBmaWd1cmUgYWxzbyBpbmNsdWRlcyBhbnkgT3JkZXItbGV2ZWxcclxuICAgKiBkaXNjb3VudHMgd2hpY2ggaGF2ZSBiZWVuIHByb3JhdGVkIChwcm9wb3J0aW9uYWxseSBkaXN0cmlidXRlZCkgYW1vbmdzdCB0aGUgT3JkZXJJdGVtcy5cclxuICAgKiBUbyBnZXQgYSB0b3RhbCBvZiBhbGwgT3JkZXJMaW5lcyB3aGljaCBkb2VzIG5vdCBhY2NvdW50IGZvciBwcm9yYXRlZCBkaXNjb3VudHMsIHVzZSB0aGVcclxuICAgKiBzdW0gb2YgYE9yZGVyTGluZS5kaXNjb3VudGVkTGluZVByaWNlYCB2YWx1ZXMuXHJcbiAgICovXHJcbiAgc3ViVG90YWw6IFNjYWxhcnNbJ0ludCddO1xyXG4gIC8qKiBTYW1lIGFzIHN1YlRvdGFsLCBidXQgaW5jbHVzaXZlIG9mIHRheCAqL1xyXG4gIHN1YlRvdGFsV2l0aFRheDogU2NhbGFyc1snSW50J107XHJcbiAgY3VycmVuY3lDb2RlOiBDdXJyZW5jeUNvZGU7XHJcbiAgc2hpcHBpbmdMaW5lczogQXJyYXk8U2hpcHBpbmdMaW5lPjtcclxuICBzaGlwcGluZzogU2NhbGFyc1snSW50J107XHJcbiAgc2hpcHBpbmdXaXRoVGF4OiBTY2FsYXJzWydJbnQnXTtcclxuICAvKiogRXF1YWwgdG8gc3ViVG90YWwgcGx1cyBzaGlwcGluZyAqL1xyXG4gIHRvdGFsOiBTY2FsYXJzWydJbnQnXTtcclxuICAvKiogVGhlIGZpbmFsIHBheWFibGUgYW1vdW50LiBFcXVhbCB0byBzdWJUb3RhbFdpdGhUYXggcGx1cyBzaGlwcGluZ1dpdGhUYXggKi9cclxuICB0b3RhbFdpdGhUYXg6IFNjYWxhcnNbJ0ludCddO1xyXG4gIC8qKiBBIHN1bW1hcnkgb2YgdGhlIHRheGVzIGJlaW5nIGFwcGxpZWQgdG8gdGhpcyBPcmRlciAqL1xyXG4gIHRheFN1bW1hcnk6IEFycmF5PE9yZGVyVGF4U3VtbWFyeT47XHJcbiAgaGlzdG9yeTogSGlzdG9yeUVudHJ5TGlzdDtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE9yZGVySGlzdG9yeUFyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPEhpc3RvcnlFbnRyeUxpc3RPcHRpb25zPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE9yZGVyQWRkcmVzcyA9IHtcclxuICBfX3R5cGVuYW1lPzogJ09yZGVyQWRkcmVzcyc7XHJcbiAgZnVsbE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY29tcGFueT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBzdHJlZXRMaW5lMT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBzdHJlZXRMaW5lMj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjaXR5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHByb3ZpbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHBvc3RhbENvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY291bnRyeT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBwaG9uZU51bWJlcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgT3JkZXJGaWx0ZXJQYXJhbWV0ZXIgPSB7XHJcbiAgY3VzdG9tZXJMYXN0TmFtZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgdHJhbnNhY3Rpb25JZD86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgb3JkZXJQbGFjZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xyXG4gIGNvZGU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIHN0YXRlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBhY3RpdmU/OiBNYXliZTxCb29sZWFuT3BlcmF0b3JzPjtcclxuICB0b3RhbFF1YW50aXR5PzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICBzdWJUb3RhbD86IE1heWJlPE51bWJlck9wZXJhdG9ycz47XHJcbiAgc3ViVG90YWxXaXRoVGF4PzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICBjdXJyZW5jeUNvZGU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIHNoaXBwaW5nPzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICBzaGlwcGluZ1dpdGhUYXg/OiBNYXliZTxOdW1iZXJPcGVyYXRvcnM+O1xyXG4gIHRvdGFsPzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICB0b3RhbFdpdGhUYXg/OiBNYXliZTxOdW1iZXJPcGVyYXRvcnM+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgT3JkZXJJdGVtID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ09yZGVySXRlbSc7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBjYW5jZWxsZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICAvKiogVGhlIHByaWNlIG9mIGEgc2luZ2xlIHVuaXQsIGV4Y2x1ZGluZyB0YXggYW5kIGRpc2NvdW50cyAqL1xyXG4gIHVuaXRQcmljZTogU2NhbGFyc1snSW50J107XHJcbiAgLyoqIFRoZSBwcmljZSBvZiBhIHNpbmdsZSB1bml0LCBpbmNsdWRpbmcgdGF4IGJ1dCBleGNsdWRpbmcgZGlzY291bnRzICovXHJcbiAgdW5pdFByaWNlV2l0aFRheDogU2NhbGFyc1snSW50J107XHJcbiAgLyoqXHJcbiAgICogVGhlIHByaWNlIG9mIGEgc2luZ2xlIHVuaXQgaW5jbHVkaW5nIGRpc2NvdW50cywgZXhjbHVkaW5nIHRheC5cclxuICAgKlxyXG4gICAqIElmIE9yZGVyLWxldmVsIGRpc2NvdW50cyBoYXZlIGJlZW4gYXBwbGllZCwgdGhpcyB3aWxsIG5vdCBiZSB0aGVcclxuICAgKiBhY3R1YWwgdGF4YWJsZSB1bml0IHByaWNlIChzZWUgYHByb3JhdGVkVW5pdFByaWNlYCksIGJ1dCBpcyBnZW5lcmFsbHkgdGhlXHJcbiAgICogY29ycmVjdCBwcmljZSB0byBkaXNwbGF5IHRvIGN1c3RvbWVycyB0byBhdm9pZCBjb25mdXNpb25cclxuICAgKiBhYm91dCB0aGUgaW50ZXJuYWwgaGFuZGxpbmcgb2YgZGlzdHJpYnV0ZWQgT3JkZXItbGV2ZWwgZGlzY291bnRzLlxyXG4gICAqL1xyXG4gIGRpc2NvdW50ZWRVbml0UHJpY2U6IFNjYWxhcnNbJ0ludCddO1xyXG4gIC8qKiBUaGUgcHJpY2Ugb2YgYSBzaW5nbGUgdW5pdCBpbmNsdWRpbmcgZGlzY291bnRzIGFuZCB0YXggKi9cclxuICBkaXNjb3VudGVkVW5pdFByaWNlV2l0aFRheDogU2NhbGFyc1snSW50J107XHJcbiAgLyoqXHJcbiAgICogVGhlIGFjdHVhbCB1bml0IHByaWNlLCB0YWtpbmcgaW50byBhY2NvdW50IGJvdGggaXRlbSBkaXNjb3VudHMgX2FuZF8gcHJvcmF0ZWQgKHByb3BvcnRpb25hbGx5LWRpc3RyaWJ1dGVkKVxyXG4gICAqIE9yZGVyLWxldmVsIGRpc2NvdW50cy4gVGhpcyB2YWx1ZSBpcyB0aGUgdHJ1ZSBlY29ub21pYyB2YWx1ZSBvZiB0aGUgT3JkZXJJdGVtLCBhbmQgaXMgdXNlZCBpbiB0YXhcclxuICAgKiBhbmQgcmVmdW5kIGNhbGN1bGF0aW9ucy5cclxuICAgKi9cclxuICBwcm9yYXRlZFVuaXRQcmljZTogU2NhbGFyc1snSW50J107XHJcbiAgLyoqIFRoZSBwcm9yYXRlZFVuaXRQcmljZSBpbmNsdWRpbmcgdGF4ICovXHJcbiAgcHJvcmF0ZWRVbml0UHJpY2VXaXRoVGF4OiBTY2FsYXJzWydJbnQnXTtcclxuICB1bml0VGF4OiBTY2FsYXJzWydJbnQnXTtcclxuICB0YXhSYXRlOiBTY2FsYXJzWydGbG9hdCddO1xyXG4gIGFkanVzdG1lbnRzOiBBcnJheTxBZGp1c3RtZW50PjtcclxuICB0YXhMaW5lczogQXJyYXk8VGF4TGluZT47XHJcbiAgZnVsZmlsbG1lbnQ/OiBNYXliZTxGdWxmaWxsbWVudD47XHJcbiAgcmVmdW5kSWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCB3aGVuIHRoZSBtYXhpbXVtIG9yZGVyIHNpemUgbGltaXQgaGFzIGJlZW4gcmVhY2hlZC4gKi9cclxuZXhwb3J0IHR5cGUgT3JkZXJMaW1pdEVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdPcmRlckxpbWl0RXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIG1heEl0ZW1zOiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE9yZGVyTGluZSA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdPcmRlckxpbmUnO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgcHJvZHVjdFZhcmlhbnQ6IFByb2R1Y3RWYXJpYW50O1xyXG4gIGZlYXR1cmVkQXNzZXQ/OiBNYXliZTxBc3NldD47XHJcbiAgLyoqIFRoZSBwcmljZSBvZiBhIHNpbmdsZSB1bml0LCBleGNsdWRpbmcgdGF4IGFuZCBkaXNjb3VudHMgKi9cclxuICB1bml0UHJpY2U6IFNjYWxhcnNbJ0ludCddO1xyXG4gIC8qKiBUaGUgcHJpY2Ugb2YgYSBzaW5nbGUgdW5pdCwgaW5jbHVkaW5nIHRheCBidXQgZXhjbHVkaW5nIGRpc2NvdW50cyAqL1xyXG4gIHVuaXRQcmljZVdpdGhUYXg6IFNjYWxhcnNbJ0ludCddO1xyXG4gIC8qKiBOb24temVybyBpZiB0aGUgdW5pdFByaWNlIGhhcyBjaGFuZ2VkIHNpbmNlIGl0IHdhcyBpbml0aWFsbHkgYWRkZWQgdG8gT3JkZXIgKi9cclxuICB1bml0UHJpY2VDaGFuZ2VTaW5jZUFkZGVkOiBTY2FsYXJzWydJbnQnXTtcclxuICAvKiogTm9uLXplcm8gaWYgdGhlIHVuaXRQcmljZVdpdGhUYXggaGFzIGNoYW5nZWQgc2luY2UgaXQgd2FzIGluaXRpYWxseSBhZGRlZCB0byBPcmRlciAqL1xyXG4gIHVuaXRQcmljZVdpdGhUYXhDaGFuZ2VTaW5jZUFkZGVkOiBTY2FsYXJzWydJbnQnXTtcclxuICAvKipcclxuICAgKiBUaGUgcHJpY2Ugb2YgYSBzaW5nbGUgdW5pdCBpbmNsdWRpbmcgZGlzY291bnRzLCBleGNsdWRpbmcgdGF4LlxyXG4gICAqXHJcbiAgICogSWYgT3JkZXItbGV2ZWwgZGlzY291bnRzIGhhdmUgYmVlbiBhcHBsaWVkLCB0aGlzIHdpbGwgbm90IGJlIHRoZVxyXG4gICAqIGFjdHVhbCB0YXhhYmxlIHVuaXQgcHJpY2UgKHNlZSBgcHJvcmF0ZWRVbml0UHJpY2VgKSwgYnV0IGlzIGdlbmVyYWxseSB0aGVcclxuICAgKiBjb3JyZWN0IHByaWNlIHRvIGRpc3BsYXkgdG8gY3VzdG9tZXJzIHRvIGF2b2lkIGNvbmZ1c2lvblxyXG4gICAqIGFib3V0IHRoZSBpbnRlcm5hbCBoYW5kbGluZyBvZiBkaXN0cmlidXRlZCBPcmRlci1sZXZlbCBkaXNjb3VudHMuXHJcbiAgICovXHJcbiAgZGlzY291bnRlZFVuaXRQcmljZTogU2NhbGFyc1snSW50J107XHJcbiAgLyoqIFRoZSBwcmljZSBvZiBhIHNpbmdsZSB1bml0IGluY2x1ZGluZyBkaXNjb3VudHMgYW5kIHRheCAqL1xyXG4gIGRpc2NvdW50ZWRVbml0UHJpY2VXaXRoVGF4OiBTY2FsYXJzWydJbnQnXTtcclxuICAvKipcclxuICAgKiBUaGUgYWN0dWFsIHVuaXQgcHJpY2UsIHRha2luZyBpbnRvIGFjY291bnQgYm90aCBpdGVtIGRpc2NvdW50cyBfYW5kXyBwcm9yYXRlZCAocHJvcG9ydGlvbmFsbHktZGlzdHJpYnV0ZWQpXHJcbiAgICogT3JkZXItbGV2ZWwgZGlzY291bnRzLiBUaGlzIHZhbHVlIGlzIHRoZSB0cnVlIGVjb25vbWljIHZhbHVlIG9mIHRoZSBPcmRlckl0ZW0sIGFuZCBpcyB1c2VkIGluIHRheFxyXG4gICAqIGFuZCByZWZ1bmQgY2FsY3VsYXRpb25zLlxyXG4gICAqL1xyXG4gIHByb3JhdGVkVW5pdFByaWNlOiBTY2FsYXJzWydJbnQnXTtcclxuICAvKiogVGhlIHByb3JhdGVkVW5pdFByaWNlIGluY2x1ZGluZyB0YXggKi9cclxuICBwcm9yYXRlZFVuaXRQcmljZVdpdGhUYXg6IFNjYWxhcnNbJ0ludCddO1xyXG4gIHF1YW50aXR5OiBTY2FsYXJzWydJbnQnXTtcclxuICBpdGVtczogQXJyYXk8T3JkZXJJdGVtPjtcclxuICB0YXhSYXRlOiBTY2FsYXJzWydGbG9hdCddO1xyXG4gIC8qKiBUaGUgdG90YWwgcHJpY2Ugb2YgdGhlIGxpbmUgZXhjbHVkaW5nIHRheCBhbmQgZGlzY291bnRzLiAqL1xyXG4gIGxpbmVQcmljZTogU2NhbGFyc1snSW50J107XHJcbiAgLyoqIFRoZSB0b3RhbCBwcmljZSBvZiB0aGUgbGluZSBpbmNsdWRpbmcgdGF4IGJ1dCBleGNsdWRpbmcgZGlzY291bnRzLiAqL1xyXG4gIGxpbmVQcmljZVdpdGhUYXg6IFNjYWxhcnNbJ0ludCddO1xyXG4gIC8qKiBUaGUgcHJpY2Ugb2YgdGhlIGxpbmUgaW5jbHVkaW5nIGRpc2NvdW50cywgZXhjbHVkaW5nIHRheCAqL1xyXG4gIGRpc2NvdW50ZWRMaW5lUHJpY2U6IFNjYWxhcnNbJ0ludCddO1xyXG4gIC8qKiBUaGUgcHJpY2Ugb2YgdGhlIGxpbmUgaW5jbHVkaW5nIGRpc2NvdW50cyBhbmQgdGF4ICovXHJcbiAgZGlzY291bnRlZExpbmVQcmljZVdpdGhUYXg6IFNjYWxhcnNbJ0ludCddO1xyXG4gIC8qKlxyXG4gICAqIFRoZSBhY3R1YWwgbGluZSBwcmljZSwgdGFraW5nIGludG8gYWNjb3VudCBib3RoIGl0ZW0gZGlzY291bnRzIF9hbmRfIHByb3JhdGVkIChwcm9wb3J0aW9uYWxseS1kaXN0cmlidXRlZClcclxuICAgKiBPcmRlci1sZXZlbCBkaXNjb3VudHMuIFRoaXMgdmFsdWUgaXMgdGhlIHRydWUgZWNvbm9taWMgdmFsdWUgb2YgdGhlIE9yZGVyTGluZSwgYW5kIGlzIHVzZWQgaW4gdGF4XHJcbiAgICogYW5kIHJlZnVuZCBjYWxjdWxhdGlvbnMuXHJcbiAgICovXHJcbiAgcHJvcmF0ZWRMaW5lUHJpY2U6IFNjYWxhcnNbJ0ludCddO1xyXG4gIC8qKiBUaGUgcHJvcmF0ZWRMaW5lUHJpY2UgaW5jbHVkaW5nIHRheCAqL1xyXG4gIHByb3JhdGVkTGluZVByaWNlV2l0aFRheDogU2NhbGFyc1snSW50J107XHJcbiAgLyoqIFRoZSB0b3RhbCB0YXggb24gdGhpcyBsaW5lICovXHJcbiAgbGluZVRheDogU2NhbGFyc1snSW50J107XHJcbiAgZGlzY291bnRzOiBBcnJheTxEaXNjb3VudD47XHJcbiAgdGF4TGluZXM6IEFycmF5PFRheExpbmU+O1xyXG4gIG9yZGVyOiBPcmRlcjtcclxuICBmdWxmaWxsbWVudHM/OiBNYXliZTxBcnJheTxGdWxmaWxsbWVudD4+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBPcmRlckxpbmVJbnB1dCA9IHtcclxuICBvcmRlckxpbmVJZDogU2NhbGFyc1snSUQnXTtcclxuICBxdWFudGl0eTogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBPcmRlckxpc3QgPSBQYWdpbmF0ZWRMaXN0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnT3JkZXJMaXN0JztcclxuICBpdGVtczogQXJyYXk8T3JkZXI+O1xyXG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgT3JkZXJMaXN0T3B0aW9ucyA9IHtcclxuICAvKiogU2tpcHMgdGhlIGZpcnN0IG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgc2tpcD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogVGFrZXMgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICB0YWtlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hpY2ggcHJvcGVydGllcyB0byBzb3J0IHRoZSByZXN1bHRzIGJ5ICovXHJcbiAgc29ydD86IE1heWJlPE9yZGVyU29ydFBhcmFtZXRlcj47XHJcbiAgLyoqIEFsbG93cyB0aGUgcmVzdWx0cyB0byBiZSBmaWx0ZXJlZCAqL1xyXG4gIGZpbHRlcj86IE1heWJlPE9yZGVyRmlsdGVyUGFyYW1ldGVyPjtcclxuICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgbXVsdGlwbGUgXCJmaWx0ZXJcIiBhcmd1bWVudHMgc2hvdWxkIGJlIGNvbWJpbmVzIHdpdGggYSBsb2dpY2FsIEFORCBvciBPUiBvcGVyYXRpb24uIERlZmF1bHRzIHRvIEFORC4gKi9cclxuICBmaWx0ZXJPcGVyYXRvcj86IE1heWJlPExvZ2ljYWxPcGVyYXRvcj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBPcmRlck1vZGlmaWNhdGlvbiA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdPcmRlck1vZGlmaWNhdGlvbic7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBwcmljZUNoYW5nZTogU2NhbGFyc1snSW50J107XHJcbiAgbm90ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgb3JkZXJJdGVtcz86IE1heWJlPEFycmF5PE9yZGVySXRlbT4+O1xyXG4gIHN1cmNoYXJnZXM/OiBNYXliZTxBcnJheTxTdXJjaGFyZ2U+PjtcclxuICBwYXltZW50PzogTWF5YmU8UGF5bWVudD47XHJcbiAgcmVmdW5kPzogTWF5YmU8UmVmdW5kPjtcclxuICBpc1NldHRsZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCB3aGVuIGF0dGVtcHRpbmcgdG8gbW9kaWZ5IHRoZSBjb250ZW50cyBvZiBhbiBPcmRlciB0aGF0IGlzIG5vdCBpbiB0aGUgYEFkZGluZ0l0ZW1zYCBzdGF0ZS4gKi9cclxuZXhwb3J0IHR5cGUgT3JkZXJNb2RpZmljYXRpb25FcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnT3JkZXJNb2RpZmljYXRpb25FcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG4vKiogUmV0dXJuZWQgd2hlbiBhdHRlbXB0aW5nIHRvIG1vZGlmeSB0aGUgY29udGVudHMgb2YgYW4gT3JkZXIgdGhhdCBpcyBub3QgaW4gdGhlIGBNb2RpZnlpbmdgIHN0YXRlLiAqL1xyXG5leHBvcnQgdHlwZSBPcmRlck1vZGlmaWNhdGlvblN0YXRlRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ09yZGVyTW9kaWZpY2F0aW9uU3RhdGVFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBPcmRlclByb2Nlc3NTdGF0ZSA9IHtcclxuICBfX3R5cGVuYW1lPzogJ09yZGVyUHJvY2Vzc1N0YXRlJztcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0bzogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgT3JkZXJTb3J0UGFyYW1ldGVyID0ge1xyXG4gIGN1c3RvbWVyTGFzdE5hbWU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHRyYW5zYWN0aW9uSWQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHVwZGF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgb3JkZXJQbGFjZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgY29kZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgc3RhdGU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHRvdGFsUXVhbnRpdHk/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHN1YlRvdGFsPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBzdWJUb3RhbFdpdGhUYXg/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHNoaXBwaW5nPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBzaGlwcGluZ1dpdGhUYXg/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHRvdGFsPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICB0b3RhbFdpdGhUYXg/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG59O1xyXG5cclxuLyoqIFJldHVybmVkIGlmIHRoZXJlIGlzIGFuIGVycm9yIGluIHRyYW5zaXRpb25pbmcgdGhlIE9yZGVyIHN0YXRlICovXHJcbmV4cG9ydCB0eXBlIE9yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ09yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHRyYW5zaXRpb25FcnJvcjogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZnJvbVN0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0b1N0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBBIHN1bW1hcnkgb2YgdGhlIHRheGVzIGJlaW5nIGFwcGxpZWQgdG8gdGhpcyBvcmRlciwgZ3JvdXBlZFxyXG4gKiBieSB0YXhSYXRlLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgT3JkZXJUYXhTdW1tYXJ5ID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnT3JkZXJUYXhTdW1tYXJ5JztcclxuICAvKiogQSBkZXNjcmlwdGlvbiBvZiB0aGlzIHRheCAqL1xyXG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICAvKiogVGhlIHRheFJhdGUgYXMgYSBwZXJjZW50YWdlICovXHJcbiAgdGF4UmF0ZTogU2NhbGFyc1snRmxvYXQnXTtcclxuICAvKiogVGhlIHRvdGFsIG5ldCBwcmljZSBvciBPcmRlckl0ZW1zIHRvIHdoaWNoIHRoaXMgdGF4UmF0ZSBhcHBsaWVzICovXHJcbiAgdGF4QmFzZTogU2NhbGFyc1snSW50J107XHJcbiAgLyoqIFRoZSB0b3RhbCB0YXggYmVpbmcgYXBwbGllZCB0byB0aGUgT3JkZXIgYXQgdGhpcyB0YXhSYXRlICovXHJcbiAgdGF4VG90YWw6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUGFnaW5hdGVkTGlzdCA9IHtcclxuICBpdGVtczogQXJyYXk8Tm9kZT47XHJcbiAgdG90YWxJdGVtczogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQYXltZW50ID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1BheW1lbnQnO1xyXG4gIG5leHRTdGF0ZXM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIG1ldGhvZDogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgYW1vdW50OiBTY2FsYXJzWydJbnQnXTtcclxuICBzdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdHJhbnNhY3Rpb25JZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBlcnJvck1lc3NhZ2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgcmVmdW5kczogQXJyYXk8UmVmdW5kPjtcclxuICBtZXRhZGF0YT86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQYXltZW50TWV0aG9kID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1BheW1lbnRNZXRob2QnO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGVuYWJsZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICBjaGVja2VyPzogTWF5YmU8Q29uZmlndXJhYmxlT3BlcmF0aW9uPjtcclxuICBoYW5kbGVyOiBDb25maWd1cmFibGVPcGVyYXRpb247XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFBheW1lbnRNZXRob2RGaWx0ZXJQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgbmFtZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgY29kZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIGVuYWJsZWQ/OiBNYXliZTxCb29sZWFuT3BlcmF0b3JzPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFBheW1lbnRNZXRob2RMaXN0ID0gUGFnaW5hdGVkTGlzdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1BheW1lbnRNZXRob2RMaXN0JztcclxuICBpdGVtczogQXJyYXk8UGF5bWVudE1ldGhvZD47XHJcbiAgdG90YWxJdGVtczogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQYXltZW50TWV0aG9kTGlzdE9wdGlvbnMgPSB7XHJcbiAgLyoqIFNraXBzIHRoZSBmaXJzdCBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHNraXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFRha2VzIG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgdGFrZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogU3BlY2lmaWVzIHdoaWNoIHByb3BlcnRpZXMgdG8gc29ydCB0aGUgcmVzdWx0cyBieSAqL1xyXG4gIHNvcnQ/OiBNYXliZTxQYXltZW50TWV0aG9kU29ydFBhcmFtZXRlcj47XHJcbiAgLyoqIEFsbG93cyB0aGUgcmVzdWx0cyB0byBiZSBmaWx0ZXJlZCAqL1xyXG4gIGZpbHRlcj86IE1heWJlPFBheW1lbnRNZXRob2RGaWx0ZXJQYXJhbWV0ZXI+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hldGhlciBtdWx0aXBsZSBcImZpbHRlclwiIGFyZ3VtZW50cyBzaG91bGQgYmUgY29tYmluZXMgd2l0aCBhIGxvZ2ljYWwgQU5EIG9yIE9SIG9wZXJhdGlvbi4gRGVmYXVsdHMgdG8gQU5ELiAqL1xyXG4gIGZpbHRlck9wZXJhdG9yPzogTWF5YmU8TG9naWNhbE9wZXJhdG9yPjtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBSZXR1cm5lZCB3aGVuIGEgY2FsbCB0byBtb2RpZnlPcmRlciBmYWlscyB0byBpbmNsdWRlIGEgcGF5bWVudE1ldGhvZCBldmVuXHJcbiAqIHRob3VnaCB0aGUgcHJpY2UgaGFzIGluY3JlYXNlZCBhcyBhIHJlc3VsdCBvZiB0aGUgY2hhbmdlcy5cclxuICovXHJcbmV4cG9ydCB0eXBlIFBheW1lbnRNZXRob2RNaXNzaW5nRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1BheW1lbnRNZXRob2RNaXNzaW5nRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUGF5bWVudE1ldGhvZFF1b3RlID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZFF1b3RlJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgaXNFbGlnaWJsZTogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGVsaWdpYmlsaXR5TWVzc2FnZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUGF5bWVudE1ldGhvZFNvcnRQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBuYW1lPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBjb2RlPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBkZXNjcmlwdGlvbj86IE1heWJlPFNvcnRPcmRlcj47XHJcbn07XHJcblxyXG4vKiogUmV0dXJuZWQgaWYgYW4gYXR0ZW1wdGluZyB0byByZWZ1bmQgYSBQYXltZW50IGFnYWluc3QgT3JkZXJMaW5lcyBmcm9tIGEgZGlmZmVyZW50IE9yZGVyICovXHJcbmV4cG9ydCB0eXBlIFBheW1lbnRPcmRlck1pc21hdGNoRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1BheW1lbnRPcmRlck1pc21hdGNoRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuLyoqIFJldHVybmVkIHdoZW4gdGhlcmUgaXMgYW4gZXJyb3IgaW4gdHJhbnNpdGlvbmluZyB0aGUgUGF5bWVudCBzdGF0ZSAqL1xyXG5leHBvcnQgdHlwZSBQYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1BheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdHJhbnNpdGlvbkVycm9yOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBmcm9tU3RhdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHRvU3RhdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBQZXJtaXNzaW9ucyBmb3IgYWRtaW5pc3RyYXRvcnMgYW5kIGN1c3RvbWVycy4gVXNlZCB0byBjb250cm9sIGFjY2VzcyB0b1xyXG4gKiBHcmFwaFFMIHJlc29sdmVycyB2aWEgdGhlIHtAbGluayBBbGxvd30gZGVjb3JhdG9yLlxyXG4gKlxyXG4gKiAjIyBVbmRlcnN0YW5kaW5nIFBlcm1pc3Npb24uT3duZXJcclxuICpcclxuICogYFBlcm1pc3Npb24uT3duZXJgIGlzIGEgc3BlY2lhbCBwZXJtaXNzaW9uIHdoaWNoIGlzIHVzZWQgaW4gc29tZSBWZW5kdXJlIHJlc29sdmVycyB0byBpbmRpY2F0ZSB0aGF0IHRoYXQgcmVzb2x2ZXIgc2hvdWxkIG9ubHlcclxuICogYmUgYWNjZXNzaWJsZSB0byB0aGUgXCJvd25lclwiIG9mIHRoYXQgcmVzb3VyY2UuXHJcbiAqXHJcbiAqIEZvciBleGFtcGxlLCB0aGUgU2hvcCBBUEkgYGFjdGl2ZUN1c3RvbWVyYCBxdWVyeSByZXNvbHZlciBzaG91bGQgb25seSByZXR1cm4gdGhlIEN1c3RvbWVyIG9iamVjdCBmb3IgdGhlIFwib3duZXJcIiBvZiB0aGF0IEN1c3RvbWVyLCBpLmUuXHJcbiAqIGJhc2VkIG9uIHRoZSBhY3RpdmVVc2VySWQgb2YgdGhlIGN1cnJlbnQgc2Vzc2lvbi4gQXMgYSByZXN1bHQsIHRoZSByZXNvbHZlciBjb2RlIGxvb2tzIGxpa2UgdGhpczpcclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgVHlwZVNjcmlwdFxyXG4gKiBcXEBRdWVyeSgpXHJcbiAqIFxcQEFsbG93KFBlcm1pc3Npb24uT3duZXIpXHJcbiAqIGFzeW5jIGFjdGl2ZUN1c3RvbWVyKFxcQEN0eCgpIGN0eDogUmVxdWVzdENvbnRleHQpOiBQcm9taXNlPEN1c3RvbWVyIHwgdW5kZWZpbmVkPiB7XHJcbiAqICAgY29uc3QgdXNlcklkID0gY3R4LmFjdGl2ZVVzZXJJZDtcclxuICogICBpZiAodXNlcklkKSB7XHJcbiAqICAgICByZXR1cm4gdGhpcy5jdXN0b21lclNlcnZpY2UuZmluZE9uZUJ5VXNlcklkKGN0eCwgdXNlcklkKTtcclxuICogICB9XHJcbiAqIH1cclxuICogYGBgXHJcbiAqXHJcbiAqIEhlcmUgd2UgY2FuIHNlZSB0aGF0IHRoZSBcIm93bmVyc2hpcFwiIG11c3QgYmUgZW5mb3JjZWQgYnkgY3VzdG9tIGxvZ2ljIGluc2lkZSB0aGUgcmVzb2x2ZXIuIFNpbmNlIFwib3duZXJzaGlwXCIgY2Fubm90IGJlIGRlZmluZWQgZ2VuZXJhbGx5XHJcbiAqIG5vciBzdGF0aWNhbGx5IGVuY29kZWQgYXQgYnVpbGQtdGltZSwgYW55IHJlc29sdmVycyB1c2luZyBgUGVybWlzc2lvbi5Pd25lcmAgKiptdXN0KiogaW5jbHVkZSBsb2dpYyB0byBlbmZvcmNlIHRoYXQgb25seSB0aGUgb3duZXJcclxuICogb2YgdGhlIHJlc291cmNlIGhhcyBhY2Nlc3MuIElmIG5vdCwgdGhlbiBpdCBpcyB0aGUgZXF1aXZhbGVudCBvZiB1c2luZyBgUGVybWlzc2lvbi5QdWJsaWNgLlxyXG4gKlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGNvbW1vblxyXG4gKi9cclxuZXhwb3J0IGVudW0gUGVybWlzc2lvbiB7XHJcbiAgLyoqIEF1dGhlbnRpY2F0ZWQgbWVhbnMgc2ltcGx5IHRoYXQgdGhlIHVzZXIgaXMgbG9nZ2VkIGluICovXHJcbiAgQXV0aGVudGljYXRlZCA9ICdBdXRoZW50aWNhdGVkJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIEFkbWluaXN0cmF0b3IgKi9cclxuICBDcmVhdGVBZG1pbmlzdHJhdG9yID0gJ0NyZWF0ZUFkbWluaXN0cmF0b3InLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgQXNzZXQgKi9cclxuICBDcmVhdGVBc3NldCA9ICdDcmVhdGVBc3NldCcsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBQcm9kdWN0cywgRmFjZXRzLCBBc3NldHMsIENvbGxlY3Rpb25zICovXHJcbiAgQ3JlYXRlQ2F0YWxvZyA9ICdDcmVhdGVDYXRhbG9nJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIENoYW5uZWwgKi9cclxuICBDcmVhdGVDaGFubmVsID0gJ0NyZWF0ZUNoYW5uZWwnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgQ29sbGVjdGlvbiAqL1xyXG4gIENyZWF0ZUNvbGxlY3Rpb24gPSAnQ3JlYXRlQ29sbGVjdGlvbicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBDb3VudHJ5ICovXHJcbiAgQ3JlYXRlQ291bnRyeSA9ICdDcmVhdGVDb3VudHJ5JyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIEN1c3RvbWVyICovXHJcbiAgQ3JlYXRlQ3VzdG9tZXIgPSAnQ3JlYXRlQ3VzdG9tZXInLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgQ3VzdG9tZXJHcm91cCAqL1xyXG4gIENyZWF0ZUN1c3RvbWVyR3JvdXAgPSAnQ3JlYXRlQ3VzdG9tZXJHcm91cCcsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBGYWNldCAqL1xyXG4gIENyZWF0ZUZhY2V0ID0gJ0NyZWF0ZUZhY2V0JyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIE9yZGVyICovXHJcbiAgQ3JlYXRlT3JkZXIgPSAnQ3JlYXRlT3JkZXInLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgUGF5bWVudE1ldGhvZCAqL1xyXG4gIENyZWF0ZVBheW1lbnRNZXRob2QgPSAnQ3JlYXRlUGF5bWVudE1ldGhvZCcsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBQcm9kdWN0ICovXHJcbiAgQ3JlYXRlUHJvZHVjdCA9ICdDcmVhdGVQcm9kdWN0JyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIFByb21vdGlvbiAqL1xyXG4gIENyZWF0ZVByb21vdGlvbiA9ICdDcmVhdGVQcm9tb3Rpb24nLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgUGF5bWVudE1ldGhvZHMsIFNoaXBwaW5nTWV0aG9kcywgVGF4Q2F0ZWdvcmllcywgVGF4UmF0ZXMsIFpvbmVzLCBDb3VudHJpZXMsIFN5c3RlbSAmIEdsb2JhbFNldHRpbmdzICovXHJcbiAgQ3JlYXRlU2V0dGluZ3MgPSAnQ3JlYXRlU2V0dGluZ3MnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgU2hpcHBpbmdNZXRob2QgKi9cclxuICBDcmVhdGVTaGlwcGluZ01ldGhvZCA9ICdDcmVhdGVTaGlwcGluZ01ldGhvZCcsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBTeXN0ZW0gKi9cclxuICBDcmVhdGVTeXN0ZW0gPSAnQ3JlYXRlU3lzdGVtJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIFRhZyAqL1xyXG4gIENyZWF0ZVRhZyA9ICdDcmVhdGVUYWcnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgVGF4Q2F0ZWdvcnkgKi9cclxuICBDcmVhdGVUYXhDYXRlZ29yeSA9ICdDcmVhdGVUYXhDYXRlZ29yeScsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBUYXhSYXRlICovXHJcbiAgQ3JlYXRlVGF4UmF0ZSA9ICdDcmVhdGVUYXhSYXRlJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIFpvbmUgKi9cclxuICBDcmVhdGVab25lID0gJ0NyZWF0ZVpvbmUnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgQWRtaW5pc3RyYXRvciAqL1xyXG4gIERlbGV0ZUFkbWluaXN0cmF0b3IgPSAnRGVsZXRlQWRtaW5pc3RyYXRvcicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBBc3NldCAqL1xyXG4gIERlbGV0ZUFzc2V0ID0gJ0RlbGV0ZUFzc2V0JyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIFByb2R1Y3RzLCBGYWNldHMsIEFzc2V0cywgQ29sbGVjdGlvbnMgKi9cclxuICBEZWxldGVDYXRhbG9nID0gJ0RlbGV0ZUNhdGFsb2cnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgQ2hhbm5lbCAqL1xyXG4gIERlbGV0ZUNoYW5uZWwgPSAnRGVsZXRlQ2hhbm5lbCcsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBDb2xsZWN0aW9uICovXHJcbiAgRGVsZXRlQ29sbGVjdGlvbiA9ICdEZWxldGVDb2xsZWN0aW9uJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIENvdW50cnkgKi9cclxuICBEZWxldGVDb3VudHJ5ID0gJ0RlbGV0ZUNvdW50cnknLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgQ3VzdG9tZXIgKi9cclxuICBEZWxldGVDdXN0b21lciA9ICdEZWxldGVDdXN0b21lcicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBDdXN0b21lckdyb3VwICovXHJcbiAgRGVsZXRlQ3VzdG9tZXJHcm91cCA9ICdEZWxldGVDdXN0b21lckdyb3VwJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIEZhY2V0ICovXHJcbiAgRGVsZXRlRmFjZXQgPSAnRGVsZXRlRmFjZXQnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgT3JkZXIgKi9cclxuICBEZWxldGVPcmRlciA9ICdEZWxldGVPcmRlcicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBQYXltZW50TWV0aG9kICovXHJcbiAgRGVsZXRlUGF5bWVudE1ldGhvZCA9ICdEZWxldGVQYXltZW50TWV0aG9kJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIFByb2R1Y3QgKi9cclxuICBEZWxldGVQcm9kdWN0ID0gJ0RlbGV0ZVByb2R1Y3QnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgUHJvbW90aW9uICovXHJcbiAgRGVsZXRlUHJvbW90aW9uID0gJ0RlbGV0ZVByb21vdGlvbicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBQYXltZW50TWV0aG9kcywgU2hpcHBpbmdNZXRob2RzLCBUYXhDYXRlZ29yaWVzLCBUYXhSYXRlcywgWm9uZXMsIENvdW50cmllcywgU3lzdGVtICYgR2xvYmFsU2V0dGluZ3MgKi9cclxuICBEZWxldGVTZXR0aW5ncyA9ICdEZWxldGVTZXR0aW5ncycsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBTaGlwcGluZ01ldGhvZCAqL1xyXG4gIERlbGV0ZVNoaXBwaW5nTWV0aG9kID0gJ0RlbGV0ZVNoaXBwaW5nTWV0aG9kJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIFN5c3RlbSAqL1xyXG4gIERlbGV0ZVN5c3RlbSA9ICdEZWxldGVTeXN0ZW0nLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgVGFnICovXHJcbiAgRGVsZXRlVGFnID0gJ0RlbGV0ZVRhZycsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBUYXhDYXRlZ29yeSAqL1xyXG4gIERlbGV0ZVRheENhdGVnb3J5ID0gJ0RlbGV0ZVRheENhdGVnb3J5JyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIFRheFJhdGUgKi9cclxuICBEZWxldGVUYXhSYXRlID0gJ0RlbGV0ZVRheFJhdGUnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgWm9uZSAqL1xyXG4gIERlbGV0ZVpvbmUgPSAnRGVsZXRlWm9uZScsXHJcbiAgLyoqIE93bmVyIG1lYW5zIHRoZSB1c2VyIG93bnMgdGhpcyBlbnRpdHksIGUuZy4gYSBDdXN0b21lcidzIG93biBPcmRlciAqL1xyXG4gIE93bmVyID0gJ093bmVyJyxcclxuICBQbGFjZWhvbGRlciA9ICdQbGFjZWhvbGRlcicsXHJcbiAgLyoqIFB1YmxpYyBtZWFucyBhbnkgdW5hdXRoZW50aWNhdGVkIHVzZXIgbWF5IHBlcmZvcm0gdGhlIG9wZXJhdGlvbiAqL1xyXG4gIFB1YmxpYyA9ICdQdWJsaWMnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIEFkbWluaXN0cmF0b3IgKi9cclxuICBSZWFkQWRtaW5pc3RyYXRvciA9ICdSZWFkQWRtaW5pc3RyYXRvcicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgQXNzZXQgKi9cclxuICBSZWFkQXNzZXQgPSAnUmVhZEFzc2V0JyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVhZCBQcm9kdWN0cywgRmFjZXRzLCBBc3NldHMsIENvbGxlY3Rpb25zICovXHJcbiAgUmVhZENhdGFsb2cgPSAnUmVhZENhdGFsb2cnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIENoYW5uZWwgKi9cclxuICBSZWFkQ2hhbm5lbCA9ICdSZWFkQ2hhbm5lbCcsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgQ29sbGVjdGlvbiAqL1xyXG4gIFJlYWRDb2xsZWN0aW9uID0gJ1JlYWRDb2xsZWN0aW9uJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVhZCBDb3VudHJ5ICovXHJcbiAgUmVhZENvdW50cnkgPSAnUmVhZENvdW50cnknLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIEN1c3RvbWVyICovXHJcbiAgUmVhZEN1c3RvbWVyID0gJ1JlYWRDdXN0b21lcicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgQ3VzdG9tZXJHcm91cCAqL1xyXG4gIFJlYWRDdXN0b21lckdyb3VwID0gJ1JlYWRDdXN0b21lckdyb3VwJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVhZCBGYWNldCAqL1xyXG4gIFJlYWRGYWNldCA9ICdSZWFkRmFjZXQnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIE9yZGVyICovXHJcbiAgUmVhZE9yZGVyID0gJ1JlYWRPcmRlcicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgUGF5bWVudE1ldGhvZCAqL1xyXG4gIFJlYWRQYXltZW50TWV0aG9kID0gJ1JlYWRQYXltZW50TWV0aG9kJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVhZCBQcm9kdWN0ICovXHJcbiAgUmVhZFByb2R1Y3QgPSAnUmVhZFByb2R1Y3QnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIFByb21vdGlvbiAqL1xyXG4gIFJlYWRQcm9tb3Rpb24gPSAnUmVhZFByb21vdGlvbicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgUGF5bWVudE1ldGhvZHMsIFNoaXBwaW5nTWV0aG9kcywgVGF4Q2F0ZWdvcmllcywgVGF4UmF0ZXMsIFpvbmVzLCBDb3VudHJpZXMsIFN5c3RlbSAmIEdsb2JhbFNldHRpbmdzICovXHJcbiAgUmVhZFNldHRpbmdzID0gJ1JlYWRTZXR0aW5ncycsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgU2hpcHBpbmdNZXRob2QgKi9cclxuICBSZWFkU2hpcHBpbmdNZXRob2QgPSAnUmVhZFNoaXBwaW5nTWV0aG9kJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVhZCBTeXN0ZW0gKi9cclxuICBSZWFkU3lzdGVtID0gJ1JlYWRTeXN0ZW0nLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIFRhZyAqL1xyXG4gIFJlYWRUYWcgPSAnUmVhZFRhZycsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgVGF4Q2F0ZWdvcnkgKi9cclxuICBSZWFkVGF4Q2F0ZWdvcnkgPSAnUmVhZFRheENhdGVnb3J5JyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVhZCBUYXhSYXRlICovXHJcbiAgUmVhZFRheFJhdGUgPSAnUmVhZFRheFJhdGUnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIFpvbmUgKi9cclxuICBSZWFkWm9uZSA9ICdSZWFkWm9uZScsXHJcbiAgLyoqIFN1cGVyQWRtaW4gaGFzIHVucmVzdHJpY3RlZCBhY2Nlc3MgdG8gYWxsIG9wZXJhdGlvbnMgKi9cclxuICBTdXBlckFkbWluID0gJ1N1cGVyQWRtaW4nLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgQWRtaW5pc3RyYXRvciAqL1xyXG4gIFVwZGF0ZUFkbWluaXN0cmF0b3IgPSAnVXBkYXRlQWRtaW5pc3RyYXRvcicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBBc3NldCAqL1xyXG4gIFVwZGF0ZUFzc2V0ID0gJ1VwZGF0ZUFzc2V0JyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIFByb2R1Y3RzLCBGYWNldHMsIEFzc2V0cywgQ29sbGVjdGlvbnMgKi9cclxuICBVcGRhdGVDYXRhbG9nID0gJ1VwZGF0ZUNhdGFsb2cnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgQ2hhbm5lbCAqL1xyXG4gIFVwZGF0ZUNoYW5uZWwgPSAnVXBkYXRlQ2hhbm5lbCcsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBDb2xsZWN0aW9uICovXHJcbiAgVXBkYXRlQ29sbGVjdGlvbiA9ICdVcGRhdGVDb2xsZWN0aW9uJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIENvdW50cnkgKi9cclxuICBVcGRhdGVDb3VudHJ5ID0gJ1VwZGF0ZUNvdW50cnknLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgQ3VzdG9tZXIgKi9cclxuICBVcGRhdGVDdXN0b21lciA9ICdVcGRhdGVDdXN0b21lcicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBDdXN0b21lckdyb3VwICovXHJcbiAgVXBkYXRlQ3VzdG9tZXJHcm91cCA9ICdVcGRhdGVDdXN0b21lckdyb3VwJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIEZhY2V0ICovXHJcbiAgVXBkYXRlRmFjZXQgPSAnVXBkYXRlRmFjZXQnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgR2xvYmFsU2V0dGluZ3MgKi9cclxuICBVcGRhdGVHbG9iYWxTZXR0aW5ncyA9ICdVcGRhdGVHbG9iYWxTZXR0aW5ncycsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBPcmRlciAqL1xyXG4gIFVwZGF0ZU9yZGVyID0gJ1VwZGF0ZU9yZGVyJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIFBheW1lbnRNZXRob2QgKi9cclxuICBVcGRhdGVQYXltZW50TWV0aG9kID0gJ1VwZGF0ZVBheW1lbnRNZXRob2QnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgUHJvZHVjdCAqL1xyXG4gIFVwZGF0ZVByb2R1Y3QgPSAnVXBkYXRlUHJvZHVjdCcsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBQcm9tb3Rpb24gKi9cclxuICBVcGRhdGVQcm9tb3Rpb24gPSAnVXBkYXRlUHJvbW90aW9uJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIFBheW1lbnRNZXRob2RzLCBTaGlwcGluZ01ldGhvZHMsIFRheENhdGVnb3JpZXMsIFRheFJhdGVzLCBab25lcywgQ291bnRyaWVzLCBTeXN0ZW0gJiBHbG9iYWxTZXR0aW5ncyAqL1xyXG4gIFVwZGF0ZVNldHRpbmdzID0gJ1VwZGF0ZVNldHRpbmdzJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIFNoaXBwaW5nTWV0aG9kICovXHJcbiAgVXBkYXRlU2hpcHBpbmdNZXRob2QgPSAnVXBkYXRlU2hpcHBpbmdNZXRob2QnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgU3lzdGVtICovXHJcbiAgVXBkYXRlU3lzdGVtID0gJ1VwZGF0ZVN5c3RlbScsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBUYWcgKi9cclxuICBVcGRhdGVUYWcgPSAnVXBkYXRlVGFnJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIFRheENhdGVnb3J5ICovXHJcbiAgVXBkYXRlVGF4Q2F0ZWdvcnkgPSAnVXBkYXRlVGF4Q2F0ZWdvcnknLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgVGF4UmF0ZSAqL1xyXG4gIFVwZGF0ZVRheFJhdGUgPSAnVXBkYXRlVGF4UmF0ZScsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBab25lICovXHJcbiAgVXBkYXRlWm9uZSA9ICdVcGRhdGVab25lJ1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQZXJtaXNzaW9uRGVmaW5pdGlvbiA9IHtcclxuICBfX3R5cGVuYW1lPzogJ1Blcm1pc3Npb25EZWZpbml0aW9uJztcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgYXNzaWduYWJsZTogU2NhbGFyc1snQm9vbGVhbiddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJldmlld0NvbGxlY3Rpb25WYXJpYW50c0lucHV0ID0ge1xyXG4gIHBhcmVudElkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbiAgZmlsdGVyczogQXJyYXk8Q29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQ+O1xyXG59O1xyXG5cclxuLyoqIFRoZSBwcmljZSByYW5nZSB3aGVyZSB0aGUgcmVzdWx0IGhhcyBtb3JlIHRoYW4gb25lIHByaWNlICovXHJcbmV4cG9ydCB0eXBlIFByaWNlUmFuZ2UgPSB7XHJcbiAgX190eXBlbmFtZT86ICdQcmljZVJhbmdlJztcclxuICBtaW46IFNjYWxhcnNbJ0ludCddO1xyXG4gIG1heDogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0ID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1Byb2R1Y3QnO1xyXG4gIGVuYWJsZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICBjaGFubmVsczogQXJyYXk8Q2hhbm5lbD47XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBzbHVnOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZmVhdHVyZWRBc3NldD86IE1heWJlPEFzc2V0PjtcclxuICBhc3NldHM6IEFycmF5PEFzc2V0PjtcclxuICAvKiogUmV0dXJucyBhbGwgUHJvZHVjdFZhcmlhbnRzICovXHJcbiAgdmFyaWFudHM6IEFycmF5PFByb2R1Y3RWYXJpYW50PjtcclxuICAvKiogUmV0dXJucyBhIHBhZ2luYXRlZCwgc29ydGFibGUsIGZpbHRlcmFibGUgbGlzdCBvZiBQcm9kdWN0VmFyaWFudHMgKi9cclxuICB2YXJpYW50TGlzdDogUHJvZHVjdFZhcmlhbnRMaXN0O1xyXG4gIG9wdGlvbkdyb3VwczogQXJyYXk8UHJvZHVjdE9wdGlvbkdyb3VwPjtcclxuICBmYWNldFZhbHVlczogQXJyYXk8RmFjZXRWYWx1ZT47XHJcbiAgdHJhbnNsYXRpb25zOiBBcnJheTxQcm9kdWN0VHJhbnNsYXRpb24+O1xyXG4gIGNvbGxlY3Rpb25zOiBBcnJheTxDb2xsZWN0aW9uPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RWYXJpYW50TGlzdEFyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPFByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnM+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdEZpbHRlclBhcmFtZXRlciA9IHtcclxuICBlbmFibGVkPzogTWF5YmU8Qm9vbGVhbk9wZXJhdG9ycz47XHJcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgbGFuZ3VhZ2VDb2RlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBuYW1lPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBzbHVnPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBkZXNjcmlwdGlvbj86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0TGlzdCA9IFBhZ2luYXRlZExpc3QgJiB7XHJcbiAgX190eXBlbmFtZT86ICdQcm9kdWN0TGlzdCc7XHJcbiAgaXRlbXM6IEFycmF5PFByb2R1Y3Q+O1xyXG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdExpc3RPcHRpb25zID0ge1xyXG4gIC8qKiBTa2lwcyB0aGUgZmlyc3QgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICBza2lwPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBUYWtlcyBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHRha2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGljaCBwcm9wZXJ0aWVzIHRvIHNvcnQgdGhlIHJlc3VsdHMgYnkgKi9cclxuICBzb3J0PzogTWF5YmU8UHJvZHVjdFNvcnRQYXJhbWV0ZXI+O1xyXG4gIC8qKiBBbGxvd3MgdGhlIHJlc3VsdHMgdG8gYmUgZmlsdGVyZWQgKi9cclxuICBmaWx0ZXI/OiBNYXliZTxQcm9kdWN0RmlsdGVyUGFyYW1ldGVyPjtcclxuICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgbXVsdGlwbGUgXCJmaWx0ZXJcIiBhcmd1bWVudHMgc2hvdWxkIGJlIGNvbWJpbmVzIHdpdGggYSBsb2dpY2FsIEFORCBvciBPUiBvcGVyYXRpb24uIERlZmF1bHRzIHRvIEFORC4gKi9cclxuICBmaWx0ZXJPcGVyYXRvcj86IE1heWJlPExvZ2ljYWxPcGVyYXRvcj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0T3B0aW9uID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb24nO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZ3JvdXBJZDogU2NhbGFyc1snSUQnXTtcclxuICBncm91cDogUHJvZHVjdE9wdGlvbkdyb3VwO1xyXG4gIHRyYW5zbGF0aW9uczogQXJyYXk8UHJvZHVjdE9wdGlvblRyYW5zbGF0aW9uPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdE9wdGlvbkdyb3VwID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25Hcm91cCc7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBvcHRpb25zOiBBcnJheTxQcm9kdWN0T3B0aW9uPjtcclxuICB0cmFuc2xhdGlvbnM6IEFycmF5PFByb2R1Y3RPcHRpb25Hcm91cFRyYW5zbGF0aW9uPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdE9wdGlvbkdyb3VwVHJhbnNsYXRpb24gPSB7XHJcbiAgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uR3JvdXBUcmFuc2xhdGlvbic7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RPcHRpb25Hcm91cFRyYW5zbGF0aW9uSW5wdXQgPSB7XHJcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICBuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0T3B0aW9uSW5Vc2VFcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbkluVXNlRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIG9wdGlvbkdyb3VwQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgcHJvZHVjdFZhcmlhbnRDb3VudDogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0T3B0aW9uVHJhbnNsYXRpb24gPSB7XHJcbiAgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uVHJhbnNsYXRpb24nO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0T3B0aW9uVHJhbnNsYXRpb25JbnB1dCA9IHtcclxuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIG5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RTb3J0UGFyYW1ldGVyID0ge1xyXG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHVwZGF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgbmFtZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgc2x1Zz86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdFRyYW5zbGF0aW9uID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnUHJvZHVjdFRyYW5zbGF0aW9uJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHNsdWc6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RUcmFuc2xhdGlvbklucHV0ID0ge1xyXG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgbmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBzbHVnPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0VmFyaWFudCA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudCc7XHJcbiAgZW5hYmxlZDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIHRyYWNrSW52ZW50b3J5OiBHbG9iYWxGbGFnO1xyXG4gIHN0b2NrT25IYW5kOiBTY2FsYXJzWydJbnQnXTtcclxuICBzdG9ja0FsbG9jYXRlZDogU2NhbGFyc1snSW50J107XHJcbiAgb3V0T2ZTdG9ja1RocmVzaG9sZDogU2NhbGFyc1snSW50J107XHJcbiAgdXNlR2xvYmFsT3V0T2ZTdG9ja1RocmVzaG9sZDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIHN0b2NrTW92ZW1lbnRzOiBTdG9ja01vdmVtZW50TGlzdDtcclxuICBjaGFubmVsczogQXJyYXk8Q2hhbm5lbD47XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgcHJvZHVjdDogUHJvZHVjdDtcclxuICBwcm9kdWN0SWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICBza3U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGZlYXR1cmVkQXNzZXQ/OiBNYXliZTxBc3NldD47XHJcbiAgYXNzZXRzOiBBcnJheTxBc3NldD47XHJcbiAgcHJpY2U6IFNjYWxhcnNbJ0ludCddO1xyXG4gIGN1cnJlbmN5Q29kZTogQ3VycmVuY3lDb2RlO1xyXG4gIHByaWNlV2l0aFRheDogU2NhbGFyc1snSW50J107XHJcbiAgc3RvY2tMZXZlbDogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdGF4UmF0ZUFwcGxpZWQ6IFRheFJhdGU7XHJcbiAgdGF4Q2F0ZWdvcnk6IFRheENhdGVnb3J5O1xyXG4gIG9wdGlvbnM6IEFycmF5PFByb2R1Y3RPcHRpb24+O1xyXG4gIGZhY2V0VmFsdWVzOiBBcnJheTxGYWNldFZhbHVlPjtcclxuICB0cmFuc2xhdGlvbnM6IEFycmF5PFByb2R1Y3RWYXJpYW50VHJhbnNsYXRpb24+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdFZhcmlhbnRTdG9ja01vdmVtZW50c0FyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPFN0b2NrTW92ZW1lbnRMaXN0T3B0aW9ucz47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0VmFyaWFudEZpbHRlclBhcmFtZXRlciA9IHtcclxuICBlbmFibGVkPzogTWF5YmU8Qm9vbGVhbk9wZXJhdG9ycz47XHJcbiAgdHJhY2tJbnZlbnRvcnk/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIHN0b2NrT25IYW5kPzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICBzdG9ja0FsbG9jYXRlZD86IE1heWJlPE51bWJlck9wZXJhdG9ycz47XHJcbiAgb3V0T2ZTdG9ja1RocmVzaG9sZD86IE1heWJlPE51bWJlck9wZXJhdG9ycz47XHJcbiAgdXNlR2xvYmFsT3V0T2ZTdG9ja1RocmVzaG9sZD86IE1heWJlPEJvb2xlYW5PcGVyYXRvcnM+O1xyXG4gIGlkPzogTWF5YmU8SWRPcGVyYXRvcnM+O1xyXG4gIHByb2R1Y3RJZD86IE1heWJlPElkT3BlcmF0b3JzPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICB1cGRhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICBsYW5ndWFnZUNvZGU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIHNrdT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgbmFtZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgcHJpY2U/OiBNYXliZTxOdW1iZXJPcGVyYXRvcnM+O1xyXG4gIGN1cnJlbmN5Q29kZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgcHJpY2VXaXRoVGF4PzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICBzdG9ja0xldmVsPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RWYXJpYW50TGlzdCA9IFBhZ2luYXRlZExpc3QgJiB7XHJcbiAgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudExpc3QnO1xyXG4gIGl0ZW1zOiBBcnJheTxQcm9kdWN0VmFyaWFudD47XHJcbiAgdG90YWxJdGVtczogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0VmFyaWFudExpc3RPcHRpb25zID0ge1xyXG4gIC8qKiBTa2lwcyB0aGUgZmlyc3QgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICBza2lwPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBUYWtlcyBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHRha2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGljaCBwcm9wZXJ0aWVzIHRvIHNvcnQgdGhlIHJlc3VsdHMgYnkgKi9cclxuICBzb3J0PzogTWF5YmU8UHJvZHVjdFZhcmlhbnRTb3J0UGFyYW1ldGVyPjtcclxuICAvKiogQWxsb3dzIHRoZSByZXN1bHRzIHRvIGJlIGZpbHRlcmVkICovXHJcbiAgZmlsdGVyPzogTWF5YmU8UHJvZHVjdFZhcmlhbnRGaWx0ZXJQYXJhbWV0ZXI+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hldGhlciBtdWx0aXBsZSBcImZpbHRlclwiIGFyZ3VtZW50cyBzaG91bGQgYmUgY29tYmluZXMgd2l0aCBhIGxvZ2ljYWwgQU5EIG9yIE9SIG9wZXJhdGlvbi4gRGVmYXVsdHMgdG8gQU5ELiAqL1xyXG4gIGZpbHRlck9wZXJhdG9yPzogTWF5YmU8TG9naWNhbE9wZXJhdG9yPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RWYXJpYW50U29ydFBhcmFtZXRlciA9IHtcclxuICBzdG9ja09uSGFuZD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgc3RvY2tBbGxvY2F0ZWQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIG91dE9mU3RvY2tUaHJlc2hvbGQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBwcm9kdWN0SWQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBza3U/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIG5hbWU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHByaWNlPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBwcmljZVdpdGhUYXg/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHN0b2NrTGV2ZWw/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdFZhcmlhbnRUcmFuc2xhdGlvbiA9IHtcclxuICBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50VHJhbnNsYXRpb24nO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0VmFyaWFudFRyYW5zbGF0aW9uSW5wdXQgPSB7XHJcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICBuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9tb3Rpb24gPSBOb2RlICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnUHJvbW90aW9uJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHN0YXJ0c0F0PzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XHJcbiAgZW5kc0F0PzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XHJcbiAgY291cG9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBwZXJDdXN0b21lclVzYWdlTGltaXQ/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZW5hYmxlZDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGNvbmRpdGlvbnM6IEFycmF5PENvbmZpZ3VyYWJsZU9wZXJhdGlvbj47XHJcbiAgYWN0aW9uczogQXJyYXk8Q29uZmlndXJhYmxlT3BlcmF0aW9uPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvbW90aW9uRmlsdGVyUGFyYW1ldGVyID0ge1xyXG4gIGlkPzogTWF5YmU8SWRPcGVyYXRvcnM+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xyXG4gIHVwZGF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xyXG4gIHN0YXJ0c0F0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgZW5kc0F0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgY291cG9uQ29kZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgcGVyQ3VzdG9tZXJVc2FnZUxpbWl0PzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICBuYW1lPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBlbmFibGVkPzogTWF5YmU8Qm9vbGVhbk9wZXJhdG9ycz47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9tb3Rpb25MaXN0ID0gUGFnaW5hdGVkTGlzdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1Byb21vdGlvbkxpc3QnO1xyXG4gIGl0ZW1zOiBBcnJheTxQcm9tb3Rpb24+O1xyXG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvbW90aW9uTGlzdE9wdGlvbnMgPSB7XHJcbiAgLyoqIFNraXBzIHRoZSBmaXJzdCBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHNraXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFRha2VzIG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgdGFrZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogU3BlY2lmaWVzIHdoaWNoIHByb3BlcnRpZXMgdG8gc29ydCB0aGUgcmVzdWx0cyBieSAqL1xyXG4gIHNvcnQ/OiBNYXliZTxQcm9tb3Rpb25Tb3J0UGFyYW1ldGVyPjtcclxuICAvKiogQWxsb3dzIHRoZSByZXN1bHRzIHRvIGJlIGZpbHRlcmVkICovXHJcbiAgZmlsdGVyPzogTWF5YmU8UHJvbW90aW9uRmlsdGVyUGFyYW1ldGVyPjtcclxuICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgbXVsdGlwbGUgXCJmaWx0ZXJcIiBhcmd1bWVudHMgc2hvdWxkIGJlIGNvbWJpbmVzIHdpdGggYSBsb2dpY2FsIEFORCBvciBPUiBvcGVyYXRpb24uIERlZmF1bHRzIHRvIEFORC4gKi9cclxuICBmaWx0ZXJPcGVyYXRvcj86IE1heWJlPExvZ2ljYWxPcGVyYXRvcj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9tb3Rpb25Tb3J0UGFyYW1ldGVyID0ge1xyXG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHVwZGF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgc3RhcnRzQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGVuZHNBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgY291cG9uQ29kZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgcGVyQ3VzdG9tZXJVc2FnZUxpbWl0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBuYW1lPzogTWF5YmU8U29ydE9yZGVyPjtcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCBpZiB0aGUgc3BlY2lmaWVkIHF1YW50aXR5IG9mIGFuIE9yZGVyTGluZSBpcyBncmVhdGVyIHRoYW4gdGhlIG51bWJlciBvZiBpdGVtcyBpbiB0aGF0IGxpbmUgKi9cclxuZXhwb3J0IHR5cGUgUXVhbnRpdHlUb29HcmVhdEVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdRdWFudGl0eVRvb0dyZWF0RXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnkgPSB7XHJcbiAgX190eXBlbmFtZT86ICdRdWVyeSc7XHJcbiAgYWN0aXZlQWRtaW5pc3RyYXRvcj86IE1heWJlPEFkbWluaXN0cmF0b3I+O1xyXG4gIGFjdGl2ZUNoYW5uZWw6IENoYW5uZWw7XHJcbiAgYWRtaW5pc3RyYXRvcj86IE1heWJlPEFkbWluaXN0cmF0b3I+O1xyXG4gIGFkbWluaXN0cmF0b3JzOiBBZG1pbmlzdHJhdG9yTGlzdDtcclxuICAvKiogR2V0IGEgc2luZ2xlIEFzc2V0IGJ5IGlkICovXHJcbiAgYXNzZXQ/OiBNYXliZTxBc3NldD47XHJcbiAgLyoqIEdldCBhIGxpc3Qgb2YgQXNzZXRzICovXHJcbiAgYXNzZXRzOiBBc3NldExpc3Q7XHJcbiAgY2hhbm5lbD86IE1heWJlPENoYW5uZWw+O1xyXG4gIGNoYW5uZWxzOiBBcnJheTxDaGFubmVsPjtcclxuICAvKiogR2V0IGEgQ29sbGVjdGlvbiBlaXRoZXIgYnkgaWQgb3Igc2x1Zy4gSWYgbmVpdGhlciBpZCBub3Igc2x1ZyBpcyBzcGVjaWZpZWQsIGFuIGVycm9yIHdpbGwgcmVzdWx0LiAqL1xyXG4gIGNvbGxlY3Rpb24/OiBNYXliZTxDb2xsZWN0aW9uPjtcclxuICBjb2xsZWN0aW9uRmlsdGVyczogQXJyYXk8Q29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbj47XHJcbiAgY29sbGVjdGlvbnM6IENvbGxlY3Rpb25MaXN0O1xyXG4gIGNvdW50cmllczogQ291bnRyeUxpc3Q7XHJcbiAgY291bnRyeT86IE1heWJlPENvdW50cnk+O1xyXG4gIGN1c3RvbWVyPzogTWF5YmU8Q3VzdG9tZXI+O1xyXG4gIGN1c3RvbWVyR3JvdXA/OiBNYXliZTxDdXN0b21lckdyb3VwPjtcclxuICBjdXN0b21lckdyb3VwczogQ3VzdG9tZXJHcm91cExpc3Q7XHJcbiAgY3VzdG9tZXJzOiBDdXN0b21lckxpc3Q7XHJcbiAgLyoqIFJldHVybnMgYSBsaXN0IG9mIGVsaWdpYmxlIHNoaXBwaW5nIG1ldGhvZHMgZm9yIHRoZSBkcmFmdCBPcmRlciAqL1xyXG4gIGVsaWdpYmxlU2hpcHBpbmdNZXRob2RzRm9yRHJhZnRPcmRlcjogQXJyYXk8U2hpcHBpbmdNZXRob2RRdW90ZT47XHJcbiAgZmFjZXQ/OiBNYXliZTxGYWNldD47XHJcbiAgZmFjZXRzOiBGYWNldExpc3Q7XHJcbiAgZnVsZmlsbG1lbnRIYW5kbGVyczogQXJyYXk8Q29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbj47XHJcbiAgZ2xvYmFsU2V0dGluZ3M6IEdsb2JhbFNldHRpbmdzO1xyXG4gIGpvYj86IE1heWJlPEpvYj47XHJcbiAgam9iQnVmZmVyU2l6ZTogQXJyYXk8Sm9iQnVmZmVyU2l6ZT47XHJcbiAgam9iUXVldWVzOiBBcnJheTxKb2JRdWV1ZT47XHJcbiAgam9iczogSm9iTGlzdDtcclxuICBqb2JzQnlJZDogQXJyYXk8Sm9iPjtcclxuICBtZT86IE1heWJlPEN1cnJlbnRVc2VyPjtcclxuICBuZXR3b3JrU3RhdHVzOiBOZXR3b3JrU3RhdHVzO1xyXG4gIG9yZGVyPzogTWF5YmU8T3JkZXI+O1xyXG4gIG9yZGVyczogT3JkZXJMaXN0O1xyXG4gIHBheW1lbnRNZXRob2Q/OiBNYXliZTxQYXltZW50TWV0aG9kPjtcclxuICBwYXltZW50TWV0aG9kRWxpZ2liaWxpdHlDaGVja2VyczogQXJyYXk8Q29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbj47XHJcbiAgcGF5bWVudE1ldGhvZEhhbmRsZXJzOiBBcnJheTxDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uPjtcclxuICBwYXltZW50TWV0aG9kczogUGF5bWVudE1ldGhvZExpc3Q7XHJcbiAgcGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlczogU2NhbGFyc1snSW50J107XHJcbiAgLyoqIFVzZWQgZm9yIHJlYWwtdGltZSBwcmV2aWV3cyBvZiB0aGUgY29udGVudHMgb2YgYSBDb2xsZWN0aW9uICovXHJcbiAgcHJldmlld0NvbGxlY3Rpb25WYXJpYW50czogUHJvZHVjdFZhcmlhbnRMaXN0O1xyXG4gIC8qKiBHZXQgYSBQcm9kdWN0IGVpdGhlciBieSBpZCBvciBzbHVnLiBJZiBuZWl0aGVyIGlkIG5vciBzbHVnIGlzIHNwZWNpZmllZCwgYW4gZXJyb3Igd2lsbCByZXN1bHQuICovXHJcbiAgcHJvZHVjdD86IE1heWJlPFByb2R1Y3Q+O1xyXG4gIHByb2R1Y3RPcHRpb25Hcm91cD86IE1heWJlPFByb2R1Y3RPcHRpb25Hcm91cD47XHJcbiAgcHJvZHVjdE9wdGlvbkdyb3VwczogQXJyYXk8UHJvZHVjdE9wdGlvbkdyb3VwPjtcclxuICAvKiogR2V0IGEgUHJvZHVjdFZhcmlhbnQgYnkgaWQgKi9cclxuICBwcm9kdWN0VmFyaWFudD86IE1heWJlPFByb2R1Y3RWYXJpYW50PjtcclxuICAvKiogTGlzdCBQcm9kdWN0VmFyaWFudHMgZWl0aGVyIGFsbCBvciBmb3IgdGhlIHNwZWNpZmljIHByb2R1Y3QuICovXHJcbiAgcHJvZHVjdFZhcmlhbnRzOiBQcm9kdWN0VmFyaWFudExpc3Q7XHJcbiAgLyoqIExpc3QgUHJvZHVjdHMgKi9cclxuICBwcm9kdWN0czogUHJvZHVjdExpc3Q7XHJcbiAgcHJvbW90aW9uPzogTWF5YmU8UHJvbW90aW9uPjtcclxuICBwcm9tb3Rpb25BY3Rpb25zOiBBcnJheTxDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uPjtcclxuICBwcm9tb3Rpb25Db25kaXRpb25zOiBBcnJheTxDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uPjtcclxuICBwcm9tb3Rpb25zOiBQcm9tb3Rpb25MaXN0O1xyXG4gIHJvbGU/OiBNYXliZTxSb2xlPjtcclxuICByb2xlczogUm9sZUxpc3Q7XHJcbiAgc2VhcmNoOiBTZWFyY2hSZXNwb25zZTtcclxuICBzaGlwcGluZ0NhbGN1bGF0b3JzOiBBcnJheTxDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uPjtcclxuICBzaGlwcGluZ0VsaWdpYmlsaXR5Q2hlY2tlcnM6IEFycmF5PENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZmluaXRpb24+O1xyXG4gIHNoaXBwaW5nTWV0aG9kPzogTWF5YmU8U2hpcHBpbmdNZXRob2Q+O1xyXG4gIHNoaXBwaW5nTWV0aG9kczogU2hpcHBpbmdNZXRob2RMaXN0O1xyXG4gIHRhZzogVGFnO1xyXG4gIHRhZ3M6IFRhZ0xpc3Q7XHJcbiAgdGF4Q2F0ZWdvcmllczogQXJyYXk8VGF4Q2F0ZWdvcnk+O1xyXG4gIHRheENhdGVnb3J5PzogTWF5YmU8VGF4Q2F0ZWdvcnk+O1xyXG4gIHRheFJhdGU/OiBNYXliZTxUYXhSYXRlPjtcclxuICB0YXhSYXRlczogVGF4UmF0ZUxpc3Q7XHJcbiAgdGVzdEVsaWdpYmxlU2hpcHBpbmdNZXRob2RzOiBBcnJheTxTaGlwcGluZ01ldGhvZFF1b3RlPjtcclxuICB0ZXN0U2hpcHBpbmdNZXRob2Q6IFRlc3RTaGlwcGluZ01ldGhvZFJlc3VsdDtcclxuICB1aVN0YXRlOiBVaVN0YXRlO1xyXG4gIHVzZXJTdGF0dXM6IFVzZXJTdGF0dXM7XHJcbiAgem9uZT86IE1heWJlPFpvbmU+O1xyXG4gIHpvbmVzOiBBcnJheTxab25lPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeUFkbWluaXN0cmF0b3JBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5QWRtaW5pc3RyYXRvcnNBcmdzID0ge1xyXG4gIG9wdGlvbnM/OiBNYXliZTxBZG1pbmlzdHJhdG9yTGlzdE9wdGlvbnM+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5QXNzZXRBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5QXNzZXRzQXJncyA9IHtcclxuICBvcHRpb25zPzogTWF5YmU8QXNzZXRMaXN0T3B0aW9ucz47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlDaGFubmVsQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeUNvbGxlY3Rpb25BcmdzID0ge1xyXG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbiAgc2x1Zz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeUNvbGxlY3Rpb25zQXJncyA9IHtcclxuICBvcHRpb25zPzogTWF5YmU8Q29sbGVjdGlvbkxpc3RPcHRpb25zPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeUNvdW50cmllc0FyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPENvdW50cnlMaXN0T3B0aW9ucz47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlDb3VudHJ5QXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeUN1c3RvbWVyQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeUN1c3RvbWVyR3JvdXBBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5Q3VzdG9tZXJHcm91cHNBcmdzID0ge1xyXG4gIG9wdGlvbnM/OiBNYXliZTxDdXN0b21lckdyb3VwTGlzdE9wdGlvbnM+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5Q3VzdG9tZXJzQXJncyA9IHtcclxuICBvcHRpb25zPzogTWF5YmU8Q3VzdG9tZXJMaXN0T3B0aW9ucz47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlFbGlnaWJsZVNoaXBwaW5nTWV0aG9kc0ZvckRyYWZ0T3JkZXJBcmdzID0ge1xyXG4gIG9yZGVySWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlGYWNldEFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlGYWNldHNBcmdzID0ge1xyXG4gIG9wdGlvbnM/OiBNYXliZTxGYWNldExpc3RPcHRpb25zPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeUpvYkFyZ3MgPSB7XHJcbiAgam9iSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlKb2JCdWZmZXJTaXplQXJncyA9IHtcclxuICBidWZmZXJJZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydTdHJpbmcnXT4+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5Sm9ic0FyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPEpvYkxpc3RPcHRpb25zPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeUpvYnNCeUlkQXJncyA9IHtcclxuICBqb2JJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5T3JkZXJBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5T3JkZXJzQXJncyA9IHtcclxuICBvcHRpb25zPzogTWF5YmU8T3JkZXJMaXN0T3B0aW9ucz47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlQYXltZW50TWV0aG9kQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVBheW1lbnRNZXRob2RzQXJncyA9IHtcclxuICBvcHRpb25zPzogTWF5YmU8UGF5bWVudE1ldGhvZExpc3RPcHRpb25zPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVByZXZpZXdDb2xsZWN0aW9uVmFyaWFudHNBcmdzID0ge1xyXG4gIGlucHV0OiBQcmV2aWV3Q29sbGVjdGlvblZhcmlhbnRzSW5wdXQ7XHJcbiAgb3B0aW9ucz86IE1heWJlPFByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnM+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5UHJvZHVjdEFyZ3MgPSB7XHJcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBzbHVnPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5UHJvZHVjdE9wdGlvbkdyb3VwQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVByb2R1Y3RPcHRpb25Hcm91cHNBcmdzID0ge1xyXG4gIGZpbHRlclRlcm0/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlQcm9kdWN0VmFyaWFudEFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlQcm9kdWN0VmFyaWFudHNBcmdzID0ge1xyXG4gIG9wdGlvbnM/OiBNYXliZTxQcm9kdWN0VmFyaWFudExpc3RPcHRpb25zPjtcclxuICBwcm9kdWN0SWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVByb2R1Y3RzQXJncyA9IHtcclxuICBvcHRpb25zPzogTWF5YmU8UHJvZHVjdExpc3RPcHRpb25zPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVByb21vdGlvbkFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlQcm9tb3Rpb25zQXJncyA9IHtcclxuICBvcHRpb25zPzogTWF5YmU8UHJvbW90aW9uTGlzdE9wdGlvbnM+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5Um9sZUFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlSb2xlc0FyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPFJvbGVMaXN0T3B0aW9ucz47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hBcmdzID0ge1xyXG4gIGlucHV0OiBTZWFyY2hJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVNoaXBwaW5nTWV0aG9kQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVNoaXBwaW5nTWV0aG9kc0FyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPFNoaXBwaW5nTWV0aG9kTGlzdE9wdGlvbnM+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5VGFnQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVRhZ3NBcmdzID0ge1xyXG4gIG9wdGlvbnM/OiBNYXliZTxUYWdMaXN0T3B0aW9ucz47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlUYXhDYXRlZ29yeUFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlUYXhSYXRlQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVRheFJhdGVzQXJncyA9IHtcclxuICBvcHRpb25zPzogTWF5YmU8VGF4UmF0ZUxpc3RPcHRpb25zPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVRlc3RFbGlnaWJsZVNoaXBwaW5nTWV0aG9kc0FyZ3MgPSB7XHJcbiAgaW5wdXQ6IFRlc3RFbGlnaWJsZVNoaXBwaW5nTWV0aG9kc0lucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5VGVzdFNoaXBwaW5nTWV0aG9kQXJncyA9IHtcclxuICBpbnB1dDogVGVzdFNoaXBwaW5nTWV0aG9kSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlab25lQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlZnVuZCA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdSZWZ1bmQnO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgaXRlbXM6IFNjYWxhcnNbJ0ludCddO1xyXG4gIHNoaXBwaW5nOiBTY2FsYXJzWydJbnQnXTtcclxuICBhZGp1c3RtZW50OiBTY2FsYXJzWydJbnQnXTtcclxuICB0b3RhbDogU2NhbGFyc1snSW50J107XHJcbiAgbWV0aG9kPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHN0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0cmFuc2FjdGlvbklkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHJlYXNvbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBvcmRlckl0ZW1zOiBBcnJheTxPcmRlckl0ZW0+O1xyXG4gIHBheW1lbnRJZDogU2NhbGFyc1snSUQnXTtcclxuICBtZXRhZGF0YT86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBSZWZ1bmRPcmRlcklucHV0ID0ge1xyXG4gIGxpbmVzOiBBcnJheTxPcmRlckxpbmVJbnB1dD47XHJcbiAgc2hpcHBpbmc6IFNjYWxhcnNbJ0ludCddO1xyXG4gIGFkanVzdG1lbnQ6IFNjYWxhcnNbJ0ludCddO1xyXG4gIHBheW1lbnRJZDogU2NhbGFyc1snSUQnXTtcclxuICByZWFzb24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBSZWZ1bmRPcmRlclJlc3VsdCA9IFJlZnVuZCB8IFF1YW50aXR5VG9vR3JlYXRFcnJvciB8IE5vdGhpbmdUb1JlZnVuZEVycm9yIHwgT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvciB8IE11bHRpcGxlT3JkZXJFcnJvciB8IFBheW1lbnRPcmRlck1pc21hdGNoRXJyb3IgfCBSZWZ1bmRPcmRlclN0YXRlRXJyb3IgfCBBbHJlYWR5UmVmdW5kZWRFcnJvciB8IFJlZnVuZFN0YXRlVHJhbnNpdGlvbkVycm9yO1xyXG5cclxuLyoqIFJldHVybmVkIGlmIGFuIGF0dGVtcHRpbmcgdG8gcmVmdW5kIGFuIE9yZGVyIHdoaWNoIGlzIG5vdCBpbiB0aGUgZXhwZWN0ZWQgc3RhdGUgKi9cclxuZXhwb3J0IHR5cGUgUmVmdW5kT3JkZXJTdGF0ZUVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdSZWZ1bmRPcmRlclN0YXRlRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIG9yZGVyU3RhdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFJldHVybmVkIHdoZW4gYSBjYWxsIHRvIG1vZGlmeU9yZGVyIGZhaWxzIHRvIGluY2x1ZGUgYSByZWZ1bmRQYXltZW50SWQgZXZlblxyXG4gKiB0aG91Z2ggdGhlIHByaWNlIGhhcyBkZWNyZWFzZWQgYXMgYSByZXN1bHQgb2YgdGhlIGNoYW5nZXMuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBSZWZ1bmRQYXltZW50SWRNaXNzaW5nRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1JlZnVuZFBheW1lbnRJZE1pc3NpbmdFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG4vKiogUmV0dXJuZWQgd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBpbiB0cmFuc2l0aW9uaW5nIHRoZSBSZWZ1bmQgc3RhdGUgKi9cclxuZXhwb3J0IHR5cGUgUmVmdW5kU3RhdGVUcmFuc2l0aW9uRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1JlZnVuZFN0YXRlVHJhbnNpdGlvbkVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0cmFuc2l0aW9uRXJyb3I6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGZyb21TdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdG9TdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnID0gQ3VzdG9tRmllbGQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJztcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0eXBlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBsaXN0OiBTY2FsYXJzWydCb29sZWFuJ107XHJcbiAgbGFiZWw/OiBNYXliZTxBcnJheTxMb2NhbGl6ZWRTdHJpbmc+PjtcclxuICBkZXNjcmlwdGlvbj86IE1heWJlPEFycmF5PExvY2FsaXplZFN0cmluZz4+O1xyXG4gIHJlYWRvbmx5PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBpbnRlcm5hbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgbnVsbGFibGU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIGVudGl0eTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgc2NhbGFyRmllbGRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgdWk/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUmVsZWFzZSA9IE5vZGUgJiBTdG9ja01vdmVtZW50ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnUmVsZWFzZSc7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBwcm9kdWN0VmFyaWFudDogUHJvZHVjdFZhcmlhbnQ7XHJcbiAgdHlwZTogU3RvY2tNb3ZlbWVudFR5cGU7XHJcbiAgcXVhbnRpdHk6IFNjYWxhcnNbJ0ludCddO1xyXG4gIG9yZGVySXRlbTogT3JkZXJJdGVtO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUmVtb3ZlQ29sbGVjdGlvbnNGcm9tQ2hhbm5lbElucHV0ID0ge1xyXG4gIGNvbGxlY3Rpb25JZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGNoYW5uZWxJZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlbW92ZUZhY2V0RnJvbUNoYW5uZWxSZXN1bHQgPSBGYWNldCB8IEZhY2V0SW5Vc2VFcnJvcjtcclxuXHJcbmV4cG9ydCB0eXBlIFJlbW92ZUZhY2V0c0Zyb21DaGFubmVsSW5wdXQgPSB7XHJcbiAgZmFjZXRJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGNoYW5uZWxJZDogU2NhbGFyc1snSUQnXTtcclxuICBmb3JjZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBSZW1vdmVPcHRpb25Hcm91cEZyb21Qcm9kdWN0UmVzdWx0ID0gUHJvZHVjdCB8IFByb2R1Y3RPcHRpb25JblVzZUVycm9yO1xyXG5cclxuZXhwb3J0IHR5cGUgUmVtb3ZlT3JkZXJJdGVtc1Jlc3VsdCA9IE9yZGVyIHwgT3JkZXJNb2RpZmljYXRpb25FcnJvcjtcclxuXHJcbmV4cG9ydCB0eXBlIFJlbW92ZVByb2R1Y3RWYXJpYW50c0Zyb21DaGFubmVsSW5wdXQgPSB7XHJcbiAgcHJvZHVjdFZhcmlhbnRJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+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+O1xyXG4gIC8qKiBBIHJlbGV2YW5jZSBzY29yZSBmb3IgdGhlIHJlc3VsdC4gRGlmZmVycyBiZXR3ZWVuIGRhdGFiYXNlIGltcGxlbWVudGF0aW9ucyAqL1xyXG4gIHNjb3JlOiBTY2FsYXJzWydGbG9hdCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgU2VhcmNoUmVzdWx0QXNzZXQgPSB7XHJcbiAgX190eXBlbmFtZT86ICdTZWFyY2hSZXN1bHRBc3NldCc7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgcHJldmlldzogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZm9jYWxQb2ludD86IE1heWJlPENvb3JkaW5hdGU+O1xyXG59O1xyXG5cclxuLyoqIFRoZSBwcmljZSBvZiBhIHNlYXJjaCByZXN1bHQgcHJvZHVjdCwgZWl0aGVyIGFzIGEgcmFuZ2Ugb3IgYXMgYSBzaW5nbGUgcHJpY2UgKi9cclxuZXhwb3J0IHR5cGUgU2VhcmNoUmVzdWx0UHJpY2UgPSBQcmljZVJhbmdlIHwgU2luZ2xlUHJpY2U7XHJcblxyXG5leHBvcnQgdHlwZSBTZWFyY2hSZXN1bHRTb3J0UGFyYW1ldGVyID0ge1xyXG4gIG5hbWU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHByaWNlPzogTWF5YmU8U29ydE9yZGVyPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFNlcnZlckNvbmZpZyA9IHtcclxuICBfX3R5cGVuYW1lPzogJ1NlcnZlckNvbmZpZyc7XHJcbiAgb3JkZXJQcm9jZXNzOiBBcnJheTxPcmRlclByb2Nlc3NTdGF0ZT47XHJcbiAgcGVybWl0dGVkQXNzZXRUeXBlczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHBlcm1pc3Npb25zOiBBcnJheTxQZXJtaXNzaW9uRGVmaW5pdGlvbj47XHJcbiAgY3VzdG9tRmllbGRDb25maWc6IEN1c3RvbUZpZWxkcztcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFNldEN1c3RvbWVyRm9yRHJhZnRPcmRlclJlc3VsdCA9IE9yZGVyIHwgRW1haWxBZGRyZXNzQ29uZmxpY3RFcnJvcjtcclxuXHJcbmV4cG9ydCB0eXBlIFNldE9yZGVyU2hpcHBpbmdNZXRob2RSZXN1bHQgPSBPcmRlciB8IE9yZGVyTW9kaWZpY2F0aW9uRXJyb3IgfCBJbmVsaWdpYmxlU2hpcHBpbmdNZXRob2RFcnJvciB8IE5vQWN0aXZlT3JkZXJFcnJvcjtcclxuXHJcbi8qKiBSZXR1cm5lZCBpZiB0aGUgUGF5bWVudCBzZXR0bGVtZW50IGZhaWxzICovXHJcbmV4cG9ydCB0eXBlIFNldHRsZVBheW1lbnRFcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnU2V0dGxlUGF5bWVudEVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBwYXltZW50RXJyb3JNZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFNldHRsZVBheW1lbnRSZXN1bHQgPSBQYXltZW50IHwgU2V0dGxlUGF5bWVudEVycm9yIHwgUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yIHwgT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcjtcclxuXHJcbmV4cG9ydCB0eXBlIFNldHRsZVJlZnVuZElucHV0ID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIHRyYW5zYWN0aW9uSWQ6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgU2V0dGxlUmVmdW5kUmVzdWx0ID0gUmVmdW5kIHwgUmVmdW5kU3RhdGVUcmFuc2l0aW9uRXJyb3I7XHJcblxyXG5leHBvcnQgdHlwZSBTaGlwcGluZ0xpbmUgPSB7XHJcbiAgX190eXBlbmFtZT86ICdTaGlwcGluZ0xpbmUnO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIHNoaXBwaW5nTWV0aG9kOiBTaGlwcGluZ01ldGhvZDtcclxuICBwcmljZTogU2NhbGFyc1snSW50J107XHJcbiAgcHJpY2VXaXRoVGF4OiBTY2FsYXJzWydJbnQnXTtcclxuICBkaXNjb3VudGVkUHJpY2U6IFNjYWxhcnNbJ0ludCddO1xyXG4gIGRpc2NvdW50ZWRQcmljZVdpdGhUYXg6IFNjYWxhcnNbJ0ludCddO1xyXG4gIGRpc2NvdW50czogQXJyYXk8RGlzY291bnQ+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgU2hpcHBpbmdNZXRob2QgPSBOb2RlICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnU2hpcHBpbmdNZXRob2QnO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGZ1bGZpbGxtZW50SGFuZGxlckNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGNoZWNrZXI6IENvbmZpZ3VyYWJsZU9wZXJhdGlvbjtcclxuICBjYWxjdWxhdG9yOiBDb25maWd1cmFibGVPcGVyYXRpb247XHJcbiAgdHJhbnNsYXRpb25zOiBBcnJheTxTaGlwcGluZ01ldGhvZFRyYW5zbGF0aW9uPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgU2hpcHBpbmdNZXRob2RGaWx0ZXJQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgbGFuZ3VhZ2VDb2RlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBjb2RlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBuYW1lPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBkZXNjcmlwdGlvbj86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgZnVsZmlsbG1lbnRIYW5kbGVyQ29kZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBTaGlwcGluZ01ldGhvZExpc3QgPSBQYWdpbmF0ZWRMaXN0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnU2hpcHBpbmdNZXRob2RMaXN0JztcclxuICBpdGVtczogQXJyYXk8U2hpcHBpbmdNZXRob2Q+O1xyXG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgU2hpcHBpbmdNZXRob2RMaXN0T3B0aW9ucyA9IHtcclxuICAvKiogU2tpcHMgdGhlIGZpcnN0IG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgc2tpcD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogVGFrZXMgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICB0YWtlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hpY2ggcHJvcGVydGllcyB0byBzb3J0IHRoZSByZXN1bHRzIGJ5ICovXHJcbiAgc29ydD86IE1heWJlPFNoaXBwaW5nTWV0aG9kU29ydFBhcmFtZXRlcj47XHJcbiAgLyoqIEFsbG93cyB0aGUgcmVzdWx0cyB0byBiZSBmaWx0ZXJlZCAqL1xyXG4gIGZpbHRlcj86IE1heWJlPFNoaXBwaW5nTWV0aG9kRmlsdGVyUGFyYW1ldGVyPjtcclxuICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgbXVsdGlwbGUgXCJmaWx0ZXJcIiBhcmd1bWVudHMgc2hvdWxkIGJlIGNvbWJpbmVzIHdpdGggYSBsb2dpY2FsIEFORCBvciBPUiBvcGVyYXRpb24uIERlZmF1bHRzIHRvIEFORC4gKi9cclxuICBmaWx0ZXJPcGVyYXRvcj86IE1heWJlPExvZ2ljYWxPcGVyYXRvcj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBTaGlwcGluZ01ldGhvZFF1b3RlID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnU2hpcHBpbmdNZXRob2RRdW90ZSc7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgcHJpY2U6IFNjYWxhcnNbJ0ludCddO1xyXG4gIHByaWNlV2l0aFRheDogU2NhbGFyc1snSW50J107XHJcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIC8qKiBBbnkgb3B0aW9uYWwgbWV0YWRhdGEgcmV0dXJuZWQgYnkgdGhlIFNoaXBwaW5nQ2FsY3VsYXRvciBpbiB0aGUgU2hpcHBpbmdDYWxjdWxhdGlvblJlc3VsdCAqL1xyXG4gIG1ldGFkYXRhPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgU2hpcHBpbmdNZXRob2RTb3J0UGFyYW1ldGVyID0ge1xyXG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHVwZGF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgY29kZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgbmFtZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGZ1bGZpbGxtZW50SGFuZGxlckNvZGU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgU2hpcHBpbmdNZXRob2RUcmFuc2xhdGlvbiA9IHtcclxuICBfX3R5cGVuYW1lPzogJ1NoaXBwaW5nTWV0aG9kVHJhbnNsYXRpb24nO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgU2hpcHBpbmdNZXRob2RUcmFuc2xhdGlvbklucHV0ID0ge1xyXG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgbmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBkZXNjcmlwdGlvbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuLyoqIFRoZSBwcmljZSB2YWx1ZSB3aGVyZSB0aGUgcmVzdWx0IGhhcyBhIHNpbmdsZSBwcmljZSAqL1xyXG5leHBvcnQgdHlwZSBTaW5nbGVQcmljZSA9IHtcclxuICBfX3R5cGVuYW1lPzogJ1NpbmdsZVByaWNlJztcclxuICB2YWx1ZTogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgZW51bSBTb3J0T3JkZXIge1xyXG4gIEFTQyA9ICdBU0MnLFxyXG4gIERFU0MgPSAnREVTQydcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgU3RvY2tBZGp1c3RtZW50ID0gTm9kZSAmIFN0b2NrTW92ZW1lbnQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdTdG9ja0FkanVzdG1lbnQnO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgcHJvZHVjdFZhcmlhbnQ6IFByb2R1Y3RWYXJpYW50O1xyXG4gIHR5cGU6IFN0b2NrTW92ZW1lbnRUeXBlO1xyXG4gIHF1YW50aXR5OiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFN0b2NrTW92ZW1lbnQgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBwcm9kdWN0VmFyaWFudDogUHJvZHVjdFZhcmlhbnQ7XHJcbiAgdHlwZTogU3RvY2tNb3ZlbWVudFR5cGU7XHJcbiAgcXVhbnRpdHk6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgU3RvY2tNb3ZlbWVudEl0ZW0gPSBTdG9ja0FkanVzdG1lbnQgfCBBbGxvY2F0aW9uIHwgU2FsZSB8IENhbmNlbGxhdGlvbiB8IFJldHVybiB8IFJlbGVhc2U7XHJcblxyXG5leHBvcnQgdHlwZSBTdG9ja01vdmVtZW50TGlzdCA9IHtcclxuICBfX3R5cGVuYW1lPzogJ1N0b2NrTW92ZW1lbnRMaXN0JztcclxuICBpdGVtczogQXJyYXk8U3RvY2tNb3ZlbWVudEl0ZW0+O1xyXG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgU3RvY2tNb3ZlbWVudExpc3RPcHRpb25zID0ge1xyXG4gIHR5cGU/OiBNYXliZTxTdG9ja01vdmVtZW50VHlwZT47XHJcbiAgc2tpcD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICB0YWtlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG59O1xyXG5cclxuZXhwb3J0IGVudW0gU3RvY2tNb3ZlbWVudFR5cGUge1xyXG4gIEFESlVTVE1FTlQgPSAnQURKVVNUTUVOVCcsXHJcbiAgQUxMT0NBVElPTiA9ICdBTExPQ0FUSU9OJyxcclxuICBSRUxFQVNFID0gJ1JFTEVBU0UnLFxyXG4gIFNBTEUgPSAnU0FMRScsXHJcbiAgQ0FOQ0VMTEFUSU9OID0gJ0NBTkNFTExBVElPTicsXHJcbiAgUkVUVVJOID0gJ1JFVFVSTidcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgU3RyaW5nQ3VzdG9tRmllbGRDb25maWcgPSBDdXN0b21GaWVsZCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJztcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0eXBlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBsaXN0OiBTY2FsYXJzWydCb29sZWFuJ107XHJcbiAgbGVuZ3RoPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIGxhYmVsPzogTWF5YmU8QXJyYXk8TG9jYWxpemVkU3RyaW5nPj47XHJcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxBcnJheTxMb2NhbGl6ZWRTdHJpbmc+PjtcclxuICByZWFkb25seT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgaW50ZXJuYWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIG51bGxhYmxlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBwYXR0ZXJuPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIG9wdGlvbnM/OiBNYXliZTxBcnJheTxTdHJpbmdGaWVsZE9wdGlvbj4+O1xyXG4gIHVpPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFN0cmluZ0ZpZWxkT3B0aW9uID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnU3RyaW5nRmllbGRPcHRpb24nO1xyXG4gIHZhbHVlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBsYWJlbD86IE1heWJlPEFycmF5PExvY2FsaXplZFN0cmluZz4+O1xyXG59O1xyXG5cclxuLyoqIE9wZXJhdG9ycyBmb3IgZmlsdGVyaW5nIG9uIGEgbGlzdCBvZiBTdHJpbmcgZmllbGRzICovXHJcbmV4cG9ydCB0eXBlIFN0cmluZ0xpc3RPcGVyYXRvcnMgPSB7XHJcbiAgaW5MaXN0OiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbi8qKiBPcGVyYXRvcnMgZm9yIGZpbHRlcmluZyBvbiBhIFN0cmluZyBmaWVsZCAqL1xyXG5leHBvcnQgdHlwZSBTdHJpbmdPcGVyYXRvcnMgPSB7XHJcbiAgZXE/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+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlT3JkZXJJdGVtc1Jlc3VsdCA9IE9yZGVyIHwgT3JkZXJNb2RpZmljYXRpb25FcnJvciB8IE9yZGVyTGltaXRFcnJvciB8IE5lZ2F0aXZlUXVhbnRpdHlFcnJvciB8IEluc3VmZmljaWVudFN0b2NrRXJyb3I7XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVPcmRlck5vdGVJbnB1dCA9IHtcclxuICBub3RlSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgbm90ZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBpc1B1YmxpYz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVQYXltZW50TWV0aG9kSW5wdXQgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgbmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGVuYWJsZWQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIGNoZWNrZXI/OiBNYXliZTxDb25maWd1cmFibGVPcGVyYXRpb25JbnB1dD47XHJcbiAgaGFuZGxlcj86IE1heWJlPENvbmZpZ3VyYWJsZU9wZXJhdGlvbklucHV0PjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlUHJvZHVjdElucHV0ID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGVuYWJsZWQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIGZlYXR1cmVkQXNzZXRJZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGFzc2V0SWRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snSUQnXT4+O1xyXG4gIGZhY2V0VmFsdWVJZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydJRCddPj47XHJcbiAgdHJhbnNsYXRpb25zPzogTWF5YmU8QXJyYXk8UHJvZHVjdFRyYW5zbGF0aW9uSW5wdXQ+PjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwSW5wdXQgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICB0cmFuc2xhdGlvbnM/OiBNYXliZTxBcnJheTxQcm9kdWN0T3B0aW9uR3JvdXBUcmFuc2xhdGlvbklucHV0Pj47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVByb2R1Y3RPcHRpb25JbnB1dCA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHRyYW5zbGF0aW9ucz86IE1heWJlPEFycmF5PFByb2R1Y3RPcHRpb25Hcm91cFRyYW5zbGF0aW9uSW5wdXQ+PjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlUHJvZHVjdFZhcmlhbnRJbnB1dCA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBlbmFibGVkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICB0cmFuc2xhdGlvbnM/OiBNYXliZTxBcnJheTxQcm9kdWN0VmFyaWFudFRyYW5zbGF0aW9uSW5wdXQ+PjtcclxuICBmYWNldFZhbHVlSWRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snSUQnXT4+O1xyXG4gIHNrdT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICB0YXhDYXRlZ29yeUlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbiAgcHJpY2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgZmVhdHVyZWRBc3NldElkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbiAgYXNzZXRJZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydJRCddPj47XHJcbiAgc3RvY2tPbkhhbmQ/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgb3V0T2ZTdG9ja1RocmVzaG9sZD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICB1c2VHbG9iYWxPdXRPZlN0b2NrVGhyZXNob2xkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICB0cmFja0ludmVudG9yeT86IE1heWJlPEdsb2JhbEZsYWc+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVQcm9tb3Rpb25JbnB1dCA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGVuYWJsZWQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIHN0YXJ0c0F0PzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XHJcbiAgZW5kc0F0PzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XHJcbiAgY291cG9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBwZXJDdXN0b21lclVzYWdlTGltaXQ/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgY29uZGl0aW9ucz86IE1heWJlPEFycmF5PENvbmZpZ3VyYWJsZU9wZXJhdGlvbklucHV0Pj47XHJcbiAgYWN0aW9ucz86IE1heWJlPEFycmF5PENvbmZpZ3VyYWJsZU9wZXJhdGlvbklucHV0Pj47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVByb21vdGlvblJlc3VsdCA9IFByb21vdGlvbiB8IE1pc3NpbmdDb25kaXRpb25zRXJyb3I7XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVSb2xlSW5wdXQgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBkZXNjcmlwdGlvbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBwZXJtaXNzaW9ucz86IE1heWJlPEFycmF5PFBlcm1pc3Npb24+PjtcclxuICBjaGFubmVsSWRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snSUQnXT4+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlU2hpcHBpbmdNZXRob2RJbnB1dCA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGZ1bGZpbGxtZW50SGFuZGxlcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjaGVja2VyPzogTWF5YmU8Q29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQ+O1xyXG4gIGNhbGN1bGF0b3I/OiBNYXliZTxDb25maWd1cmFibGVPcGVyYXRpb25JbnB1dD47XHJcbiAgdHJhbnNsYXRpb25zOiBBcnJheTxTaGlwcGluZ01ldGhvZFRyYW5zbGF0aW9uSW5wdXQ+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVUYWdJbnB1dCA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICB2YWx1ZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVRheENhdGVnb3J5SW5wdXQgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgbmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBpc0RlZmF1bHQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVUYXhSYXRlSW5wdXQgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgbmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICB2YWx1ZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xyXG4gIGVuYWJsZWQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIGNhdGVnb3J5SWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICB6b25lSWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBjdXN0b21lckdyb3VwSWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlWm9uZUlucHV0ID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIG5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVc2VyID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1VzZXInO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgaWRlbnRpZmllcjogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdmVyaWZpZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICByb2xlczogQXJyYXk8Um9sZT47XHJcbiAgbGFzdExvZ2luPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XHJcbiAgYXV0aGVudGljYXRpb25NZXRob2RzOiBBcnJheTxBdXRoZW50aWNhdGlvbk1ldGhvZD47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFVzZXJTdGF0dXMgPSB7XHJcbiAgX190eXBlbmFtZT86ICdVc2VyU3RhdHVzJztcclxuICB1c2VybmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgaXNMb2dnZWRJbjogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGxvZ2luVGltZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgcGVybWlzc2lvbnM6IEFycmF5PFBlcm1pc3Npb24+O1xyXG4gIGFjdGl2ZUNoYW5uZWxJZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGNoYW5uZWxzOiBBcnJheTxDdXJyZW50VXNlckNoYW5uZWw+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXNlclN0YXR1c0lucHV0ID0ge1xyXG4gIHVzZXJuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBsb2dpblRpbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGFjdGl2ZUNoYW5uZWxJZDogU2NhbGFyc1snSUQnXTtcclxuICBjaGFubmVsczogQXJyYXk8Q3VycmVudFVzZXJDaGFubmVsSW5wdXQ+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgWm9uZSA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdab25lJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIG1lbWJlcnM6IEFycmF5PENvdW50cnk+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRQcm9kdWN0c1dpdGhGYWNldFZhbHVlc0J5SWRzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT4gfCBTY2FsYXJzWydTdHJpbmcnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0UHJvZHVjdHNXaXRoRmFjZXRWYWx1ZXNCeUlkc1F1ZXJ5ID0geyBwcm9kdWN0czogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RMaXN0JyB9XHJcbiAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3QnIH1cclxuICAgICAgJiBQaWNrPFByb2R1Y3QsICdpZCcgfCAnbmFtZSc+XHJcbiAgICAgICYgeyBmYWNldFZhbHVlczogQXJyYXk8KFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGYWNldFZhbHVlJyB9XHJcbiAgICAgICAgJiBQaWNrPEZhY2V0VmFsdWUsICdpZCcgfCAnbmFtZScgfCAnY29kZSc+XHJcbiAgICAgICAgJiB7IGZhY2V0OiAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFjZXQnIH1cclxuICAgICAgICAgICYgUGljazxGYWNldCwgJ2lkJyB8ICduYW1lJyB8ICdjb2RlJz5cclxuICAgICAgICApIH1cclxuICAgICAgKT4gfVxyXG4gICAgKT4gfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFZhcmlhbnRzV2l0aEZhY2V0VmFsdWVzQnlJZHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPiB8IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRWYXJpYW50c1dpdGhGYWNldFZhbHVlc0J5SWRzUXVlcnkgPSB7IHByb2R1Y3RWYXJpYW50czogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50TGlzdCcgfVxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudCcgfVxyXG4gICAgICAmIFBpY2s8UHJvZHVjdFZhcmlhbnQsICdpZCcgfCAnbmFtZScgfCAnc2t1Jz5cclxuICAgICAgJiB7IGZhY2V0VmFsdWVzOiBBcnJheTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0VmFsdWUnIH1cclxuICAgICAgICAmIFBpY2s8RmFjZXRWYWx1ZSwgJ2lkJyB8ICduYW1lJyB8ICdjb2RlJz5cclxuICAgICAgICAmIHsgZmFjZXQ6IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYWNldCcgfVxyXG4gICAgICAgICAgJiBQaWNrPEZhY2V0LCAnaWQnIHwgJ25hbWUnIHwgJ2NvZGUnPlxyXG4gICAgICAgICkgfVxyXG4gICAgICApPiB9XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlUHJvZHVjdHNCdWxrTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IEFycmF5PFVwZGF0ZVByb2R1Y3RJbnB1dD4gfCBVcGRhdGVQcm9kdWN0SW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVByb2R1Y3RzQnVsa011dGF0aW9uID0geyB1cGRhdGVQcm9kdWN0czogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3QnIH1cclxuICAgICYgUGljazxQcm9kdWN0LCAnaWQnIHwgJ25hbWUnPlxyXG4gICAgJiB7IGZhY2V0VmFsdWVzOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdGYWNldFZhbHVlJyB9XHJcbiAgICAgICYgUGljazxGYWNldFZhbHVlLCAnaWQnIHwgJ25hbWUnIHwgJ2NvZGUnPlxyXG4gICAgKT4gfVxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVWYXJpYW50c0J1bGtNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQXJyYXk8VXBkYXRlUHJvZHVjdFZhcmlhbnRJbnB1dD4gfCBVcGRhdGVQcm9kdWN0VmFyaWFudElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVWYXJpYW50c0J1bGtNdXRhdGlvbiA9IHsgdXBkYXRlUHJvZHVjdFZhcmlhbnRzOiBBcnJheTxNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnQnIH1cclxuICAgICYgUGljazxQcm9kdWN0VmFyaWFudCwgJ2lkJyB8ICduYW1lJz5cclxuICAgICYgeyBmYWNldFZhbHVlczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRmFjZXRWYWx1ZScgfVxyXG4gICAgICAmIFBpY2s8RmFjZXRWYWx1ZSwgJ2lkJyB8ICduYW1lJyB8ICdjb2RlJz5cclxuICAgICk+IH1cclxuICApPj4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIFJvbGVGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnUm9sZScgfVxyXG4gICYgUGljazxSb2xlLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdjb2RlJyB8ICdkZXNjcmlwdGlvbicgfCAncGVybWlzc2lvbnMnPlxyXG4gICYgeyBjaGFubmVsczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NoYW5uZWwnIH1cclxuICAgICYgUGljazxDaGFubmVsLCAnaWQnIHwgJ2NvZGUnIHwgJ3Rva2VuJz5cclxuICApPiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBBZG1pbmlzdHJhdG9yRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0FkbWluaXN0cmF0b3InIH1cclxuICAmIFBpY2s8QWRtaW5pc3RyYXRvciwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZmlyc3ROYW1lJyB8ICdsYXN0TmFtZScgfCAnZW1haWxBZGRyZXNzJz5cclxuICAmIHsgdXNlcjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cclxuICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ2lkZW50aWZpZXInIHwgJ2xhc3RMb2dpbic+XHJcbiAgICAmIHsgcm9sZXM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1JvbGUnIH1cclxuICAgICAgJiBSb2xlRnJhZ21lbnRcclxuICAgICk+IH1cclxuICApIH1cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldEFkbWluaXN0cmF0b3JzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgb3B0aW9ucz86IE1heWJlPEFkbWluaXN0cmF0b3JMaXN0T3B0aW9ucz47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldEFkbWluaXN0cmF0b3JzUXVlcnkgPSB7IGFkbWluaXN0cmF0b3JzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWRtaW5pc3RyYXRvckxpc3QnIH1cclxuICAgICYgUGljazxBZG1pbmlzdHJhdG9yTGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdBZG1pbmlzdHJhdG9yJyB9XHJcbiAgICAgICYgQWRtaW5pc3RyYXRvckZyYWdtZW50XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0QWN0aXZlQWRtaW5pc3RyYXRvclF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0QWN0aXZlQWRtaW5pc3RyYXRvclF1ZXJ5ID0geyBhY3RpdmVBZG1pbmlzdHJhdG9yPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkbWluaXN0cmF0b3InIH1cclxuICAgICYgQWRtaW5pc3RyYXRvckZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldEFkbWluaXN0cmF0b3JRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0QWRtaW5pc3RyYXRvclF1ZXJ5ID0geyBhZG1pbmlzdHJhdG9yPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkbWluaXN0cmF0b3InIH1cclxuICAgICYgQWRtaW5pc3RyYXRvckZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUFkbWluaXN0cmF0b3JNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQ3JlYXRlQWRtaW5pc3RyYXRvcklucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVBZG1pbmlzdHJhdG9yTXV0YXRpb24gPSB7IGNyZWF0ZUFkbWluaXN0cmF0b3I6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdBZG1pbmlzdHJhdG9yJyB9XHJcbiAgICAmIEFkbWluaXN0cmF0b3JGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZUFkbWluaXN0cmF0b3JNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXBkYXRlQWRtaW5pc3RyYXRvcklucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVBZG1pbmlzdHJhdG9yTXV0YXRpb24gPSB7IHVwZGF0ZUFkbWluaXN0cmF0b3I6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdBZG1pbmlzdHJhdG9yJyB9XHJcbiAgICAmIEFkbWluaXN0cmF0b3JGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZUFjdGl2ZUFkbWluaXN0cmF0b3JNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXBkYXRlQWN0aXZlQWRtaW5pc3RyYXRvcklucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVBY3RpdmVBZG1pbmlzdHJhdG9yTXV0YXRpb24gPSB7IHVwZGF0ZUFjdGl2ZUFkbWluaXN0cmF0b3I6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdBZG1pbmlzdHJhdG9yJyB9XHJcbiAgICAmIEFkbWluaXN0cmF0b3JGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZUFkbWluaXN0cmF0b3JNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlQWRtaW5pc3RyYXRvck11dGF0aW9uID0geyBkZWxldGVBZG1pbmlzdHJhdG9yOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRGVsZXRpb25SZXNwb25zZScgfVxyXG4gICAgJiBQaWNrPERlbGV0aW9uUmVzcG9uc2UsICdyZXN1bHQnIHwgJ21lc3NhZ2UnPlxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFJvbGVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgb3B0aW9ucz86IE1heWJlPFJvbGVMaXN0T3B0aW9ucz47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFJvbGVzUXVlcnkgPSB7IHJvbGVzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUm9sZUxpc3QnIH1cclxuICAgICYgUGljazxSb2xlTGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdSb2xlJyB9XHJcbiAgICAgICYgUm9sZUZyYWdtZW50XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0Um9sZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRSb2xlUXVlcnkgPSB7IHJvbGU/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUm9sZScgfVxyXG4gICAgJiBSb2xlRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlUm9sZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBDcmVhdGVSb2xlSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVJvbGVNdXRhdGlvbiA9IHsgY3JlYXRlUm9sZTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JvbGUnIH1cclxuICAgICYgUm9sZUZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlUm9sZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBVcGRhdGVSb2xlSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVJvbGVNdXRhdGlvbiA9IHsgdXBkYXRlUm9sZTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JvbGUnIH1cclxuICAgICYgUm9sZUZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlUm9sZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVSb2xlTXV0YXRpb24gPSB7IGRlbGV0ZVJvbGU6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQXNzaWduUm9sZVRvQWRtaW5pc3RyYXRvck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGFkbWluaXN0cmF0b3JJZDogU2NhbGFyc1snSUQnXTtcclxuICByb2xlSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEFzc2lnblJvbGVUb0FkbWluaXN0cmF0b3JNdXRhdGlvbiA9IHsgYXNzaWduUm9sZVRvQWRtaW5pc3RyYXRvcjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkbWluaXN0cmF0b3InIH1cclxuICAgICYgQWRtaW5pc3RyYXRvckZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VycmVudFVzZXJGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnQ3VycmVudFVzZXInIH1cclxuICAmIFBpY2s8Q3VycmVudFVzZXIsICdpZCcgfCAnaWRlbnRpZmllcic+XHJcbiAgJiB7IGNoYW5uZWxzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ3VycmVudFVzZXJDaGFubmVsJyB9XHJcbiAgICAmIFBpY2s8Q3VycmVudFVzZXJDaGFubmVsLCAnaWQnIHwgJ2NvZGUnIHwgJ3Rva2VuJyB8ICdwZXJtaXNzaW9ucyc+XHJcbiAgKT4gfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgQXR0ZW1wdExvZ2luTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgdXNlcm5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHBhc3N3b3JkOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICByZW1lbWJlck1lOiBTY2FsYXJzWydCb29sZWFuJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEF0dGVtcHRMb2dpbk11dGF0aW9uID0geyBsb2dpbjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1cnJlbnRVc2VyJyB9XHJcbiAgICAmIEN1cnJlbnRVc2VyRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ludmFsaWRDcmVkZW50aWFsc0Vycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X0ludmFsaWRDcmVkZW50aWFsc0Vycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdOYXRpdmVBdXRoU3RyYXRlZ3lFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9OYXRpdmVBdXRoU3RyYXRlZ3lFcnJvcl9GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIExvZ091dE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTG9nT3V0TXV0YXRpb24gPSB7IGxvZ291dDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1N1Y2Nlc3MnIH1cclxuICAgICYgUGljazxTdWNjZXNzLCAnc3VjY2Vzcyc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q3VycmVudFVzZXJRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldEN1cnJlbnRVc2VyUXVlcnkgPSB7IG1lPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1cnJlbnRVc2VyJyB9XHJcbiAgICAmIEN1cnJlbnRVc2VyRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgUmVxdWVzdFN0YXJ0ZWRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFJlcXVlc3RTdGFydGVkTXV0YXRpb24gPSBQaWNrPE11dGF0aW9uLCAncmVxdWVzdFN0YXJ0ZWQnPjtcclxuXHJcbmV4cG9ydCB0eXBlIFJlcXVlc3RDb21wbGV0ZWRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFJlcXVlc3RDb21wbGV0ZWRNdXRhdGlvbiA9IFBpY2s8TXV0YXRpb24sICdyZXF1ZXN0Q29tcGxldGVkJz47XHJcblxyXG5leHBvcnQgdHlwZSBVc2VyU3RhdHVzRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1VzZXJTdGF0dXMnIH1cclxuICAmIFBpY2s8VXNlclN0YXR1cywgJ3VzZXJuYW1lJyB8ICdpc0xvZ2dlZEluJyB8ICdsb2dpblRpbWUnIHwgJ2FjdGl2ZUNoYW5uZWxJZCcgfCAncGVybWlzc2lvbnMnPlxyXG4gICYgeyBjaGFubmVsczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1cnJlbnRVc2VyQ2hhbm5lbCcgfVxyXG4gICAgJiBQaWNrPEN1cnJlbnRVc2VyQ2hhbm5lbCwgJ2lkJyB8ICdjb2RlJyB8ICd0b2tlbicgfCAncGVybWlzc2lvbnMnPlxyXG4gICk+IH1cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIFNldEFzTG9nZ2VkSW5NdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXNlclN0YXR1c0lucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBTZXRBc0xvZ2dlZEluTXV0YXRpb24gPSB7IHNldEFzTG9nZ2VkSW46IChcclxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyU3RhdHVzJyB9XHJcbiAgICAmIFVzZXJTdGF0dXNGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFNldEFzTG9nZ2VkT3V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBTZXRBc0xvZ2dlZE91dE11dGF0aW9uID0geyBzZXRBc0xvZ2dlZE91dDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXJTdGF0dXMnIH1cclxuICAgICYgVXNlclN0YXR1c0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgU2V0VWlMYW5ndWFnZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIGxvY2FsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgU2V0VWlMYW5ndWFnZU11dGF0aW9uID0gUGljazxNdXRhdGlvbiwgJ3NldFVpTGFuZ3VhZ2UnIHwgJ3NldFVpTG9jYWxlJz47XHJcblxyXG5leHBvcnQgdHlwZSBTZXRVaUxvY2FsZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGxvY2FsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgU2V0VWlMb2NhbGVNdXRhdGlvbiA9IFBpY2s8TXV0YXRpb24sICdzZXRVaUxvY2FsZSc+O1xyXG5cclxuZXhwb3J0IHR5cGUgU2V0RGlzcGxheVVpRXh0ZW5zaW9uUG9pbnRzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgZGlzcGxheTogU2NhbGFyc1snQm9vbGVhbiddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBTZXREaXNwbGF5VWlFeHRlbnNpb25Qb2ludHNNdXRhdGlvbiA9IFBpY2s8TXV0YXRpb24sICdzZXREaXNwbGF5VWlFeHRlbnNpb25Qb2ludHMnPjtcclxuXHJcbmV4cG9ydCB0eXBlIFNldENvbnRlbnRMYW5ndWFnZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBTZXRDb250ZW50TGFuZ3VhZ2VNdXRhdGlvbiA9IFBpY2s8TXV0YXRpb24sICdzZXRDb250ZW50TGFuZ3VhZ2UnPjtcclxuXHJcbmV4cG9ydCB0eXBlIFNldFVpVGhlbWVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICB0aGVtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFNldFVpVGhlbWVNdXRhdGlvbiA9IFBpY2s8TXV0YXRpb24sICdzZXRVaVRoZW1lJz47XHJcblxyXG5leHBvcnQgdHlwZSBHZXROZXR3b3JrU3RhdHVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXROZXR3b3JrU3RhdHVzUXVlcnkgPSB7IG5ldHdvcmtTdGF0dXM6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdOZXR3b3JrU3RhdHVzJyB9XHJcbiAgICAmIFBpY2s8TmV0d29ya1N0YXR1cywgJ2luRmxpZ2h0UmVxdWVzdHMnPlxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFVzZXJTdGF0dXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFVzZXJTdGF0dXNRdWVyeSA9IHsgdXNlclN0YXR1czogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXJTdGF0dXMnIH1cclxuICAgICYgVXNlclN0YXR1c0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0VWlTdGF0ZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0VWlTdGF0ZVF1ZXJ5ID0geyB1aVN0YXRlOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVWlTdGF0ZScgfVxyXG4gICAgJiBQaWNrPFVpU3RhdGUsICdsYW5ndWFnZScgfCAnbG9jYWxlJyB8ICdjb250ZW50TGFuZ3VhZ2UnIHwgJ3RoZW1lJyB8ICdkaXNwbGF5VWlFeHRlbnNpb25Qb2ludHMnPlxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldENsaWVudFN0YXRlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRDbGllbnRTdGF0ZVF1ZXJ5ID0geyBuZXR3b3JrU3RhdHVzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTmV0d29ya1N0YXR1cycgfVxyXG4gICAgJiBQaWNrPE5ldHdvcmtTdGF0dXMsICdpbkZsaWdodFJlcXVlc3RzJz5cclxuICApLCB1c2VyU3RhdHVzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlclN0YXR1cycgfVxyXG4gICAgJiBVc2VyU3RhdHVzRnJhZ21lbnRcclxuICApLCB1aVN0YXRlOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVWlTdGF0ZScgfVxyXG4gICAgJiBQaWNrPFVpU3RhdGUsICdsYW5ndWFnZScgfCAnbG9jYWxlJyB8ICdjb250ZW50TGFuZ3VhZ2UnIHwgJ3RoZW1lJyB8ICdkaXNwbGF5VWlFeHRlbnNpb25Qb2ludHMnPlxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFNldEFjdGl2ZUNoYW5uZWxNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBjaGFubmVsSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFNldEFjdGl2ZUNoYW5uZWxNdXRhdGlvbiA9IHsgc2V0QWN0aXZlQ2hhbm5lbDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXJTdGF0dXMnIH1cclxuICAgICYgVXNlclN0YXR1c0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlVXNlckNoYW5uZWxzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgY2hhbm5lbHM6IEFycmF5PEN1cnJlbnRVc2VyQ2hhbm5lbElucHV0PiB8IEN1cnJlbnRVc2VyQ2hhbm5lbElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVVc2VyQ2hhbm5lbHNNdXRhdGlvbiA9IHsgdXBkYXRlVXNlckNoYW5uZWxzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlclN0YXR1cycgfVxyXG4gICAgJiBVc2VyU3RhdHVzRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRDb2xsZWN0aW9uRmlsdGVyc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q29sbGVjdGlvbkZpbHRlcnNRdWVyeSA9IHsgY29sbGVjdGlvbkZpbHRlcnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uJyB9XHJcbiAgICAmIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZkZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIENvbGxlY3Rpb25GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnQ29sbGVjdGlvbicgfVxyXG4gICYgUGljazxDb2xsZWN0aW9uLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICduYW1lJyB8ICdzbHVnJyB8ICdkZXNjcmlwdGlvbicgfCAnaXNQcml2YXRlJyB8ICdsYW5ndWFnZUNvZGUnPlxyXG4gICYgeyBicmVhZGNydW1iczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbGxlY3Rpb25CcmVhZGNydW1iJyB9XHJcbiAgICAmIFBpY2s8Q29sbGVjdGlvbkJyZWFkY3J1bWIsICdpZCcgfCAnbmFtZScgfCAnc2x1Zyc+XHJcbiAgKT4sIGZlYXR1cmVkQXNzZXQ/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQXNzZXQnIH1cclxuICAgICYgQXNzZXRGcmFnbWVudFxyXG4gICk+LCBhc3NldHM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdBc3NldCcgfVxyXG4gICAgJiBBc3NldEZyYWdtZW50XHJcbiAgKT4sIGZpbHRlcnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb24nIH1cclxuICAgICYgQ29uZmlndXJhYmxlT3BlcmF0aW9uRnJhZ21lbnRcclxuICApPiwgdHJhbnNsYXRpb25zOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29sbGVjdGlvblRyYW5zbGF0aW9uJyB9XHJcbiAgICAmIFBpY2s8Q29sbGVjdGlvblRyYW5zbGF0aW9uLCAnaWQnIHwgJ2xhbmd1YWdlQ29kZScgfCAnbmFtZScgfCAnc2x1ZycgfCAnZGVzY3JpcHRpb24nPlxyXG4gICk+LCBwYXJlbnQ/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29sbGVjdGlvbicgfVxyXG4gICAgJiBQaWNrPENvbGxlY3Rpb24sICdpZCcgfCAnbmFtZSc+XHJcbiAgKT4sIGNoaWxkcmVuPzogTWF5YmU8QXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbGxlY3Rpb24nIH1cclxuICAgICYgUGljazxDb2xsZWN0aW9uLCAnaWQnIHwgJ25hbWUnPlxyXG4gICk+PiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBHZXRDb2xsZWN0aW9uTGlzdFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9wdGlvbnM/OiBNYXliZTxDb2xsZWN0aW9uTGlzdE9wdGlvbnM+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRDb2xsZWN0aW9uTGlzdFF1ZXJ5ID0geyBjb2xsZWN0aW9uczogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbGxlY3Rpb25MaXN0JyB9XHJcbiAgICAmIFBpY2s8Q29sbGVjdGlvbkxpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ29sbGVjdGlvbicgfVxyXG4gICAgICAmIFBpY2s8Q29sbGVjdGlvbiwgJ2lkJyB8ICduYW1lJyB8ICdzbHVnJyB8ICdkZXNjcmlwdGlvbicgfCAnaXNQcml2YXRlJz5cclxuICAgICAgJiB7IGZlYXR1cmVkQXNzZXQ/OiBNYXliZTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XHJcbiAgICAgICAgJiBBc3NldEZyYWdtZW50XHJcbiAgICAgICk+LCBwYXJlbnQ/OiBNYXliZTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NvbGxlY3Rpb24nIH1cclxuICAgICAgICAmIFBpY2s8Q29sbGVjdGlvbiwgJ2lkJz5cclxuICAgICAgKT4gfVxyXG4gICAgKT4gfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldENvbGxlY3Rpb25RdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q29sbGVjdGlvblF1ZXJ5ID0geyBjb2xsZWN0aW9uPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbGxlY3Rpb24nIH1cclxuICAgICYgQ29sbGVjdGlvbkZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUNvbGxlY3Rpb25NdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQ3JlYXRlQ29sbGVjdGlvbklucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVDb2xsZWN0aW9uTXV0YXRpb24gPSB7IGNyZWF0ZUNvbGxlY3Rpb246IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb2xsZWN0aW9uJyB9XHJcbiAgICAmIENvbGxlY3Rpb25GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZUNvbGxlY3Rpb25NdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXBkYXRlQ29sbGVjdGlvbklucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVDb2xsZWN0aW9uTXV0YXRpb24gPSB7IHVwZGF0ZUNvbGxlY3Rpb246IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb2xsZWN0aW9uJyB9XHJcbiAgICAmIENvbGxlY3Rpb25GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIE1vdmVDb2xsZWN0aW9uTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IE1vdmVDb2xsZWN0aW9uSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE1vdmVDb2xsZWN0aW9uTXV0YXRpb24gPSB7IG1vdmVDb2xsZWN0aW9uOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29sbGVjdGlvbicgfVxyXG4gICAgJiBDb2xsZWN0aW9uRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVDb2xsZWN0aW9uTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZUNvbGxlY3Rpb25NdXRhdGlvbiA9IHsgZGVsZXRlQ29sbGVjdGlvbjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVDb2xsZWN0aW9uc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkczogQXJyYXk8U2NhbGFyc1snSUQnXT4gfCBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVDb2xsZWN0aW9uc011dGF0aW9uID0geyBkZWxldGVDb2xsZWN0aW9uczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q29sbGVjdGlvbkNvbnRlbnRzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgb3B0aW9ucz86IE1heWJlPFByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnM+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRDb2xsZWN0aW9uQ29udGVudHNRdWVyeSA9IHsgY29sbGVjdGlvbj86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb2xsZWN0aW9uJyB9XHJcbiAgICAmIFBpY2s8Q29sbGVjdGlvbiwgJ2lkJyB8ICduYW1lJz5cclxuICAgICYgeyBwcm9kdWN0VmFyaWFudHM6IChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50TGlzdCcgfVxyXG4gICAgICAmIFBpY2s8UHJvZHVjdFZhcmlhbnRMaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudCcgfVxyXG4gICAgICAgICYgUGljazxQcm9kdWN0VmFyaWFudCwgJ2lkJyB8ICdwcm9kdWN0SWQnIHwgJ25hbWUnIHwgJ3NrdSc+XHJcbiAgICAgICk+IH1cclxuICAgICkgfVxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBQcmV2aWV3Q29sbGVjdGlvbkNvbnRlbnRzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFByZXZpZXdDb2xsZWN0aW9uVmFyaWFudHNJbnB1dDtcclxuICBvcHRpb25zPzogTWF5YmU8UHJvZHVjdFZhcmlhbnRMaXN0T3B0aW9ucz47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFByZXZpZXdDb2xsZWN0aW9uQ29udGVudHNRdWVyeSA9IHsgcHJldmlld0NvbGxlY3Rpb25WYXJpYW50czogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50TGlzdCcgfVxyXG4gICAgJiBQaWNrPFByb2R1Y3RWYXJpYW50TGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudCcgfVxyXG4gICAgICAmIFBpY2s8UHJvZHVjdFZhcmlhbnQsICdpZCcgfCAncHJvZHVjdElkJyB8ICduYW1lJyB8ICdza3UnPlxyXG4gICAgKT4gfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IEFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsTXV0YXRpb24gPSB7IGFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29sbGVjdGlvbicgfVxyXG4gICAgJiBQaWNrPENvbGxlY3Rpb24sICdpZCcgfCAnbmFtZSc+XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlbW92ZUNvbGxlY3Rpb25zRnJvbUNoYW5uZWxNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogUmVtb3ZlQ29sbGVjdGlvbnNGcm9tQ2hhbm5lbElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBSZW1vdmVDb2xsZWN0aW9uc0Zyb21DaGFubmVsTXV0YXRpb24gPSB7IHJlbW92ZUNvbGxlY3Rpb25zRnJvbUNoYW5uZWw6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb2xsZWN0aW9uJyB9XHJcbiAgICAmIFBpY2s8Q29sbGVjdGlvbiwgJ2lkJyB8ICduYW1lJz5cclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQWRkcmVzc0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdBZGRyZXNzJyB9XHJcbiAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2Z1bGxOYW1lJyB8ICdjb21wYW55JyB8ICdzdHJlZXRMaW5lMScgfCAnc3RyZWV0TGluZTInIHwgJ2NpdHknIHwgJ3Byb3ZpbmNlJyB8ICdwb3N0YWxDb2RlJyB8ICdwaG9uZU51bWJlcicgfCAnZGVmYXVsdFNoaXBwaW5nQWRkcmVzcycgfCAnZGVmYXVsdEJpbGxpbmdBZGRyZXNzJz5cclxuICAmIHsgY291bnRyeTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvdW50cnknIH1cclxuICAgICYgUGljazxDb3VudHJ5LCAnaWQnIHwgJ2NvZGUnIHwgJ25hbWUnPlxyXG4gICkgfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VzdG9tZXJGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXInIH1cclxuICAmIFBpY2s8Q3VzdG9tZXIsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ3RpdGxlJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJyB8ICdwaG9uZU51bWJlcicgfCAnZW1haWxBZGRyZXNzJz5cclxuICAmIHsgdXNlcj86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XHJcbiAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICdpZGVudGlmaWVyJyB8ICd2ZXJpZmllZCcgfCAnbGFzdExvZ2luJz5cclxuICApPiwgYWRkcmVzc2VzPzogTWF5YmU8QXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnIH1cclxuICAgICYgQWRkcmVzc0ZyYWdtZW50XHJcbiAgKT4+IH1cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIEN1c3RvbWVyR3JvdXBGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXJHcm91cCcgfVxyXG4gICYgUGljazxDdXN0b21lckdyb3VwLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICduYW1lJz5cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldEN1c3RvbWVyTGlzdFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9wdGlvbnM/OiBNYXliZTxDdXN0b21lckxpc3RPcHRpb25zPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q3VzdG9tZXJMaXN0UXVlcnkgPSB7IGN1c3RvbWVyczogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyTGlzdCcgfVxyXG4gICAgJiBQaWNrPEN1c3RvbWVyTGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21lcicgfVxyXG4gICAgICAmIFBpY2s8Q3VzdG9tZXIsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ3RpdGxlJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJyB8ICdlbWFpbEFkZHJlc3MnPlxyXG4gICAgICAmIHsgdXNlcj86IE1heWJlPChcclxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxyXG4gICAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3ZlcmlmaWVkJz5cclxuICAgICAgKT4gfVxyXG4gICAgKT4gfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldEN1c3RvbWVyUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgb3JkZXJMaXN0T3B0aW9ucz86IE1heWJlPE9yZGVyTGlzdE9wdGlvbnM+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRDdXN0b21lclF1ZXJ5ID0geyBjdXN0b21lcj86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21lcicgfVxyXG4gICAgJiB7IGdyb3VwczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXJHcm91cCcgfVxyXG4gICAgICAmIFBpY2s8Q3VzdG9tZXJHcm91cCwgJ2lkJyB8ICduYW1lJz5cclxuICAgICk+LCBvcmRlcnM6IChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyTGlzdCcgfVxyXG4gICAgICAmIFBpY2s8T3JkZXJMaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdPcmRlcicgfVxyXG4gICAgICAgICYgUGljazxPcmRlciwgJ2lkJyB8ICdjb2RlJyB8ICdzdGF0ZScgfCAndG90YWxXaXRoVGF4JyB8ICdjdXJyZW5jeUNvZGUnIHwgJ3VwZGF0ZWRBdCc+XHJcbiAgICAgICk+IH1cclxuICAgICkgfVxyXG4gICAgJiBDdXN0b21lckZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUN1c3RvbWVyTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IENyZWF0ZUN1c3RvbWVySW5wdXQ7XHJcbiAgcGFzc3dvcmQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUN1c3RvbWVyTXV0YXRpb24gPSB7IGNyZWF0ZUN1c3RvbWVyOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXInIH1cclxuICAgICYgQ3VzdG9tZXJGcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRW1haWxBZGRyZXNzQ29uZmxpY3RFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9FbWFpbEFkZHJlc3NDb25mbGljdEVycm9yX0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQ3VzdG9tZXJNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXBkYXRlQ3VzdG9tZXJJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQ3VzdG9tZXJNdXRhdGlvbiA9IHsgdXBkYXRlQ3VzdG9tZXI6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21lcicgfVxyXG4gICAgJiBDdXN0b21lckZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdFbWFpbEFkZHJlc3NDb25mbGljdEVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X0VtYWlsQWRkcmVzc0NvbmZsaWN0RXJyb3JfRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVDdXN0b21lck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVDdXN0b21lck11dGF0aW9uID0geyBkZWxldGVDdXN0b21lcjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVDdXN0b21lckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBjdXN0b21lcklkOiBTY2FsYXJzWydJRCddO1xyXG4gIGlucHV0OiBDcmVhdGVBZGRyZXNzSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUN1c3RvbWVyQWRkcmVzc011dGF0aW9uID0geyBjcmVhdGVDdXN0b21lckFkZHJlc3M6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdBZGRyZXNzJyB9XHJcbiAgICAmIEFkZHJlc3NGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZUN1c3RvbWVyQWRkcmVzc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBVcGRhdGVBZGRyZXNzSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZUN1c3RvbWVyQWRkcmVzc011dGF0aW9uID0geyB1cGRhdGVDdXN0b21lckFkZHJlc3M6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdBZGRyZXNzJyB9XHJcbiAgICAmIEFkZHJlc3NGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZUN1c3RvbWVyQWRkcmVzc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVDdXN0b21lckFkZHJlc3NNdXRhdGlvbiA9IHsgZGVsZXRlQ3VzdG9tZXJBZGRyZXNzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnU3VjY2VzcycgfVxyXG4gICAgJiBQaWNrPFN1Y2Nlc3MsICdzdWNjZXNzJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVDdXN0b21lckdyb3VwTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IENyZWF0ZUN1c3RvbWVyR3JvdXBJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlQ3VzdG9tZXJHcm91cE11dGF0aW9uID0geyBjcmVhdGVDdXN0b21lckdyb3VwOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXJHcm91cCcgfVxyXG4gICAgJiBDdXN0b21lckdyb3VwRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVDdXN0b21lckdyb3VwTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFVwZGF0ZUN1c3RvbWVyR3JvdXBJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQ3VzdG9tZXJHcm91cE11dGF0aW9uID0geyB1cGRhdGVDdXN0b21lckdyb3VwOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXJHcm91cCcgfVxyXG4gICAgJiBDdXN0b21lckdyb3VwRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVDdXN0b21lckdyb3VwTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZUN1c3RvbWVyR3JvdXBNdXRhdGlvbiA9IHsgZGVsZXRlQ3VzdG9tZXJHcm91cDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRDdXN0b21lckdyb3Vwc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9wdGlvbnM/OiBNYXliZTxDdXN0b21lckdyb3VwTGlzdE9wdGlvbnM+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRDdXN0b21lckdyb3Vwc1F1ZXJ5ID0geyBjdXN0b21lckdyb3VwczogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyR3JvdXBMaXN0JyB9XHJcbiAgICAmIFBpY2s8Q3VzdG9tZXJHcm91cExpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXJHcm91cCcgfVxyXG4gICAgICAmIEN1c3RvbWVyR3JvdXBGcmFnbWVudFxyXG4gICAgKT4gfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldEN1c3RvbWVyR3JvdXBXaXRoQ3VzdG9tZXJzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgb3B0aW9ucz86IE1heWJlPEN1c3RvbWVyTGlzdE9wdGlvbnM+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRDdXN0b21lckdyb3VwV2l0aEN1c3RvbWVyc1F1ZXJ5ID0geyBjdXN0b21lckdyb3VwPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyR3JvdXAnIH1cclxuICAgICYgeyBjdXN0b21lcnM6IChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyTGlzdCcgfVxyXG4gICAgICAmIFBpY2s8Q3VzdG9tZXJMaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21lcicgfVxyXG4gICAgICAgICYgUGljazxDdXN0b21lciwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZW1haWxBZGRyZXNzJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJz5cclxuICAgICAgKT4gfVxyXG4gICAgKSB9XHJcbiAgICAmIEN1c3RvbWVyR3JvdXBGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBBZGRDdXN0b21lcnNUb0dyb3VwTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgZ3JvdXBJZDogU2NhbGFyc1snSUQnXTtcclxuICBjdXN0b21lcklkczogQXJyYXk8U2NhbGFyc1snSUQnXT4gfCBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBBZGRDdXN0b21lcnNUb0dyb3VwTXV0YXRpb24gPSB7IGFkZEN1c3RvbWVyc1RvR3JvdXA6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21lckdyb3VwJyB9XHJcbiAgICAmIEN1c3RvbWVyR3JvdXBGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlbW92ZUN1c3RvbWVyc0Zyb21Hcm91cE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGdyb3VwSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3VzdG9tZXJJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+IHwgU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUmVtb3ZlQ3VzdG9tZXJzRnJvbUdyb3VwTXV0YXRpb24gPSB7IHJlbW92ZUN1c3RvbWVyc0Zyb21Hcm91cDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyR3JvdXAnIH1cclxuICAgICYgQ3VzdG9tZXJHcm91cEZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q3VzdG9tZXJIaXN0b3J5UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgb3B0aW9ucz86IE1heWJlPEhpc3RvcnlFbnRyeUxpc3RPcHRpb25zPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q3VzdG9tZXJIaXN0b3J5UXVlcnkgPSB7IGN1c3RvbWVyPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyJyB9XHJcbiAgICAmIFBpY2s8Q3VzdG9tZXIsICdpZCc+XHJcbiAgICAmIHsgaGlzdG9yeTogKFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSGlzdG9yeUVudHJ5TGlzdCcgfVxyXG4gICAgICAmIFBpY2s8SGlzdG9yeUVudHJ5TGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSGlzdG9yeUVudHJ5JyB9XHJcbiAgICAgICAgJiBQaWNrPEhpc3RvcnlFbnRyeSwgJ2lkJyB8ICd0eXBlJyB8ICdjcmVhdGVkQXQnIHwgJ2lzUHVibGljJyB8ICdkYXRhJz5cclxuICAgICAgICAmIHsgYWRtaW5pc3RyYXRvcj86IE1heWJlPChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdBZG1pbmlzdHJhdG9yJyB9XHJcbiAgICAgICAgICAmIFBpY2s8QWRtaW5pc3RyYXRvciwgJ2lkJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJz5cclxuICAgICAgICApPiB9XHJcbiAgICAgICk+IH1cclxuICAgICkgfVxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBBZGROb3RlVG9DdXN0b21lck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBBZGROb3RlVG9DdXN0b21lcklucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBBZGROb3RlVG9DdXN0b21lck11dGF0aW9uID0geyBhZGROb3RlVG9DdXN0b21lcjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyJyB9XHJcbiAgICAmIFBpY2s8Q3VzdG9tZXIsICdpZCc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQ3VzdG9tZXJOb3RlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFVwZGF0ZUN1c3RvbWVyTm90ZUlucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVDdXN0b21lck5vdGVNdXRhdGlvbiA9IHsgdXBkYXRlQ3VzdG9tZXJOb3RlOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnSGlzdG9yeUVudHJ5JyB9XHJcbiAgICAmIFBpY2s8SGlzdG9yeUVudHJ5LCAnaWQnIHwgJ2RhdGEnIHwgJ2lzUHVibGljJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVDdXN0b21lck5vdGVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlQ3VzdG9tZXJOb3RlTXV0YXRpb24gPSB7IGRlbGV0ZUN1c3RvbWVyTm90ZTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBGYWNldFZhbHVlRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0VmFsdWUnIH1cclxuICAmIFBpY2s8RmFjZXRWYWx1ZSwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICdjb2RlJyB8ICduYW1lJz5cclxuICAmIHsgdHJhbnNsYXRpb25zOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmFjZXRWYWx1ZVRyYW5zbGF0aW9uJyB9XHJcbiAgICAmIFBpY2s8RmFjZXRWYWx1ZVRyYW5zbGF0aW9uLCAnaWQnIHwgJ2xhbmd1YWdlQ29kZScgfCAnbmFtZSc+XHJcbiAgKT4sIGZhY2V0OiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmFjZXQnIH1cclxuICAgICYgUGljazxGYWNldCwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnbmFtZSc+XHJcbiAgKSB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBGYWNldFdpdGhWYWx1ZXNGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnRmFjZXQnIH1cclxuICAmIFBpY2s8RmFjZXQsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2xhbmd1YWdlQ29kZScgfCAnaXNQcml2YXRlJyB8ICdjb2RlJyB8ICduYW1lJz5cclxuICAmIHsgdHJhbnNsYXRpb25zOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmFjZXRUcmFuc2xhdGlvbicgfVxyXG4gICAgJiBQaWNrPEZhY2V0VHJhbnNsYXRpb24sICdpZCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICduYW1lJz5cclxuICApPiwgdmFsdWVzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmFjZXRWYWx1ZScgfVxyXG4gICAgJiBGYWNldFZhbHVlRnJhZ21lbnRcclxuICApPiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVGYWNldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBDcmVhdGVGYWNldElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVGYWNldE11dGF0aW9uID0geyBjcmVhdGVGYWNldDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0JyB9XHJcbiAgICAmIEZhY2V0V2l0aFZhbHVlc0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlRmFjZXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXBkYXRlRmFjZXRJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlRmFjZXRNdXRhdGlvbiA9IHsgdXBkYXRlRmFjZXQ6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdGYWNldCcgfVxyXG4gICAgJiBGYWNldFdpdGhWYWx1ZXNGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZUZhY2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgZm9yY2U/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVGYWNldE11dGF0aW9uID0geyBkZWxldGVGYWNldDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVGYWNldHNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+IHwgU2NhbGFyc1snSUQnXTtcclxuICBmb3JjZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZUZhY2V0c011dGF0aW9uID0geyBkZWxldGVGYWNldHM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUZhY2V0VmFsdWVzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IEFycmF5PENyZWF0ZUZhY2V0VmFsdWVJbnB1dD4gfCBDcmVhdGVGYWNldFZhbHVlSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUZhY2V0VmFsdWVzTXV0YXRpb24gPSB7IGNyZWF0ZUZhY2V0VmFsdWVzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmFjZXRWYWx1ZScgfVxyXG4gICAgJiBGYWNldFZhbHVlRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlRmFjZXRWYWx1ZXNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQXJyYXk8VXBkYXRlRmFjZXRWYWx1ZUlucHV0PiB8IFVwZGF0ZUZhY2V0VmFsdWVJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlRmFjZXRWYWx1ZXNNdXRhdGlvbiA9IHsgdXBkYXRlRmFjZXRWYWx1ZXM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdGYWNldFZhbHVlJyB9XHJcbiAgICAmIEZhY2V0VmFsdWVGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVGYWNldFZhbHVlc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkczogQXJyYXk8U2NhbGFyc1snSUQnXT4gfCBTY2FsYXJzWydJRCddO1xyXG4gIGZvcmNlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlRmFjZXRWYWx1ZXNNdXRhdGlvbiA9IHsgZGVsZXRlRmFjZXRWYWx1ZXM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldEZhY2V0TGlzdFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9wdGlvbnM/OiBNYXliZTxGYWNldExpc3RPcHRpb25zPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0RmFjZXRMaXN0UXVlcnkgPSB7IGZhY2V0czogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0TGlzdCcgfVxyXG4gICAgJiBQaWNrPEZhY2V0TGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdGYWNldCcgfVxyXG4gICAgICAmIEZhY2V0V2l0aFZhbHVlc0ZyYWdtZW50XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0RmFjZXRXaXRoVmFsdWVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldEZhY2V0V2l0aFZhbHVlc1F1ZXJ5ID0geyBmYWNldD86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdGYWNldCcgfVxyXG4gICAgJiBGYWNldFdpdGhWYWx1ZXNGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBBc3NpZ25GYWNldHNUb0NoYW5uZWxNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQXNzaWduRmFjZXRzVG9DaGFubmVsSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEFzc2lnbkZhY2V0c1RvQ2hhbm5lbE11dGF0aW9uID0geyBhc3NpZ25GYWNldHNUb0NoYW5uZWw6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdGYWNldCcgfVxyXG4gICAgJiBQaWNrPEZhY2V0LCAnaWQnPlxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBSZW1vdmVGYWNldHNGcm9tQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBSZW1vdmVGYWNldHNGcm9tQ2hhbm5lbElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBSZW1vdmVGYWNldHNGcm9tQ2hhbm5lbE11dGF0aW9uID0geyByZW1vdmVGYWNldHNGcm9tQ2hhbm5lbDogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0JyB9XHJcbiAgICAmIFBpY2s8RmFjZXQsICdpZCc+XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdGYWNldEluVXNlRXJyb3InIH1cclxuICAgICYgUGljazxGYWNldEluVXNlRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnIHwgJ3ZhcmlhbnRDb3VudCcgfCAncHJvZHVjdENvdW50Jz5cclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgRGlzY291bnRGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnRGlzY291bnQnIH1cclxuICAmIFBpY2s8RGlzY291bnQsICdhZGp1c3RtZW50U291cmNlJyB8ICdhbW91bnQnIHwgJ2Ftb3VudFdpdGhUYXgnIHwgJ2Rlc2NyaXB0aW9uJyB8ICd0eXBlJz5cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIFBheW1lbnRGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudCcgfVxyXG4gICYgUGljazxQYXltZW50LCAnaWQnIHwgJ3RyYW5zYWN0aW9uSWQnIHwgJ2Ftb3VudCcgfCAnbWV0aG9kJyB8ICdzdGF0ZScgfCAnbWV0YWRhdGEnPlxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgUmVmdW5kRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1JlZnVuZCcgfVxyXG4gICYgUGljazxSZWZ1bmQsICdpZCcgfCAnc3RhdGUnIHwgJ2l0ZW1zJyB8ICdzaGlwcGluZycgfCAnYWRqdXN0bWVudCcgfCAndHJhbnNhY3Rpb25JZCcgfCAncGF5bWVudElkJz5cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIE9yZGVyQWRkcmVzc0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdPcmRlckFkZHJlc3MnIH1cclxuICAmIFBpY2s8T3JkZXJBZGRyZXNzLCAnZnVsbE5hbWUnIHwgJ2NvbXBhbnknIHwgJ3N0cmVldExpbmUxJyB8ICdzdHJlZXRMaW5lMicgfCAnY2l0eScgfCAncHJvdmluY2UnIHwgJ3Bvc3RhbENvZGUnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdwaG9uZU51bWJlcic+XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBPcmRlckZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdPcmRlcicgfVxyXG4gICYgUGljazxPcmRlciwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnb3JkZXJQbGFjZWRBdCcgfCAnY29kZScgfCAnc3RhdGUnIHwgJ25leHRTdGF0ZXMnIHwgJ3RvdGFsJyB8ICd0b3RhbFdpdGhUYXgnIHwgJ2N1cnJlbmN5Q29kZSc+XHJcbiAgJiB7IGN1c3RvbWVyPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyJyB9XHJcbiAgICAmIFBpY2s8Q3VzdG9tZXIsICdpZCcgfCAnZmlyc3ROYW1lJyB8ICdsYXN0TmFtZSc+XHJcbiAgKT4sIHNoaXBwaW5nTGluZXM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdTaGlwcGluZ0xpbmUnIH1cclxuICAgICYgeyBzaGlwcGluZ01ldGhvZDogKFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2hpcHBpbmdNZXRob2QnIH1cclxuICAgICAgJiBQaWNrPFNoaXBwaW5nTWV0aG9kLCAnbmFtZSc+XHJcbiAgICApIH1cclxuICApPiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBGdWxmaWxsbWVudEZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdGdWxmaWxsbWVudCcgfVxyXG4gICYgUGljazxGdWxmaWxsbWVudCwgJ2lkJyB8ICdzdGF0ZScgfCAnbmV4dFN0YXRlcycgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ21ldGhvZCcgfCAndHJhY2tpbmdDb2RlJz5cclxuICAmIHsgc3VtbWFyeTogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Z1bGZpbGxtZW50TGluZVN1bW1hcnknIH1cclxuICAgICYgUGljazxGdWxmaWxsbWVudExpbmVTdW1tYXJ5LCAncXVhbnRpdHknPlxyXG4gICAgJiB7IG9yZGVyTGluZTogKFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJMaW5lJyB9XHJcbiAgICAgICYgUGljazxPcmRlckxpbmUsICdpZCc+XHJcbiAgICApIH1cclxuICApPiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBPcmRlckxpbmVGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJMaW5lJyB9XHJcbiAgJiBQaWNrPE9yZGVyTGluZSwgJ2lkJyB8ICd1bml0UHJpY2UnIHwgJ3VuaXRQcmljZVdpdGhUYXgnIHwgJ3Byb3JhdGVkVW5pdFByaWNlJyB8ICdwcm9yYXRlZFVuaXRQcmljZVdpdGhUYXgnIHwgJ3F1YW50aXR5JyB8ICdsaW5lUHJpY2UnIHwgJ2xpbmVUYXgnIHwgJ2xpbmVQcmljZVdpdGhUYXgnIHwgJ2Rpc2NvdW50ZWRMaW5lUHJpY2UnIHwgJ2Rpc2NvdW50ZWRMaW5lUHJpY2VXaXRoVGF4Jz5cclxuICAmIHsgZmVhdHVyZWRBc3NldD86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdBc3NldCcgfVxyXG4gICAgJiBQaWNrPEFzc2V0LCAncHJldmlldyc+XHJcbiAgKT4sIHByb2R1Y3RWYXJpYW50OiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnQnIH1cclxuICAgICYgUGljazxQcm9kdWN0VmFyaWFudCwgJ2lkJyB8ICduYW1lJyB8ICdza3UnIHwgJ3RyYWNrSW52ZW50b3J5JyB8ICdzdG9ja09uSGFuZCc+XHJcbiAgKSwgZGlzY291bnRzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRGlzY291bnQnIH1cclxuICAgICYgRGlzY291bnRGcmFnbWVudFxyXG4gICk+LCBmdWxmaWxsbWVudHM/OiBNYXliZTxBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRnVsZmlsbG1lbnQnIH1cclxuICAgICYgRnVsZmlsbG1lbnRGcmFnbWVudFxyXG4gICk+PiwgaXRlbXM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlckl0ZW0nIH1cclxuICAgICYgUGljazxPcmRlckl0ZW0sICdpZCcgfCAncmVmdW5kSWQnIHwgJ2NhbmNlbGxlZCc+XHJcbiAgKT4gfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgT3JkZXJEZXRhaWxGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnT3JkZXInIH1cclxuICAmIFBpY2s8T3JkZXIsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvZGUnIHwgJ3N0YXRlJyB8ICduZXh0U3RhdGVzJyB8ICdhY3RpdmUnIHwgJ2NvdXBvbkNvZGVzJyB8ICdzdWJUb3RhbCcgfCAnc3ViVG90YWxXaXRoVGF4JyB8ICd0b3RhbCcgfCAndG90YWxXaXRoVGF4JyB8ICdjdXJyZW5jeUNvZGUnIHwgJ3NoaXBwaW5nJyB8ICdzaGlwcGluZ1dpdGhUYXgnPlxyXG4gICYgeyBjdXN0b21lcj86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21lcicgfVxyXG4gICAgJiBQaWNrPEN1c3RvbWVyLCAnaWQnIHwgJ2ZpcnN0TmFtZScgfCAnbGFzdE5hbWUnPlxyXG4gICk+LCBsaW5lczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyTGluZScgfVxyXG4gICAgJiBPcmRlckxpbmVGcmFnbWVudFxyXG4gICk+LCBzdXJjaGFyZ2VzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnU3VyY2hhcmdlJyB9XHJcbiAgICAmIFBpY2s8U3VyY2hhcmdlLCAnaWQnIHwgJ3NrdScgfCAnZGVzY3JpcHRpb24nIHwgJ3ByaWNlJyB8ICdwcmljZVdpdGhUYXgnIHwgJ3RheFJhdGUnPlxyXG4gICk+LCBkaXNjb3VudHM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdEaXNjb3VudCcgfVxyXG4gICAgJiBEaXNjb3VudEZyYWdtZW50XHJcbiAgKT4sIHByb21vdGlvbnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9tb3Rpb24nIH1cclxuICAgICYgUGljazxQcm9tb3Rpb24sICdpZCcgfCAnY291cG9uQ29kZSc+XHJcbiAgKT4sIHNoaXBwaW5nTGluZXM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdTaGlwcGluZ0xpbmUnIH1cclxuICAgICYgeyBzaGlwcGluZ01ldGhvZDogKFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2hpcHBpbmdNZXRob2QnIH1cclxuICAgICAgJiBQaWNrPFNoaXBwaW5nTWV0aG9kLCAnaWQnIHwgJ2NvZGUnIHwgJ25hbWUnIHwgJ2Z1bGZpbGxtZW50SGFuZGxlckNvZGUnIHwgJ2Rlc2NyaXB0aW9uJz5cclxuICAgICkgfVxyXG4gICk+LCB0YXhTdW1tYXJ5OiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJUYXhTdW1tYXJ5JyB9XHJcbiAgICAmIFBpY2s8T3JkZXJUYXhTdW1tYXJ5LCAnZGVzY3JpcHRpb24nIHwgJ3RheEJhc2UnIHwgJ3RheFJhdGUnIHwgJ3RheFRvdGFsJz5cclxuICApPiwgc2hpcHBpbmdBZGRyZXNzPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyQWRkcmVzcycgfVxyXG4gICAgJiBPcmRlckFkZHJlc3NGcmFnbWVudFxyXG4gICk+LCBiaWxsaW5nQWRkcmVzcz86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlckFkZHJlc3MnIH1cclxuICAgICYgT3JkZXJBZGRyZXNzRnJhZ21lbnRcclxuICApPiwgcGF5bWVudHM/OiBNYXliZTxBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudCcgfVxyXG4gICAgJiBQaWNrPFBheW1lbnQsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd0cmFuc2FjdGlvbklkJyB8ICdhbW91bnQnIHwgJ21ldGhvZCcgfCAnc3RhdGUnIHwgJ25leHRTdGF0ZXMnIHwgJ2Vycm9yTWVzc2FnZScgfCAnbWV0YWRhdGEnPlxyXG4gICAgJiB7IHJlZnVuZHM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlZnVuZCcgfVxyXG4gICAgICAmIFBpY2s8UmVmdW5kLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAnc3RhdGUnIHwgJ2l0ZW1zJyB8ICdhZGp1c3RtZW50JyB8ICd0b3RhbCcgfCAncGF5bWVudElkJyB8ICdyZWFzb24nIHwgJ3RyYW5zYWN0aW9uSWQnIHwgJ21ldGhvZCcgfCAnbWV0YWRhdGEnPlxyXG4gICAgICAmIHsgb3JkZXJJdGVtczogQXJyYXk8KFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdPcmRlckl0ZW0nIH1cclxuICAgICAgICAmIFBpY2s8T3JkZXJJdGVtLCAnaWQnPlxyXG4gICAgICApPiB9XHJcbiAgICApPiB9XHJcbiAgKT4+LCBmdWxmaWxsbWVudHM/OiBNYXliZTxBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRnVsZmlsbG1lbnQnIH1cclxuICAgICYgRnVsZmlsbG1lbnRGcmFnbWVudFxyXG4gICk+PiwgbW9kaWZpY2F0aW9uczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyTW9kaWZpY2F0aW9uJyB9XHJcbiAgICAmIFBpY2s8T3JkZXJNb2RpZmljYXRpb24sICdpZCcgfCAnY3JlYXRlZEF0JyB8ICdpc1NldHRsZWQnIHwgJ3ByaWNlQ2hhbmdlJyB8ICdub3RlJz5cclxuICAgICYgeyBwYXltZW50PzogTWF5YmU8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudCcgfVxyXG4gICAgICAmIFBpY2s8UGF5bWVudCwgJ2lkJyB8ICdhbW91bnQnPlxyXG4gICAgKT4sIG9yZGVySXRlbXM/OiBNYXliZTxBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdPcmRlckl0ZW0nIH1cclxuICAgICAgJiBQaWNrPE9yZGVySXRlbSwgJ2lkJz5cclxuICAgICk+PiwgcmVmdW5kPzogTWF5YmU8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUmVmdW5kJyB9XHJcbiAgICAgICYgUGljazxSZWZ1bmQsICdpZCcgfCAncGF5bWVudElkJyB8ICd0b3RhbCc+XHJcbiAgICApPiwgc3VyY2hhcmdlcz86IE1heWJlPEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1N1cmNoYXJnZScgfVxyXG4gICAgICAmIFBpY2s8U3VyY2hhcmdlLCAnaWQnPlxyXG4gICAgKT4+IH1cclxuICApPiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBHZXRPcmRlckxpc3RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBvcHRpb25zPzogTWF5YmU8T3JkZXJMaXN0T3B0aW9ucz47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldE9yZGVyTGlzdFF1ZXJ5ID0geyBvcmRlcnM6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlckxpc3QnIH1cclxuICAgICYgUGljazxPcmRlckxpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXInIH1cclxuICAgICAgJiBPcmRlckZyYWdtZW50XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0T3JkZXJRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0T3JkZXJRdWVyeSA9IHsgb3JkZXI/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXInIH1cclxuICAgICYgT3JkZXJEZXRhaWxGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBTZXR0bGVQYXltZW50TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFNldHRsZVBheW1lbnRNdXRhdGlvbiA9IHsgc2V0dGxlUGF5bWVudDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnQnIH1cclxuICAgICYgUGF5bWVudEZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdTZXR0bGVQYXltZW50RXJyb3InIH1cclxuICAgICYgUGljazxTZXR0bGVQYXltZW50RXJyb3IsICdwYXltZW50RXJyb3JNZXNzYWdlJz5cclxuICAgICYgRXJyb3JSZXN1bHRfU2V0dGxlUGF5bWVudEVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdQYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3InIH1cclxuICAgICYgUGljazxQYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3IsICd0cmFuc2l0aW9uRXJyb3InPlxyXG4gICAgJiBFcnJvclJlc3VsdF9QYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3InIH1cclxuICAgICYgUGljazxPcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yLCAndHJhbnNpdGlvbkVycm9yJz5cclxuICAgICYgRXJyb3JSZXN1bHRfT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcl9GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIENhbmNlbFBheW1lbnRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQ2FuY2VsUGF5bWVudE11dGF0aW9uID0geyBjYW5jZWxQYXltZW50OiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudCcgfVxyXG4gICAgJiBQYXltZW50RnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NhbmNlbFBheW1lbnRFcnJvcicgfVxyXG4gICAgJiBQaWNrPENhbmNlbFBheW1lbnRFcnJvciwgJ3BheW1lbnRFcnJvck1lc3NhZ2UnPlxyXG4gICAgJiBFcnJvclJlc3VsdF9DYW5jZWxQYXltZW50RXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcicgfVxyXG4gICAgJiBQaWNrPFBheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvciwgJ3RyYW5zaXRpb25FcnJvcic+XHJcbiAgICAmIEVycm9yUmVzdWx0X1BheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcl9GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFRyYW5zaXRpb25QYXltZW50VG9TdGF0ZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIHN0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVHJhbnNpdGlvblBheW1lbnRUb1N0YXRlTXV0YXRpb24gPSB7IHRyYW5zaXRpb25QYXltZW50VG9TdGF0ZTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnQnIH1cclxuICAgICYgUGF5bWVudEZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdQYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3InIH1cclxuICAgICYgUGljazxQYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3IsICd0cmFuc2l0aW9uRXJyb3InPlxyXG4gICAgJiBFcnJvclJlc3VsdF9QYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3JfRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVGdWxmaWxsbWVudE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBGdWxmaWxsT3JkZXJJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlRnVsZmlsbG1lbnRNdXRhdGlvbiA9IHsgYWRkRnVsZmlsbG1lbnRUb09yZGVyOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRnVsZmlsbG1lbnQnIH1cclxuICAgICYgRnVsZmlsbG1lbnRGcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRW1wdHlPcmRlckxpbmVTZWxlY3Rpb25FcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9FbXB0eU9yZGVyTGluZVNlbGVjdGlvbkVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdJdGVtc0FscmVhZHlGdWxmaWxsZWRFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9JdGVtc0FscmVhZHlGdWxmaWxsZWRFcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnSW5zdWZmaWNpZW50U3RvY2tPbkhhbmRFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9JbnN1ZmZpY2llbnRTdG9ja09uSGFuZEVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdJbnZhbGlkRnVsZmlsbG1lbnRIYW5kbGVyRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfSW52YWxpZEZ1bGZpbGxtZW50SGFuZGxlckVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdGdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yJyB9XHJcbiAgICAmIFBpY2s8RnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvciwgJ2Vycm9yQ29kZScgfCAnbWVzc2FnZScgfCAndHJhbnNpdGlvbkVycm9yJz5cclxuICAgICYgRXJyb3JSZXN1bHRfRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ3JlYXRlRnVsZmlsbG1lbnRFcnJvcicgfVxyXG4gICAgJiBQaWNrPENyZWF0ZUZ1bGZpbGxtZW50RXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnIHwgJ2Z1bGZpbGxtZW50SGFuZGxlckVycm9yJz5cclxuICAgICYgRXJyb3JSZXN1bHRfQ3JlYXRlRnVsZmlsbG1lbnRFcnJvcl9GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIENhbmNlbE9yZGVyTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IENhbmNlbE9yZGVySW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENhbmNlbE9yZGVyTXV0YXRpb24gPSB7IGNhbmNlbE9yZGVyOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXInIH1cclxuICAgICYgT3JkZXJEZXRhaWxGcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRW1wdHlPcmRlckxpbmVTZWxlY3Rpb25FcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9FbXB0eU9yZGVyTGluZVNlbGVjdGlvbkVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdRdWFudGl0eVRvb0dyZWF0RXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfUXVhbnRpdHlUb29HcmVhdEVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdNdWx0aXBsZU9yZGVyRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfTXVsdGlwbGVPcmRlckVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDYW5jZWxBY3RpdmVPcmRlckVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X0NhbmNlbEFjdGl2ZU9yZGVyRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcl9GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlZnVuZE9yZGVyTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFJlZnVuZE9yZGVySW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFJlZnVuZE9yZGVyTXV0YXRpb24gPSB7IHJlZnVuZE9yZGVyOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmVmdW5kJyB9XHJcbiAgICAmIFJlZnVuZEZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdRdWFudGl0eVRvb0dyZWF0RXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfUXVhbnRpdHlUb29HcmVhdEVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdOb3RoaW5nVG9SZWZ1bmRFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9Ob3RoaW5nVG9SZWZ1bmRFcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9PcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdNdWx0aXBsZU9yZGVyRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfTXVsdGlwbGVPcmRlckVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdQYXltZW50T3JkZXJNaXNtYXRjaEVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X1BheW1lbnRPcmRlck1pc21hdGNoRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JlZnVuZE9yZGVyU3RhdGVFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9SZWZ1bmRPcmRlclN0YXRlRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FscmVhZHlSZWZ1bmRlZEVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X0FscmVhZHlSZWZ1bmRlZEVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdSZWZ1bmRTdGF0ZVRyYW5zaXRpb25FcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9SZWZ1bmRTdGF0ZVRyYW5zaXRpb25FcnJvcl9GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFNldHRsZVJlZnVuZE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBTZXR0bGVSZWZ1bmRJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgU2V0dGxlUmVmdW5kTXV0YXRpb24gPSB7IHNldHRsZVJlZnVuZDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JlZnVuZCcgfVxyXG4gICAgJiBSZWZ1bmRGcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmVmdW5kU3RhdGVUcmFuc2l0aW9uRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfUmVmdW5kU3RhdGVUcmFuc2l0aW9uRXJyb3JfRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRPcmRlckhpc3RvcnlRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBvcHRpb25zPzogTWF5YmU8SGlzdG9yeUVudHJ5TGlzdE9wdGlvbnM+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRPcmRlckhpc3RvcnlRdWVyeSA9IHsgb3JkZXI/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXInIH1cclxuICAgICYgUGljazxPcmRlciwgJ2lkJz5cclxuICAgICYgeyBoaXN0b3J5OiAoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdIaXN0b3J5RW50cnlMaXN0JyB9XHJcbiAgICAgICYgUGljazxIaXN0b3J5RW50cnlMaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIaXN0b3J5RW50cnknIH1cclxuICAgICAgICAmIFBpY2s8SGlzdG9yeUVudHJ5LCAnaWQnIHwgJ3R5cGUnIHwgJ2NyZWF0ZWRBdCcgfCAnaXNQdWJsaWMnIHwgJ2RhdGEnPlxyXG4gICAgICAgICYgeyBhZG1pbmlzdHJhdG9yPzogTWF5YmU8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0FkbWluaXN0cmF0b3InIH1cclxuICAgICAgICAgICYgUGljazxBZG1pbmlzdHJhdG9yLCAnaWQnIHwgJ2ZpcnN0TmFtZScgfCAnbGFzdE5hbWUnPlxyXG4gICAgICAgICk+IH1cclxuICAgICAgKT4gfVxyXG4gICAgKSB9XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIEFkZE5vdGVUb09yZGVyTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IEFkZE5vdGVUb09yZGVySW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEFkZE5vdGVUb09yZGVyTXV0YXRpb24gPSB7IGFkZE5vdGVUb09yZGVyOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXInIH1cclxuICAgICYgUGljazxPcmRlciwgJ2lkJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVPcmRlck5vdGVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXBkYXRlT3JkZXJOb3RlSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZU9yZGVyTm90ZU11dGF0aW9uID0geyB1cGRhdGVPcmRlck5vdGU6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdIaXN0b3J5RW50cnknIH1cclxuICAgICYgUGljazxIaXN0b3J5RW50cnksICdpZCcgfCAnZGF0YScgfCAnaXNQdWJsaWMnPlxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZU9yZGVyTm90ZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVPcmRlck5vdGVNdXRhdGlvbiA9IHsgZGVsZXRlT3JkZXJOb3RlOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRGVsZXRpb25SZXNwb25zZScgfVxyXG4gICAgJiBQaWNrPERlbGV0aW9uUmVzcG9uc2UsICdyZXN1bHQnIHwgJ21lc3NhZ2UnPlxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFRyYW5zaXRpb25PcmRlclRvU3RhdGVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBzdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFRyYW5zaXRpb25PcmRlclRvU3RhdGVNdXRhdGlvbiA9IHsgdHJhbnNpdGlvbk9yZGVyVG9TdGF0ZT86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlcicgfVxyXG4gICAgJiBPcmRlckZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yJyB9XHJcbiAgICAmIFBpY2s8T3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvciwgJ3RyYW5zaXRpb25FcnJvcic+XHJcbiAgICAmIEVycm9yUmVzdWx0X09yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3JfRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlT3JkZXJDdXN0b21GaWVsZHNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXBkYXRlT3JkZXJJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlT3JkZXJDdXN0b21GaWVsZHNNdXRhdGlvbiA9IHsgc2V0T3JkZXJDdXN0b21GaWVsZHM/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXInIH1cclxuICAgICYgT3JkZXJGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBUcmFuc2l0aW9uRnVsZmlsbG1lbnRUb1N0YXRlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgc3RhdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBUcmFuc2l0aW9uRnVsZmlsbG1lbnRUb1N0YXRlTXV0YXRpb24gPSB7IHRyYW5zaXRpb25GdWxmaWxsbWVudFRvU3RhdGU6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdGdWxmaWxsbWVudCcgfVxyXG4gICAgJiBGdWxmaWxsbWVudEZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdGdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yJyB9XHJcbiAgICAmIFBpY2s8RnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvciwgJ3RyYW5zaXRpb25FcnJvcic+XHJcbiAgICAmIEVycm9yUmVzdWx0X0Z1bGZpbGxtZW50U3RhdGVUcmFuc2l0aW9uRXJyb3JfRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRPcmRlclN1bW1hcnlRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBzdGFydDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBlbmQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldE9yZGVyU3VtbWFyeVF1ZXJ5ID0geyBvcmRlcnM6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlckxpc3QnIH1cclxuICAgICYgUGljazxPcmRlckxpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXInIH1cclxuICAgICAgJiBQaWNrPE9yZGVyLCAnaWQnIHwgJ3RvdGFsJyB8ICdjdXJyZW5jeUNvZGUnPlxyXG4gICAgKT4gfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIE1vZGlmeU9yZGVyTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IE1vZGlmeU9yZGVySW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE1vZGlmeU9yZGVyTXV0YXRpb24gPSB7IG1vZGlmeU9yZGVyOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXInIH1cclxuICAgICYgT3JkZXJEZXRhaWxGcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTm9DaGFuZ2VzU3BlY2lmaWVkRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfTm9DaGFuZ2VzU3BlY2lmaWVkRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyTW9kaWZpY2F0aW9uU3RhdGVFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9PcmRlck1vZGlmaWNhdGlvblN0YXRlRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnRNZXRob2RNaXNzaW5nRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfUGF5bWVudE1ldGhvZE1pc3NpbmdFcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmVmdW5kUGF5bWVudElkTWlzc2luZ0Vycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X1JlZnVuZFBheW1lbnRJZE1pc3NpbmdFcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJMaW1pdEVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X09yZGVyTGltaXRFcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTmVnYXRpdmVRdWFudGl0eUVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X05lZ2F0aXZlUXVhbnRpdHlFcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnSW5zdWZmaWNpZW50U3RvY2tFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9JbnN1ZmZpY2llbnRTdG9ja0Vycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb3Vwb25Db2RlRXhwaXJlZEVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X0NvdXBvbkNvZGVFeHBpcmVkRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvdXBvbkNvZGVJbnZhbGlkRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfQ291cG9uQ29kZUludmFsaWRFcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ291cG9uQ29kZUxpbWl0RXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfQ291cG9uQ29kZUxpbWl0RXJyb3JfRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBBZGRNYW51YWxQYXltZW50TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IE1hbnVhbFBheW1lbnRJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQWRkTWFudWFsUGF5bWVudE11dGF0aW9uID0geyBhZGRNYW51YWxQYXltZW50VG9PcmRlcjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyJyB9XHJcbiAgICAmIE9yZGVyRGV0YWlsRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ01hbnVhbFBheW1lbnRTdGF0ZUVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X01hbnVhbFBheW1lbnRTdGF0ZUVycm9yX0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlRHJhZnRPcmRlck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlRHJhZnRPcmRlck11dGF0aW9uID0geyBjcmVhdGVEcmFmdE9yZGVyOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXInIH1cclxuICAgICYgT3JkZXJEZXRhaWxGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZURyYWZ0T3JkZXJNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBvcmRlcklkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVEcmFmdE9yZGVyTXV0YXRpb24gPSB7IGRlbGV0ZURyYWZ0T3JkZXI6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQWRkSXRlbVRvRHJhZnRPcmRlck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9yZGVySWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgaW5wdXQ6IEFkZEl0ZW1Ub0RyYWZ0T3JkZXJJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQWRkSXRlbVRvRHJhZnRPcmRlck11dGF0aW9uID0geyBhZGRJdGVtVG9EcmFmdE9yZGVyOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXInIH1cclxuICAgICYgT3JkZXJEZXRhaWxGcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJNb2RpZmljYXRpb25FcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9PcmRlck1vZGlmaWNhdGlvbkVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlckxpbWl0RXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfT3JkZXJMaW1pdEVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdOZWdhdGl2ZVF1YW50aXR5RXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfTmVnYXRpdmVRdWFudGl0eUVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdJbnN1ZmZpY2llbnRTdG9ja0Vycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X0luc3VmZmljaWVudFN0b2NrRXJyb3JfRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBBZGp1c3REcmFmdE9yZGVyTGluZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9yZGVySWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgaW5wdXQ6IEFkanVzdERyYWZ0T3JkZXJMaW5lSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEFkanVzdERyYWZ0T3JkZXJMaW5lTXV0YXRpb24gPSB7IGFkanVzdERyYWZ0T3JkZXJMaW5lOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXInIH1cclxuICAgICYgT3JkZXJEZXRhaWxGcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJNb2RpZmljYXRpb25FcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9PcmRlck1vZGlmaWNhdGlvbkVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlckxpbWl0RXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfT3JkZXJMaW1pdEVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdOZWdhdGl2ZVF1YW50aXR5RXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfTmVnYXRpdmVRdWFudGl0eUVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdJbnN1ZmZpY2llbnRTdG9ja0Vycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X0luc3VmZmljaWVudFN0b2NrRXJyb3JfRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBSZW1vdmVEcmFmdE9yZGVyTGluZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9yZGVySWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgb3JkZXJMaW5lSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFJlbW92ZURyYWZ0T3JkZXJMaW5lTXV0YXRpb24gPSB7IHJlbW92ZURyYWZ0T3JkZXJMaW5lOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXInIH1cclxuICAgICYgT3JkZXJEZXRhaWxGcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJNb2RpZmljYXRpb25FcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9PcmRlck1vZGlmaWNhdGlvbkVycm9yX0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgU2V0Q3VzdG9tZXJGb3JEcmFmdE9yZGVyTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgb3JkZXJJZDogU2NhbGFyc1snSUQnXTtcclxuICBjdXN0b21lcklkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbiAgaW5wdXQ/OiBNYXliZTxDcmVhdGVDdXN0b21lcklucHV0PjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgU2V0Q3VzdG9tZXJGb3JEcmFmdE9yZGVyTXV0YXRpb24gPSB7IHNldEN1c3RvbWVyRm9yRHJhZnRPcmRlcjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyJyB9XHJcbiAgICAmIE9yZGVyRGV0YWlsRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0VtYWlsQWRkcmVzc0NvbmZsaWN0RXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfRW1haWxBZGRyZXNzQ29uZmxpY3RFcnJvcl9GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFNldERyYWZ0T3JkZXJTaGlwcGluZ0FkZHJlc3NNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBvcmRlcklkOiBTY2FsYXJzWydJRCddO1xyXG4gIGlucHV0OiBDcmVhdGVBZGRyZXNzSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFNldERyYWZ0T3JkZXJTaGlwcGluZ0FkZHJlc3NNdXRhdGlvbiA9IHsgc2V0RHJhZnRPcmRlclNoaXBwaW5nQWRkcmVzczogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyJyB9XHJcbiAgICAmIE9yZGVyRGV0YWlsRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBTZXREcmFmdE9yZGVyQmlsbGluZ0FkZHJlc3NNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBvcmRlcklkOiBTY2FsYXJzWydJRCddO1xyXG4gIGlucHV0OiBDcmVhdGVBZGRyZXNzSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFNldERyYWZ0T3JkZXJCaWxsaW5nQWRkcmVzc011dGF0aW9uID0geyBzZXREcmFmdE9yZGVyQmlsbGluZ0FkZHJlc3M6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlcicgfVxyXG4gICAgJiBPcmRlckRldGFpbEZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQXBwbHlDb3Vwb25Db2RlVG9EcmFmdE9yZGVyTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgb3JkZXJJZDogU2NhbGFyc1snSUQnXTtcclxuICBjb3Vwb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQXBwbHlDb3Vwb25Db2RlVG9EcmFmdE9yZGVyTXV0YXRpb24gPSB7IGFwcGx5Q291cG9uQ29kZVRvRHJhZnRPcmRlcjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyJyB9XHJcbiAgICAmIE9yZGVyRGV0YWlsRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvdXBvbkNvZGVFeHBpcmVkRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfQ291cG9uQ29kZUV4cGlyZWRFcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ291cG9uQ29kZUludmFsaWRFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9Db3Vwb25Db2RlSW52YWxpZEVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb3Vwb25Db2RlTGltaXRFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9Db3Vwb25Db2RlTGltaXRFcnJvcl9GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlbW92ZUNvdXBvbkNvZGVGcm9tRHJhZnRPcmRlck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9yZGVySWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY291cG9uQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFJlbW92ZUNvdXBvbkNvZGVGcm9tRHJhZnRPcmRlck11dGF0aW9uID0geyByZW1vdmVDb3Vwb25Db2RlRnJvbURyYWZ0T3JkZXI/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXInIH1cclxuICAgICYgT3JkZXJEZXRhaWxGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBEcmFmdE9yZGVyRWxpZ2libGVTaGlwcGluZ01ldGhvZHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBvcmRlcklkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEcmFmdE9yZGVyRWxpZ2libGVTaGlwcGluZ01ldGhvZHNRdWVyeSA9IHsgZWxpZ2libGVTaGlwcGluZ01ldGhvZHNGb3JEcmFmdE9yZGVyOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2hpcHBpbmdNZXRob2RRdW90ZScgfVxyXG4gICAgJiBQaWNrPFNoaXBwaW5nTWV0aG9kUXVvdGUsICdpZCcgfCAnbmFtZScgfCAnY29kZScgfCAnZGVzY3JpcHRpb24nIHwgJ3ByaWNlJyB8ICdwcmljZVdpdGhUYXgnIHwgJ21ldGFkYXRhJz5cclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgU2V0RHJhZnRPcmRlclNoaXBwaW5nTWV0aG9kTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgb3JkZXJJZDogU2NhbGFyc1snSUQnXTtcclxuICBzaGlwcGluZ01ldGhvZElkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBTZXREcmFmdE9yZGVyU2hpcHBpbmdNZXRob2RNdXRhdGlvbiA9IHsgc2V0RHJhZnRPcmRlclNoaXBwaW5nTWV0aG9kOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXInIH1cclxuICAgICYgT3JkZXJEZXRhaWxGcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJNb2RpZmljYXRpb25FcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9PcmRlck1vZGlmaWNhdGlvbkVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdJbmVsaWdpYmxlU2hpcHBpbmdNZXRob2RFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9JbmVsaWdpYmxlU2hpcHBpbmdNZXRob2RFcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTm9BY3RpdmVPcmRlckVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X05vQWN0aXZlT3JkZXJFcnJvcl9GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEFzc2V0RnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XHJcbiAgJiBQaWNrPEFzc2V0LCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICduYW1lJyB8ICdmaWxlU2l6ZScgfCAnbWltZVR5cGUnIHwgJ3R5cGUnIHwgJ3ByZXZpZXcnIHwgJ3NvdXJjZScgfCAnd2lkdGgnIHwgJ2hlaWdodCc+XHJcbiAgJiB7IGZvY2FsUG9pbnQ/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29vcmRpbmF0ZScgfVxyXG4gICAgJiBQaWNrPENvb3JkaW5hdGUsICd4JyB8ICd5Jz5cclxuICApPiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBUYWdGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnVGFnJyB9XHJcbiAgJiBQaWNrPFRhZywgJ2lkJyB8ICd2YWx1ZSc+XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0T3B0aW9uR3JvdXBGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbkdyb3VwJyB9XHJcbiAgJiBQaWNrPFByb2R1Y3RPcHRpb25Hcm91cCwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnY29kZScgfCAnbGFuZ3VhZ2VDb2RlJyB8ICduYW1lJz5cclxuICAmIHsgdHJhbnNsYXRpb25zOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbkdyb3VwVHJhbnNsYXRpb24nIH1cclxuICAgICYgUGljazxQcm9kdWN0T3B0aW9uR3JvdXBUcmFuc2xhdGlvbiwgJ2lkJyB8ICdsYW5ndWFnZUNvZGUnIHwgJ25hbWUnPlxyXG4gICk+IH1cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RPcHRpb25GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbicgfVxyXG4gICYgUGljazxQcm9kdWN0T3B0aW9uLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdjb2RlJyB8ICdsYW5ndWFnZUNvZGUnIHwgJ25hbWUnIHwgJ2dyb3VwSWQnPlxyXG4gICYgeyB0cmFuc2xhdGlvbnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uVHJhbnNsYXRpb24nIH1cclxuICAgICYgUGljazxQcm9kdWN0T3B0aW9uVHJhbnNsYXRpb24sICdpZCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICduYW1lJz5cclxuICApPiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0VmFyaWFudEZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudCcgfVxyXG4gICYgUGljazxQcm9kdWN0VmFyaWFudCwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZW5hYmxlZCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICduYW1lJyB8ICdwcmljZScgfCAnY3VycmVuY3lDb2RlJyB8ICdwcmljZVdpdGhUYXgnIHwgJ3N0b2NrT25IYW5kJyB8ICdzdG9ja0FsbG9jYXRlZCcgfCAndHJhY2tJbnZlbnRvcnknIHwgJ291dE9mU3RvY2tUaHJlc2hvbGQnIHwgJ3VzZUdsb2JhbE91dE9mU3RvY2tUaHJlc2hvbGQnIHwgJ3NrdSc+XHJcbiAgJiB7IHRheFJhdGVBcHBsaWVkOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVGF4UmF0ZScgfVxyXG4gICAgJiBQaWNrPFRheFJhdGUsICdpZCcgfCAnbmFtZScgfCAndmFsdWUnPlxyXG4gICksIHRheENhdGVnb3J5OiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVGF4Q2F0ZWdvcnknIH1cclxuICAgICYgUGljazxUYXhDYXRlZ29yeSwgJ2lkJyB8ICduYW1lJz5cclxuICApLCBvcHRpb25zOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbicgfVxyXG4gICAgJiBQcm9kdWN0T3B0aW9uRnJhZ21lbnRcclxuICApPiwgZmFjZXRWYWx1ZXM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdGYWNldFZhbHVlJyB9XHJcbiAgICAmIFBpY2s8RmFjZXRWYWx1ZSwgJ2lkJyB8ICdjb2RlJyB8ICduYW1lJz5cclxuICAgICYgeyBmYWNldDogKFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRmFjZXQnIH1cclxuICAgICAgJiBQaWNrPEZhY2V0LCAnaWQnIHwgJ25hbWUnPlxyXG4gICAgKSB9XHJcbiAgKT4sIGZlYXR1cmVkQXNzZXQ/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQXNzZXQnIH1cclxuICAgICYgQXNzZXRGcmFnbWVudFxyXG4gICk+LCBhc3NldHM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdBc3NldCcgfVxyXG4gICAgJiBBc3NldEZyYWdtZW50XHJcbiAgKT4sIHRyYW5zbGF0aW9uczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50VHJhbnNsYXRpb24nIH1cclxuICAgICYgUGljazxQcm9kdWN0VmFyaWFudFRyYW5zbGF0aW9uLCAnaWQnIHwgJ2xhbmd1YWdlQ29kZScgfCAnbmFtZSc+XHJcbiAgKT4sIGNoYW5uZWxzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2hhbm5lbCcgfVxyXG4gICAgJiBQaWNrPENoYW5uZWwsICdpZCcgfCAnY29kZSc+XHJcbiAgKT4gfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdERldGFpbEZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdQcm9kdWN0JyB9XHJcbiAgJiBQaWNrPFByb2R1Y3QsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2VuYWJsZWQnIHwgJ2xhbmd1YWdlQ29kZScgfCAnbmFtZScgfCAnc2x1ZycgfCAnZGVzY3JpcHRpb24nPlxyXG4gICYgeyBmZWF0dXJlZEFzc2V0PzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XHJcbiAgICAmIEFzc2V0RnJhZ21lbnRcclxuICApPiwgYXNzZXRzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQXNzZXQnIH1cclxuICAgICYgQXNzZXRGcmFnbWVudFxyXG4gICk+LCB0cmFuc2xhdGlvbnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VHJhbnNsYXRpb24nIH1cclxuICAgICYgUGljazxQcm9kdWN0VHJhbnNsYXRpb24sICdpZCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICduYW1lJyB8ICdzbHVnJyB8ICdkZXNjcmlwdGlvbic+XHJcbiAgKT4sIG9wdGlvbkdyb3VwczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25Hcm91cCcgfVxyXG4gICAgJiBQcm9kdWN0T3B0aW9uR3JvdXBGcmFnbWVudFxyXG4gICk+LCBmYWNldFZhbHVlczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0VmFsdWUnIH1cclxuICAgICYgUGljazxGYWNldFZhbHVlLCAnaWQnIHwgJ2NvZGUnIHwgJ25hbWUnPlxyXG4gICAgJiB7IGZhY2V0OiAoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdGYWNldCcgfVxyXG4gICAgICAmIFBpY2s8RmFjZXQsICdpZCcgfCAnbmFtZSc+XHJcbiAgICApIH1cclxuICApPiwgY2hhbm5lbHM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDaGFubmVsJyB9XHJcbiAgICAmIFBpY2s8Q2hhbm5lbCwgJ2lkJyB8ICdjb2RlJz5cclxuICApPiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0T3B0aW9uR3JvdXBXaXRoT3B0aW9uc0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uR3JvdXAnIH1cclxuICAmIFBpY2s8UHJvZHVjdE9wdGlvbkdyb3VwLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdsYW5ndWFnZUNvZGUnIHwgJ2NvZGUnIHwgJ25hbWUnPlxyXG4gICYgeyB0cmFuc2xhdGlvbnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uR3JvdXBUcmFuc2xhdGlvbicgfVxyXG4gICAgJiBQaWNrPFByb2R1Y3RPcHRpb25Hcm91cFRyYW5zbGF0aW9uLCAnaWQnIHwgJ25hbWUnPlxyXG4gICk+LCBvcHRpb25zOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbicgfVxyXG4gICAgJiBQaWNrPFByb2R1Y3RPcHRpb24sICdpZCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICduYW1lJyB8ICdjb2RlJz5cclxuICAgICYgeyB0cmFuc2xhdGlvbnM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25UcmFuc2xhdGlvbicgfVxyXG4gICAgICAmIFBpY2s8UHJvZHVjdE9wdGlvblRyYW5zbGF0aW9uLCAnbmFtZSc+XHJcbiAgICApPiB9XHJcbiAgKT4gfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlUHJvZHVjdE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBVcGRhdGVQcm9kdWN0SW5wdXQ7XHJcbiAgdmFyaWFudExpc3RPcHRpb25zPzogTWF5YmU8UHJvZHVjdFZhcmlhbnRMaXN0T3B0aW9ucz47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVByb2R1Y3RNdXRhdGlvbiA9IHsgdXBkYXRlUHJvZHVjdDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3QnIH1cclxuICAgICYgeyB2YXJpYW50TGlzdDogKFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnRMaXN0JyB9XHJcbiAgICAgICYgUGljazxQcm9kdWN0VmFyaWFudExpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50JyB9XHJcbiAgICAgICAgJiBQcm9kdWN0VmFyaWFudEZyYWdtZW50XHJcbiAgICAgICk+IH1cclxuICAgICkgfVxyXG4gICAgJiBQcm9kdWN0RGV0YWlsRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVQcm9kdWN0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IENyZWF0ZVByb2R1Y3RJbnB1dDtcclxuICB2YXJpYW50TGlzdE9wdGlvbnM/OiBNYXliZTxQcm9kdWN0VmFyaWFudExpc3RPcHRpb25zPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlUHJvZHVjdE11dGF0aW9uID0geyBjcmVhdGVQcm9kdWN0OiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdCcgfVxyXG4gICAgJiB7IHZhcmlhbnRMaXN0OiAoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudExpc3QnIH1cclxuICAgICAgJiBQaWNrPFByb2R1Y3RWYXJpYW50TGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnQnIH1cclxuICAgICAgICAmIFByb2R1Y3RWYXJpYW50RnJhZ21lbnRcclxuICAgICAgKT4gfVxyXG4gICAgKSB9XHJcbiAgICAmIFByb2R1Y3REZXRhaWxGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZVByb2R1Y3RNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlUHJvZHVjdE11dGF0aW9uID0geyBkZWxldGVQcm9kdWN0OiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRGVsZXRpb25SZXNwb25zZScgfVxyXG4gICAgJiBQaWNrPERlbGV0aW9uUmVzcG9uc2UsICdyZXN1bHQnIHwgJ21lc3NhZ2UnPlxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZVByb2R1Y3RzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWRzOiBBcnJheTxTY2FsYXJzWydJRCddPiB8IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZVByb2R1Y3RzTXV0YXRpb24gPSB7IGRlbGV0ZVByb2R1Y3RzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRGVsZXRpb25SZXNwb25zZScgfVxyXG4gICAgJiBQaWNrPERlbGV0aW9uUmVzcG9uc2UsICdyZXN1bHQnIHwgJ21lc3NhZ2UnPlxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVQcm9kdWN0VmFyaWFudHNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQXJyYXk8Q3JlYXRlUHJvZHVjdFZhcmlhbnRJbnB1dD4gfCBDcmVhdGVQcm9kdWN0VmFyaWFudElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVQcm9kdWN0VmFyaWFudHNNdXRhdGlvbiA9IHsgY3JlYXRlUHJvZHVjdFZhcmlhbnRzOiBBcnJheTxNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/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+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVByb2R1Y3RPcHRpb25NdXRhdGlvbiA9IHsgdXBkYXRlUHJvZHVjdE9wdGlvbjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb24nIH1cclxuICAgICYgUHJvZHVjdE9wdGlvbkZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlUHJvZHVjdE9wdGlvbk11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVQcm9kdWN0T3B0aW9uTXV0YXRpb24gPSB7IGRlbGV0ZVByb2R1Y3RPcHRpb246IChcclxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlUHJvZHVjdFZhcmlhbnRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlUHJvZHVjdFZhcmlhbnRNdXRhdGlvbiA9IHsgZGVsZXRlUHJvZHVjdFZhcmlhbnQ6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0UHJvZHVjdFZhcmlhbnRPcHRpb25zUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFByb2R1Y3RWYXJpYW50T3B0aW9uc1F1ZXJ5ID0geyBwcm9kdWN0PzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3QnIH1cclxuICAgICYgUGljazxQcm9kdWN0LCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICduYW1lJz5cclxuICAgICYgeyBvcHRpb25Hcm91cHM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25Hcm91cCcgfVxyXG4gICAgICAmIHsgb3B0aW9uczogQXJyYXk8KFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uJyB9XHJcbiAgICAgICAgJiBQcm9kdWN0T3B0aW9uRnJhZ21lbnRcclxuICAgICAgKT4gfVxyXG4gICAgICAmIFByb2R1Y3RPcHRpb25Hcm91cEZyYWdtZW50XHJcbiAgICApPiwgdmFyaWFudHM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50JyB9XHJcbiAgICAgICYgUGljazxQcm9kdWN0VmFyaWFudCwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZW5hYmxlZCcgfCAnbmFtZScgfCAnc2t1JyB8ICdwcmljZScgfCAnc3RvY2tPbkhhbmQnPlxyXG4gICAgICAmIHsgb3B0aW9uczogQXJyYXk8KFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uJyB9XHJcbiAgICAgICAgJiBQaWNrPFByb2R1Y3RPcHRpb24sICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ25hbWUnIHwgJ2NvZGUnIHwgJ2dyb3VwSWQnPlxyXG4gICAgICApPiB9XHJcbiAgICApPiB9XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIEFzc2lnblByb2R1Y3RzVG9DaGFubmVsTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IEFzc2lnblByb2R1Y3RzVG9DaGFubmVsSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEFzc2lnblByb2R1Y3RzVG9DaGFubmVsTXV0YXRpb24gPSB7IGFzc2lnblByb2R1Y3RzVG9DaGFubmVsOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdCcgfVxyXG4gICAgJiBQaWNrPFByb2R1Y3QsICdpZCc+XHJcbiAgICAmIHsgY2hhbm5lbHM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NoYW5uZWwnIH1cclxuICAgICAgJiBQaWNrPENoYW5uZWwsICdpZCcgfCAnY29kZSc+XHJcbiAgICApPiB9XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIEFzc2lnblZhcmlhbnRzVG9DaGFubmVsTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IEFzc2lnblByb2R1Y3RWYXJpYW50c1RvQ2hhbm5lbElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBBc3NpZ25WYXJpYW50c1RvQ2hhbm5lbE11dGF0aW9uID0geyBhc3NpZ25Qcm9kdWN0VmFyaWFudHNUb0NoYW5uZWw6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudCcgfVxyXG4gICAgJiBQaWNrPFByb2R1Y3RWYXJpYW50LCAnaWQnPlxyXG4gICAgJiB7IGNoYW5uZWxzOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdDaGFubmVsJyB9XHJcbiAgICAgICYgUGljazxDaGFubmVsLCAnaWQnIHwgJ2NvZGUnPlxyXG4gICAgKT4gfVxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBSZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWxJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUmVtb3ZlUHJvZHVjdHNGcm9tQ2hhbm5lbE11dGF0aW9uID0geyByZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdCcgfVxyXG4gICAgJiBQaWNrPFByb2R1Y3QsICdpZCc+XHJcbiAgICAmIHsgY2hhbm5lbHM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NoYW5uZWwnIH1cclxuICAgICAgJiBQaWNrPENoYW5uZWwsICdpZCcgfCAnY29kZSc+XHJcbiAgICApPiB9XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlbW92ZVZhcmlhbnRzRnJvbUNoYW5uZWxNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogUmVtb3ZlUHJvZHVjdFZhcmlhbnRzRnJvbUNoYW5uZWxJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUmVtb3ZlVmFyaWFudHNGcm9tQ2hhbm5lbE11dGF0aW9uID0geyByZW1vdmVQcm9kdWN0VmFyaWFudHNGcm9tQ2hhbm5lbDogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50JyB9XHJcbiAgICAmIFBpY2s8UHJvZHVjdFZhcmlhbnQsICdpZCc+XHJcbiAgICAmIHsgY2hhbm5lbHM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NoYW5uZWwnIH1cclxuICAgICAgJiBQaWNrPENoYW5uZWwsICdpZCcgfCAnY29kZSc+XHJcbiAgICApPiB9XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFByb2R1Y3RWYXJpYW50UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFByb2R1Y3RWYXJpYW50UXVlcnkgPSB7IHByb2R1Y3RWYXJpYW50PzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50JyB9XHJcbiAgICAmIFBpY2s8UHJvZHVjdFZhcmlhbnQsICdpZCcgfCAnbmFtZScgfCAnc2t1JyB8ICdzdG9ja09uSGFuZCcgfCAnc3RvY2tBbGxvY2F0ZWQnIHwgJ3N0b2NrTGV2ZWwnIHwgJ3VzZUdsb2JhbE91dE9mU3RvY2tUaHJlc2hvbGQnIHwgJ3ByaWNlJyB8ICdwcmljZVdpdGhUYXgnPlxyXG4gICAgJiB7IGZlYXR1cmVkQXNzZXQ/OiBNYXliZTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdBc3NldCcgfVxyXG4gICAgICAmIFBpY2s8QXNzZXQsICdpZCcgfCAncHJldmlldyc+XHJcbiAgICAgICYgeyBmb2NhbFBvaW50PzogTWF5YmU8KFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDb29yZGluYXRlJyB9XHJcbiAgICAgICAgJiBQaWNrPENvb3JkaW5hdGUsICd4JyB8ICd5Jz5cclxuICAgICAgKT4gfVxyXG4gICAgKT4sIHByb2R1Y3Q6IChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3QnIH1cclxuICAgICAgJiBQaWNrPFByb2R1Y3QsICdpZCc+XHJcbiAgICAgICYgeyBmZWF0dXJlZEFzc2V0PzogTWF5YmU8KFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdBc3NldCcgfVxyXG4gICAgICAgICYgUGljazxBc3NldCwgJ2lkJyB8ICdwcmV2aWV3Jz5cclxuICAgICAgICAmIHsgZm9jYWxQb2ludD86IE1heWJlPChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdDb29yZGluYXRlJyB9XHJcbiAgICAgICAgICAmIFBpY2s8Q29vcmRpbmF0ZSwgJ3gnIHwgJ3knPlxyXG4gICAgICAgICk+IH1cclxuICAgICAgKT4gfVxyXG4gICAgKSB9XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFByb2R1Y3RWYXJpYW50TGlzdFNpbXBsZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9wdGlvbnM6IFByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnM7XHJcbiAgcHJvZHVjdElkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFByb2R1Y3RWYXJpYW50TGlzdFNpbXBsZVF1ZXJ5ID0geyBwcm9kdWN0VmFyaWFudHM6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudExpc3QnIH1cclxuICAgICYgUGljazxQcm9kdWN0VmFyaWFudExpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnQnIH1cclxuICAgICAgJiBQaWNrPFByb2R1Y3RWYXJpYW50LCAnaWQnIHwgJ25hbWUnIHwgJ3NrdSc+XHJcbiAgICAgICYgeyBmZWF0dXJlZEFzc2V0PzogTWF5YmU8KFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdBc3NldCcgfVxyXG4gICAgICAgICYgUGljazxBc3NldCwgJ2lkJyB8ICdwcmV2aWV3Jz5cclxuICAgICAgICAmIHsgZm9jYWxQb2ludD86IE1heWJlPChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdDb29yZGluYXRlJyB9XHJcbiAgICAgICAgICAmIFBpY2s8Q29vcmRpbmF0ZSwgJ3gnIHwgJ3knPlxyXG4gICAgICAgICk+IH1cclxuICAgICAgKT4sIHByb2R1Y3Q6IChcclxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdCcgfVxyXG4gICAgICAgICYgUGljazxQcm9kdWN0LCAnaWQnPlxyXG4gICAgICAgICYgeyBmZWF0dXJlZEFzc2V0PzogTWF5YmU8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XHJcbiAgICAgICAgICAmIFBpY2s8QXNzZXQsICdpZCcgfCAncHJldmlldyc+XHJcbiAgICAgICAgICAmIHsgZm9jYWxQb2ludD86IE1heWJlPChcclxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Nvb3JkaW5hdGUnIH1cclxuICAgICAgICAgICAgJiBQaWNrPENvb3JkaW5hdGUsICd4JyB8ICd5Jz5cclxuICAgICAgICAgICk+IH1cclxuICAgICAgICApPiB9XHJcbiAgICAgICkgfVxyXG4gICAgKT4gfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFByb2R1Y3RWYXJpYW50TGlzdFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9wdGlvbnM6IFByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnM7XHJcbiAgcHJvZHVjdElkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFByb2R1Y3RWYXJpYW50TGlzdFF1ZXJ5ID0geyBwcm9kdWN0VmFyaWFudHM6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudExpc3QnIH1cclxuICAgICYgUGljazxQcm9kdWN0VmFyaWFudExpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnQnIH1cclxuICAgICAgJiBQcm9kdWN0VmFyaWFudEZyYWdtZW50XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0VGFnTGlzdFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9wdGlvbnM/OiBNYXliZTxUYWdMaXN0T3B0aW9ucz47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFRhZ0xpc3RRdWVyeSA9IHsgdGFnczogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1RhZ0xpc3QnIH1cclxuICAgICYgUGljazxUYWdMaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1RhZycgfVxyXG4gICAgICAmIFRhZ0ZyYWdtZW50XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0VGFnUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFRhZ1F1ZXJ5ID0geyB0YWc6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdUYWcnIH1cclxuICAgICYgVGFnRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVUYWdNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQ3JlYXRlVGFnSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVRhZ011dGF0aW9uID0geyBjcmVhdGVUYWc6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdUYWcnIH1cclxuICAgICYgVGFnRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVUYWdNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXBkYXRlVGFnSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVRhZ011dGF0aW9uID0geyB1cGRhdGVUYWc6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdUYWcnIH1cclxuICAgICYgVGFnRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVUYWdNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlVGFnTXV0YXRpb24gPSB7IGRlbGV0ZVRhZzogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAnbWVzc2FnZScgfCAncmVzdWx0Jz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9tb3Rpb25GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnUHJvbW90aW9uJyB9XHJcbiAgJiBQaWNrPFByb21vdGlvbiwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnbmFtZScgfCAnZW5hYmxlZCcgfCAnY291cG9uQ29kZScgfCAncGVyQ3VzdG9tZXJVc2FnZUxpbWl0JyB8ICdzdGFydHNBdCcgfCAnZW5kc0F0Jz5cclxuICAmIHsgY29uZGl0aW9uczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZpZ3VyYWJsZU9wZXJhdGlvbicgfVxyXG4gICAgJiBDb25maWd1cmFibGVPcGVyYXRpb25GcmFnbWVudFxyXG4gICk+LCBhY3Rpb25zOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmlndXJhYmxlT3BlcmF0aW9uJyB9XHJcbiAgICAmIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkZyYWdtZW50XHJcbiAgKT4gfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0UHJvbW90aW9uTGlzdFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9wdGlvbnM/OiBNYXliZTxQcm9tb3Rpb25MaXN0T3B0aW9ucz47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFByb21vdGlvbkxpc3RRdWVyeSA9IHsgcHJvbW90aW9uczogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb21vdGlvbkxpc3QnIH1cclxuICAgICYgUGljazxQcm9tb3Rpb25MaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb21vdGlvbicgfVxyXG4gICAgICAmIFByb21vdGlvbkZyYWdtZW50XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0UHJvbW90aW9uUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFByb21vdGlvblF1ZXJ5ID0geyBwcm9tb3Rpb24/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvbW90aW9uJyB9XHJcbiAgICAmIFByb21vdGlvbkZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldEFkanVzdG1lbnRPcGVyYXRpb25zUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRBZGp1c3RtZW50T3BlcmF0aW9uc1F1ZXJ5ID0geyBwcm9tb3Rpb25Db25kaXRpb25zOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbicgfVxyXG4gICAgJiBDb25maWd1cmFibGVPcGVyYXRpb25EZWZGcmFnbWVudFxyXG4gICk+LCBwcm9tb3Rpb25BY3Rpb25zOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbicgfVxyXG4gICAgJiBDb25maWd1cmFibGVPcGVyYXRpb25EZWZGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVQcm9tb3Rpb25NdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQ3JlYXRlUHJvbW90aW9uSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVByb21vdGlvbk11dGF0aW9uID0geyBjcmVhdGVQcm9tb3Rpb246IChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9tb3Rpb24nIH1cclxuICAgICYgUHJvbW90aW9uRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ01pc3NpbmdDb25kaXRpb25zRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfTWlzc2luZ0NvbmRpdGlvbnNFcnJvcl9GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVByb21vdGlvbk11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBVcGRhdGVQcm9tb3Rpb25JbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlUHJvbW90aW9uTXV0YXRpb24gPSB7IHVwZGF0ZVByb21vdGlvbjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb21vdGlvbicgfVxyXG4gICAgJiBQcm9tb3Rpb25GcmFnbWVudFxyXG4gICkgfCB7IF9fdHlwZW5hbWU/OiAnTWlzc2luZ0NvbmRpdGlvbnNFcnJvcicgfSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlUHJvbW90aW9uTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZVByb21vdGlvbk11dGF0aW9uID0geyBkZWxldGVQcm9tb3Rpb246IChcclxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ291bnRyeUZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdDb3VudHJ5JyB9XHJcbiAgJiBQaWNrPENvdW50cnksICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvZGUnIHwgJ25hbWUnIHwgJ2VuYWJsZWQnPlxyXG4gICYgeyB0cmFuc2xhdGlvbnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb3VudHJ5VHJhbnNsYXRpb24nIH1cclxuICAgICYgUGljazxDb3VudHJ5VHJhbnNsYXRpb24sICdpZCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICduYW1lJz5cclxuICApPiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBHZXRDb3VudHJ5TGlzdFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9wdGlvbnM/OiBNYXliZTxDb3VudHJ5TGlzdE9wdGlvbnM+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRDb3VudHJ5TGlzdFF1ZXJ5ID0geyBjb3VudHJpZXM6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb3VudHJ5TGlzdCcgfVxyXG4gICAgJiBQaWNrPENvdW50cnlMaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NvdW50cnknIH1cclxuICAgICAgJiBQaWNrPENvdW50cnksICdpZCcgfCAnY29kZScgfCAnbmFtZScgfCAnZW5hYmxlZCc+XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0QXZhaWxhYmxlQ291bnRyaWVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRBdmFpbGFibGVDb3VudHJpZXNRdWVyeSA9IHsgY291bnRyaWVzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ291bnRyeUxpc3QnIH1cclxuICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ291bnRyeScgfVxyXG4gICAgICAmIFBpY2s8Q291bnRyeSwgJ2lkJyB8ICdjb2RlJyB8ICduYW1lJyB8ICdlbmFibGVkJz5cclxuICAgICk+IH1cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRDb3VudHJ5UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldENvdW50cnlRdWVyeSA9IHsgY291bnRyeT86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb3VudHJ5JyB9XHJcbiAgICAmIENvdW50cnlGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVDb3VudHJ5TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IENyZWF0ZUNvdW50cnlJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlQ291bnRyeU11dGF0aW9uID0geyBjcmVhdGVDb3VudHJ5OiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ291bnRyeScgfVxyXG4gICAgJiBDb3VudHJ5RnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVDb3VudHJ5TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFVwZGF0ZUNvdW50cnlJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQ291bnRyeU11dGF0aW9uID0geyB1cGRhdGVDb3VudHJ5OiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ291bnRyeScgfVxyXG4gICAgJiBDb3VudHJ5RnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVDb3VudHJ5TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZUNvdW50cnlNdXRhdGlvbiA9IHsgZGVsZXRlQ291bnRyeTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBab25lRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1pvbmUnIH1cclxuICAmIFBpY2s8Wm9uZSwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnbmFtZSc+XHJcbiAgJiB7IG1lbWJlcnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb3VudHJ5JyB9XHJcbiAgICAmIENvdW50cnlGcmFnbWVudFxyXG4gICk+IH1cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFpvbmVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRab25lc1F1ZXJ5ID0geyB6b25lczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1pvbmUnIH1cclxuICAgICYgeyBtZW1iZXJzOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdDb3VudHJ5JyB9XHJcbiAgICAgICYgUGljazxDb3VudHJ5LCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2lkJyB8ICduYW1lJyB8ICdjb2RlJyB8ICdlbmFibGVkJz5cclxuICAgICk+IH1cclxuICAgICYgWm9uZUZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFpvbmVRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0Wm9uZVF1ZXJ5ID0geyB6b25lPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1pvbmUnIH1cclxuICAgICYgWm9uZUZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVpvbmVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQ3JlYXRlWm9uZUlucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVab25lTXV0YXRpb24gPSB7IGNyZWF0ZVpvbmU6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdab25lJyB9XHJcbiAgICAmIFpvbmVGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVpvbmVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXBkYXRlWm9uZUlucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVab25lTXV0YXRpb24gPSB7IHVwZGF0ZVpvbmU6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdab25lJyB9XHJcbiAgICAmIFpvbmVGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZVpvbmVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlWm9uZU11dGF0aW9uID0geyBkZWxldGVab25lOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRGVsZXRpb25SZXNwb25zZScgfVxyXG4gICAgJiBQaWNrPERlbGV0aW9uUmVzcG9uc2UsICdtZXNzYWdlJyB8ICdyZXN1bHQnPlxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEFkZE1lbWJlcnNUb1pvbmVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICB6b25lSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgbWVtYmVySWRzOiBBcnJheTxTY2FsYXJzWydJRCddPiB8IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEFkZE1lbWJlcnNUb1pvbmVNdXRhdGlvbiA9IHsgYWRkTWVtYmVyc1RvWm9uZTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1pvbmUnIH1cclxuICAgICYgWm9uZUZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgUmVtb3ZlTWVtYmVyc0Zyb21ab25lTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgem9uZUlkOiBTY2FsYXJzWydJRCddO1xyXG4gIG1lbWJlcklkczogQXJyYXk8U2NhbGFyc1snSUQnXT4gfCBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBSZW1vdmVNZW1iZXJzRnJvbVpvbmVNdXRhdGlvbiA9IHsgcmVtb3ZlTWVtYmVyc0Zyb21ab25lOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnWm9uZScgfVxyXG4gICAgJiBab25lRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBUYXhDYXRlZ29yeUZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdUYXhDYXRlZ29yeScgfVxyXG4gICYgUGljazxUYXhDYXRlZ29yeSwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnbmFtZScgfCAnaXNEZWZhdWx0Jz5cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFRheENhdGVnb3JpZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFRheENhdGVnb3JpZXNRdWVyeSA9IHsgdGF4Q2F0ZWdvcmllczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1RheENhdGVnb3J5JyB9XHJcbiAgICAmIFRheENhdGVnb3J5RnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0VGF4Q2F0ZWdvcnlRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0VGF4Q2F0ZWdvcnlRdWVyeSA9IHsgdGF4Q2F0ZWdvcnk/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVGF4Q2F0ZWdvcnknIH1cclxuICAgICYgVGF4Q2F0ZWdvcnlGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVUYXhDYXRlZ29yeU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBDcmVhdGVUYXhDYXRlZ29yeUlucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVUYXhDYXRlZ29yeU11dGF0aW9uID0geyBjcmVhdGVUYXhDYXRlZ29yeTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1RheENhdGVnb3J5JyB9XHJcbiAgICAmIFRheENhdGVnb3J5RnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVUYXhDYXRlZ29yeU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBVcGRhdGVUYXhDYXRlZ29yeUlucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVUYXhDYXRlZ29yeU11dGF0aW9uID0geyB1cGRhdGVUYXhDYXRlZ29yeTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1RheENhdGVnb3J5JyB9XHJcbiAgICAmIFRheENhdGVnb3J5RnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVUYXhDYXRlZ29yeU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVUYXhDYXRlZ29yeU11dGF0aW9uID0geyBkZWxldGVUYXhDYXRlZ29yeTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBUYXhSYXRlRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1RheFJhdGUnIH1cclxuICAmIFBpY2s8VGF4UmF0ZSwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnbmFtZScgfCAnZW5hYmxlZCcgfCAndmFsdWUnPlxyXG4gICYgeyBjYXRlZ29yeTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1RheENhdGVnb3J5JyB9XHJcbiAgICAmIFBpY2s8VGF4Q2F0ZWdvcnksICdpZCcgfCAnbmFtZSc+XHJcbiAgKSwgem9uZTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1pvbmUnIH1cclxuICAgICYgUGljazxab25lLCAnaWQnIHwgJ25hbWUnPlxyXG4gICksIGN1c3RvbWVyR3JvdXA/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXJHcm91cCcgfVxyXG4gICAgJiBQaWNrPEN1c3RvbWVyR3JvdXAsICdpZCcgfCAnbmFtZSc+XHJcbiAgKT4gfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0VGF4UmF0ZUxpc3RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBvcHRpb25zPzogTWF5YmU8VGF4UmF0ZUxpc3RPcHRpb25zPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0VGF4UmF0ZUxpc3RRdWVyeSA9IHsgdGF4UmF0ZXM6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdUYXhSYXRlTGlzdCcgfVxyXG4gICAgJiBQaWNrPFRheFJhdGVMaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1RheFJhdGUnIH1cclxuICAgICAgJiBUYXhSYXRlRnJhZ21lbnRcclxuICAgICk+IH1cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRUYXhSYXRlTGlzdFNpbXBsZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9wdGlvbnM/OiBNYXliZTxUYXhSYXRlTGlzdE9wdGlvbnM+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRUYXhSYXRlTGlzdFNpbXBsZVF1ZXJ5ID0geyB0YXhSYXRlczogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1RheFJhdGVMaXN0JyB9XHJcbiAgICAmIFBpY2s8VGF4UmF0ZUxpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVGF4UmF0ZScgfVxyXG4gICAgICAmIFBpY2s8VGF4UmF0ZSwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnbmFtZScgfCAnZW5hYmxlZCcgfCAndmFsdWUnPlxyXG4gICAgICAmIHsgY2F0ZWdvcnk6IChcclxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGF4Q2F0ZWdvcnknIH1cclxuICAgICAgICAmIFBpY2s8VGF4Q2F0ZWdvcnksICdpZCcgfCAnbmFtZSc+XHJcbiAgICAgICksIHpvbmU6IChcclxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnWm9uZScgfVxyXG4gICAgICAgICYgUGljazxab25lLCAnaWQnIHwgJ25hbWUnPlxyXG4gICAgICApIH1cclxuICAgICk+IH1cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRUYXhSYXRlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFRheFJhdGVRdWVyeSA9IHsgdGF4UmF0ZT86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdUYXhSYXRlJyB9XHJcbiAgICAmIFRheFJhdGVGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVUYXhSYXRlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IENyZWF0ZVRheFJhdGVJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlVGF4UmF0ZU11dGF0aW9uID0geyBjcmVhdGVUYXhSYXRlOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVGF4UmF0ZScgfVxyXG4gICAgJiBUYXhSYXRlRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVUYXhSYXRlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFVwZGF0ZVRheFJhdGVJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlVGF4UmF0ZU11dGF0aW9uID0geyB1cGRhdGVUYXhSYXRlOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVGF4UmF0ZScgfVxyXG4gICAgJiBUYXhSYXRlRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVUYXhSYXRlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZVRheFJhdGVNdXRhdGlvbiA9IHsgZGVsZXRlVGF4UmF0ZTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBDaGFubmVsRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0NoYW5uZWwnIH1cclxuICAmIFBpY2s8Q2hhbm5lbCwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnY29kZScgfCAndG9rZW4nIHwgJ3ByaWNlc0luY2x1ZGVUYXgnIHwgJ2N1cnJlbmN5Q29kZScgfCAnZGVmYXVsdExhbmd1YWdlQ29kZSc+XHJcbiAgJiB7IGRlZmF1bHRTaGlwcGluZ1pvbmU/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnWm9uZScgfVxyXG4gICAgJiBQaWNrPFpvbmUsICdpZCcgfCAnbmFtZSc+XHJcbiAgKT4sIGRlZmF1bHRUYXhab25lPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1pvbmUnIH1cclxuICAgICYgUGljazxab25lLCAnaWQnIHwgJ25hbWUnPlxyXG4gICk+IH1cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldENoYW5uZWxzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRDaGFubmVsc1F1ZXJ5ID0geyBjaGFubmVsczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NoYW5uZWwnIH1cclxuICAgICYgQ2hhbm5lbEZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldENoYW5uZWxRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q2hhbm5lbFF1ZXJ5ID0geyBjaGFubmVsPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NoYW5uZWwnIH1cclxuICAgICYgQ2hhbm5lbEZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldEFjdGl2ZUNoYW5uZWxRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldEFjdGl2ZUNoYW5uZWxRdWVyeSA9IHsgYWN0aXZlQ2hhbm5lbDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NoYW5uZWwnIH1cclxuICAgICYgQ2hhbm5lbEZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBDcmVhdGVDaGFubmVsSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUNoYW5uZWxNdXRhdGlvbiA9IHsgY3JlYXRlQ2hhbm5lbDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NoYW5uZWwnIH1cclxuICAgICYgQ2hhbm5lbEZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdMYW5ndWFnZU5vdEF2YWlsYWJsZUVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X0xhbmd1YWdlTm90QXZhaWxhYmxlRXJyb3JfRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVDaGFubmVsTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFVwZGF0ZUNoYW5uZWxJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQ2hhbm5lbE11dGF0aW9uID0geyB1cGRhdGVDaGFubmVsOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2hhbm5lbCcgfVxyXG4gICAgJiBDaGFubmVsRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xhbmd1YWdlTm90QXZhaWxhYmxlRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfTGFuZ3VhZ2VOb3RBdmFpbGFibGVFcnJvcl9GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZUNoYW5uZWxNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlQ2hhbm5lbE11dGF0aW9uID0geyBkZWxldGVDaGFubmVsOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRGVsZXRpb25SZXNwb25zZScgfVxyXG4gICAgJiBQaWNrPERlbGV0aW9uUmVzcG9uc2UsICdyZXN1bHQnIHwgJ21lc3NhZ2UnPlxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFBheW1lbnRNZXRob2RGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZCcgfVxyXG4gICYgUGljazxQYXltZW50TWV0aG9kLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICduYW1lJyB8ICdjb2RlJyB8ICdkZXNjcmlwdGlvbicgfCAnZW5hYmxlZCc+XHJcbiAgJiB7IGNoZWNrZXI/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmlndXJhYmxlT3BlcmF0aW9uJyB9XHJcbiAgICAmIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkZyYWdtZW50XHJcbiAgKT4sIGhhbmRsZXI6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb24nIH1cclxuICAgICYgQ29uZmlndXJhYmxlT3BlcmF0aW9uRnJhZ21lbnRcclxuICApIH1cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFBheW1lbnRNZXRob2RMaXN0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgb3B0aW9uczogUGF5bWVudE1ldGhvZExpc3RPcHRpb25zO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRQYXltZW50TWV0aG9kTGlzdFF1ZXJ5ID0geyBwYXltZW50TWV0aG9kczogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnRNZXRob2RMaXN0JyB9XHJcbiAgICAmIFBpY2s8UGF5bWVudE1ldGhvZExpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZCcgfVxyXG4gICAgICAmIFBheW1lbnRNZXRob2RGcmFnbWVudFxyXG4gICAgKT4gfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFBheW1lbnRNZXRob2RPcGVyYXRpb25zUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRQYXltZW50TWV0aG9kT3BlcmF0aW9uc1F1ZXJ5ID0geyBwYXltZW50TWV0aG9kRWxpZ2liaWxpdHlDaGVja2VyczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZmluaXRpb24nIH1cclxuICAgICYgQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmRnJhZ21lbnRcclxuICApPiwgcGF5bWVudE1ldGhvZEhhbmRsZXJzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbicgfVxyXG4gICAgJiBDb25maWd1cmFibGVPcGVyYXRpb25EZWZGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRQYXltZW50TWV0aG9kUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFBheW1lbnRNZXRob2RRdWVyeSA9IHsgcGF5bWVudE1ldGhvZD86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdQYXltZW50TWV0aG9kJyB9XHJcbiAgICAmIFBheW1lbnRNZXRob2RGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVQYXltZW50TWV0aG9kTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IENyZWF0ZVBheW1lbnRNZXRob2RJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlUGF5bWVudE1ldGhvZE11dGF0aW9uID0geyBjcmVhdGVQYXltZW50TWV0aG9kOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZCcgfVxyXG4gICAgJiBQYXltZW50TWV0aG9kRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVQYXltZW50TWV0aG9kTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFVwZGF0ZVBheW1lbnRNZXRob2RJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlUGF5bWVudE1ldGhvZE11dGF0aW9uID0geyB1cGRhdGVQYXltZW50TWV0aG9kOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZCcgfVxyXG4gICAgJiBQYXltZW50TWV0aG9kRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVQYXltZW50TWV0aG9kTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgZm9yY2U/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVQYXltZW50TWV0aG9kTXV0YXRpb24gPSB7IGRlbGV0ZVBheW1lbnRNZXRob2Q6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2xvYmFsU2V0dGluZ3NGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnR2xvYmFsU2V0dGluZ3MnIH1cclxuICAmIFBpY2s8R2xvYmFsU2V0dGluZ3MsICdpZCcgfCAnYXZhaWxhYmxlTGFuZ3VhZ2VzJyB8ICd0cmFja0ludmVudG9yeScgfCAnb3V0T2ZTdG9ja1RocmVzaG9sZCc+XHJcbiAgJiB7IHNlcnZlckNvbmZpZzogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NlcnZlckNvbmZpZycgfVxyXG4gICAgJiB7IHBlcm1pc3Npb25zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdQZXJtaXNzaW9uRGVmaW5pdGlvbicgfVxyXG4gICAgICAmIFBpY2s8UGVybWlzc2lvbkRlZmluaXRpb24sICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnYXNzaWduYWJsZSc+XHJcbiAgICApPiwgb3JkZXJQcm9jZXNzOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdPcmRlclByb2Nlc3NTdGF0ZScgfVxyXG4gICAgICAmIFBpY2s8T3JkZXJQcm9jZXNzU3RhdGUsICduYW1lJz5cclxuICAgICk+IH1cclxuICApIH1cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldEdsb2JhbFNldHRpbmdzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRHbG9iYWxTZXR0aW5nc1F1ZXJ5ID0geyBnbG9iYWxTZXR0aW5nczogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0dsb2JhbFNldHRpbmdzJyB9XHJcbiAgICAmIEdsb2JhbFNldHRpbmdzRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVHbG9iYWxTZXR0aW5nc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBVcGRhdGVHbG9iYWxTZXR0aW5nc0lucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVHbG9iYWxTZXR0aW5nc011dGF0aW9uID0geyB1cGRhdGVHbG9iYWxTZXR0aW5nczogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0dsb2JhbFNldHRpbmdzJyB9XHJcbiAgICAmIEdsb2JhbFNldHRpbmdzRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NoYW5uZWxEZWZhdWx0TGFuZ3VhZ2VFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9DaGFubmVsRGVmYXVsdExhbmd1YWdlRXJyb3JfRnJhZ21lbnRcclxuICApIH07XHJcblxyXG50eXBlIEN1c3RvbUZpZWxkQ29uZmlnX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgJiBQaWNrPEJvb2xlYW5DdXN0b21GaWVsZENvbmZpZywgJ25hbWUnIHwgJ3R5cGUnIHwgJ2xpc3QnIHwgJ3JlYWRvbmx5JyB8ICdudWxsYWJsZScgfCAndWknPlxyXG4gICYgeyBkZXNjcmlwdGlvbj86IE1heWJlPEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGl6ZWRTdHJpbmcnIH1cclxuICAgICYgUGljazxMb2NhbGl6ZWRTdHJpbmcsICdsYW5ndWFnZUNvZGUnIHwgJ3ZhbHVlJz5cclxuICApPj4sIGxhYmVsPzogTWF5YmU8QXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsaXplZFN0cmluZycgfVxyXG4gICAgJiBQaWNrPExvY2FsaXplZFN0cmluZywgJ2xhbmd1YWdlQ29kZScgfCAndmFsdWUnPlxyXG4gICk+PiB9XHJcbik7XHJcblxyXG50eXBlIEN1c3RvbUZpZWxkQ29uZmlnX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAmIFBpY2s8RGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZywgJ25hbWUnIHwgJ3R5cGUnIHwgJ2xpc3QnIHwgJ3JlYWRvbmx5JyB8ICdudWxsYWJsZScgfCAndWknPlxyXG4gICYgeyBkZXNjcmlwdGlvbj86IE1heWJlPEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGl6ZWRTdHJpbmcnIH1cclxuICAgICYgUGljazxMb2NhbGl6ZWRTdHJpbmcsICdsYW5ndWFnZUNvZGUnIHwgJ3ZhbHVlJz5cclxuICApPj4sIGxhYmVsPzogTWF5YmU8QXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsaXplZFN0cmluZycgfVxyXG4gICAgJiBQaWNrPExvY2FsaXplZFN0cmluZywgJ2xhbmd1YWdlQ29kZScgfCAndmFsdWUnPlxyXG4gICk+PiB9XHJcbik7XHJcblxyXG50eXBlIEN1c3RvbUZpZWxkQ29uZmlnX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAmIFBpY2s8RmxvYXRDdXN0b21GaWVsZENvbmZpZywgJ25hbWUnIHwgJ3R5cGUnIHwgJ2xpc3QnIHwgJ3JlYWRvbmx5JyB8ICdudWxsYWJsZScgfCAndWknPlxyXG4gICYgeyBkZXNjcmlwdGlvbj86IE1heWJlPEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGl6ZWRTdHJpbmcnIH1cclxuICAgICYgUGljazxMb2NhbGl6ZWRTdHJpbmcsICdsYW5ndWFnZUNvZGUnIHwgJ3ZhbHVlJz5cclxuICApPj4sIGxhYmVsPzogTWF5YmU8QXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsaXplZFN0cmluZycgfVxyXG4gICAgJiBQaWNrPExvY2FsaXplZFN0cmluZywgJ2xhbmd1YWdlQ29kZScgfCAndmFsdWUnPlxyXG4gICk+PiB9XHJcbik7XHJcblxyXG50eXBlIEN1c3RvbUZpZWxkQ29uZmlnX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICYgUGljazxJbnRDdXN0b21GaWVsZENvbmZpZywgJ25hbWUnIHwgJ3R5cGUnIHwgJ2xpc3QnIHwgJ3JlYWRvbmx5JyB8ICdudWxsYWJsZScgfCAndWknPlxyXG4gICYgeyBkZXNjcmlwdGlvbj86IE1heWJlPEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGl6ZWRTdHJpbmcnIH1cclxuICAgICYgUGljazxMb2NhbGl6ZWRTdHJpbmcsICdsYW5ndWFnZUNvZGUnIHwgJ3ZhbHVlJz5cclxuICApPj4sIGxhYmVsPzogTWF5YmU8QXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsaXplZFN0cmluZycgfVxyXG4gICAgJiBQaWNrPExvY2FsaXplZFN0cmluZywgJ2xhbmd1YWdlQ29kZScgfCAndmFsdWUnPlxyXG4gICk+PiB9XHJcbik7XHJcblxyXG50eXBlIEN1c3RvbUZpZWxkQ29uZmlnX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICYgUGljazxMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZywgJ25hbWUnIHwgJ3R5cGUnIHwgJ2xpc3QnIHwgJ3JlYWRvbmx5JyB8ICdudWxsYWJsZScgfCAndWknPlxyXG4gICYgeyBkZXNjcmlwdGlvbj86IE1heWJlPEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGl6ZWRTdHJpbmcnIH1cclxuICAgICYgUGljazxMb2NhbGl6ZWRTdHJpbmcsICdsYW5ndWFnZUNvZGUnIHwgJ3ZhbHVlJz5cclxuICApPj4sIGxhYmVsPzogTWF5YmU8QXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsaXplZFN0cmluZycgfVxyXG4gICAgJiBQaWNrPExvY2FsaXplZFN0cmluZywgJ2xhbmd1YWdlQ29kZScgfCAndmFsdWUnPlxyXG4gICk+PiB9XHJcbik7XHJcblxyXG50eXBlIEN1c3RvbUZpZWxkQ29uZmlnX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAmIFBpY2s8UmVsYXRpb25DdXN0b21GaWVsZENvbmZpZywgJ25hbWUnIHwgJ3R5cGUnIHwgJ2xpc3QnIHwgJ3JlYWRvbmx5JyB8ICdudWxsYWJsZScgfCAndWknPlxyXG4gICYgeyBkZXNjcmlwdGlvbj86IE1heWJlPEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGl6ZWRTdHJpbmcnIH1cclxuICAgICYgUGljazxMb2NhbGl6ZWRTdHJpbmcsICdsYW5ndWFnZUNvZGUnIHwgJ3ZhbHVlJz5cclxuICApPj4sIGxhYmVsPzogTWF5YmU8QXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsaXplZFN0cmluZycgfVxyXG4gICAgJiBQaWNrPExvY2FsaXplZFN0cmluZywgJ2xhbmd1YWdlQ29kZScgfCAndmFsdWUnPlxyXG4gICk+PiB9XHJcbik7XHJcblxyXG50eXBlIEN1c3RvbUZpZWxkQ29uZmlnX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICYgUGljazxTdHJpbmdDdXN0b21GaWVsZENvbmZpZywgJ25hbWUnIHwgJ3R5cGUnIHwgJ2xpc3QnIHwgJ3JlYWRvbmx5JyB8ICdudWxsYWJsZScgfCAndWknPlxyXG4gICYgeyBkZXNjcmlwdGlvbj86IE1heWJlPEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGl6ZWRTdHJpbmcnIH1cclxuICAgICYgUGljazxMb2NhbGl6ZWRTdHJpbmcsICdsYW5ndWFnZUNvZGUnIHwgJ3ZhbHVlJz5cclxuICApPj4sIGxhYmVsPzogTWF5YmU8QXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsaXplZFN0cmluZycgfVxyXG4gICAgJiBQaWNrPExvY2FsaXplZFN0cmluZywgJ2xhbmd1YWdlQ29kZScgfCAndmFsdWUnPlxyXG4gICk+PiB9XHJcbik7XHJcblxyXG50eXBlIEN1c3RvbUZpZWxkQ29uZmlnX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgJiBQaWNrPFRleHRDdXN0b21GaWVsZENvbmZpZywgJ25hbWUnIHwgJ3R5cGUnIHwgJ2xpc3QnIHwgJ3JlYWRvbmx5JyB8ICdudWxsYWJsZScgfCAndWknPlxyXG4gICYgeyBkZXNjcmlwdGlvbj86IE1heWJlPEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGl6ZWRTdHJpbmcnIH1cclxuICAgICYgUGljazxMb2NhbGl6ZWRTdHJpbmcsICdsYW5ndWFnZUNvZGUnIHwgJ3ZhbHVlJz5cclxuICApPj4sIGxhYmVsPzogTWF5YmU8QXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsaXplZFN0cmluZycgfVxyXG4gICAgJiBQaWNrPExvY2FsaXplZFN0cmluZywgJ2xhbmd1YWdlQ29kZScgfCAndmFsdWUnPlxyXG4gICk+PiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBDdXN0b21GaWVsZENvbmZpZ0ZyYWdtZW50ID0gQ3VzdG9tRmllbGRDb25maWdfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50IHwgQ3VzdG9tRmllbGRDb25maWdfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCB8IEN1c3RvbUZpZWxkQ29uZmlnX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgfCBDdXN0b21GaWVsZENvbmZpZ19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCB8IEN1c3RvbUZpZWxkQ29uZmlnX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50IHwgQ3VzdG9tRmllbGRDb25maWdfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCB8IEN1c3RvbUZpZWxkQ29uZmlnX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50IHwgQ3VzdG9tRmllbGRDb25maWdfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50O1xyXG5cclxuZXhwb3J0IHR5cGUgU3RyaW5nQ3VzdG9tRmllbGRGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAmIFBpY2s8U3RyaW5nQ3VzdG9tRmllbGRDb25maWcsICdwYXR0ZXJuJz5cclxuICAmIHsgb3B0aW9ucz86IE1heWJlPEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdGaWVsZE9wdGlvbicgfVxyXG4gICAgJiBQaWNrPFN0cmluZ0ZpZWxkT3B0aW9uLCAndmFsdWUnPlxyXG4gICAgJiB7IGxhYmVsPzogTWF5YmU8QXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJyB9XHJcbiAgICAgICYgUGljazxMb2NhbGl6ZWRTdHJpbmcsICdsYW5ndWFnZUNvZGUnIHwgJ3ZhbHVlJz5cclxuICAgICk+PiB9XHJcbiAgKT4+IH1cclxuICAmIEN1c3RvbUZpZWxkQ29uZmlnX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBMb2NhbGVTdHJpbmdDdXN0b21GaWVsZEZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICYgUGljazxMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZywgJ3BhdHRlcm4nPlxyXG4gICYgQ3VzdG9tRmllbGRDb25maWdfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIFRleHRDdXN0b21GaWVsZEZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAmIEN1c3RvbUZpZWxkQ29uZmlnX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgQm9vbGVhbkN1c3RvbUZpZWxkRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICYgQ3VzdG9tRmllbGRDb25maWdfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBJbnRDdXN0b21GaWVsZEZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICYgeyBpbnRNaW46IEludEN1c3RvbUZpZWxkQ29uZmlnWydtaW4nXSwgaW50TWF4OiBJbnRDdXN0b21GaWVsZENvbmZpZ1snbWF4J10sIGludFN0ZXA6IEludEN1c3RvbUZpZWxkQ29uZmlnWydzdGVwJ10gfVxyXG4gICYgQ3VzdG9tRmllbGRDb25maWdfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIEZsb2F0Q3VzdG9tRmllbGRGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICYgeyBmbG9hdE1pbjogRmxvYXRDdXN0b21GaWVsZENvbmZpZ1snbWluJ10sIGZsb2F0TWF4OiBGbG9hdEN1c3RvbUZpZWxkQ29uZmlnWydtYXgnXSwgZmxvYXRTdGVwOiBGbG9hdEN1c3RvbUZpZWxkQ29uZmlnWydzdGVwJ10gfVxyXG4gICYgQ3VzdG9tRmllbGRDb25maWdfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgRGF0ZVRpbWVDdXN0b21GaWVsZEZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgJiB7IGRhdGV0aW1lTWluOiBEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnWydtaW4nXSwgZGF0ZXRpbWVNYXg6IERhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdbJ21heCddLCBkYXRldGltZVN0ZXA6IERhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdbJ3N0ZXAnXSB9XHJcbiAgJiBDdXN0b21GaWVsZENvbmZpZ19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBSZWxhdGlvbkN1c3RvbUZpZWxkRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAmIFBpY2s8UmVsYXRpb25DdXN0b21GaWVsZENvbmZpZywgJ2VudGl0eScgfCAnc2NhbGFyRmllbGRzJz5cclxuICAmIEN1c3RvbUZpZWxkQ29uZmlnX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuKTtcclxuXHJcbnR5cGUgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgJiBCb29sZWFuQ3VzdG9tRmllbGRGcmFnbWVudFxyXG4pO1xyXG5cclxudHlwZSBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICYgRGF0ZVRpbWVDdXN0b21GaWVsZEZyYWdtZW50XHJcbik7XHJcblxyXG50eXBlIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgJiBGbG9hdEN1c3RvbUZpZWxkRnJhZ21lbnRcclxuKTtcclxuXHJcbnR5cGUgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICYgSW50Q3VzdG9tRmllbGRGcmFnbWVudFxyXG4pO1xyXG5cclxudHlwZSBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgJiBMb2NhbGVTdHJpbmdDdXN0b21GaWVsZEZyYWdtZW50XHJcbik7XHJcblxyXG50eXBlIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgJiBSZWxhdGlvbkN1c3RvbUZpZWxkRnJhZ21lbnRcclxuKTtcclxuXHJcbnR5cGUgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICYgU3RyaW5nQ3VzdG9tRmllbGRGcmFnbWVudFxyXG4pO1xyXG5cclxudHlwZSBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAmIFRleHRDdXN0b21GaWVsZEZyYWdtZW50XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBDdXN0b21GaWVsZHNGcmFnbWVudCA9IEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgfCBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCB8IEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50IHwgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50IHwgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50IHwgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgfCBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgfCBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0U2VydmVyQ29uZmlnUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRTZXJ2ZXJDb25maWdRdWVyeSA9IHsgZ2xvYmFsU2V0dGluZ3M6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdHbG9iYWxTZXR0aW5ncycgfVxyXG4gICAgJiBQaWNrPEdsb2JhbFNldHRpbmdzLCAnaWQnPlxyXG4gICAgJiB7IHNlcnZlckNvbmZpZzogKFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VydmVyQ29uZmlnJyB9XHJcbiAgICAgICYgUGljazxTZXJ2ZXJDb25maWcsICdwZXJtaXR0ZWRBc3NldFR5cGVzJz5cclxuICAgICAgJiB7IG9yZGVyUHJvY2VzczogQXJyYXk8KFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdPcmRlclByb2Nlc3NTdGF0ZScgfVxyXG4gICAgICAgICYgUGljazxPcmRlclByb2Nlc3NTdGF0ZSwgJ25hbWUnIHwgJ3RvJz5cclxuICAgICAgKT4sIHBlcm1pc3Npb25zOiBBcnJheTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1Blcm1pc3Npb25EZWZpbml0aW9uJyB9XHJcbiAgICAgICAgJiBQaWNrPFBlcm1pc3Npb25EZWZpbml0aW9uLCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ2Fzc2lnbmFibGUnPlxyXG4gICAgICApPiwgY3VzdG9tRmllbGRDb25maWc6IChcclxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tRmllbGRzJyB9XHJcbiAgICAgICAgJiB7IEFkZHJlc3M6IEFycmF5PChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApPiwgQWRtaW5pc3RyYXRvcjogQXJyYXk8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICk+LCBBc3NldDogQXJyYXk8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICk+LCBDaGFubmVsOiBBcnJheTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKT4sIENvbGxlY3Rpb246IEFycmF5PChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApPiwgQ291bnRyeTogQXJyYXk8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICk+LCBDdXN0b21lcjogQXJyYXk8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICk+LCBDdXN0b21lckdyb3VwOiBBcnJheTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKT4sIEZhY2V0OiBBcnJheTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKT4sIEZhY2V0VmFsdWU6IEFycmF5PChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApPiwgRnVsZmlsbG1lbnQ6IEFycmF5PChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApPiwgR2xvYmFsU2V0dGluZ3M6IEFycmF5PChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApPiwgT3JkZXI6IEFycmF5PChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApPiwgT3JkZXJMaW5lOiBBcnJheTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKT4sIFBheW1lbnRNZXRob2Q6IEFycmF5PChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApPiwgUHJvZHVjdDogQXJyYXk8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICk+LCBQcm9kdWN0T3B0aW9uOiBBcnJheTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKT4sIFByb2R1Y3RPcHRpb25Hcm91cDogQXJyYXk8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICk+LCBQcm9kdWN0VmFyaWFudDogQXJyYXk8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICk+LCBQcm9tb3Rpb246IEFycmF5PChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApPiwgU2hpcHBpbmdNZXRob2Q6IEFycmF5PChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApPiwgVGF4Q2F0ZWdvcnk6IEFycmF5PChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApPiwgVGF4UmF0ZTogQXJyYXk8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICk+LCBVc2VyOiBBcnJheTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKT4sIFpvbmU6IEFycmF5PChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApPiB9XHJcbiAgICAgICkgfVxyXG4gICAgKSB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgSm9iSW5mb0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdKb2InIH1cclxuICAmIFBpY2s8Sm9iLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAnc3RhcnRlZEF0JyB8ICdzZXR0bGVkQXQnIHwgJ3F1ZXVlTmFtZScgfCAnc3RhdGUnIHwgJ2lzU2V0dGxlZCcgfCAncHJvZ3Jlc3MnIHwgJ2R1cmF0aW9uJyB8ICdkYXRhJyB8ICdyZXN1bHQnIHwgJ2Vycm9yJyB8ICdyZXRyaWVzJyB8ICdhdHRlbXB0cyc+XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBHZXRKb2JJbmZvUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldEpvYkluZm9RdWVyeSA9IHsgam9iPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0pvYicgfVxyXG4gICAgJiBKb2JJbmZvRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0QWxsSm9ic1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9wdGlvbnM/OiBNYXliZTxKb2JMaXN0T3B0aW9ucz47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldEFsbEpvYnNRdWVyeSA9IHsgam9iczogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0pvYkxpc3QnIH1cclxuICAgICYgUGljazxKb2JMaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0pvYicgfVxyXG4gICAgICAmIEpvYkluZm9GcmFnbWVudFxyXG4gICAgKT4gfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldEpvYnNCeUlkUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWRzOiBBcnJheTxTY2FsYXJzWydJRCddPiB8IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldEpvYnNCeUlkUXVlcnkgPSB7IGpvYnNCeUlkOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnSm9iJyB9XHJcbiAgICAmIEpvYkluZm9GcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRKb2JRdWV1ZUxpc3RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldEpvYlF1ZXVlTGlzdFF1ZXJ5ID0geyBqb2JRdWV1ZXM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdKb2JRdWV1ZScgfVxyXG4gICAgJiBQaWNrPEpvYlF1ZXVlLCAnbmFtZScgfCAncnVubmluZyc+XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIENhbmNlbEpvYk11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDYW5jZWxKb2JNdXRhdGlvbiA9IHsgY2FuY2VsSm9iOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnSm9iJyB9XHJcbiAgICAmIEpvYkluZm9GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlaW5kZXhNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFJlaW5kZXhNdXRhdGlvbiA9IHsgcmVpbmRleDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0pvYicgfVxyXG4gICAgJiBKb2JJbmZvRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRQZW5kaW5nU2VhcmNoSW5kZXhVcGRhdGVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRQZW5kaW5nU2VhcmNoSW5kZXhVcGRhdGVzUXVlcnkgPSBQaWNrPFF1ZXJ5LCAncGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlcyc+O1xyXG5cclxuZXhwb3J0IHR5cGUgUnVuUGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUnVuUGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlc011dGF0aW9uID0geyBydW5QZW5kaW5nU2VhcmNoSW5kZXhVcGRhdGVzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnU3VjY2VzcycgfVxyXG4gICAgJiBQaWNrPFN1Y2Nlc3MsICdzdWNjZXNzJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBDb25maWd1cmFibGVPcGVyYXRpb25GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnQ29uZmlndXJhYmxlT3BlcmF0aW9uJyB9XHJcbiAgJiBQaWNrPENvbmZpZ3VyYWJsZU9wZXJhdGlvbiwgJ2NvZGUnPlxyXG4gICYgeyBhcmdzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmlnQXJnJyB9XHJcbiAgICAmIFBpY2s8Q29uZmlnQXJnLCAnbmFtZScgfCAndmFsdWUnPlxyXG4gICk+IH1cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZkZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uJyB9XHJcbiAgJiBQaWNrPENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZmluaXRpb24sICdjb2RlJyB8ICdkZXNjcmlwdGlvbic+XHJcbiAgJiB7IGFyZ3M6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWdBcmdEZWZpbml0aW9uJyB9XHJcbiAgICAmIFBpY2s8Q29uZmlnQXJnRGVmaW5pdGlvbiwgJ25hbWUnIHwgJ3R5cGUnIHwgJ3JlcXVpcmVkJyB8ICdkZWZhdWx0VmFsdWUnIHwgJ2xpc3QnIHwgJ3VpJyB8ICdsYWJlbCcgfCAnZGVzY3JpcHRpb24nPlxyXG4gICk+IH1cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfQWxyZWFkeVJlZnVuZGVkRXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0FscmVhZHlSZWZ1bmRlZEVycm9yJyB9XHJcbiAgJiBQaWNrPEFscmVhZHlSZWZ1bmRlZEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfQ2FuY2VsQWN0aXZlT3JkZXJFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnQ2FuY2VsQWN0aXZlT3JkZXJFcnJvcicgfVxyXG4gICYgUGljazxDYW5jZWxBY3RpdmVPcmRlckVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfQ2FuY2VsUGF5bWVudEVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdDYW5jZWxQYXltZW50RXJyb3InIH1cclxuICAmIFBpY2s8Q2FuY2VsUGF5bWVudEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfQ2hhbm5lbERlZmF1bHRMYW5ndWFnZUVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdDaGFubmVsRGVmYXVsdExhbmd1YWdlRXJyb3InIH1cclxuICAmIFBpY2s8Q2hhbm5lbERlZmF1bHRMYW5ndWFnZUVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfQ291cG9uQ29kZUV4cGlyZWRFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnQ291cG9uQ29kZUV4cGlyZWRFcnJvcicgfVxyXG4gICYgUGljazxDb3Vwb25Db2RlRXhwaXJlZEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfQ291cG9uQ29kZUludmFsaWRFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnQ291cG9uQ29kZUludmFsaWRFcnJvcicgfVxyXG4gICYgUGljazxDb3Vwb25Db2RlSW52YWxpZEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfQ291cG9uQ29kZUxpbWl0RXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0NvdXBvbkNvZGVMaW1pdEVycm9yJyB9XHJcbiAgJiBQaWNrPENvdXBvbkNvZGVMaW1pdEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfQ3JlYXRlRnVsZmlsbG1lbnRFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnQ3JlYXRlRnVsZmlsbG1lbnRFcnJvcicgfVxyXG4gICYgUGljazxDcmVhdGVGdWxmaWxsbWVudEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfRW1haWxBZGRyZXNzQ29uZmxpY3RFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnRW1haWxBZGRyZXNzQ29uZmxpY3RFcnJvcicgfVxyXG4gICYgUGljazxFbWFpbEFkZHJlc3NDb25mbGljdEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfRW1wdHlPcmRlckxpbmVTZWxlY3Rpb25FcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnRW1wdHlPcmRlckxpbmVTZWxlY3Rpb25FcnJvcicgfVxyXG4gICYgUGljazxFbXB0eU9yZGVyTGluZVNlbGVjdGlvbkVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfRmFjZXRJblVzZUVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdGYWNldEluVXNlRXJyb3InIH1cclxuICAmIFBpY2s8RmFjZXRJblVzZUVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcicgfVxyXG4gICYgUGljazxGdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfSW5lbGlnaWJsZVNoaXBwaW5nTWV0aG9kRXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0luZWxpZ2libGVTaGlwcGluZ01ldGhvZEVycm9yJyB9XHJcbiAgJiBQaWNrPEluZWxpZ2libGVTaGlwcGluZ01ldGhvZEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfSW5zdWZmaWNpZW50U3RvY2tFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnSW5zdWZmaWNpZW50U3RvY2tFcnJvcicgfVxyXG4gICYgUGljazxJbnN1ZmZpY2llbnRTdG9ja0Vycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfSW5zdWZmaWNpZW50U3RvY2tPbkhhbmRFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnSW5zdWZmaWNpZW50U3RvY2tPbkhhbmRFcnJvcicgfVxyXG4gICYgUGljazxJbnN1ZmZpY2llbnRTdG9ja09uSGFuZEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfSW52YWxpZENyZWRlbnRpYWxzRXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0ludmFsaWRDcmVkZW50aWFsc0Vycm9yJyB9XHJcbiAgJiBQaWNrPEludmFsaWRDcmVkZW50aWFsc0Vycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfSW52YWxpZEZ1bGZpbGxtZW50SGFuZGxlckVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdJbnZhbGlkRnVsZmlsbG1lbnRIYW5kbGVyRXJyb3InIH1cclxuICAmIFBpY2s8SW52YWxpZEZ1bGZpbGxtZW50SGFuZGxlckVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfSXRlbXNBbHJlYWR5RnVsZmlsbGVkRXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0l0ZW1zQWxyZWFkeUZ1bGZpbGxlZEVycm9yJyB9XHJcbiAgJiBQaWNrPEl0ZW1zQWxyZWFkeUZ1bGZpbGxlZEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfTGFuZ3VhZ2VOb3RBdmFpbGFibGVFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnTGFuZ3VhZ2VOb3RBdmFpbGFibGVFcnJvcicgfVxyXG4gICYgUGljazxMYW5ndWFnZU5vdEF2YWlsYWJsZUVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfTWFudWFsUGF5bWVudFN0YXRlRXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ01hbnVhbFBheW1lbnRTdGF0ZUVycm9yJyB9XHJcbiAgJiBQaWNrPE1hbnVhbFBheW1lbnRTdGF0ZUVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfTWltZVR5cGVFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnTWltZVR5cGVFcnJvcicgfVxyXG4gICYgUGljazxNaW1lVHlwZUVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfTWlzc2luZ0NvbmRpdGlvbnNFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnTWlzc2luZ0NvbmRpdGlvbnNFcnJvcicgfVxyXG4gICYgUGljazxNaXNzaW5nQ29uZGl0aW9uc0Vycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfTXVsdGlwbGVPcmRlckVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdNdWx0aXBsZU9yZGVyRXJyb3InIH1cclxuICAmIFBpY2s8TXVsdGlwbGVPcmRlckVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfTmF0aXZlQXV0aFN0cmF0ZWd5RXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ05hdGl2ZUF1dGhTdHJhdGVneUVycm9yJyB9XHJcbiAgJiBQaWNrPE5hdGl2ZUF1dGhTdHJhdGVneUVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfTmVnYXRpdmVRdWFudGl0eUVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdOZWdhdGl2ZVF1YW50aXR5RXJyb3InIH1cclxuICAmIFBpY2s8TmVnYXRpdmVRdWFudGl0eUVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfTm9BY3RpdmVPcmRlckVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdOb0FjdGl2ZU9yZGVyRXJyb3InIH1cclxuICAmIFBpY2s8Tm9BY3RpdmVPcmRlckVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfTm9DaGFuZ2VzU3BlY2lmaWVkRXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ05vQ2hhbmdlc1NwZWNpZmllZEVycm9yJyB9XHJcbiAgJiBQaWNrPE5vQ2hhbmdlc1NwZWNpZmllZEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfTm90aGluZ1RvUmVmdW5kRXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ05vdGhpbmdUb1JlZnVuZEVycm9yJyB9XHJcbiAgJiBQaWNrPE5vdGhpbmdUb1JlZnVuZEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfT3JkZXJMaW1pdEVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdPcmRlckxpbWl0RXJyb3InIH1cclxuICAmIFBpY2s8T3JkZXJMaW1pdEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfT3JkZXJNb2RpZmljYXRpb25FcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJNb2RpZmljYXRpb25FcnJvcicgfVxyXG4gICYgUGljazxPcmRlck1vZGlmaWNhdGlvbkVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfT3JkZXJNb2RpZmljYXRpb25TdGF0ZUVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdPcmRlck1vZGlmaWNhdGlvblN0YXRlRXJyb3InIH1cclxuICAmIFBpY2s8T3JkZXJNb2RpZmljYXRpb25TdGF0ZUVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcicgfVxyXG4gICYgUGljazxPcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfUGF5bWVudE1ldGhvZE1pc3NpbmdFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZE1pc3NpbmdFcnJvcicgfVxyXG4gICYgUGljazxQYXltZW50TWV0aG9kTWlzc2luZ0Vycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfUGF5bWVudE9yZGVyTWlzbWF0Y2hFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudE9yZGVyTWlzbWF0Y2hFcnJvcicgfVxyXG4gICYgUGljazxQYXltZW50T3JkZXJNaXNtYXRjaEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdQYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3InIH1cclxuICAmIFBpY2s8UGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfUHJvZHVjdE9wdGlvbkluVXNlRXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25JblVzZUVycm9yJyB9XHJcbiAgJiBQaWNrPFByb2R1Y3RPcHRpb25JblVzZUVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfUXVhbnRpdHlUb29HcmVhdEVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdRdWFudGl0eVRvb0dyZWF0RXJyb3InIH1cclxuICAmIFBpY2s8UXVhbnRpdHlUb29HcmVhdEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfUmVmdW5kT3JkZXJTdGF0ZUVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdSZWZ1bmRPcmRlclN0YXRlRXJyb3InIH1cclxuICAmIFBpY2s8UmVmdW5kT3JkZXJTdGF0ZUVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfUmVmdW5kUGF5bWVudElkTWlzc2luZ0Vycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdSZWZ1bmRQYXltZW50SWRNaXNzaW5nRXJyb3InIH1cclxuICAmIFBpY2s8UmVmdW5kUGF5bWVudElkTWlzc2luZ0Vycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfUmVmdW5kU3RhdGVUcmFuc2l0aW9uRXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1JlZnVuZFN0YXRlVHJhbnNpdGlvbkVycm9yJyB9XHJcbiAgJiBQaWNrPFJlZnVuZFN0YXRlVHJhbnNpdGlvbkVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfU2V0dGxlUGF5bWVudEVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdTZXR0bGVQYXltZW50RXJyb3InIH1cclxuICAmIFBpY2s8U2V0dGxlUGF5bWVudEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIEVycm9yUmVzdWx0RnJhZ21lbnQgPSBFcnJvclJlc3VsdF9BbHJlYWR5UmVmdW5kZWRFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X0NhbmNlbEFjdGl2ZU9yZGVyRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9DYW5jZWxQYXltZW50RXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9DaGFubmVsRGVmYXVsdExhbmd1YWdlRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9Db3Vwb25Db2RlRXhwaXJlZEVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfQ291cG9uQ29kZUludmFsaWRFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X0NvdXBvbkNvZGVMaW1pdEVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfQ3JlYXRlRnVsZmlsbG1lbnRFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X0VtYWlsQWRkcmVzc0NvbmZsaWN0RXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9FbXB0eU9yZGVyTGluZVNlbGVjdGlvbkVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfRmFjZXRJblVzZUVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X0luZWxpZ2libGVTaGlwcGluZ01ldGhvZEVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfSW5zdWZmaWNpZW50U3RvY2tFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X0luc3VmZmljaWVudFN0b2NrT25IYW5kRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9JbnZhbGlkQ3JlZGVudGlhbHNFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X0ludmFsaWRGdWxmaWxsbWVudEhhbmRsZXJFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X0l0ZW1zQWxyZWFkeUZ1bGZpbGxlZEVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfTGFuZ3VhZ2VOb3RBdmFpbGFibGVFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X01hbnVhbFBheW1lbnRTdGF0ZUVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfTWltZVR5cGVFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X01pc3NpbmdDb25kaXRpb25zRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9NdWx0aXBsZU9yZGVyRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9OYXRpdmVBdXRoU3RyYXRlZ3lFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X05lZ2F0aXZlUXVhbnRpdHlFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X05vQWN0aXZlT3JkZXJFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X05vQ2hhbmdlc1NwZWNpZmllZEVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfTm90aGluZ1RvUmVmdW5kRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9PcmRlckxpbWl0RXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9PcmRlck1vZGlmaWNhdGlvbkVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfT3JkZXJNb2RpZmljYXRpb25TdGF0ZUVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X1BheW1lbnRNZXRob2RNaXNzaW5nRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9QYXltZW50T3JkZXJNaXNtYXRjaEVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfUHJvZHVjdE9wdGlvbkluVXNlRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9RdWFudGl0eVRvb0dyZWF0RXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9SZWZ1bmRPcmRlclN0YXRlRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9SZWZ1bmRQYXltZW50SWRNaXNzaW5nRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9SZWZ1bmRTdGF0ZVRyYW5zaXRpb25FcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X1NldHRsZVBheW1lbnRFcnJvcl9GcmFnbWVudDtcclxuXHJcbmV4cG9ydCB0eXBlIFNoaXBwaW5nTWV0aG9kRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1NoaXBwaW5nTWV0aG9kJyB9XHJcbiAgJiBQaWNrPFNoaXBwaW5nTWV0aG9kLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdjb2RlJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnZnVsZmlsbG1lbnRIYW5kbGVyQ29kZSc+XHJcbiAgJiB7IGNoZWNrZXI6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb24nIH1cclxuICAgICYgQ29uZmlndXJhYmxlT3BlcmF0aW9uRnJhZ21lbnRcclxuICApLCBjYWxjdWxhdG9yOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmlndXJhYmxlT3BlcmF0aW9uJyB9XHJcbiAgICAmIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkZyYWdtZW50XHJcbiAgKSwgdHJhbnNsYXRpb25zOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2hpcHBpbmdNZXRob2RUcmFuc2xhdGlvbicgfVxyXG4gICAgJiBQaWNrPFNoaXBwaW5nTWV0aG9kVHJhbnNsYXRpb24sICdpZCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbic+XHJcbiAgKT4gfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0U2hpcHBpbmdNZXRob2RMaXN0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgb3B0aW9ucz86IE1heWJlPFNoaXBwaW5nTWV0aG9kTGlzdE9wdGlvbnM+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRTaGlwcGluZ01ldGhvZExpc3RRdWVyeSA9IHsgc2hpcHBpbmdNZXRob2RzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2hpcHBpbmdNZXRob2RMaXN0JyB9XHJcbiAgICAmIFBpY2s8U2hpcHBpbmdNZXRob2RMaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NoaXBwaW5nTWV0aG9kJyB9XHJcbiAgICAgICYgU2hpcHBpbmdNZXRob2RGcmFnbWVudFxyXG4gICAgKT4gfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFNoaXBwaW5nTWV0aG9kUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFNoaXBwaW5nTWV0aG9kUXVlcnkgPSB7IHNoaXBwaW5nTWV0aG9kPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NoaXBwaW5nTWV0aG9kJyB9XHJcbiAgICAmIFNoaXBwaW5nTWV0aG9kRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0U2hpcHBpbmdNZXRob2RPcGVyYXRpb25zUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRTaGlwcGluZ01ldGhvZE9wZXJhdGlvbnNRdWVyeSA9IHsgc2hpcHBpbmdFbGlnaWJpbGl0eUNoZWNrZXJzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbicgfVxyXG4gICAgJiBDb25maWd1cmFibGVPcGVyYXRpb25EZWZGcmFnbWVudFxyXG4gICk+LCBzaGlwcGluZ0NhbGN1bGF0b3JzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbicgfVxyXG4gICAgJiBDb25maWd1cmFibGVPcGVyYXRpb25EZWZGcmFnbWVudFxyXG4gICk+LCBmdWxmaWxsbWVudEhhbmRsZXJzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbicgfVxyXG4gICAgJiBDb25maWd1cmFibGVPcGVyYXRpb25EZWZGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVTaGlwcGluZ01ldGhvZE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBDcmVhdGVTaGlwcGluZ01ldGhvZElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVTaGlwcGluZ01ldGhvZE11dGF0aW9uID0geyBjcmVhdGVTaGlwcGluZ01ldGhvZDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NoaXBwaW5nTWV0aG9kJyB9XHJcbiAgICAmIFNoaXBwaW5nTWV0aG9kRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVTaGlwcGluZ01ldGhvZE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBVcGRhdGVTaGlwcGluZ01ldGhvZElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVTaGlwcGluZ01ldGhvZE11dGF0aW9uID0geyB1cGRhdGVTaGlwcGluZ01ldGhvZDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NoaXBwaW5nTWV0aG9kJyB9XHJcbiAgICAmIFNoaXBwaW5nTWV0aG9kRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVTaGlwcGluZ01ldGhvZE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVTaGlwcGluZ01ldGhvZE11dGF0aW9uID0geyBkZWxldGVTaGlwcGluZ01ldGhvZDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBUZXN0U2hpcHBpbmdNZXRob2RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVGVzdFNoaXBwaW5nTWV0aG9kSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFRlc3RTaGlwcGluZ01ldGhvZFF1ZXJ5ID0geyB0ZXN0U2hpcHBpbmdNZXRob2Q6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdUZXN0U2hpcHBpbmdNZXRob2RSZXN1bHQnIH1cclxuICAgICYgUGljazxUZXN0U2hpcHBpbmdNZXRob2RSZXN1bHQsICdlbGlnaWJsZSc+XHJcbiAgICAmIHsgcXVvdGU/OiBNYXliZTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdUZXN0U2hpcHBpbmdNZXRob2RRdW90ZScgfVxyXG4gICAgICAmIFBpY2s8VGVzdFNoaXBwaW5nTWV0aG9kUXVvdGUsICdwcmljZScgfCAncHJpY2VXaXRoVGF4JyB8ICdtZXRhZGF0YSc+XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVGVzdEVsaWdpYmxlU2hpcHBpbmdNZXRob2RzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFRlc3RFbGlnaWJsZVNoaXBwaW5nTWV0aG9kc0lucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBUZXN0RWxpZ2libGVTaGlwcGluZ01ldGhvZHNRdWVyeSA9IHsgdGVzdEVsaWdpYmxlU2hpcHBpbmdNZXRob2RzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2hpcHBpbmdNZXRob2RRdW90ZScgfVxyXG4gICAgJiBQaWNrPFNoaXBwaW5nTWV0aG9kUXVvdGUsICdpZCcgfCAnbmFtZScgfCAnY29kZScgfCAnZGVzY3JpcHRpb24nIHwgJ3ByaWNlJyB8ICdwcmljZVdpdGhUYXgnIHwgJ21ldGFkYXRhJz5cclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q3VzdG9tZXJBZGRyZXNzZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBjdXN0b21lcklkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRDdXN0b21lckFkZHJlc3Nlc1F1ZXJ5ID0geyBjdXN0b21lcj86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21lcicgfVxyXG4gICAgJiBQaWNrPEN1c3RvbWVyLCAnaWQnPlxyXG4gICAgJiB7IGFkZHJlc3Nlcz86IE1heWJlPEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnIH1cclxuICAgICAgJiBBZGRyZXNzRnJhZ21lbnRcclxuICAgICk+PiB9XHJcbiAgKT4gfTtcclxuXHJcbnR5cGUgRGlzY3JpbWluYXRlVW5pb248VCwgVT4gPSBUIGV4dGVuZHMgVSA/IFQgOiBuZXZlcjtcclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0UHJvZHVjdHNXaXRoRmFjZXRWYWx1ZXNCeUlkcyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0UHJvZHVjdHNXaXRoRmFjZXRWYWx1ZXNCeUlkc1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UHJvZHVjdHNXaXRoRmFjZXRWYWx1ZXNCeUlkc1F1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFByb2R1Y3RzID0gKE5vbk51bGxhYmxlPEdldFByb2R1Y3RzV2l0aEZhY2V0VmFsdWVzQnlJZHNRdWVyeVsncHJvZHVjdHMnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9kdWN0c1dpdGhGYWNldFZhbHVlc0J5SWRzUXVlcnlbJ3Byb2R1Y3RzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIEZhY2V0VmFsdWVzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0UHJvZHVjdHNXaXRoRmFjZXRWYWx1ZXNCeUlkc1F1ZXJ5Wydwcm9kdWN0cyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsnZmFjZXRWYWx1ZXMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIEZhY2V0ID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RzV2l0aEZhY2V0VmFsdWVzQnlJZHNRdWVyeVsncHJvZHVjdHMnXT4pWydpdGVtcyddPilbbnVtYmVyXT5bJ2ZhY2V0VmFsdWVzJ10+KVtudW1iZXJdPlsnZmFjZXQnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldFZhcmlhbnRzV2l0aEZhY2V0VmFsdWVzQnlJZHMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFZhcmlhbnRzV2l0aEZhY2V0VmFsdWVzQnlJZHNRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFZhcmlhbnRzV2l0aEZhY2V0VmFsdWVzQnlJZHNRdWVyeTtcclxuICBleHBvcnQgdHlwZSBQcm9kdWN0VmFyaWFudHMgPSAoTm9uTnVsbGFibGU8R2V0VmFyaWFudHNXaXRoRmFjZXRWYWx1ZXNCeUlkc1F1ZXJ5Wydwcm9kdWN0VmFyaWFudHMnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRWYXJpYW50c1dpdGhGYWNldFZhbHVlc0J5SWRzUXVlcnlbJ3Byb2R1Y3RWYXJpYW50cyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBGYWNldFZhbHVlcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFZhcmlhbnRzV2l0aEZhY2V0VmFsdWVzQnlJZHNRdWVyeVsncHJvZHVjdFZhcmlhbnRzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+WydmYWNldFZhbHVlcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgRmFjZXQgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0VmFyaWFudHNXaXRoRmFjZXRWYWx1ZXNCeUlkc1F1ZXJ5Wydwcm9kdWN0VmFyaWFudHMnXT4pWydpdGVtcyddPilbbnVtYmVyXT5bJ2ZhY2V0VmFsdWVzJ10+KVtudW1iZXJdPlsnZmFjZXQnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZVByb2R1Y3RzQnVsayB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlUHJvZHVjdHNCdWxrTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVQcm9kdWN0c0J1bGtNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBVcGRhdGVQcm9kdWN0cyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxVcGRhdGVQcm9kdWN0c0J1bGtNdXRhdGlvblsndXBkYXRlUHJvZHVjdHMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIEZhY2V0VmFsdWVzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxVcGRhdGVQcm9kdWN0c0J1bGtNdXRhdGlvblsndXBkYXRlUHJvZHVjdHMnXT4pW251bWJlcl0+WydmYWNldFZhbHVlcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlVmFyaWFudHNCdWxrIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVWYXJpYW50c0J1bGtNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZVZhcmlhbnRzQnVsa011dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFVwZGF0ZVByb2R1Y3RWYXJpYW50cyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxVcGRhdGVWYXJpYW50c0J1bGtNdXRhdGlvblsndXBkYXRlUHJvZHVjdFZhcmlhbnRzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBGYWNldFZhbHVlcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8VXBkYXRlVmFyaWFudHNCdWxrTXV0YXRpb25bJ3VwZGF0ZVByb2R1Y3RWYXJpYW50cyddPilbbnVtYmVyXT5bJ2ZhY2V0VmFsdWVzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBSb2xlIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFJvbGVGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBDaGFubmVscyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxSb2xlRnJhZ21lbnRbJ2NoYW5uZWxzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBBZG1pbmlzdHJhdG9yIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEFkbWluaXN0cmF0b3JGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBVc2VyID0gKE5vbk51bGxhYmxlPEFkbWluaXN0cmF0b3JGcmFnbWVudFsndXNlciddPik7XHJcbiAgZXhwb3J0IHR5cGUgUm9sZXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEFkbWluaXN0cmF0b3JGcmFnbWVudFsndXNlciddPilbJ3JvbGVzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRBZG1pbmlzdHJhdG9ycyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0QWRtaW5pc3RyYXRvcnNRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEFkbWluaXN0cmF0b3JzUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgQWRtaW5pc3RyYXRvcnMgPSAoTm9uTnVsbGFibGU8R2V0QWRtaW5pc3RyYXRvcnNRdWVyeVsnYWRtaW5pc3RyYXRvcnMnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRBZG1pbmlzdHJhdG9yc1F1ZXJ5WydhZG1pbmlzdHJhdG9ycyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRBY3RpdmVBZG1pbmlzdHJhdG9yIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRBY3RpdmVBZG1pbmlzdHJhdG9yUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRBY3RpdmVBZG1pbmlzdHJhdG9yUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgQWN0aXZlQWRtaW5pc3RyYXRvciA9IChOb25OdWxsYWJsZTxHZXRBY3RpdmVBZG1pbmlzdHJhdG9yUXVlcnlbJ2FjdGl2ZUFkbWluaXN0cmF0b3InXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldEFkbWluaXN0cmF0b3Ige1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEFkbWluaXN0cmF0b3JRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEFkbWluaXN0cmF0b3JRdWVyeTtcclxuICBleHBvcnQgdHlwZSBBZG1pbmlzdHJhdG9yID0gKE5vbk51bGxhYmxlPEdldEFkbWluaXN0cmF0b3JRdWVyeVsnYWRtaW5pc3RyYXRvciddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlQWRtaW5pc3RyYXRvciB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlQWRtaW5pc3RyYXRvck11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlQWRtaW5pc3RyYXRvck11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIENyZWF0ZUFkbWluaXN0cmF0b3IgPSAoTm9uTnVsbGFibGU8Q3JlYXRlQWRtaW5pc3RyYXRvck11dGF0aW9uWydjcmVhdGVBZG1pbmlzdHJhdG9yJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVBZG1pbmlzdHJhdG9yIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVBZG1pbmlzdHJhdG9yTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVBZG1pbmlzdHJhdG9yTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlQWRtaW5pc3RyYXRvciA9IChOb25OdWxsYWJsZTxVcGRhdGVBZG1pbmlzdHJhdG9yTXV0YXRpb25bJ3VwZGF0ZUFkbWluaXN0cmF0b3InXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZUFjdGl2ZUFkbWluaXN0cmF0b3Ige1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZUFjdGl2ZUFkbWluaXN0cmF0b3JNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZUFjdGl2ZUFkbWluaXN0cmF0b3JNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBVcGRhdGVBY3RpdmVBZG1pbmlzdHJhdG9yID0gKE5vbk51bGxhYmxlPFVwZGF0ZUFjdGl2ZUFkbWluaXN0cmF0b3JNdXRhdGlvblsndXBkYXRlQWN0aXZlQWRtaW5pc3RyYXRvciddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlQWRtaW5pc3RyYXRvciB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlQWRtaW5pc3RyYXRvck11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlQWRtaW5pc3RyYXRvck11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIERlbGV0ZUFkbWluaXN0cmF0b3IgPSAoTm9uTnVsbGFibGU8RGVsZXRlQWRtaW5pc3RyYXRvck11dGF0aW9uWydkZWxldGVBZG1pbmlzdHJhdG9yJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRSb2xlcyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Um9sZXNRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFJvbGVzUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgUm9sZXMgPSAoTm9uTnVsbGFibGU8R2V0Um9sZXNRdWVyeVsncm9sZXMnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRSb2xlc1F1ZXJ5Wydyb2xlcyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRSb2xlIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRSb2xlUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRSb2xlUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgUm9sZSA9IChOb25OdWxsYWJsZTxHZXRSb2xlUXVlcnlbJ3JvbGUnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZVJvbGUge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZVJvbGVNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENyZWF0ZVJvbGVNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBDcmVhdGVSb2xlID0gKE5vbk51bGxhYmxlPENyZWF0ZVJvbGVNdXRhdGlvblsnY3JlYXRlUm9sZSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlUm9sZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlUm9sZU11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlUm9sZU11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFVwZGF0ZVJvbGUgPSAoTm9uTnVsbGFibGU8VXBkYXRlUm9sZU11dGF0aW9uWyd1cGRhdGVSb2xlJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVSb2xlIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVSb2xlTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVSb2xlTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgRGVsZXRlUm9sZSA9IChOb25OdWxsYWJsZTxEZWxldGVSb2xlTXV0YXRpb25bJ2RlbGV0ZVJvbGUnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEFzc2lnblJvbGVUb0FkbWluaXN0cmF0b3Ige1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEFzc2lnblJvbGVUb0FkbWluaXN0cmF0b3JNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEFzc2lnblJvbGVUb0FkbWluaXN0cmF0b3JNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBBc3NpZ25Sb2xlVG9BZG1pbmlzdHJhdG9yID0gKE5vbk51bGxhYmxlPEFzc2lnblJvbGVUb0FkbWluaXN0cmF0b3JNdXRhdGlvblsnYXNzaWduUm9sZVRvQWRtaW5pc3RyYXRvciddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3VycmVudFVzZXIge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gQ3VycmVudFVzZXJGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBDaGFubmVscyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDdXJyZW50VXNlckZyYWdtZW50WydjaGFubmVscyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQXR0ZW1wdExvZ2luIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBdHRlbXB0TG9naW5NdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEF0dGVtcHRMb2dpbk11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIExvZ2luID0gKE5vbk51bGxhYmxlPEF0dGVtcHRMb2dpbk11dGF0aW9uWydsb2dpbiddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgTG9nT3V0IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBMb2dPdXRNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IExvZ091dE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIExvZ291dCA9IChOb25OdWxsYWJsZTxMb2dPdXRNdXRhdGlvblsnbG9nb3V0J10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDdXJyZW50VXNlciB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q3VycmVudFVzZXJRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEN1cnJlbnRVc2VyUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgTWUgPSAoTm9uTnVsbGFibGU8R2V0Q3VycmVudFVzZXJRdWVyeVsnbWUnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFJlcXVlc3RTdGFydGVkIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBSZXF1ZXN0U3RhcnRlZE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gUmVxdWVzdFN0YXJ0ZWRNdXRhdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBSZXF1ZXN0Q29tcGxldGVkIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBSZXF1ZXN0Q29tcGxldGVkTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBSZXF1ZXN0Q29tcGxldGVkTXV0YXRpb247XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXNlclN0YXR1cyB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBVc2VyU3RhdHVzRnJhZ21lbnQ7XHJcbiAgZXhwb3J0IHR5cGUgQ2hhbm5lbHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8VXNlclN0YXR1c0ZyYWdtZW50WydjaGFubmVscyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgU2V0QXNMb2dnZWRJbiB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0QXNMb2dnZWRJbk11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0QXNMb2dnZWRJbk11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFNldEFzTG9nZ2VkSW4gPSAoTm9uTnVsbGFibGU8U2V0QXNMb2dnZWRJbk11dGF0aW9uWydzZXRBc0xvZ2dlZEluJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBTZXRBc0xvZ2dlZE91dCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0QXNMb2dnZWRPdXRNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldEFzTG9nZ2VkT3V0TXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgU2V0QXNMb2dnZWRPdXQgPSAoTm9uTnVsbGFibGU8U2V0QXNMb2dnZWRPdXRNdXRhdGlvblsnc2V0QXNMb2dnZWRPdXQnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFNldFVpTGFuZ3VhZ2Uge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldFVpTGFuZ3VhZ2VNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldFVpTGFuZ3VhZ2VNdXRhdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBTZXRVaUxvY2FsZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0VWlMb2NhbGVNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldFVpTG9jYWxlTXV0YXRpb247XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgU2V0RGlzcGxheVVpRXh0ZW5zaW9uUG9pbnRzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXREaXNwbGF5VWlFeHRlbnNpb25Qb2ludHNNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldERpc3BsYXlVaUV4dGVuc2lvblBvaW50c011dGF0aW9uO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFNldENvbnRlbnRMYW5ndWFnZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0Q29udGVudExhbmd1YWdlTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXRDb250ZW50TGFuZ3VhZ2VNdXRhdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBTZXRVaVRoZW1lIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRVaVRoZW1lTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXRVaVRoZW1lTXV0YXRpb247XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0TmV0d29ya1N0YXR1cyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0TmV0d29ya1N0YXR1c1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0TmV0d29ya1N0YXR1c1F1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIE5ldHdvcmtTdGF0dXMgPSAoTm9uTnVsbGFibGU8R2V0TmV0d29ya1N0YXR1c1F1ZXJ5WyduZXR3b3JrU3RhdHVzJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyU3RhdHVzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyU3RhdHVzUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyU3RhdHVzUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgVXNlclN0YXR1cyA9IChOb25OdWxsYWJsZTxHZXRVc2VyU3RhdHVzUXVlcnlbJ3VzZXJTdGF0dXMnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldFVpU3RhdGUge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVpU3RhdGVRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVpU3RhdGVRdWVyeTtcclxuICBleHBvcnQgdHlwZSBVaVN0YXRlID0gKE5vbk51bGxhYmxlPEdldFVpU3RhdGVRdWVyeVsndWlTdGF0ZSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q2xpZW50U3RhdGUge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldENsaWVudFN0YXRlUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDbGllbnRTdGF0ZVF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIE5ldHdvcmtTdGF0dXMgPSAoTm9uTnVsbGFibGU8R2V0Q2xpZW50U3RhdGVRdWVyeVsnbmV0d29ya1N0YXR1cyddPik7XHJcbiAgZXhwb3J0IHR5cGUgVXNlclN0YXR1cyA9IChOb25OdWxsYWJsZTxHZXRDbGllbnRTdGF0ZVF1ZXJ5Wyd1c2VyU3RhdHVzJ10+KTtcclxuICBleHBvcnQgdHlwZSBVaVN0YXRlID0gKE5vbk51bGxhYmxlPEdldENsaWVudFN0YXRlUXVlcnlbJ3VpU3RhdGUnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFNldEFjdGl2ZUNoYW5uZWwge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldEFjdGl2ZUNoYW5uZWxNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldEFjdGl2ZUNoYW5uZWxNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBTZXRBY3RpdmVDaGFubmVsID0gKE5vbk51bGxhYmxlPFNldEFjdGl2ZUNoYW5uZWxNdXRhdGlvblsnc2V0QWN0aXZlQ2hhbm5lbCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlVXNlckNoYW5uZWxzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVVc2VyQ2hhbm5lbHNNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZVVzZXJDaGFubmVsc011dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFVwZGF0ZVVzZXJDaGFubmVscyA9IChOb25OdWxsYWJsZTxVcGRhdGVVc2VyQ2hhbm5lbHNNdXRhdGlvblsndXBkYXRlVXNlckNoYW5uZWxzJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb2xsZWN0aW9uRmlsdGVycyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q29sbGVjdGlvbkZpbHRlcnNRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvbGxlY3Rpb25GaWx0ZXJzUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgQ29sbGVjdGlvbkZpbHRlcnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0Q29sbGVjdGlvbkZpbHRlcnNRdWVyeVsnY29sbGVjdGlvbkZpbHRlcnMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIENvbGxlY3Rpb24ge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gQ29sbGVjdGlvbkZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIEJyZWFkY3J1bWJzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPENvbGxlY3Rpb25GcmFnbWVudFsnYnJlYWRjcnVtYnMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIEZlYXR1cmVkQXNzZXQgPSAoTm9uTnVsbGFibGU8Q29sbGVjdGlvbkZyYWdtZW50WydmZWF0dXJlZEFzc2V0J10+KTtcclxuICBleHBvcnQgdHlwZSBBc3NldHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Q29sbGVjdGlvbkZyYWdtZW50Wydhc3NldHMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIEZpbHRlcnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Q29sbGVjdGlvbkZyYWdtZW50WydmaWx0ZXJzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBUcmFuc2xhdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Q29sbGVjdGlvbkZyYWdtZW50Wyd0cmFuc2xhdGlvbnMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFBhcmVudCA9IChOb25OdWxsYWJsZTxDb2xsZWN0aW9uRnJhZ21lbnRbJ3BhcmVudCddPik7XHJcbiAgZXhwb3J0IHR5cGUgQ2hpbGRyZW4gPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Q29sbGVjdGlvbkZyYWdtZW50WydjaGlsZHJlbiddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q29sbGVjdGlvbkxpc3Qge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldENvbGxlY3Rpb25MaXN0UXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDb2xsZWN0aW9uTGlzdFF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIENvbGxlY3Rpb25zID0gKE5vbk51bGxhYmxlPEdldENvbGxlY3Rpb25MaXN0UXVlcnlbJ2NvbGxlY3Rpb25zJ10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0Q29sbGVjdGlvbkxpc3RRdWVyeVsnY29sbGVjdGlvbnMnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgRmVhdHVyZWRBc3NldCA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldENvbGxlY3Rpb25MaXN0UXVlcnlbJ2NvbGxlY3Rpb25zJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+WydmZWF0dXJlZEFzc2V0J10+KTtcclxuICBleHBvcnQgdHlwZSBQYXJlbnQgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDb2xsZWN0aW9uTGlzdFF1ZXJ5Wydjb2xsZWN0aW9ucyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsncGFyZW50J10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb2xsZWN0aW9uIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDb2xsZWN0aW9uUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDb2xsZWN0aW9uUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgQ29sbGVjdGlvbiA9IChOb25OdWxsYWJsZTxHZXRDb2xsZWN0aW9uUXVlcnlbJ2NvbGxlY3Rpb24nXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZUNvbGxlY3Rpb24ge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZUNvbGxlY3Rpb25NdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENyZWF0ZUNvbGxlY3Rpb25NdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBDcmVhdGVDb2xsZWN0aW9uID0gKE5vbk51bGxhYmxlPENyZWF0ZUNvbGxlY3Rpb25NdXRhdGlvblsnY3JlYXRlQ29sbGVjdGlvbiddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlQ29sbGVjdGlvbiB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlQ29sbGVjdGlvbk11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlQ29sbGVjdGlvbk11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFVwZGF0ZUNvbGxlY3Rpb24gPSAoTm9uTnVsbGFibGU8VXBkYXRlQ29sbGVjdGlvbk11dGF0aW9uWyd1cGRhdGVDb2xsZWN0aW9uJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBNb3ZlQ29sbGVjdGlvbiB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gTW92ZUNvbGxlY3Rpb25NdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IE1vdmVDb2xsZWN0aW9uTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgTW92ZUNvbGxlY3Rpb24gPSAoTm9uTnVsbGFibGU8TW92ZUNvbGxlY3Rpb25NdXRhdGlvblsnbW92ZUNvbGxlY3Rpb24nXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZUNvbGxlY3Rpb24ge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZUNvbGxlY3Rpb25NdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZUNvbGxlY3Rpb25NdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBEZWxldGVDb2xsZWN0aW9uID0gKE5vbk51bGxhYmxlPERlbGV0ZUNvbGxlY3Rpb25NdXRhdGlvblsnZGVsZXRlQ29sbGVjdGlvbiddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlQ29sbGVjdGlvbnMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZUNvbGxlY3Rpb25zTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVDb2xsZWN0aW9uc011dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIERlbGV0ZUNvbGxlY3Rpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPERlbGV0ZUNvbGxlY3Rpb25zTXV0YXRpb25bJ2RlbGV0ZUNvbGxlY3Rpb25zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb2xsZWN0aW9uQ29udGVudHMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldENvbGxlY3Rpb25Db250ZW50c1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q29sbGVjdGlvbkNvbnRlbnRzUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgQ29sbGVjdGlvbiA9IChOb25OdWxsYWJsZTxHZXRDb2xsZWN0aW9uQ29udGVudHNRdWVyeVsnY29sbGVjdGlvbiddPik7XHJcbiAgZXhwb3J0IHR5cGUgUHJvZHVjdFZhcmlhbnRzID0gKE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDb2xsZWN0aW9uQ29udGVudHNRdWVyeVsnY29sbGVjdGlvbiddPilbJ3Byb2R1Y3RWYXJpYW50cyddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDb2xsZWN0aW9uQ29udGVudHNRdWVyeVsnY29sbGVjdGlvbiddPilbJ3Byb2R1Y3RWYXJpYW50cyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBQcmV2aWV3Q29sbGVjdGlvbkNvbnRlbnRzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBQcmV2aWV3Q29sbGVjdGlvbkNvbnRlbnRzUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBQcmV2aWV3Q29sbGVjdGlvbkNvbnRlbnRzUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgUHJldmlld0NvbGxlY3Rpb25WYXJpYW50cyA9IChOb25OdWxsYWJsZTxQcmV2aWV3Q29sbGVjdGlvbkNvbnRlbnRzUXVlcnlbJ3ByZXZpZXdDb2xsZWN0aW9uVmFyaWFudHMnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcmV2aWV3Q29sbGVjdGlvbkNvbnRlbnRzUXVlcnlbJ3ByZXZpZXdDb2xsZWN0aW9uVmFyaWFudHMnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQXNzaWduQ29sbGVjdGlvbnNUb0NoYW5uZWwge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBBc3NpZ25Db2xsZWN0aW9uc1RvQ2hhbm5lbE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIEFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsTXV0YXRpb25bJ2Fzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBSZW1vdmVDb2xsZWN0aW9uc0Zyb21DaGFubmVsIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBSZW1vdmVDb2xsZWN0aW9uc0Zyb21DaGFubmVsTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBSZW1vdmVDb2xsZWN0aW9uc0Zyb21DaGFubmVsTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgUmVtb3ZlQ29sbGVjdGlvbnNGcm9tQ2hhbm5lbCA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxSZW1vdmVDb2xsZWN0aW9uc0Zyb21DaGFubmVsTXV0YXRpb25bJ3JlbW92ZUNvbGxlY3Rpb25zRnJvbUNoYW5uZWwnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEFkZHJlc3Mge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gQWRkcmVzc0ZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIENvdW50cnkgPSAoTm9uTnVsbGFibGU8QWRkcmVzc0ZyYWdtZW50Wydjb3VudHJ5J10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDdXN0b21lciB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBDdXN0b21lckZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIFVzZXIgPSAoTm9uTnVsbGFibGU8Q3VzdG9tZXJGcmFnbWVudFsndXNlciddPik7XHJcbiAgZXhwb3J0IHR5cGUgQWRkcmVzc2VzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEN1c3RvbWVyRnJhZ21lbnRbJ2FkZHJlc3NlcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3VzdG9tZXJHcm91cCB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBDdXN0b21lckdyb3VwRnJhZ21lbnQ7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q3VzdG9tZXJMaXN0IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDdXN0b21lckxpc3RRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEN1c3RvbWVyTGlzdFF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIEN1c3RvbWVycyA9IChOb25OdWxsYWJsZTxHZXRDdXN0b21lckxpc3RRdWVyeVsnY3VzdG9tZXJzJ10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0Q3VzdG9tZXJMaXN0UXVlcnlbJ2N1c3RvbWVycyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBVc2VyID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0Q3VzdG9tZXJMaXN0UXVlcnlbJ2N1c3RvbWVycyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsndXNlciddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q3VzdG9tZXIge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEN1c3RvbWVyUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDdXN0b21lclF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIEN1c3RvbWVyID0gKE5vbk51bGxhYmxlPEdldEN1c3RvbWVyUXVlcnlbJ2N1c3RvbWVyJ10+KTtcclxuICBleHBvcnQgdHlwZSBHcm91cHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldEN1c3RvbWVyUXVlcnlbJ2N1c3RvbWVyJ10+KVsnZ3JvdXBzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBPcmRlcnMgPSAoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldEN1c3RvbWVyUXVlcnlbJ2N1c3RvbWVyJ10+KVsnb3JkZXJzJ10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldEN1c3RvbWVyUXVlcnlbJ2N1c3RvbWVyJ10+KVsnb3JkZXJzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZUN1c3RvbWVyIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVDdXN0b21lck11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlQ3VzdG9tZXJNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBDcmVhdGVDdXN0b21lciA9IChOb25OdWxsYWJsZTxDcmVhdGVDdXN0b21lck11dGF0aW9uWydjcmVhdGVDdXN0b21lciddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlQ3VzdG9tZXIge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZUN1c3RvbWVyTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVDdXN0b21lck11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFVwZGF0ZUN1c3RvbWVyID0gKE5vbk51bGxhYmxlPFVwZGF0ZUN1c3RvbWVyTXV0YXRpb25bJ3VwZGF0ZUN1c3RvbWVyJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVDdXN0b21lciB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlQ3VzdG9tZXJNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZUN1c3RvbWVyTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgRGVsZXRlQ3VzdG9tZXIgPSAoTm9uTnVsbGFibGU8RGVsZXRlQ3VzdG9tZXJNdXRhdGlvblsnZGVsZXRlQ3VzdG9tZXInXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZUN1c3RvbWVyQWRkcmVzcyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlQ3VzdG9tZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVDdXN0b21lckFkZHJlc3NNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBDcmVhdGVDdXN0b21lckFkZHJlc3MgPSAoTm9uTnVsbGFibGU8Q3JlYXRlQ3VzdG9tZXJBZGRyZXNzTXV0YXRpb25bJ2NyZWF0ZUN1c3RvbWVyQWRkcmVzcyddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlQ3VzdG9tZXJBZGRyZXNzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVDdXN0b21lckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZUN1c3RvbWVyQWRkcmVzc011dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFVwZGF0ZUN1c3RvbWVyQWRkcmVzcyA9IChOb25OdWxsYWJsZTxVcGRhdGVDdXN0b21lckFkZHJlc3NNdXRhdGlvblsndXBkYXRlQ3VzdG9tZXJBZGRyZXNzJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVDdXN0b21lckFkZHJlc3Mge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZUN1c3RvbWVyQWRkcmVzc011dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlQ3VzdG9tZXJBZGRyZXNzTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgRGVsZXRlQ3VzdG9tZXJBZGRyZXNzID0gKE5vbk51bGxhYmxlPERlbGV0ZUN1c3RvbWVyQWRkcmVzc011dGF0aW9uWydkZWxldGVDdXN0b21lckFkZHJlc3MnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZUN1c3RvbWVyR3JvdXAge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZUN1c3RvbWVyR3JvdXBNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENyZWF0ZUN1c3RvbWVyR3JvdXBNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBDcmVhdGVDdXN0b21lckdyb3VwID0gKE5vbk51bGxhYmxlPENyZWF0ZUN1c3RvbWVyR3JvdXBNdXRhdGlvblsnY3JlYXRlQ3VzdG9tZXJHcm91cCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlQ3VzdG9tZXJHcm91cCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlQ3VzdG9tZXJHcm91cE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlQ3VzdG9tZXJHcm91cE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFVwZGF0ZUN1c3RvbWVyR3JvdXAgPSAoTm9uTnVsbGFibGU8VXBkYXRlQ3VzdG9tZXJHcm91cE11dGF0aW9uWyd1cGRhdGVDdXN0b21lckdyb3VwJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVDdXN0b21lckdyb3VwIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVDdXN0b21lckdyb3VwTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVDdXN0b21lckdyb3VwTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgRGVsZXRlQ3VzdG9tZXJHcm91cCA9IChOb25OdWxsYWJsZTxEZWxldGVDdXN0b21lckdyb3VwTXV0YXRpb25bJ2RlbGV0ZUN1c3RvbWVyR3JvdXAnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldEN1c3RvbWVyR3JvdXBzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDdXN0b21lckdyb3Vwc1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q3VzdG9tZXJHcm91cHNRdWVyeTtcclxuICBleHBvcnQgdHlwZSBDdXN0b21lckdyb3VwcyA9IChOb25OdWxsYWJsZTxHZXRDdXN0b21lckdyb3Vwc1F1ZXJ5WydjdXN0b21lckdyb3VwcyddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldEN1c3RvbWVyR3JvdXBzUXVlcnlbJ2N1c3RvbWVyR3JvdXBzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldEN1c3RvbWVyR3JvdXBXaXRoQ3VzdG9tZXJzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDdXN0b21lckdyb3VwV2l0aEN1c3RvbWVyc1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q3VzdG9tZXJHcm91cFdpdGhDdXN0b21lcnNRdWVyeTtcclxuICBleHBvcnQgdHlwZSBDdXN0b21lckdyb3VwID0gKE5vbk51bGxhYmxlPEdldEN1c3RvbWVyR3JvdXBXaXRoQ3VzdG9tZXJzUXVlcnlbJ2N1c3RvbWVyR3JvdXAnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEN1c3RvbWVycyA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0Q3VzdG9tZXJHcm91cFdpdGhDdXN0b21lcnNRdWVyeVsnY3VzdG9tZXJHcm91cCddPilbJ2N1c3RvbWVycyddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDdXN0b21lckdyb3VwV2l0aEN1c3RvbWVyc1F1ZXJ5WydjdXN0b21lckdyb3VwJ10+KVsnY3VzdG9tZXJzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEFkZEN1c3RvbWVyc1RvR3JvdXAge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEFkZEN1c3RvbWVyc1RvR3JvdXBNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEFkZEN1c3RvbWVyc1RvR3JvdXBNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBBZGRDdXN0b21lcnNUb0dyb3VwID0gKE5vbk51bGxhYmxlPEFkZEN1c3RvbWVyc1RvR3JvdXBNdXRhdGlvblsnYWRkQ3VzdG9tZXJzVG9Hcm91cCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgUmVtb3ZlQ3VzdG9tZXJzRnJvbUdyb3VwIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBSZW1vdmVDdXN0b21lcnNGcm9tR3JvdXBNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFJlbW92ZUN1c3RvbWVyc0Zyb21Hcm91cE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFJlbW92ZUN1c3RvbWVyc0Zyb21Hcm91cCA9IChOb25OdWxsYWJsZTxSZW1vdmVDdXN0b21lcnNGcm9tR3JvdXBNdXRhdGlvblsncmVtb3ZlQ3VzdG9tZXJzRnJvbUdyb3VwJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDdXN0b21lckhpc3Rvcnkge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEN1c3RvbWVySGlzdG9yeVF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q3VzdG9tZXJIaXN0b3J5UXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgQ3VzdG9tZXIgPSAoTm9uTnVsbGFibGU8R2V0Q3VzdG9tZXJIaXN0b3J5UXVlcnlbJ2N1c3RvbWVyJ10+KTtcclxuICBleHBvcnQgdHlwZSBIaXN0b3J5ID0gKE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDdXN0b21lckhpc3RvcnlRdWVyeVsnY3VzdG9tZXInXT4pWydoaXN0b3J5J10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldEN1c3RvbWVySGlzdG9yeVF1ZXJ5WydjdXN0b21lciddPilbJ2hpc3RvcnknXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgQWRtaW5pc3RyYXRvciA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDdXN0b21lckhpc3RvcnlRdWVyeVsnY3VzdG9tZXInXT4pWydoaXN0b3J5J10+KVsnaXRlbXMnXT4pW251bWJlcl0+WydhZG1pbmlzdHJhdG9yJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBBZGROb3RlVG9DdXN0b21lciB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQWRkTm90ZVRvQ3VzdG9tZXJNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEFkZE5vdGVUb0N1c3RvbWVyTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQWRkTm90ZVRvQ3VzdG9tZXIgPSAoTm9uTnVsbGFibGU8QWRkTm90ZVRvQ3VzdG9tZXJNdXRhdGlvblsnYWRkTm90ZVRvQ3VzdG9tZXInXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZUN1c3RvbWVyTm90ZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlQ3VzdG9tZXJOb3RlTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVDdXN0b21lck5vdGVNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBVcGRhdGVDdXN0b21lck5vdGUgPSAoTm9uTnVsbGFibGU8VXBkYXRlQ3VzdG9tZXJOb3RlTXV0YXRpb25bJ3VwZGF0ZUN1c3RvbWVyTm90ZSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlQ3VzdG9tZXJOb3RlIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVDdXN0b21lck5vdGVNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZUN1c3RvbWVyTm90ZU11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIERlbGV0ZUN1c3RvbWVyTm90ZSA9IChOb25OdWxsYWJsZTxEZWxldGVDdXN0b21lck5vdGVNdXRhdGlvblsnZGVsZXRlQ3VzdG9tZXJOb3RlJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBGYWNldFZhbHVlIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEZhY2V0VmFsdWVGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBUcmFuc2xhdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8RmFjZXRWYWx1ZUZyYWdtZW50Wyd0cmFuc2xhdGlvbnMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIEZhY2V0ID0gKE5vbk51bGxhYmxlPEZhY2V0VmFsdWVGcmFnbWVudFsnZmFjZXQnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEZhY2V0V2l0aFZhbHVlcyB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBGYWNldFdpdGhWYWx1ZXNGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBUcmFuc2xhdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8RmFjZXRXaXRoVmFsdWVzRnJhZ21lbnRbJ3RyYW5zbGF0aW9ucyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgVmFsdWVzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEZhY2V0V2l0aFZhbHVlc0ZyYWdtZW50Wyd2YWx1ZXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZUZhY2V0IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVGYWNldE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlRmFjZXRNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBDcmVhdGVGYWNldCA9IChOb25OdWxsYWJsZTxDcmVhdGVGYWNldE11dGF0aW9uWydjcmVhdGVGYWNldCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlRmFjZXQge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZUZhY2V0TXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVGYWNldE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFVwZGF0ZUZhY2V0ID0gKE5vbk51bGxhYmxlPFVwZGF0ZUZhY2V0TXV0YXRpb25bJ3VwZGF0ZUZhY2V0J10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVGYWNldCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlRmFjZXRNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZUZhY2V0TXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgRGVsZXRlRmFjZXQgPSAoTm9uTnVsbGFibGU8RGVsZXRlRmFjZXRNdXRhdGlvblsnZGVsZXRlRmFjZXQnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZUZhY2V0cyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlRmFjZXRzTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVGYWNldHNNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBEZWxldGVGYWNldHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8RGVsZXRlRmFjZXRzTXV0YXRpb25bJ2RlbGV0ZUZhY2V0cyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlRmFjZXRWYWx1ZXMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZUZhY2V0VmFsdWVzTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVGYWNldFZhbHVlc011dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIENyZWF0ZUZhY2V0VmFsdWVzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPENyZWF0ZUZhY2V0VmFsdWVzTXV0YXRpb25bJ2NyZWF0ZUZhY2V0VmFsdWVzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVGYWNldFZhbHVlcyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlRmFjZXRWYWx1ZXNNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZUZhY2V0VmFsdWVzTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlRmFjZXRWYWx1ZXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8VXBkYXRlRmFjZXRWYWx1ZXNNdXRhdGlvblsndXBkYXRlRmFjZXRWYWx1ZXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZUZhY2V0VmFsdWVzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVGYWNldFZhbHVlc011dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlRmFjZXRWYWx1ZXNNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBEZWxldGVGYWNldFZhbHVlcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxEZWxldGVGYWNldFZhbHVlc011dGF0aW9uWydkZWxldGVGYWNldFZhbHVlcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0RmFjZXRMaXN0IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRGYWNldExpc3RRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEZhY2V0TGlzdFF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIEZhY2V0cyA9IChOb25OdWxsYWJsZTxHZXRGYWNldExpc3RRdWVyeVsnZmFjZXRzJ10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0RmFjZXRMaXN0UXVlcnlbJ2ZhY2V0cyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRGYWNldFdpdGhWYWx1ZXMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEZhY2V0V2l0aFZhbHVlc1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0RmFjZXRXaXRoVmFsdWVzUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgRmFjZXQgPSAoTm9uTnVsbGFibGU8R2V0RmFjZXRXaXRoVmFsdWVzUXVlcnlbJ2ZhY2V0J10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBBc3NpZ25GYWNldHNUb0NoYW5uZWwge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEFzc2lnbkZhY2V0c1RvQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQXNzaWduRmFjZXRzVG9DaGFubmVsTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQXNzaWduRmFjZXRzVG9DaGFubmVsID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEFzc2lnbkZhY2V0c1RvQ2hhbm5lbE11dGF0aW9uWydhc3NpZ25GYWNldHNUb0NoYW5uZWwnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFJlbW92ZUZhY2V0c0Zyb21DaGFubmVsIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBSZW1vdmVGYWNldHNGcm9tQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gUmVtb3ZlRmFjZXRzRnJvbUNoYW5uZWxNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBSZW1vdmVGYWNldHNGcm9tQ2hhbm5lbCA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxSZW1vdmVGYWNldHNGcm9tQ2hhbm5lbE11dGF0aW9uWydyZW1vdmVGYWNldHNGcm9tQ2hhbm5lbCddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgRmFjZXRJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UmVtb3ZlRmFjZXRzRnJvbUNoYW5uZWxNdXRhdGlvblsncmVtb3ZlRmFjZXRzRnJvbUNoYW5uZWwnXT4pW251bWJlcl0+LCB7IF9fdHlwZW5hbWU/OiAnRmFjZXQnIH0+KTtcclxuICBleHBvcnQgdHlwZSBGYWNldEluVXNlRXJyb3JJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UmVtb3ZlRmFjZXRzRnJvbUNoYW5uZWxNdXRhdGlvblsncmVtb3ZlRmFjZXRzRnJvbUNoYW5uZWwnXT4pW251bWJlcl0+LCB7IF9fdHlwZW5hbWU/OiAnRmFjZXRJblVzZUVycm9yJyB9Pik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgRGlzY291bnQge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gRGlzY291bnRGcmFnbWVudDtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBQYXltZW50IHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFBheW1lbnRGcmFnbWVudDtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBSZWZ1bmQge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gUmVmdW5kRnJhZ21lbnQ7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgT3JkZXJBZGRyZXNzIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IE9yZGVyQWRkcmVzc0ZyYWdtZW50O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIE9yZGVyIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IE9yZGVyRnJhZ21lbnQ7XHJcbiAgZXhwb3J0IHR5cGUgQ3VzdG9tZXIgPSAoTm9uTnVsbGFibGU8T3JkZXJGcmFnbWVudFsnY3VzdG9tZXInXT4pO1xyXG4gIGV4cG9ydCB0eXBlIFNoaXBwaW5nTGluZXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8T3JkZXJGcmFnbWVudFsnc2hpcHBpbmdMaW5lcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgU2hpcHBpbmdNZXRob2QgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyRnJhZ21lbnRbJ3NoaXBwaW5nTGluZXMnXT4pW251bWJlcl0+WydzaGlwcGluZ01ldGhvZCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgRnVsZmlsbG1lbnQge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gRnVsZmlsbG1lbnRGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBTdW1tYXJ5ID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEZ1bGZpbGxtZW50RnJhZ21lbnRbJ3N1bW1hcnknXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIE9yZGVyTGluZSA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8RnVsZmlsbG1lbnRGcmFnbWVudFsnc3VtbWFyeSddPilbbnVtYmVyXT5bJ29yZGVyTGluZSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgT3JkZXJMaW5lIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IE9yZGVyTGluZUZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIEZlYXR1cmVkQXNzZXQgPSAoTm9uTnVsbGFibGU8T3JkZXJMaW5lRnJhZ21lbnRbJ2ZlYXR1cmVkQXNzZXQnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIFByb2R1Y3RWYXJpYW50ID0gKE5vbk51bGxhYmxlPE9yZGVyTGluZUZyYWdtZW50Wydwcm9kdWN0VmFyaWFudCddPik7XHJcbiAgZXhwb3J0IHR5cGUgRGlzY291bnRzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyTGluZUZyYWdtZW50WydkaXNjb3VudHMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIEZ1bGZpbGxtZW50cyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxPcmRlckxpbmVGcmFnbWVudFsnZnVsZmlsbG1lbnRzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxPcmRlckxpbmVGcmFnbWVudFsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIE9yZGVyRGV0YWlsIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IE9yZGVyRGV0YWlsRnJhZ21lbnQ7XHJcbiAgZXhwb3J0IHR5cGUgQ3VzdG9tZXIgPSAoTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsnY3VzdG9tZXInXT4pO1xyXG4gIGV4cG9ydCB0eXBlIExpbmVzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ2xpbmVzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBTdXJjaGFyZ2VzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ3N1cmNoYXJnZXMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIERpc2NvdW50cyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxPcmRlckRldGFpbEZyYWdtZW50WydkaXNjb3VudHMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFByb21vdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsncHJvbW90aW9ucyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgU2hpcHBpbmdMaW5lcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxPcmRlckRldGFpbEZyYWdtZW50WydzaGlwcGluZ0xpbmVzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBTaGlwcGluZ01ldGhvZCA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsnc2hpcHBpbmdMaW5lcyddPilbbnVtYmVyXT5bJ3NoaXBwaW5nTWV0aG9kJ10+KTtcclxuICBleHBvcnQgdHlwZSBUYXhTdW1tYXJ5ID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ3RheFN1bW1hcnknXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFNoaXBwaW5nQWRkcmVzcyA9IChOb25OdWxsYWJsZTxPcmRlckRldGFpbEZyYWdtZW50WydzaGlwcGluZ0FkZHJlc3MnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEJpbGxpbmdBZGRyZXNzID0gKE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ2JpbGxpbmdBZGRyZXNzJ10+KTtcclxuICBleHBvcnQgdHlwZSBQYXltZW50cyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxPcmRlckRldGFpbEZyYWdtZW50WydwYXltZW50cyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgUmVmdW5kcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsncGF5bWVudHMnXT4pW251bWJlcl0+WydyZWZ1bmRzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBPcmRlckl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsncGF5bWVudHMnXT4pW251bWJlcl0+WydyZWZ1bmRzJ10+KVtudW1iZXJdPlsnb3JkZXJJdGVtcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgRnVsZmlsbG1lbnRzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ2Z1bGZpbGxtZW50cyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgTW9kaWZpY2F0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxPcmRlckRldGFpbEZyYWdtZW50Wydtb2RpZmljYXRpb25zJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBQYXltZW50ID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxPcmRlckRldGFpbEZyYWdtZW50Wydtb2RpZmljYXRpb25zJ10+KVtudW1iZXJdPlsncGF5bWVudCddPik7XHJcbiAgZXhwb3J0IHR5cGUgX09yZGVySXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ21vZGlmaWNhdGlvbnMnXT4pW251bWJlcl0+WydvcmRlckl0ZW1zJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBSZWZ1bmQgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ21vZGlmaWNhdGlvbnMnXT4pW251bWJlcl0+WydyZWZ1bmQnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIF9TdXJjaGFyZ2VzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxPcmRlckRldGFpbEZyYWdtZW50Wydtb2RpZmljYXRpb25zJ10+KVtudW1iZXJdPlsnc3VyY2hhcmdlcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0T3JkZXJMaXN0IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRPcmRlckxpc3RRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldE9yZGVyTGlzdFF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIE9yZGVycyA9IChOb25OdWxsYWJsZTxHZXRPcmRlckxpc3RRdWVyeVsnb3JkZXJzJ10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0T3JkZXJMaXN0UXVlcnlbJ29yZGVycyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRPcmRlciB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0T3JkZXJRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldE9yZGVyUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgT3JkZXIgPSAoTm9uTnVsbGFibGU8R2V0T3JkZXJRdWVyeVsnb3JkZXInXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFNldHRsZVBheW1lbnQge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldHRsZVBheW1lbnRNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldHRsZVBheW1lbnRNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBTZXR0bGVQYXltZW50ID0gKE5vbk51bGxhYmxlPFNldHRsZVBheW1lbnRNdXRhdGlvblsnc2V0dGxlUGF5bWVudCddPik7XHJcbiAgZXhwb3J0IHR5cGUgU2V0dGxlUGF5bWVudEVycm9ySW5saW5lRnJhZ21lbnQgPSAoRGlzY3JpbWluYXRlVW5pb248KE5vbk51bGxhYmxlPFNldHRsZVBheW1lbnRNdXRhdGlvblsnc2V0dGxlUGF5bWVudCddPiksIHsgX190eXBlbmFtZT86ICdTZXR0bGVQYXltZW50RXJyb3InIH0+KTtcclxuICBleHBvcnQgdHlwZSBQYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3JJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjwoTm9uTnVsbGFibGU8U2V0dGxlUGF5bWVudE11dGF0aW9uWydzZXR0bGVQYXltZW50J10+KSwgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcicgfT4pO1xyXG4gIGV4cG9ydCB0eXBlIE9yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3JJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjwoTm9uTnVsbGFibGU8U2V0dGxlUGF5bWVudE11dGF0aW9uWydzZXR0bGVQYXltZW50J10+KSwgeyBfX3R5cGVuYW1lPzogJ09yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3InIH0+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDYW5jZWxQYXltZW50IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDYW5jZWxQYXltZW50TXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDYW5jZWxQYXltZW50TXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQ2FuY2VsUGF5bWVudCA9IChOb25OdWxsYWJsZTxDYW5jZWxQYXltZW50TXV0YXRpb25bJ2NhbmNlbFBheW1lbnQnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIENhbmNlbFBheW1lbnRFcnJvcklubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPChOb25OdWxsYWJsZTxDYW5jZWxQYXltZW50TXV0YXRpb25bJ2NhbmNlbFBheW1lbnQnXT4pLCB7IF9fdHlwZW5hbWU/OiAnQ2FuY2VsUGF5bWVudEVycm9yJyB9Pik7XHJcbiAgZXhwb3J0IHR5cGUgUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9ySW5saW5lRnJhZ21lbnQgPSAoRGlzY3JpbWluYXRlVW5pb248KE5vbk51bGxhYmxlPENhbmNlbFBheW1lbnRNdXRhdGlvblsnY2FuY2VsUGF5bWVudCddPiksIHsgX190eXBlbmFtZT86ICdQYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3InIH0+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBUcmFuc2l0aW9uUGF5bWVudFRvU3RhdGUge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFRyYW5zaXRpb25QYXltZW50VG9TdGF0ZU11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVHJhbnNpdGlvblBheW1lbnRUb1N0YXRlTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVHJhbnNpdGlvblBheW1lbnRUb1N0YXRlID0gKE5vbk51bGxhYmxlPFRyYW5zaXRpb25QYXltZW50VG9TdGF0ZU11dGF0aW9uWyd0cmFuc2l0aW9uUGF5bWVudFRvU3RhdGUnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIFBheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcklubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPChOb25OdWxsYWJsZTxUcmFuc2l0aW9uUGF5bWVudFRvU3RhdGVNdXRhdGlvblsndHJhbnNpdGlvblBheW1lbnRUb1N0YXRlJ10+KSwgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcicgfT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZUZ1bGZpbGxtZW50IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVGdWxmaWxsbWVudE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlRnVsZmlsbG1lbnRNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBBZGRGdWxmaWxsbWVudFRvT3JkZXIgPSAoTm9uTnVsbGFibGU8Q3JlYXRlRnVsZmlsbG1lbnRNdXRhdGlvblsnYWRkRnVsZmlsbG1lbnRUb09yZGVyJ10+KTtcclxuICBleHBvcnQgdHlwZSBDcmVhdGVGdWxmaWxsbWVudEVycm9ySW5saW5lRnJhZ21lbnQgPSAoRGlzY3JpbWluYXRlVW5pb248KE5vbk51bGxhYmxlPENyZWF0ZUZ1bGZpbGxtZW50TXV0YXRpb25bJ2FkZEZ1bGZpbGxtZW50VG9PcmRlciddPiksIHsgX190eXBlbmFtZT86ICdDcmVhdGVGdWxmaWxsbWVudEVycm9yJyB9Pik7XHJcbiAgZXhwb3J0IHR5cGUgRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcklubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPChOb25OdWxsYWJsZTxDcmVhdGVGdWxmaWxsbWVudE11dGF0aW9uWydhZGRGdWxmaWxsbWVudFRvT3JkZXInXT4pLCB7IF9fdHlwZW5hbWU/OiAnRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcicgfT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIENhbmNlbE9yZGVyIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDYW5jZWxPcmRlck11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ2FuY2VsT3JkZXJNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBDYW5jZWxPcmRlciA9IChOb25OdWxsYWJsZTxDYW5jZWxPcmRlck11dGF0aW9uWydjYW5jZWxPcmRlciddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgUmVmdW5kT3JkZXIge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJlZnVuZE9yZGVyTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBSZWZ1bmRPcmRlck11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFJlZnVuZE9yZGVyID0gKE5vbk51bGxhYmxlPFJlZnVuZE9yZGVyTXV0YXRpb25bJ3JlZnVuZE9yZGVyJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBTZXR0bGVSZWZ1bmQge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldHRsZVJlZnVuZE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0dGxlUmVmdW5kTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgU2V0dGxlUmVmdW5kID0gKE5vbk51bGxhYmxlPFNldHRsZVJlZnVuZE11dGF0aW9uWydzZXR0bGVSZWZ1bmQnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldE9yZGVySGlzdG9yeSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0T3JkZXJIaXN0b3J5UXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRPcmRlckhpc3RvcnlRdWVyeTtcclxuICBleHBvcnQgdHlwZSBPcmRlciA9IChOb25OdWxsYWJsZTxHZXRPcmRlckhpc3RvcnlRdWVyeVsnb3JkZXInXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEhpc3RvcnkgPSAoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldE9yZGVySGlzdG9yeVF1ZXJ5WydvcmRlciddPilbJ2hpc3RvcnknXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0T3JkZXJIaXN0b3J5UXVlcnlbJ29yZGVyJ10+KVsnaGlzdG9yeSddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBBZG1pbmlzdHJhdG9yID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldE9yZGVySGlzdG9yeVF1ZXJ5WydvcmRlciddPilbJ2hpc3RvcnknXT4pWydpdGVtcyddPilbbnVtYmVyXT5bJ2FkbWluaXN0cmF0b3InXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEFkZE5vdGVUb09yZGVyIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBZGROb3RlVG9PcmRlck11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQWRkTm90ZVRvT3JkZXJNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBBZGROb3RlVG9PcmRlciA9IChOb25OdWxsYWJsZTxBZGROb3RlVG9PcmRlck11dGF0aW9uWydhZGROb3RlVG9PcmRlciddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlT3JkZXJOb3RlIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVPcmRlck5vdGVNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZU9yZGVyTm90ZU11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFVwZGF0ZU9yZGVyTm90ZSA9IChOb25OdWxsYWJsZTxVcGRhdGVPcmRlck5vdGVNdXRhdGlvblsndXBkYXRlT3JkZXJOb3RlJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVPcmRlck5vdGUge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZU9yZGVyTm90ZU11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlT3JkZXJOb3RlTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgRGVsZXRlT3JkZXJOb3RlID0gKE5vbk51bGxhYmxlPERlbGV0ZU9yZGVyTm90ZU11dGF0aW9uWydkZWxldGVPcmRlck5vdGUnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFRyYW5zaXRpb25PcmRlclRvU3RhdGUge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFRyYW5zaXRpb25PcmRlclRvU3RhdGVNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFRyYW5zaXRpb25PcmRlclRvU3RhdGVNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBUcmFuc2l0aW9uT3JkZXJUb1N0YXRlID0gKE5vbk51bGxhYmxlPFRyYW5zaXRpb25PcmRlclRvU3RhdGVNdXRhdGlvblsndHJhbnNpdGlvbk9yZGVyVG9TdGF0ZSddPik7XHJcbiAgZXhwb3J0IHR5cGUgT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcklubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPChOb25OdWxsYWJsZTxUcmFuc2l0aW9uT3JkZXJUb1N0YXRlTXV0YXRpb25bJ3RyYW5zaXRpb25PcmRlclRvU3RhdGUnXT4pLCB7IF9fdHlwZW5hbWU/OiAnT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcicgfT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZU9yZGVyQ3VzdG9tRmllbGRzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVPcmRlckN1c3RvbUZpZWxkc011dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlT3JkZXJDdXN0b21GaWVsZHNNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBTZXRPcmRlckN1c3RvbUZpZWxkcyA9IChOb25OdWxsYWJsZTxVcGRhdGVPcmRlckN1c3RvbUZpZWxkc011dGF0aW9uWydzZXRPcmRlckN1c3RvbUZpZWxkcyddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVHJhbnNpdGlvbkZ1bGZpbGxtZW50VG9TdGF0ZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVHJhbnNpdGlvbkZ1bGZpbGxtZW50VG9TdGF0ZU11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVHJhbnNpdGlvbkZ1bGZpbGxtZW50VG9TdGF0ZU11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFRyYW5zaXRpb25GdWxmaWxsbWVudFRvU3RhdGUgPSAoTm9uTnVsbGFibGU8VHJhbnNpdGlvbkZ1bGZpbGxtZW50VG9TdGF0ZU11dGF0aW9uWyd0cmFuc2l0aW9uRnVsZmlsbG1lbnRUb1N0YXRlJ10+KTtcclxuICBleHBvcnQgdHlwZSBGdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9ySW5saW5lRnJhZ21lbnQgPSAoRGlzY3JpbWluYXRlVW5pb248KE5vbk51bGxhYmxlPFRyYW5zaXRpb25GdWxmaWxsbWVudFRvU3RhdGVNdXRhdGlvblsndHJhbnNpdGlvbkZ1bGZpbGxtZW50VG9TdGF0ZSddPiksIHsgX190eXBlbmFtZT86ICdGdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yJyB9Pik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0T3JkZXJTdW1tYXJ5IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRPcmRlclN1bW1hcnlRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldE9yZGVyU3VtbWFyeVF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIE9yZGVycyA9IChOb25OdWxsYWJsZTxHZXRPcmRlclN1bW1hcnlRdWVyeVsnb3JkZXJzJ10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0T3JkZXJTdW1tYXJ5UXVlcnlbJ29yZGVycyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBNb2RpZnlPcmRlciB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gTW9kaWZ5T3JkZXJNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IE1vZGlmeU9yZGVyTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgTW9kaWZ5T3JkZXIgPSAoTm9uTnVsbGFibGU8TW9kaWZ5T3JkZXJNdXRhdGlvblsnbW9kaWZ5T3JkZXInXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEFkZE1hbnVhbFBheW1lbnQge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEFkZE1hbnVhbFBheW1lbnRNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEFkZE1hbnVhbFBheW1lbnRNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBBZGRNYW51YWxQYXltZW50VG9PcmRlciA9IChOb25OdWxsYWJsZTxBZGRNYW51YWxQYXltZW50TXV0YXRpb25bJ2FkZE1hbnVhbFBheW1lbnRUb09yZGVyJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGVEcmFmdE9yZGVyIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVEcmFmdE9yZGVyTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVEcmFmdE9yZGVyTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQ3JlYXRlRHJhZnRPcmRlciA9IChOb25OdWxsYWJsZTxDcmVhdGVEcmFmdE9yZGVyTXV0YXRpb25bJ2NyZWF0ZURyYWZ0T3JkZXInXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZURyYWZ0T3JkZXIge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZURyYWZ0T3JkZXJNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZURyYWZ0T3JkZXJNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBEZWxldGVEcmFmdE9yZGVyID0gKE5vbk51bGxhYmxlPERlbGV0ZURyYWZ0T3JkZXJNdXRhdGlvblsnZGVsZXRlRHJhZnRPcmRlciddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQWRkSXRlbVRvRHJhZnRPcmRlciB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQWRkSXRlbVRvRHJhZnRPcmRlck11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQWRkSXRlbVRvRHJhZnRPcmRlck11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIEFkZEl0ZW1Ub0RyYWZ0T3JkZXIgPSAoTm9uTnVsbGFibGU8QWRkSXRlbVRvRHJhZnRPcmRlck11dGF0aW9uWydhZGRJdGVtVG9EcmFmdE9yZGVyJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBBZGp1c3REcmFmdE9yZGVyTGluZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQWRqdXN0RHJhZnRPcmRlckxpbmVNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEFkanVzdERyYWZ0T3JkZXJMaW5lTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQWRqdXN0RHJhZnRPcmRlckxpbmUgPSAoTm9uTnVsbGFibGU8QWRqdXN0RHJhZnRPcmRlckxpbmVNdXRhdGlvblsnYWRqdXN0RHJhZnRPcmRlckxpbmUnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFJlbW92ZURyYWZ0T3JkZXJMaW5lIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBSZW1vdmVEcmFmdE9yZGVyTGluZU11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gUmVtb3ZlRHJhZnRPcmRlckxpbmVNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBSZW1vdmVEcmFmdE9yZGVyTGluZSA9IChOb25OdWxsYWJsZTxSZW1vdmVEcmFmdE9yZGVyTGluZU11dGF0aW9uWydyZW1vdmVEcmFmdE9yZGVyTGluZSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgU2V0Q3VzdG9tZXJGb3JEcmFmdE9yZGVyIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRDdXN0b21lckZvckRyYWZ0T3JkZXJNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldEN1c3RvbWVyRm9yRHJhZnRPcmRlck11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFNldEN1c3RvbWVyRm9yRHJhZnRPcmRlciA9IChOb25OdWxsYWJsZTxTZXRDdXN0b21lckZvckRyYWZ0T3JkZXJNdXRhdGlvblsnc2V0Q3VzdG9tZXJGb3JEcmFmdE9yZGVyJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBTZXREcmFmdE9yZGVyU2hpcHBpbmdBZGRyZXNzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXREcmFmdE9yZGVyU2hpcHBpbmdBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXREcmFmdE9yZGVyU2hpcHBpbmdBZGRyZXNzTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgU2V0RHJhZnRPcmRlclNoaXBwaW5nQWRkcmVzcyA9IChOb25OdWxsYWJsZTxTZXREcmFmdE9yZGVyU2hpcHBpbmdBZGRyZXNzTXV0YXRpb25bJ3NldERyYWZ0T3JkZXJTaGlwcGluZ0FkZHJlc3MnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFNldERyYWZ0T3JkZXJCaWxsaW5nQWRkcmVzcyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0RHJhZnRPcmRlckJpbGxpbmdBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXREcmFmdE9yZGVyQmlsbGluZ0FkZHJlc3NNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBTZXREcmFmdE9yZGVyQmlsbGluZ0FkZHJlc3MgPSAoTm9uTnVsbGFibGU8U2V0RHJhZnRPcmRlckJpbGxpbmdBZGRyZXNzTXV0YXRpb25bJ3NldERyYWZ0T3JkZXJCaWxsaW5nQWRkcmVzcyddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQXBwbHlDb3Vwb25Db2RlVG9EcmFmdE9yZGVyIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBcHBseUNvdXBvbkNvZGVUb0RyYWZ0T3JkZXJNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEFwcGx5Q291cG9uQ29kZVRvRHJhZnRPcmRlck11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIEFwcGx5Q291cG9uQ29kZVRvRHJhZnRPcmRlciA9IChOb25OdWxsYWJsZTxBcHBseUNvdXBvbkNvZGVUb0RyYWZ0T3JkZXJNdXRhdGlvblsnYXBwbHlDb3Vwb25Db2RlVG9EcmFmdE9yZGVyJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBSZW1vdmVDb3Vwb25Db2RlRnJvbURyYWZ0T3JkZXIge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJlbW92ZUNvdXBvbkNvZGVGcm9tRHJhZnRPcmRlck11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gUmVtb3ZlQ291cG9uQ29kZUZyb21EcmFmdE9yZGVyTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgUmVtb3ZlQ291cG9uQ29kZUZyb21EcmFmdE9yZGVyID0gKE5vbk51bGxhYmxlPFJlbW92ZUNvdXBvbkNvZGVGcm9tRHJhZnRPcmRlck11dGF0aW9uWydyZW1vdmVDb3Vwb25Db2RlRnJvbURyYWZ0T3JkZXInXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIERyYWZ0T3JkZXJFbGlnaWJsZVNoaXBwaW5nTWV0aG9kcyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRHJhZnRPcmRlckVsaWdpYmxlU2hpcHBpbmdNZXRob2RzUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBEcmFmdE9yZGVyRWxpZ2libGVTaGlwcGluZ01ldGhvZHNRdWVyeTtcclxuICBleHBvcnQgdHlwZSBFbGlnaWJsZVNoaXBwaW5nTWV0aG9kc0ZvckRyYWZ0T3JkZXIgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8RHJhZnRPcmRlckVsaWdpYmxlU2hpcHBpbmdNZXRob2RzUXVlcnlbJ2VsaWdpYmxlU2hpcHBpbmdNZXRob2RzRm9yRHJhZnRPcmRlciddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgU2V0RHJhZnRPcmRlclNoaXBwaW5nTWV0aG9kIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXREcmFmdE9yZGVyU2hpcHBpbmdNZXRob2RNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldERyYWZ0T3JkZXJTaGlwcGluZ01ldGhvZE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFNldERyYWZ0T3JkZXJTaGlwcGluZ01ldGhvZCA9IChOb25OdWxsYWJsZTxTZXREcmFmdE9yZGVyU2hpcHBpbmdNZXRob2RNdXRhdGlvblsnc2V0RHJhZnRPcmRlclNoaXBwaW5nTWV0aG9kJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBBc3NldCB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBBc3NldEZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIEZvY2FsUG9pbnQgPSAoTm9uTnVsbGFibGU8QXNzZXRGcmFnbWVudFsnZm9jYWxQb2ludCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVGFnIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFRhZ0ZyYWdtZW50O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFByb2R1Y3RPcHRpb25Hcm91cCB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBQcm9kdWN0T3B0aW9uR3JvdXBGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBUcmFuc2xhdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdE9wdGlvbkdyb3VwRnJhZ21lbnRbJ3RyYW5zbGF0aW9ucyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgUHJvZHVjdE9wdGlvbiB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBQcm9kdWN0T3B0aW9uRnJhZ21lbnQ7XHJcbiAgZXhwb3J0IHR5cGUgVHJhbnNsYXRpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3RPcHRpb25GcmFnbWVudFsndHJhbnNsYXRpb25zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBQcm9kdWN0VmFyaWFudCB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBQcm9kdWN0VmFyaWFudEZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIFRheFJhdGVBcHBsaWVkID0gKE5vbk51bGxhYmxlPFByb2R1Y3RWYXJpYW50RnJhZ21lbnRbJ3RheFJhdGVBcHBsaWVkJ10+KTtcclxuICBleHBvcnQgdHlwZSBUYXhDYXRlZ29yeSA9IChOb25OdWxsYWJsZTxQcm9kdWN0VmFyaWFudEZyYWdtZW50Wyd0YXhDYXRlZ29yeSddPik7XHJcbiAgZXhwb3J0IHR5cGUgT3B0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0VmFyaWFudEZyYWdtZW50WydvcHRpb25zJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBGYWNldFZhbHVlcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0VmFyaWFudEZyYWdtZW50WydmYWNldFZhbHVlcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgRmFjZXQgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3RWYXJpYW50RnJhZ21lbnRbJ2ZhY2V0VmFsdWVzJ10+KVtudW1iZXJdPlsnZmFjZXQnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEZlYXR1cmVkQXNzZXQgPSAoTm9uTnVsbGFibGU8UHJvZHVjdFZhcmlhbnRGcmFnbWVudFsnZmVhdHVyZWRBc3NldCddPik7XHJcbiAgZXhwb3J0IHR5cGUgQXNzZXRzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3RWYXJpYW50RnJhZ21lbnRbJ2Fzc2V0cyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgVHJhbnNsYXRpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3RWYXJpYW50RnJhZ21lbnRbJ3RyYW5zbGF0aW9ucyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgQ2hhbm5lbHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdFZhcmlhbnRGcmFnbWVudFsnY2hhbm5lbHMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFByb2R1Y3REZXRhaWwge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gUHJvZHVjdERldGFpbEZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIEZlYXR1cmVkQXNzZXQgPSAoTm9uTnVsbGFibGU8UHJvZHVjdERldGFpbEZyYWdtZW50WydmZWF0dXJlZEFzc2V0J10+KTtcclxuICBleHBvcnQgdHlwZSBBc3NldHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdERldGFpbEZyYWdtZW50Wydhc3NldHMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFRyYW5zbGF0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0RGV0YWlsRnJhZ21lbnRbJ3RyYW5zbGF0aW9ucyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgT3B0aW9uR3JvdXBzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3REZXRhaWxGcmFnbWVudFsnb3B0aW9uR3JvdXBzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBGYWNldFZhbHVlcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0RGV0YWlsRnJhZ21lbnRbJ2ZhY2V0VmFsdWVzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBGYWNldCA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdERldGFpbEZyYWdtZW50WydmYWNldFZhbHVlcyddPilbbnVtYmVyXT5bJ2ZhY2V0J10+KTtcclxuICBleHBvcnQgdHlwZSBDaGFubmVscyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0RGV0YWlsRnJhZ21lbnRbJ2NoYW5uZWxzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBQcm9kdWN0T3B0aW9uR3JvdXBXaXRoT3B0aW9ucyB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBQcm9kdWN0T3B0aW9uR3JvdXBXaXRoT3B0aW9uc0ZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIFRyYW5zbGF0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0T3B0aW9uR3JvdXBXaXRoT3B0aW9uc0ZyYWdtZW50Wyd0cmFuc2xhdGlvbnMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIE9wdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdE9wdGlvbkdyb3VwV2l0aE9wdGlvbnNGcmFnbWVudFsnb3B0aW9ucyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgX1RyYW5zbGF0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdE9wdGlvbkdyb3VwV2l0aE9wdGlvbnNGcmFnbWVudFsnb3B0aW9ucyddPilbbnVtYmVyXT5bJ3RyYW5zbGF0aW9ucyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlUHJvZHVjdCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlUHJvZHVjdE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlUHJvZHVjdE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFVwZGF0ZVByb2R1Y3QgPSAoTm9uTnVsbGFibGU8VXBkYXRlUHJvZHVjdE11dGF0aW9uWyd1cGRhdGVQcm9kdWN0J10+KTtcclxuICBleHBvcnQgdHlwZSBWYXJpYW50TGlzdCA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8VXBkYXRlUHJvZHVjdE11dGF0aW9uWyd1cGRhdGVQcm9kdWN0J10+KVsndmFyaWFudExpc3QnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8VXBkYXRlUHJvZHVjdE11dGF0aW9uWyd1cGRhdGVQcm9kdWN0J10+KVsndmFyaWFudExpc3QnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlUHJvZHVjdCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlUHJvZHVjdE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlUHJvZHVjdE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIENyZWF0ZVByb2R1Y3QgPSAoTm9uTnVsbGFibGU8Q3JlYXRlUHJvZHVjdE11dGF0aW9uWydjcmVhdGVQcm9kdWN0J10+KTtcclxuICBleHBvcnQgdHlwZSBWYXJpYW50TGlzdCA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Q3JlYXRlUHJvZHVjdE11dGF0aW9uWydjcmVhdGVQcm9kdWN0J10+KVsndmFyaWFudExpc3QnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Q3JlYXRlUHJvZHVjdE11dGF0aW9uWydjcmVhdGVQcm9kdWN0J10+KVsndmFyaWFudExpc3QnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlUHJvZHVjdCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlUHJvZHVjdE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlUHJvZHVjdE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIERlbGV0ZVByb2R1Y3QgPSAoTm9uTnVsbGFibGU8RGVsZXRlUHJvZHVjdE11dGF0aW9uWydkZWxldGVQcm9kdWN0J10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVQcm9kdWN0cyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlUHJvZHVjdHNNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZVByb2R1Y3RzTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgRGVsZXRlUHJvZHVjdHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8RGVsZXRlUHJvZHVjdHNNdXRhdGlvblsnZGVsZXRlUHJvZHVjdHMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZVByb2R1Y3RWYXJpYW50cyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlUHJvZHVjdFZhcmlhbnRzTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVQcm9kdWN0VmFyaWFudHNNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBDcmVhdGVQcm9kdWN0VmFyaWFudHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Q3JlYXRlUHJvZHVjdFZhcmlhbnRzTXV0YXRpb25bJ2NyZWF0ZVByb2R1Y3RWYXJpYW50cyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlUHJvZHVjdFZhcmlhbnRzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVQcm9kdWN0VmFyaWFudHNNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZVByb2R1Y3RWYXJpYW50c011dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFVwZGF0ZVByb2R1Y3RWYXJpYW50cyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxVcGRhdGVQcm9kdWN0VmFyaWFudHNNdXRhdGlvblsndXBkYXRlUHJvZHVjdFZhcmlhbnRzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXAge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZVByb2R1Y3RPcHRpb25Hcm91cE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlUHJvZHVjdE9wdGlvbkdyb3VwTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQ3JlYXRlUHJvZHVjdE9wdGlvbkdyb3VwID0gKE5vbk51bGxhYmxlPENyZWF0ZVByb2R1Y3RPcHRpb25Hcm91cE11dGF0aW9uWydjcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXAnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldFByb2R1Y3RPcHRpb25Hcm91cCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0UHJvZHVjdE9wdGlvbkdyb3VwUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRQcm9kdWN0T3B0aW9uR3JvdXBRdWVyeTtcclxuICBleHBvcnQgdHlwZSBQcm9kdWN0T3B0aW9uR3JvdXAgPSAoTm9uTnVsbGFibGU8R2V0UHJvZHVjdE9wdGlvbkdyb3VwUXVlcnlbJ3Byb2R1Y3RPcHRpb25Hcm91cCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQWRkT3B0aW9uVG9Hcm91cCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQWRkT3B0aW9uVG9Hcm91cE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQWRkT3B0aW9uVG9Hcm91cE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIENyZWF0ZVByb2R1Y3RPcHRpb24gPSAoTm9uTnVsbGFibGU8QWRkT3B0aW9uVG9Hcm91cE11dGF0aW9uWydjcmVhdGVQcm9kdWN0T3B0aW9uJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBBZGRPcHRpb25Hcm91cFRvUHJvZHVjdCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQWRkT3B0aW9uR3JvdXBUb1Byb2R1Y3RNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEFkZE9wdGlvbkdyb3VwVG9Qcm9kdWN0TXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQWRkT3B0aW9uR3JvdXBUb1Byb2R1Y3QgPSAoTm9uTnVsbGFibGU8QWRkT3B0aW9uR3JvdXBUb1Byb2R1Y3RNdXRhdGlvblsnYWRkT3B0aW9uR3JvdXBUb1Byb2R1Y3QnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIE9wdGlvbkdyb3VwcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8QWRkT3B0aW9uR3JvdXBUb1Byb2R1Y3RNdXRhdGlvblsnYWRkT3B0aW9uR3JvdXBUb1Byb2R1Y3QnXT4pWydvcHRpb25Hcm91cHMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIE9wdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxBZGRPcHRpb25Hcm91cFRvUHJvZHVjdE11dGF0aW9uWydhZGRPcHRpb25Hcm91cFRvUHJvZHVjdCddPilbJ29wdGlvbkdyb3VwcyddPilbbnVtYmVyXT5bJ29wdGlvbnMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3Qge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3RNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3RNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBSZW1vdmVPcHRpb25Hcm91cEZyb21Qcm9kdWN0ID0gKE5vbk51bGxhYmxlPFJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3RNdXRhdGlvblsncmVtb3ZlT3B0aW9uR3JvdXBGcm9tUHJvZHVjdCddPik7XHJcbiAgZXhwb3J0IHR5cGUgUHJvZHVjdElubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPChOb25OdWxsYWJsZTxSZW1vdmVPcHRpb25Hcm91cEZyb21Qcm9kdWN0TXV0YXRpb25bJ3JlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3QnXT4pLCB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdCcgfT4pO1xyXG4gIGV4cG9ydCB0eXBlIE9wdGlvbkdyb3VwcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoRGlzY3JpbWluYXRlVW5pb248KE5vbk51bGxhYmxlPFJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3RNdXRhdGlvblsncmVtb3ZlT3B0aW9uR3JvdXBGcm9tUHJvZHVjdCddPiksIHsgX190eXBlbmFtZT86ICdQcm9kdWN0JyB9PilbJ29wdGlvbkdyb3VwcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgT3B0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KERpc2NyaW1pbmF0ZVVuaW9uPChOb25OdWxsYWJsZTxSZW1vdmVPcHRpb25Hcm91cEZyb21Qcm9kdWN0TXV0YXRpb25bJ3JlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3QnXT4pLCB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdCcgfT4pWydvcHRpb25Hcm91cHMnXT4pW251bWJlcl0+WydvcHRpb25zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRQcm9kdWN0V2l0aFZhcmlhbnRzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRQcm9kdWN0V2l0aFZhcmlhbnRzUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRQcm9kdWN0V2l0aFZhcmlhbnRzUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgUHJvZHVjdCA9IChOb25OdWxsYWJsZTxHZXRQcm9kdWN0V2l0aFZhcmlhbnRzUXVlcnlbJ3Byb2R1Y3QnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhbnRMaXN0ID0gKE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9kdWN0V2l0aFZhcmlhbnRzUXVlcnlbJ3Byb2R1Y3QnXT4pWyd2YXJpYW50TGlzdCddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9kdWN0V2l0aFZhcmlhbnRzUXVlcnlbJ3Byb2R1Y3QnXT4pWyd2YXJpYW50TGlzdCddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRQcm9kdWN0U2ltcGxlIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRQcm9kdWN0U2ltcGxlUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRQcm9kdWN0U2ltcGxlUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgUHJvZHVjdCA9IChOb25OdWxsYWJsZTxHZXRQcm9kdWN0U2ltcGxlUXVlcnlbJ3Byb2R1Y3QnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEZlYXR1cmVkQXNzZXQgPSAoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RTaW1wbGVRdWVyeVsncHJvZHVjdCddPilbJ2ZlYXR1cmVkQXNzZXQnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldFByb2R1Y3RMaXN0IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRQcm9kdWN0TGlzdFF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UHJvZHVjdExpc3RRdWVyeTtcclxuICBleHBvcnQgdHlwZSBQcm9kdWN0cyA9IChOb25OdWxsYWJsZTxHZXRQcm9kdWN0TGlzdFF1ZXJ5Wydwcm9kdWN0cyddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RMaXN0UXVlcnlbJ3Byb2R1Y3RzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIEZlYXR1cmVkQXNzZXQgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9kdWN0TGlzdFF1ZXJ5Wydwcm9kdWN0cyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsnZmVhdHVyZWRBc3NldCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0UHJvZHVjdE9wdGlvbkdyb3VwcyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0UHJvZHVjdE9wdGlvbkdyb3Vwc1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UHJvZHVjdE9wdGlvbkdyb3Vwc1F1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFByb2R1Y3RPcHRpb25Hcm91cHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0UHJvZHVjdE9wdGlvbkdyb3Vwc1F1ZXJ5Wydwcm9kdWN0T3B0aW9uR3JvdXBzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBPcHRpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9kdWN0T3B0aW9uR3JvdXBzUXVlcnlbJ3Byb2R1Y3RPcHRpb25Hcm91cHMnXT4pW251bWJlcl0+WydvcHRpb25zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRBc3NldExpc3Qge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEFzc2V0TGlzdFF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0QXNzZXRMaXN0UXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgQXNzZXRzID0gKE5vbk51bGxhYmxlPEdldEFzc2V0TGlzdFF1ZXJ5Wydhc3NldHMnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRBc3NldExpc3RRdWVyeVsnYXNzZXRzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFRhZ3MgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRBc3NldExpc3RRdWVyeVsnYXNzZXRzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+Wyd0YWdzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRBc3NldCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0QXNzZXRRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEFzc2V0UXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgQXNzZXQgPSAoTm9uTnVsbGFibGU8R2V0QXNzZXRRdWVyeVsnYXNzZXQnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIFRhZ3MgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldEFzc2V0UXVlcnlbJ2Fzc2V0J10+KVsndGFncyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlQXNzZXRzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVBc3NldHNNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENyZWF0ZUFzc2V0c011dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIENyZWF0ZUFzc2V0cyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDcmVhdGVBc3NldHNNdXRhdGlvblsnY3JlYXRlQXNzZXRzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBBc3NldElubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDcmVhdGVBc3NldHNNdXRhdGlvblsnY3JlYXRlQXNzZXRzJ10+KVtudW1iZXJdPiwgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9Pik7XHJcbiAgZXhwb3J0IHR5cGUgVGFncyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoRGlzY3JpbWluYXRlVW5pb248Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPENyZWF0ZUFzc2V0c011dGF0aW9uWydjcmVhdGVBc3NldHMnXT4pW251bWJlcl0+LCB7IF9fdHlwZW5hbWU/OiAnQXNzZXQnIH0+KVsndGFncyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgRXJyb3JSZXN1bHRJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Q3JlYXRlQXNzZXRzTXV0YXRpb25bJ2NyZWF0ZUFzc2V0cyddPilbbnVtYmVyXT4sIHsgX190eXBlbmFtZT86ICdFcnJvclJlc3VsdCcgfT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZUFzc2V0IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVBc3NldE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlQXNzZXRNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBVcGRhdGVBc3NldCA9IChOb25OdWxsYWJsZTxVcGRhdGVBc3NldE11dGF0aW9uWyd1cGRhdGVBc3NldCddPik7XHJcbiAgZXhwb3J0IHR5cGUgVGFncyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8VXBkYXRlQXNzZXRNdXRhdGlvblsndXBkYXRlQXNzZXQnXT4pWyd0YWdzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVBc3NldHMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZUFzc2V0c011dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlQXNzZXRzTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgRGVsZXRlQXNzZXRzID0gKE5vbk51bGxhYmxlPERlbGV0ZUFzc2V0c011dGF0aW9uWydkZWxldGVBc3NldHMnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaFByb2R1Y3RzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hQcm9kdWN0c1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoUHJvZHVjdHNRdWVyeTtcclxuICBleHBvcnQgdHlwZSBTZWFyY2ggPSAoTm9uTnVsbGFibGU8U2VhcmNoUHJvZHVjdHNRdWVyeVsnc2VhcmNoJ10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8U2VhcmNoUHJvZHVjdHNRdWVyeVsnc2VhcmNoJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFByb2R1Y3RBc3NldCA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFNlYXJjaFByb2R1Y3RzUXVlcnlbJ3NlYXJjaCddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsncHJvZHVjdEFzc2V0J10+KTtcclxuICBleHBvcnQgdHlwZSBGb2NhbFBvaW50ID0gKE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFNlYXJjaFByb2R1Y3RzUXVlcnlbJ3NlYXJjaCddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsncHJvZHVjdEFzc2V0J10+KVsnZm9jYWxQb2ludCddPik7XHJcbiAgZXhwb3J0IHR5cGUgUHJvZHVjdFZhcmlhbnRBc3NldCA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFNlYXJjaFByb2R1Y3RzUXVlcnlbJ3NlYXJjaCddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsncHJvZHVjdFZhcmlhbnRBc3NldCddPik7XHJcbiAgZXhwb3J0IHR5cGUgX0ZvY2FsUG9pbnQgPSAoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8U2VhcmNoUHJvZHVjdHNRdWVyeVsnc2VhcmNoJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+Wydwcm9kdWN0VmFyaWFudEFzc2V0J10+KVsnZm9jYWxQb2ludCddPik7XHJcbiAgZXhwb3J0IHR5cGUgRmFjZXRWYWx1ZXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFNlYXJjaFByb2R1Y3RzUXVlcnlbJ3NlYXJjaCddPilbJ2ZhY2V0VmFsdWVzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBGYWNldFZhbHVlID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8U2VhcmNoUHJvZHVjdHNRdWVyeVsnc2VhcmNoJ10+KVsnZmFjZXRWYWx1ZXMnXT4pW251bWJlcl0+WydmYWNldFZhbHVlJ10+KTtcclxuICBleHBvcnQgdHlwZSBGYWNldCA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxTZWFyY2hQcm9kdWN0c1F1ZXJ5WydzZWFyY2gnXT4pWydmYWNldFZhbHVlcyddPilbbnVtYmVyXT5bJ2ZhY2V0VmFsdWUnXT4pWydmYWNldCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgUHJvZHVjdFNlbGVjdG9yU2VhcmNoIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBQcm9kdWN0U2VsZWN0b3JTZWFyY2hRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IFByb2R1Y3RTZWxlY3RvclNlYXJjaFF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFNlYXJjaCA9IChOb25OdWxsYWJsZTxQcm9kdWN0U2VsZWN0b3JTZWFyY2hRdWVyeVsnc2VhcmNoJ10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdFNlbGVjdG9yU2VhcmNoUXVlcnlbJ3NlYXJjaCddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBQcm9kdWN0QXNzZXQgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0U2VsZWN0b3JTZWFyY2hRdWVyeVsnc2VhcmNoJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+Wydwcm9kdWN0QXNzZXQnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEZvY2FsUG9pbnQgPSAoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdFNlbGVjdG9yU2VhcmNoUXVlcnlbJ3NlYXJjaCddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsncHJvZHVjdEFzc2V0J10+KVsnZm9jYWxQb2ludCddPik7XHJcbiAgZXhwb3J0IHR5cGUgUHJpY2UgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0U2VsZWN0b3JTZWFyY2hRdWVyeVsnc2VhcmNoJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+WydwcmljZSddPik7XHJcbiAgZXhwb3J0IHR5cGUgU2luZ2xlUHJpY2VJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0U2VsZWN0b3JTZWFyY2hRdWVyeVsnc2VhcmNoJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+WydwcmljZSddPiksIHsgX190eXBlbmFtZT86ICdTaW5nbGVQcmljZScgfT4pO1xyXG4gIGV4cG9ydCB0eXBlIFByaWNlV2l0aFRheCA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3RTZWxlY3RvclNlYXJjaFF1ZXJ5WydzZWFyY2gnXT4pWydpdGVtcyddPilbbnVtYmVyXT5bJ3ByaWNlV2l0aFRheCddPik7XHJcbiAgZXhwb3J0IHR5cGUgX1NpbmdsZVByaWNlSW5saW5lRnJhZ21lbnQgPSAoRGlzY3JpbWluYXRlVW5pb248KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdFNlbGVjdG9yU2VhcmNoUXVlcnlbJ3NlYXJjaCddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsncHJpY2VXaXRoVGF4J10+KSwgeyBfX3R5cGVuYW1lPzogJ1NpbmdsZVByaWNlJyB9Pik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVQcm9kdWN0T3B0aW9uR3JvdXBNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZVByb2R1Y3RPcHRpb25Hcm91cE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFVwZGF0ZVByb2R1Y3RPcHRpb25Hcm91cCA9IChOb25OdWxsYWJsZTxVcGRhdGVQcm9kdWN0T3B0aW9uR3JvdXBNdXRhdGlvblsndXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVQcm9kdWN0T3B0aW9uIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVQcm9kdWN0T3B0aW9uTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVQcm9kdWN0T3B0aW9uTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlUHJvZHVjdE9wdGlvbiA9IChOb25OdWxsYWJsZTxVcGRhdGVQcm9kdWN0T3B0aW9uTXV0YXRpb25bJ3VwZGF0ZVByb2R1Y3RPcHRpb24nXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZVByb2R1Y3RPcHRpb24ge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZVByb2R1Y3RPcHRpb25NdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZVByb2R1Y3RPcHRpb25NdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBEZWxldGVQcm9kdWN0T3B0aW9uID0gKE5vbk51bGxhYmxlPERlbGV0ZVByb2R1Y3RPcHRpb25NdXRhdGlvblsnZGVsZXRlUHJvZHVjdE9wdGlvbiddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlUHJvZHVjdFZhcmlhbnQge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZVByb2R1Y3RWYXJpYW50TXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVQcm9kdWN0VmFyaWFudE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIERlbGV0ZVByb2R1Y3RWYXJpYW50ID0gKE5vbk51bGxhYmxlPERlbGV0ZVByb2R1Y3RWYXJpYW50TXV0YXRpb25bJ2RlbGV0ZVByb2R1Y3RWYXJpYW50J10+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+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDdXN0b21lckFkZHJlc3NlcyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q3VzdG9tZXJBZGRyZXNzZXNRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEN1c3RvbWVyQWRkcmVzc2VzUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgQ3VzdG9tZXIgPSAoTm9uTnVsbGFibGU8R2V0Q3VzdG9tZXJBZGRyZXNzZXNRdWVyeVsnY3VzdG9tZXInXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEFkZHJlc3NlcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0Q3VzdG9tZXJBZGRyZXNzZXNRdWVyeVsnY3VzdG9tZXInXT4pWydhZGRyZXNzZXMnXT4pW251bWJlcl0+O1xyXG59XHJcbiJdfQ==
987
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVkLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9jb21tb24vZ2VuZXJhdGVkLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9GQSxNQUFNLENBQU4sSUFBWSxjQUlYO0FBSkQsV0FBWSxjQUFjO0lBQ3hCLHlDQUF1QixDQUFBO0lBQ3ZCLDZFQUEyRCxDQUFBO0lBQzNELGlDQUFlLENBQUE7QUFDakIsQ0FBQyxFQUpXLGNBQWMsS0FBZCxjQUFjLFFBSXpCO0FBb0pELE1BQU0sQ0FBTixJQUFZLFNBSVg7QUFKRCxXQUFZLFNBQVM7SUFDbkIsNEJBQWUsQ0FBQTtJQUNmLDRCQUFlLENBQUE7SUFDZiw4QkFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSlcsU0FBUyxLQUFULFNBQVMsUUFJcEI7QUFvbUJEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFOLElBQVksWUEyVFg7QUEzVEQsV0FBWSxZQUFZO0lBQ3RCLGtDQUFrQztJQUNsQywyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCxtQkFBbUI7SUFDbkIsMkJBQVcsQ0FBQTtJQUNYLG9CQUFvQjtJQUNwQiwyQkFBVyxDQUFBO0lBQ1gsb0NBQW9DO0lBQ3BDLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gsd0JBQXdCO0lBQ3hCLDJCQUFXLENBQUE7SUFDWCxvQkFBb0I7SUFDcEIsMkJBQVcsQ0FBQTtJQUNYLHdCQUF3QjtJQUN4QiwyQkFBVyxDQUFBO0lBQ1gsOENBQThDO0lBQzlDLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLHVCQUF1QjtJQUN2QiwyQkFBVyxDQUFBO0lBQ1gsb0JBQW9CO0lBQ3BCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHNCQUFzQjtJQUN0QiwyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCxvQkFBb0I7SUFDcEIsMkJBQVcsQ0FBQTtJQUNYLGdCQUFnQjtJQUNoQiwyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLHlCQUF5QjtJQUN6QiwyQkFBVyxDQUFBO0lBQ1gsb0JBQW9CO0lBQ3BCLDJCQUFXLENBQUE7SUFDWCx1QkFBdUI7SUFDdkIsMkJBQVcsQ0FBQTtJQUNYLG9CQUFvQjtJQUNwQiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLGtCQUFrQjtJQUNsQiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCw4QkFBOEI7SUFDOUIsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gsd0JBQXdCO0lBQ3hCLDJCQUFXLENBQUE7SUFDWCw2QkFBNkI7SUFDN0IsMkJBQVcsQ0FBQTtJQUNYLGlCQUFpQjtJQUNqQiwyQkFBVyxDQUFBO0lBQ1gsd0JBQXdCO0lBQ3hCLDJCQUFXLENBQUE7SUFDWCxtQkFBbUI7SUFDbkIsMkJBQVcsQ0FBQTtJQUNYLHVCQUF1QjtJQUN2QiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gsV0FBVztJQUNYLDJCQUFXLENBQUE7SUFDWCxrQkFBa0I7SUFDbEIsMkJBQVcsQ0FBQTtJQUNYLDZCQUE2QjtJQUM3QiwyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCxvQkFBb0I7SUFDcEIsMkJBQVcsQ0FBQTtJQUNYLG9CQUFvQjtJQUNwQiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLG9CQUFvQjtJQUNwQiwyQkFBVyxDQUFBO0lBQ1gseUJBQXlCO0lBQ3pCLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLHVCQUF1QjtJQUN2QiwyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCxvQkFBb0I7SUFDcEIsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCx3QkFBd0I7SUFDeEIsMkJBQVcsQ0FBQTtJQUNYLHlCQUF5QjtJQUN6QiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCxrQkFBa0I7SUFDbEIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLHNCQUFzQjtJQUN0QiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLHNCQUFzQjtJQUN0QiwyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCxtQkFBbUI7SUFDbkIsMkJBQVcsQ0FBQTtJQUNYLHVCQUF1QjtJQUN2QiwyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCxvQkFBb0I7SUFDcEIsMkJBQVcsQ0FBQTtJQUNYLDRCQUE0QjtJQUM1QiwyQkFBVyxDQUFBO0lBQ1gsd0JBQXdCO0lBQ3hCLDJCQUFXLENBQUE7SUFDWCxjQUFjO0lBQ2QsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCx1QkFBdUI7SUFDdkIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLDBCQUEwQjtJQUMxQiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCx3QkFBd0I7SUFDeEIsMkJBQVcsQ0FBQTtJQUNYLHNCQUFzQjtJQUN0QiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCx3QkFBd0I7SUFDeEIsMkJBQVcsQ0FBQTtJQUNYLHlCQUF5QjtJQUN6QiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHlCQUF5QjtJQUN6QiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHlCQUF5QjtJQUN6QiwyQkFBVyxDQUFBO0lBQ1gsaUJBQWlCO0lBQ2pCLDJCQUFXLENBQUE7SUFDWCx3QkFBd0I7SUFDeEIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsNkJBQTZCO0lBQzdCLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLHNCQUFzQjtJQUN0QiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCx5QkFBeUI7SUFDekIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCxvQkFBb0I7SUFDcEIsMkJBQVcsQ0FBQTtJQUNYLG9CQUFvQjtJQUNwQiwyQkFBVyxDQUFBO0lBQ1gsb0JBQW9CO0lBQ3BCLDJCQUFXLENBQUE7SUFDWCxrQkFBa0I7SUFDbEIsMkJBQVcsQ0FBQTtJQUNYLDZCQUE2QjtJQUM3QiwyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLDJCQUEyQjtJQUMzQiwyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCx5QkFBeUI7SUFDekIsMkJBQVcsQ0FBQTtJQUNYLDJCQUEyQjtJQUMzQiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCx3QkFBd0I7SUFDeEIsMkJBQVcsQ0FBQTtJQUNYLDJCQUEyQjtJQUMzQiwyQkFBVyxDQUFBO0lBQ1gsa0NBQWtDO0lBQ2xDLDJCQUFXLENBQUE7SUFDWCx1QkFBdUI7SUFDdkIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxnQkFBZ0I7SUFDaEIsMkJBQVcsQ0FBQTtJQUNYLHlCQUF5QjtJQUN6QiwyQkFBVyxDQUFBO0lBQ1gseUJBQXlCO0lBQ3pCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCxpQ0FBaUM7SUFDakMsMkJBQVcsQ0FBQTtJQUNYLHdCQUF3QjtJQUN4QiwyQkFBVyxDQUFBO0lBQ1gseUJBQXlCO0lBQ3pCLDJCQUFXLENBQUE7SUFDWCx3QkFBd0I7SUFDeEIsMkJBQVcsQ0FBQTtJQUNYLHVCQUF1QjtJQUN2QiwyQkFBVyxDQUFBO0lBQ1gsMkJBQTJCO0lBQzNCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gsa0NBQWtDO0lBQ2xDLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsa0JBQWtCO0lBQ2xCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLDRCQUE0QjtJQUM1QiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxrQ0FBa0M7SUFDbEMsMkJBQVcsQ0FBQTtJQUNYLGtCQUFrQjtJQUNsQiwyQkFBVyxDQUFBO0lBQ1gseUJBQXlCO0lBQ3pCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHdCQUF3QjtJQUN4QiwyQkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQTNUVyxZQUFZLEtBQVosWUFBWSxRQTJUdkI7QUFtUEQsTUFBTSxDQUFOLElBQVksY0FLWDtBQUxELFdBQVksY0FBYztJQUN4QiwwQ0FBMEM7SUFDMUMscUNBQW1CLENBQUE7SUFDbkIsMkRBQTJEO0lBQzNELDZDQUEyQixDQUFBO0FBQzdCLENBQUMsRUFMVyxjQUFjLEtBQWQsY0FBYyxRQUt6QjtBQXlCRCxNQUFNLENBQU4sSUFBWSxTQTJDWDtBQTNDRCxXQUFZLFNBQVM7SUFDbkIsNENBQStCLENBQUE7SUFDL0IsZ0RBQW1DLENBQUE7SUFDbkMsMEVBQTZELENBQUE7SUFDN0Qsc0RBQXlDLENBQUE7SUFDekMsOEVBQWlFLENBQUE7SUFDakUsMERBQTZDLENBQUE7SUFDN0MsMERBQTZDLENBQUE7SUFDN0Msa0ZBQXFFLENBQUE7SUFDckUsNEVBQStELENBQUE7SUFDL0Qsb0ZBQXVFLENBQUE7SUFDdkUsa0VBQXFELENBQUE7SUFDckQsa0ZBQXFFLENBQUE7SUFDckUsMERBQTZDLENBQUE7SUFDN0Msb0VBQXVELENBQUE7SUFDdkQsMEVBQTZELENBQUE7SUFDN0Qsa0VBQXFELENBQUE7SUFDckQsZ0VBQW1ELENBQUE7SUFDbkQsOERBQWlELENBQUE7SUFDakQsa0VBQXFELENBQUE7SUFDckQsNEVBQStELENBQUE7SUFDL0QsOEVBQWlFLENBQUE7SUFDakUsc0ZBQXlFLENBQUE7SUFDekUsOEVBQWlFLENBQUE7SUFDakUsc0VBQXlELENBQUE7SUFDekQsMEVBQTZELENBQUE7SUFDN0QsZ0ZBQW1FLENBQUE7SUFDbkUsc0VBQXlELENBQUE7SUFDekQsd0VBQTJELENBQUE7SUFDM0Qsa0VBQXFELENBQUE7SUFDckQsc0VBQXlELENBQUE7SUFDekQsb0VBQXVELENBQUE7SUFDdkQsMEVBQTZELENBQUE7SUFDN0QsMEVBQTZELENBQUE7SUFDN0Qsb0RBQXVDLENBQUE7SUFDdkMsZ0VBQW1ELENBQUE7SUFDbkQsa0VBQXFELENBQUE7SUFDckQsb0VBQXVELENBQUE7SUFDdkQsb0VBQXVELENBQUE7SUFDdkQsZ0VBQW1ELENBQUE7SUFDbkQsa0VBQXFELENBQUE7SUFDckQsa0ZBQXFFLENBQUE7SUFDckUsNERBQStDLENBQUE7QUFDakQsQ0FBQyxFQTNDVyxTQUFTLEtBQVQsU0FBUyxRQTJDcEI7QUE4TkQsTUFBTSxDQUFOLElBQVksVUFJWDtBQUpELFdBQVksVUFBVTtJQUNwQiwyQkFBYSxDQUFBO0lBQ2IsNkJBQWUsQ0FBQTtJQUNmLGlDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFKVyxVQUFVLEtBQVYsVUFBVSxRQUlyQjtBQTBERCxNQUFNLENBQU4sSUFBWSxnQkF5Qlg7QUF6QkQsV0FBWSxnQkFBZ0I7SUFDMUIsK0RBQTJDLENBQUE7SUFDM0MsMkRBQXVDLENBQUE7SUFDdkMsdUVBQW1ELENBQUE7SUFDbkQsdUVBQW1ELENBQUE7SUFDbkQsK0VBQTJELENBQUE7SUFDM0QseUVBQXFELENBQUE7SUFDckQseUVBQXFELENBQUE7SUFDckQseUVBQXFELENBQUE7SUFDckQsMkVBQXVELENBQUE7SUFDdkQsMkZBQXVFLENBQUE7SUFDdkUseUZBQXFFLENBQUE7SUFDckUsdUZBQW1FLENBQUE7SUFDbkUscUZBQWlFLENBQUE7SUFDakUsbURBQStCLENBQUE7SUFDL0IscUVBQWlELENBQUE7SUFDakQseUVBQXFELENBQUE7SUFDckQsMkRBQXVDLENBQUE7SUFDdkMsNkRBQXlDLENBQUE7SUFDekMsdUVBQW1ELENBQUE7SUFDbkQsaUZBQTZELENBQUE7SUFDN0QsNkNBQXlCLENBQUE7SUFDekIsaUVBQTZDLENBQUE7SUFDN0MsaUVBQTZDLENBQUE7SUFDN0MscURBQWlDLENBQUE7QUFDbkMsQ0FBQyxFQXpCVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBeUIzQjtBQXNLRDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBTixJQUFZLFFBT1g7QUFQRCxXQUFZLFFBQVE7SUFDbEIsK0JBQW1CLENBQUE7SUFDbkIsK0JBQW1CLENBQUE7SUFDbkIsbUNBQXVCLENBQUE7SUFDdkIsaUNBQXFCLENBQUE7SUFDckIsNkJBQWlCLENBQUE7SUFDakIsbUNBQXVCLENBQUE7QUFDekIsQ0FBQyxFQVBXLFFBQVEsS0FBUixRQUFRLFFBT25CO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLENBQU4sSUFBWSxZQTJUWDtBQTNURCxXQUFZLFlBQVk7SUFDdEIsZ0JBQWdCO0lBQ2hCLHlCQUFTLENBQUE7SUFDVCxXQUFXO0lBQ1gseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxlQUFlO0lBQ2YseUJBQVMsQ0FBQTtJQUNULGtCQUFrQjtJQUNsQix5QkFBUyxDQUFBO0lBQ1QsaUJBQWlCO0lBQ2pCLHlCQUFTLENBQUE7SUFDVCxnQkFBZ0I7SUFDaEIseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULG9CQUFvQjtJQUNwQix5QkFBUyxDQUFBO0lBQ1QsWUFBWTtJQUNaLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1Qsc0JBQXNCO0lBQ3RCLCtCQUFlLENBQUE7SUFDZix3QkFBd0I7SUFDeEIsK0JBQWUsQ0FBQTtJQUNmLGVBQWU7SUFDZix5QkFBUyxDQUFBO0lBQ1QsVUFBVTtJQUNWLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QseUJBQXlCO0lBQ3pCLCtCQUFlLENBQUE7SUFDZix1QkFBdUI7SUFDdkIsK0JBQWUsQ0FBQTtJQUNmLHNCQUFzQjtJQUN0QiwrQkFBZSxDQUFBO0lBQ2YsdUJBQXVCO0lBQ3ZCLCtCQUFlLENBQUE7SUFDZixnQkFBZ0I7SUFDaEIseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsdUJBQXVCO0lBQ3ZCLCtCQUFlLENBQUE7SUFDZixzQkFBc0I7SUFDdEIsK0JBQWUsQ0FBQTtJQUNmLGVBQWU7SUFDZix5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULFdBQVc7SUFDWCwrQkFBZSxDQUFBO0lBQ2YsWUFBWTtJQUNaLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxzQkFBc0I7SUFDdEIsK0JBQWUsQ0FBQTtJQUNmLG1CQUFtQjtJQUNuQiwrQkFBZSxDQUFBO0lBQ2Ysc0JBQXNCO0lBQ3RCLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULHNCQUFzQjtJQUN0Qix5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxlQUFlO0lBQ2YseUJBQVMsQ0FBQTtJQUNULFdBQVc7SUFDWCx5QkFBUyxDQUFBO0lBQ1QsWUFBWTtJQUNaLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxxQkFBcUI7SUFDckIseUJBQVMsQ0FBQTtJQUNULGdCQUFnQjtJQUNoQix5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxrQkFBa0I7SUFDbEIseUJBQVMsQ0FBQTtJQUNULGlCQUFpQjtJQUNqQix5QkFBUyxDQUFBO0lBQ1QsV0FBVztJQUNYLHlCQUFTLENBQUE7SUFDVCxpQkFBaUI7SUFDakIseUJBQVMsQ0FBQTtJQUNULGdCQUFnQjtJQUNoQix5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxlQUFlO0lBQ2YseUJBQVMsQ0FBQTtJQUNULGVBQWU7SUFDZix5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1Qsa0JBQWtCO0lBQ2xCLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxlQUFlO0lBQ2YseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1Qsb0JBQW9CO0lBQ3BCLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsVUFBVTtJQUNWLHlCQUFTLENBQUE7SUFDVCxpQkFBaUI7SUFDakIseUJBQVMsQ0FBQTtJQUNULG1CQUFtQjtJQUNuQix5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxlQUFlO0lBQ2YseUJBQVMsQ0FBQTtJQUNULFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1QsaUJBQWlCO0lBQ2pCLHlCQUFTLENBQUE7SUFDVCxnQkFBZ0I7SUFDaEIseUJBQVMsQ0FBQTtJQUNULGdCQUFnQjtJQUNoQix5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCx1QkFBdUI7SUFDdkIseUJBQVMsQ0FBQTtJQUNULG9CQUFvQjtJQUNwQix5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCwrQkFBZSxDQUFBO0lBQ2Ysd0JBQXdCO0lBQ3hCLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1QsV0FBVztJQUNYLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULGlCQUFpQjtJQUNqQix5QkFBUyxDQUFBO0lBQ1QsMkJBQTJCO0lBQzNCLCtCQUFlLENBQUE7SUFDZiwwQkFBMEI7SUFDMUIsK0JBQWUsQ0FBQTtJQUNmLGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULGVBQWU7SUFDZix5QkFBUyxDQUFBO0lBQ1QsZ0JBQWdCO0lBQ2hCLCtCQUFlLENBQUE7SUFDZixjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGtCQUFrQjtJQUNsQix5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULG9CQUFvQjtJQUNwQix5QkFBUyxDQUFBO0lBQ1QsWUFBWTtJQUNaLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1QsZ0JBQWdCO0lBQ2hCLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxlQUFlO0lBQ2YseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QscUJBQXFCO0lBQ3JCLHlCQUFTLENBQUE7SUFDVCxnQkFBZ0I7SUFDaEIseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxvQkFBb0I7SUFDcEIsK0JBQWUsQ0FBQTtJQUNmLFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULFdBQVc7SUFDWCx5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1QsZ0JBQWdCO0lBQ2hCLHlCQUFTLENBQUE7SUFDVCxXQUFXO0lBQ1gseUJBQVMsQ0FBQTtJQUNULFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1QsaUJBQWlCO0lBQ2pCLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1QsWUFBWTtJQUNaLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCx5QkFBeUI7SUFDekIsbUNBQW1CLENBQUE7SUFDbkIsMEJBQTBCO0lBQzFCLG1DQUFtQixDQUFBO0lBQ25CLFdBQVc7SUFDWCx5QkFBUyxDQUFBO0FBQ1gsQ0FBQyxFQTNUVyxZQUFZLEtBQVosWUFBWSxRQTJUdkI7QUErQkQsTUFBTSxDQUFOLElBQVksZUFHWDtBQUhELFdBQVksZUFBZTtJQUN6Qiw4QkFBVyxDQUFBO0lBQ1gsNEJBQVMsQ0FBQTtBQUNYLENBQUMsRUFIVyxlQUFlLEtBQWYsZUFBZSxRQUcxQjtBQXcvQ0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQkc7QUFDSCxNQUFNLENBQU4sSUFBWSxVQTRLWDtBQTVLRCxXQUFZLFVBQVU7SUFDcEIsNERBQTREO0lBQzVELDZDQUErQixDQUFBO0lBQy9CLGdEQUFnRDtJQUNoRCx5REFBMkMsQ0FBQTtJQUMzQyx3Q0FBd0M7SUFDeEMseUNBQTJCLENBQUE7SUFDM0Isd0VBQXdFO0lBQ3hFLDZDQUErQixDQUFBO0lBQy9CLDBDQUEwQztJQUMxQyw2Q0FBK0IsQ0FBQTtJQUMvQiw2Q0FBNkM7SUFDN0MsbURBQXFDLENBQUE7SUFDckMsMENBQTBDO0lBQzFDLDZDQUErQixDQUFBO0lBQy9CLDJDQUEyQztJQUMzQywrQ0FBaUMsQ0FBQTtJQUNqQyxnREFBZ0Q7SUFDaEQseURBQTJDLENBQUE7SUFDM0Msd0NBQXdDO0lBQ3hDLHlDQUEyQixDQUFBO0lBQzNCLHdDQUF3QztJQUN4Qyx5Q0FBMkIsQ0FBQTtJQUMzQixnREFBZ0Q7SUFDaEQseURBQTJDLENBQUE7SUFDM0MsMENBQTBDO0lBQzFDLDZDQUErQixDQUFBO0lBQy9CLDRDQUE0QztJQUM1QyxpREFBbUMsQ0FBQTtJQUNuQyxzSUFBc0k7SUFDdEksK0NBQWlDLENBQUE7SUFDakMsaURBQWlEO0lBQ2pELDJEQUE2QyxDQUFBO0lBQzdDLHlDQUF5QztJQUN6QywyQ0FBNkIsQ0FBQTtJQUM3QixzQ0FBc0M7SUFDdEMscUNBQXVCLENBQUE7SUFDdkIsOENBQThDO0lBQzlDLHFEQUF1QyxDQUFBO0lBQ3ZDLDBDQUEwQztJQUMxQyw2Q0FBK0IsQ0FBQTtJQUMvQix1Q0FBdUM7SUFDdkMsdUNBQXlCLENBQUE7SUFDekIsZ0RBQWdEO0lBQ2hELHlEQUEyQyxDQUFBO0lBQzNDLHdDQUF3QztJQUN4Qyx5Q0FBMkIsQ0FBQTtJQUMzQix3RUFBd0U7SUFDeEUsNkNBQStCLENBQUE7SUFDL0IsMENBQTBDO0lBQzFDLDZDQUErQixDQUFBO0lBQy9CLDZDQUE2QztJQUM3QyxtREFBcUMsQ0FBQTtJQUNyQywwQ0FBMEM7SUFDMUMsNkNBQStCLENBQUE7SUFDL0IsMkNBQTJDO0lBQzNDLCtDQUFpQyxDQUFBO0lBQ2pDLGdEQUFnRDtJQUNoRCx5REFBMkMsQ0FBQTtJQUMzQyx3Q0FBd0M7SUFDeEMseUNBQTJCLENBQUE7SUFDM0Isd0NBQXdDO0lBQ3hDLHlDQUEyQixDQUFBO0lBQzNCLGdEQUFnRDtJQUNoRCx5REFBMkMsQ0FBQTtJQUMzQywwQ0FBMEM7SUFDMUMsNkNBQStCLENBQUE7SUFDL0IsNENBQTRDO0lBQzVDLGlEQUFtQyxDQUFBO0lBQ25DLHNJQUFzSTtJQUN0SSwrQ0FBaUMsQ0FBQTtJQUNqQyxpREFBaUQ7SUFDakQsMkRBQTZDLENBQUE7SUFDN0MseUNBQXlDO0lBQ3pDLDJDQUE2QixDQUFBO0lBQzdCLHNDQUFzQztJQUN0QyxxQ0FBdUIsQ0FBQTtJQUN2Qiw4Q0FBOEM7SUFDOUMscURBQXVDLENBQUE7SUFDdkMsMENBQTBDO0lBQzFDLDZDQUErQixDQUFBO0lBQy9CLHVDQUF1QztJQUN2Qyx1Q0FBeUIsQ0FBQTtJQUN6Qix5RUFBeUU7SUFDekUsNkJBQWUsQ0FBQTtJQUNmLHlDQUEyQixDQUFBO0lBQzNCLHNFQUFzRTtJQUN0RSwrQkFBaUIsQ0FBQTtJQUNqQiw4Q0FBOEM7SUFDOUMscURBQXVDLENBQUE7SUFDdkMsc0NBQXNDO0lBQ3RDLHFDQUF1QixDQUFBO0lBQ3ZCLHNFQUFzRTtJQUN0RSx5Q0FBMkIsQ0FBQTtJQUMzQix3Q0FBd0M7SUFDeEMseUNBQTJCLENBQUE7SUFDM0IsMkNBQTJDO0lBQzNDLCtDQUFpQyxDQUFBO0lBQ2pDLHdDQUF3QztJQUN4Qyx5Q0FBMkIsQ0FBQTtJQUMzQix5Q0FBeUM7SUFDekMsMkNBQTZCLENBQUE7SUFDN0IsOENBQThDO0lBQzlDLHFEQUF1QyxDQUFBO0lBQ3ZDLHNDQUFzQztJQUN0QyxxQ0FBdUIsQ0FBQTtJQUN2QixzQ0FBc0M7SUFDdEMscUNBQXVCLENBQUE7SUFDdkIsOENBQThDO0lBQzlDLHFEQUF1QyxDQUFBO0lBQ3ZDLHdDQUF3QztJQUN4Qyx5Q0FBMkIsQ0FBQTtJQUMzQiwwQ0FBMEM7SUFDMUMsNkNBQStCLENBQUE7SUFDL0Isb0lBQW9JO0lBQ3BJLDJDQUE2QixDQUFBO0lBQzdCLCtDQUErQztJQUMvQyx1REFBeUMsQ0FBQTtJQUN6Qyx1Q0FBdUM7SUFDdkMsdUNBQXlCLENBQUE7SUFDekIsb0NBQW9DO0lBQ3BDLGlDQUFtQixDQUFBO0lBQ25CLDRDQUE0QztJQUM1QyxpREFBbUMsQ0FBQTtJQUNuQyx3Q0FBd0M7SUFDeEMseUNBQTJCLENBQUE7SUFDM0IscUNBQXFDO0lBQ3JDLG1DQUFxQixDQUFBO0lBQ3JCLDJEQUEyRDtJQUMzRCx1Q0FBeUIsQ0FBQTtJQUN6QixnREFBZ0Q7SUFDaEQseURBQTJDLENBQUE7SUFDM0Msd0NBQXdDO0lBQ3hDLHlDQUEyQixDQUFBO0lBQzNCLHdFQUF3RTtJQUN4RSw2Q0FBK0IsQ0FBQTtJQUMvQiwwQ0FBMEM7SUFDMUMsNkNBQStCLENBQUE7SUFDL0IsNkNBQTZDO0lBQzdDLG1EQUFxQyxDQUFBO0lBQ3JDLDBDQUEwQztJQUMxQyw2Q0FBK0IsQ0FBQTtJQUMvQiwyQ0FBMkM7SUFDM0MsK0NBQWlDLENBQUE7SUFDakMsZ0RBQWdEO0lBQ2hELHlEQUEyQyxDQUFBO0lBQzNDLHdDQUF3QztJQUN4Qyx5Q0FBMkIsQ0FBQTtJQUMzQixpREFBaUQ7SUFDakQsMkRBQTZDLENBQUE7SUFDN0Msd0NBQXdDO0lBQ3hDLHlDQUEyQixDQUFBO0lBQzNCLGdEQUFnRDtJQUNoRCx5REFBMkMsQ0FBQTtJQUMzQywwQ0FBMEM7SUFDMUMsNkNBQStCLENBQUE7SUFDL0IsNENBQTRDO0lBQzVDLGlEQUFtQyxDQUFBO0lBQ25DLHNJQUFzSTtJQUN0SSwrQ0FBaUMsQ0FBQTtJQUNqQyxpREFBaUQ7SUFDakQsMkRBQTZDLENBQUE7SUFDN0MseUNBQXlDO0lBQ3pDLDJDQUE2QixDQUFBO0lBQzdCLHNDQUFzQztJQUN0QyxxQ0FBdUIsQ0FBQTtJQUN2Qiw4Q0FBOEM7SUFDOUMscURBQXVDLENBQUE7SUFDdkMsMENBQTBDO0lBQzFDLDZDQUErQixDQUFBO0lBQy9CLHVDQUF1QztJQUN2Qyx1Q0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBNUtXLFVBQVUsS0FBVixVQUFVLFFBNEtyQjtBQXdoQ0QsTUFBTSxDQUFOLElBQVksU0FHWDtBQUhELFdBQVksU0FBUztJQUNuQix3QkFBVyxDQUFBO0lBQ1gsMEJBQWEsQ0FBQTtBQUNmLENBQUMsRUFIVyxTQUFTLEtBQVQsU0FBUyxRQUdwQjtBQW1DRCxNQUFNLENBQU4sSUFBWSxpQkFPWDtBQVBELFdBQVksaUJBQWlCO0lBQzNCLDhDQUF5QixDQUFBO0lBQ3pCLDhDQUF5QixDQUFBO0lBQ3pCLHdDQUFtQixDQUFBO0lBQ25CLGtDQUFhLENBQUE7SUFDYixrREFBNkIsQ0FBQTtJQUM3QixzQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBUFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQU81QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlXHJcbmV4cG9ydCB0eXBlIE1heWJlPFQ+ID0gVCB8IG51bGw7XHJcbmV4cG9ydCB0eXBlIEV4YWN0PFQgZXh0ZW5kcyB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfT4gPSB7IFtLIGluIGtleW9mIFRdOiBUW0tdIH07XHJcbmV4cG9ydCB0eXBlIE1ha2VPcHRpb25hbDxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBPbWl0PFQsIEs+ICYgeyBbU3ViS2V5IGluIEtdPzogTWF5YmU8VFtTdWJLZXldPiB9O1xyXG5leHBvcnQgdHlwZSBNYWtlTWF5YmU8VCwgSyBleHRlbmRzIGtleW9mIFQ+ID0gT21pdDxULCBLPiAmIHsgW1N1YktleSBpbiBLXTogTWF5YmU8VFtTdWJLZXldPiB9O1xyXG4vKiogQWxsIGJ1aWx0LWluIGFuZCBjdXN0b20gc2NhbGFycywgbWFwcGVkIHRvIHRoZWlyIGFjdHVhbCB2YWx1ZXMgKi9cclxuZXhwb3J0IHR5cGUgU2NhbGFycyA9IHtcclxuICBJRDogc3RyaW5nO1xyXG4gIFN0cmluZzogc3RyaW5nO1xyXG4gIEJvb2xlYW46IGJvb2xlYW47XHJcbiAgSW50OiBudW1iZXI7XHJcbiAgRmxvYXQ6IG51bWJlcjtcclxuICAvKiogQSBkYXRlLXRpbWUgc3RyaW5nIGF0IFVUQywgc3VjaCBhcyAyMDA3LTEyLTAzVDEwOjE1OjMwWiwgY29tcGxpYW50IHdpdGggdGhlIGBkYXRlLXRpbWVgIGZvcm1hdCBvdXRsaW5lZCBpbiBzZWN0aW9uIDUuNiBvZiB0aGUgUkZDIDMzMzkgcHJvZmlsZSBvZiB0aGUgSVNPIDg2MDEgc3RhbmRhcmQgZm9yIHJlcHJlc2VudGF0aW9uIG9mIGRhdGVzIGFuZCB0aW1lcyB1c2luZyB0aGUgR3JlZ29yaWFuIGNhbGVuZGFyLiAqL1xyXG4gIERhdGVUaW1lOiBhbnk7XHJcbiAgLyoqIFRoZSBgSlNPTmAgc2NhbGFyIHR5cGUgcmVwcmVzZW50cyBKU09OIHZhbHVlcyBhcyBzcGVjaWZpZWQgYnkgW0VDTUEtNDA0XShodHRwOi8vd3d3LmVjbWEtaW50ZXJuYXRpb25hbC5vcmcvcHVibGljYXRpb25zL2ZpbGVzL0VDTUEtU1QvRUNNQS00MDQucGRmKS4gKi9cclxuICBKU09OOiBhbnk7XHJcbiAgLyoqIFRoZSBgVXBsb2FkYCBzY2FsYXIgdHlwZSByZXByZXNlbnRzIGEgZmlsZSB1cGxvYWQuICovXHJcbiAgVXBsb2FkOiBhbnk7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQWRkRnVsZmlsbG1lbnRUb09yZGVyUmVzdWx0ID0gRnVsZmlsbG1lbnQgfCBFbXB0eU9yZGVyTGluZVNlbGVjdGlvbkVycm9yIHwgSXRlbXNBbHJlYWR5RnVsZmlsbGVkRXJyb3IgfCBJbnN1ZmZpY2llbnRTdG9ja09uSGFuZEVycm9yIHwgSW52YWxpZEZ1bGZpbGxtZW50SGFuZGxlckVycm9yIHwgRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvciB8IENyZWF0ZUZ1bGZpbGxtZW50RXJyb3I7XHJcblxyXG5leHBvcnQgdHlwZSBBZGRJdGVtSW5wdXQgPSB7XHJcbiAgcHJvZHVjdFZhcmlhbnRJZDogU2NhbGFyc1snSUQnXTtcclxuICBxdWFudGl0eTogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBZGRJdGVtVG9EcmFmdE9yZGVySW5wdXQgPSB7XHJcbiAgcHJvZHVjdFZhcmlhbnRJZDogU2NhbGFyc1snSUQnXTtcclxuICBxdWFudGl0eTogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBZGRNYW51YWxQYXltZW50VG9PcmRlclJlc3VsdCA9IE9yZGVyIHwgTWFudWFsUGF5bWVudFN0YXRlRXJyb3I7XHJcblxyXG5leHBvcnQgdHlwZSBBZGROb3RlVG9DdXN0b21lcklucHV0ID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIG5vdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGlzUHVibGljOiBTY2FsYXJzWydCb29sZWFuJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBZGROb3RlVG9PcmRlcklucHV0ID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIG5vdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGlzUHVibGljOiBTY2FsYXJzWydCb29sZWFuJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBZGRyZXNzID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgZnVsbE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY29tcGFueT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBzdHJlZXRMaW5lMTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgc3RyZWV0TGluZTI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY2l0eT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBwcm92aW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBwb3N0YWxDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGNvdW50cnk6IENvdW50cnk7XHJcbiAgcGhvbmVOdW1iZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgZGVmYXVsdFNoaXBwaW5nQWRkcmVzcz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgZGVmYXVsdEJpbGxpbmdBZGRyZXNzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQWRqdXN0RHJhZnRPcmRlckxpbmVJbnB1dCA9IHtcclxuICBvcmRlckxpbmVJZDogU2NhbGFyc1snSUQnXTtcclxuICBxdWFudGl0eTogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBZGp1c3RPcmRlckxpbmVJbnB1dCA9IHtcclxuICBvcmRlckxpbmVJZDogU2NhbGFyc1snSUQnXTtcclxuICBxdWFudGl0eTogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBZGp1c3RtZW50ID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnQWRqdXN0bWVudCc7XHJcbiAgYWRqdXN0bWVudFNvdXJjZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdHlwZTogQWRqdXN0bWVudFR5cGU7XHJcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGFtb3VudDogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgZW51bSBBZGp1c3RtZW50VHlwZSB7XHJcbiAgUFJPTU9USU9OID0gJ1BST01PVElPTicsXHJcbiAgRElTVFJJQlVURURfT1JERVJfUFJPTU9USU9OID0gJ0RJU1RSSUJVVEVEX09SREVSX1BST01PVElPTicsXHJcbiAgT1RIRVIgPSAnT1RIRVInXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEFkbWluaXN0cmF0b3IgPSBOb2RlICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnQWRtaW5pc3RyYXRvcic7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBmaXJzdE5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGxhc3ROYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBlbWFpbEFkZHJlc3M6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHVzZXI6IFVzZXI7XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFkbWluaXN0cmF0b3JGaWx0ZXJQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgZmlyc3ROYW1lPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBsYXN0TmFtZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgZW1haWxBZGRyZXNzPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFkbWluaXN0cmF0b3JMaXN0ID0gUGFnaW5hdGVkTGlzdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0FkbWluaXN0cmF0b3JMaXN0JztcclxuICBpdGVtczogQXJyYXk8QWRtaW5pc3RyYXRvcj47XHJcbiAgdG90YWxJdGVtczogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBZG1pbmlzdHJhdG9yTGlzdE9wdGlvbnMgPSB7XHJcbiAgLyoqIFNraXBzIHRoZSBmaXJzdCBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHNraXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFRha2VzIG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgdGFrZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogU3BlY2lmaWVzIHdoaWNoIHByb3BlcnRpZXMgdG8gc29ydCB0aGUgcmVzdWx0cyBieSAqL1xyXG4gIHNvcnQ/OiBNYXliZTxBZG1pbmlzdHJhdG9yU29ydFBhcmFtZXRlcj47XHJcbiAgLyoqIEFsbG93cyB0aGUgcmVzdWx0cyB0byBiZSBmaWx0ZXJlZCAqL1xyXG4gIGZpbHRlcj86IE1heWJlPEFkbWluaXN0cmF0b3JGaWx0ZXJQYXJhbWV0ZXI+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hldGhlciBtdWx0aXBsZSBcImZpbHRlclwiIGFyZ3VtZW50cyBzaG91bGQgYmUgY29tYmluZXMgd2l0aCBhIGxvZ2ljYWwgQU5EIG9yIE9SIG9wZXJhdGlvbi4gRGVmYXVsdHMgdG8gQU5ELiAqL1xyXG4gIGZpbHRlck9wZXJhdG9yPzogTWF5YmU8TG9naWNhbE9wZXJhdG9yPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFkbWluaXN0cmF0b3JQYXltZW50SW5wdXQgPSB7XHJcbiAgcGF5bWVudE1ldGhvZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBtZXRhZGF0YT86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBZG1pbmlzdHJhdG9yUmVmdW5kSW5wdXQgPSB7XHJcbiAgcGF5bWVudElkOiBTY2FsYXJzWydJRCddO1xyXG4gIHJlYXNvbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFkbWluaXN0cmF0b3JTb3J0UGFyYW1ldGVyID0ge1xyXG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHVwZGF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgZmlyc3ROYW1lPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBsYXN0TmFtZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgZW1haWxBZGRyZXNzPzogTWF5YmU8U29ydE9yZGVyPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFsbG9jYXRpb24gPSBOb2RlICYgU3RvY2tNb3ZlbWVudCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0FsbG9jYXRpb24nO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgcHJvZHVjdFZhcmlhbnQ6IFByb2R1Y3RWYXJpYW50O1xyXG4gIHR5cGU6IFN0b2NrTW92ZW1lbnRUeXBlO1xyXG4gIHF1YW50aXR5OiBTY2FsYXJzWydJbnQnXTtcclxuICBvcmRlckxpbmU6IE9yZGVyTGluZTtcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCBpZiBhbiBhdHRlbXB0aW5nIHRvIHJlZnVuZCBhbiBPcmRlckl0ZW0gd2hpY2ggaGFzIGFscmVhZHkgYmVlbiByZWZ1bmRlZCAqL1xyXG5leHBvcnQgdHlwZSBBbHJlYWR5UmVmdW5kZWRFcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnQWxyZWFkeVJlZnVuZGVkRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHJlZnVuZElkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQXBwbHlDb3Vwb25Db2RlUmVzdWx0ID0gT3JkZXIgfCBDb3Vwb25Db2RlRXhwaXJlZEVycm9yIHwgQ291cG9uQ29kZUludmFsaWRFcnJvciB8IENvdXBvbkNvZGVMaW1pdEVycm9yO1xyXG5cclxuZXhwb3J0IHR5cGUgQXNzZXQgPSBOb2RlICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnQXNzZXQnO1xyXG4gIHRhZ3M6IEFycmF5PFRhZz47XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0eXBlOiBBc3NldFR5cGU7XHJcbiAgZmlsZVNpemU6IFNjYWxhcnNbJ0ludCddO1xyXG4gIG1pbWVUeXBlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB3aWR0aDogU2NhbGFyc1snSW50J107XHJcbiAgaGVpZ2h0OiBTY2FsYXJzWydJbnQnXTtcclxuICBzb3VyY2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHByZXZpZXc6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGZvY2FsUG9pbnQ/OiBNYXliZTxDb29yZGluYXRlPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQXNzZXRGaWx0ZXJQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgbmFtZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgdHlwZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgZmlsZVNpemU/OiBNYXliZTxOdW1iZXJPcGVyYXRvcnM+O1xyXG4gIG1pbWVUeXBlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICB3aWR0aD86IE1heWJlPE51bWJlck9wZXJhdG9ycz47XHJcbiAgaGVpZ2h0PzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICBzb3VyY2U/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIHByZXZpZXc/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQXNzZXRMaXN0ID0gUGFnaW5hdGVkTGlzdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0Fzc2V0TGlzdCc7XHJcbiAgaXRlbXM6IEFycmF5PEFzc2V0PjtcclxuICB0b3RhbEl0ZW1zOiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFzc2V0TGlzdE9wdGlvbnMgPSB7XHJcbiAgdGFncz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPj47XHJcbiAgdGFnc09wZXJhdG9yPzogTWF5YmU8TG9naWNhbE9wZXJhdG9yPjtcclxuICAvKiogU2tpcHMgdGhlIGZpcnN0IG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgc2tpcD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogVGFrZXMgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICB0YWtlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hpY2ggcHJvcGVydGllcyB0byBzb3J0IHRoZSByZXN1bHRzIGJ5ICovXHJcbiAgc29ydD86IE1heWJlPEFzc2V0U29ydFBhcmFtZXRlcj47XHJcbiAgLyoqIEFsbG93cyB0aGUgcmVzdWx0cyB0byBiZSBmaWx0ZXJlZCAqL1xyXG4gIGZpbHRlcj86IE1heWJlPEFzc2V0RmlsdGVyUGFyYW1ldGVyPjtcclxuICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgbXVsdGlwbGUgXCJmaWx0ZXJcIiBhcmd1bWVudHMgc2hvdWxkIGJlIGNvbWJpbmVzIHdpdGggYSBsb2dpY2FsIEFORCBvciBPUiBvcGVyYXRpb24uIERlZmF1bHRzIHRvIEFORC4gKi9cclxuICBmaWx0ZXJPcGVyYXRvcj86IE1heWJlPExvZ2ljYWxPcGVyYXRvcj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBc3NldFNvcnRQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBuYW1lPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBmaWxlU2l6ZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgbWltZVR5cGU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHdpZHRoPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBoZWlnaHQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHNvdXJjZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgcHJldmlldz86IE1heWJlPFNvcnRPcmRlcj47XHJcbn07XHJcblxyXG5leHBvcnQgZW51bSBBc3NldFR5cGUge1xyXG4gIElNQUdFID0gJ0lNQUdFJyxcclxuICBWSURFTyA9ICdWSURFTycsXHJcbiAgQklOQVJZID0gJ0JJTkFSWSdcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQXNzaWduQXNzZXRzVG9DaGFubmVsSW5wdXQgPSB7XHJcbiAgYXNzZXRJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGNoYW5uZWxJZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsSW5wdXQgPSB7XHJcbiAgY29sbGVjdGlvbklkczogQXJyYXk8U2NhbGFyc1snSUQnXT47XHJcbiAgY2hhbm5lbElkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQXNzaWduRmFjZXRzVG9DaGFubmVsSW5wdXQgPSB7XHJcbiAgZmFjZXRJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGNoYW5uZWxJZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFzc2lnblByb2R1Y3RWYXJpYW50c1RvQ2hhbm5lbElucHV0ID0ge1xyXG4gIHByb2R1Y3RWYXJpYW50SWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcclxuICBjaGFubmVsSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgcHJpY2VGYWN0b3I/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFzc2lnblByb2R1Y3RzVG9DaGFubmVsSW5wdXQgPSB7XHJcbiAgcHJvZHVjdElkczogQXJyYXk8U2NhbGFyc1snSUQnXT47XHJcbiAgY2hhbm5lbElkOiBTY2FsYXJzWydJRCddO1xyXG4gIHByaWNlRmFjdG9yPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBc3NpZ25Qcm9tb3Rpb25zVG9DaGFubmVsSW5wdXQgPSB7XHJcbiAgcHJvbW90aW9uSWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcclxuICBjaGFubmVsSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBdXRoZW50aWNhdGlvbklucHV0ID0ge1xyXG4gIG5hdGl2ZT86IE1heWJlPE5hdGl2ZUF1dGhJbnB1dD47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBdXRoZW50aWNhdGlvbk1ldGhvZCA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdBdXRoZW50aWNhdGlvbk1ldGhvZCc7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBzdHJhdGVneTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBdXRoZW50aWNhdGlvblJlc3VsdCA9IEN1cnJlbnRVc2VyIHwgSW52YWxpZENyZWRlbnRpYWxzRXJyb3I7XHJcblxyXG5leHBvcnQgdHlwZSBCb29sZWFuQ3VzdG9tRmllbGRDb25maWcgPSBDdXN0b21GaWVsZCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZyc7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdHlwZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgbGlzdDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGxhYmVsPzogTWF5YmU8QXJyYXk8TG9jYWxpemVkU3RyaW5nPj47XHJcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxBcnJheTxMb2NhbGl6ZWRTdHJpbmc+PjtcclxuICByZWFkb25seT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgaW50ZXJuYWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIG51bGxhYmxlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICB1aT86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG4vKiogT3BlcmF0b3JzIGZvciBmaWx0ZXJpbmcgb24gYSBsaXN0IG9mIEJvb2xlYW4gZmllbGRzICovXHJcbmV4cG9ydCB0eXBlIEJvb2xlYW5MaXN0T3BlcmF0b3JzID0ge1xyXG4gIGluTGlzdDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG59O1xyXG5cclxuLyoqIE9wZXJhdG9ycyBmb3IgZmlsdGVyaW5nIG9uIGEgQm9vbGVhbiBmaWVsZCAqL1xyXG5leHBvcnQgdHlwZSBCb29sZWFuT3BlcmF0b3JzID0ge1xyXG4gIGVxPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBpc051bGw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG59O1xyXG5cclxuLyoqIFJldHVybmVkIGlmIGFuIGF0dGVtcHRpbmcgdG8gY2FuY2VsIGxpbmVzIGZyb20gYW4gT3JkZXIgd2hpY2ggaXMgc3RpbGwgYWN0aXZlICovXHJcbmV4cG9ydCB0eXBlIENhbmNlbEFjdGl2ZU9yZGVyRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0NhbmNlbEFjdGl2ZU9yZGVyRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIG9yZGVyU3RhdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ2FuY2VsT3JkZXJJbnB1dCA9IHtcclxuICAvKiogVGhlIGlkIG9mIHRoZSBvcmRlciB0byBiZSBjYW5jZWxsZWQgKi9cclxuICBvcmRlcklkOiBTY2FsYXJzWydJRCddO1xyXG4gIC8qKiBPcHRpb25hbGx5IHNwZWNpZnkgd2hpY2ggT3JkZXJMaW5lcyB0byBjYW5jZWwuIElmIG5vdCBwcm92aWRlZCwgYWxsIE9yZGVyTGluZXMgd2lsbCBiZSBjYW5jZWxsZWQgKi9cclxuICBsaW5lcz86IE1heWJlPEFycmF5PE9yZGVyTGluZUlucHV0Pj47XHJcbiAgLyoqIFNwZWNpZnkgd2hldGhlciB0aGUgc2hpcHBpbmcgY2hhcmdlcyBzaG91bGQgYWxzbyBiZSBjYW5jZWxsZWQuIERlZmF1bHRzIHRvIGZhbHNlICovXHJcbiAgY2FuY2VsU2hpcHBpbmc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIHJlYXNvbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENhbmNlbE9yZGVyUmVzdWx0ID0gT3JkZXIgfCBFbXB0eU9yZGVyTGluZVNlbGVjdGlvbkVycm9yIHwgUXVhbnRpdHlUb29HcmVhdEVycm9yIHwgTXVsdGlwbGVPcmRlckVycm9yIHwgQ2FuY2VsQWN0aXZlT3JkZXJFcnJvciB8IE9yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3I7XHJcblxyXG4vKiogUmV0dXJuZWQgaWYgdGhlIFBheW1lbnQgY2FuY2VsbGF0aW9uIGZhaWxzICovXHJcbmV4cG9ydCB0eXBlIENhbmNlbFBheW1lbnRFcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnQ2FuY2VsUGF5bWVudEVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBwYXltZW50RXJyb3JNZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENhbmNlbFBheW1lbnRSZXN1bHQgPSBQYXltZW50IHwgQ2FuY2VsUGF5bWVudEVycm9yIHwgUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yO1xyXG5cclxuZXhwb3J0IHR5cGUgQ2FuY2VsbGF0aW9uID0gTm9kZSAmIFN0b2NrTW92ZW1lbnQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdDYW5jZWxsYXRpb24nO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgcHJvZHVjdFZhcmlhbnQ6IFByb2R1Y3RWYXJpYW50O1xyXG4gIHR5cGU6IFN0b2NrTW92ZW1lbnRUeXBlO1xyXG4gIHF1YW50aXR5OiBTY2FsYXJzWydJbnQnXTtcclxuICBvcmRlckxpbmU6IE9yZGVyTGluZTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENoYW5uZWwgPSBOb2RlICYge1xyXG4gIF9fdHlwZW5hbWU/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/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCBpZiB0aGUgcHJvdmlkZWQgY291cG9uIGNvZGUgaXMgaW52YWxpZCAqL1xyXG5leHBvcnQgdHlwZSBDb3Vwb25Db2RlRXhwaXJlZEVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdDb3Vwb25Db2RlRXhwaXJlZEVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBjb3Vwb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCBpZiB0aGUgcHJvdmlkZWQgY291cG9uIGNvZGUgaXMgaW52YWxpZCAqL1xyXG5leHBvcnQgdHlwZSBDb3Vwb25Db2RlSW52YWxpZEVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdDb3Vwb25Db2RlSW52YWxpZEVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBjb3Vwb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCBpZiB0aGUgcHJvdmlkZWQgY291cG9uIGNvZGUgaXMgaW52YWxpZCAqL1xyXG5leHBvcnQgdHlwZSBDb3Vwb25Db2RlTGltaXRFcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnQ291cG9uQ29kZUxpbWl0RXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGNvdXBvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGxpbWl0OiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUFkZHJlc3NJbnB1dCA9IHtcclxuICBmdWxsTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjb21wYW55PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+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+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VzdG9tZXJGaWx0ZXJQYXJhbWV0ZXIgPSB7XHJcbiAgcG9zdGFsQ29kZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgdGl0bGU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIGZpcnN0TmFtZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgbGFzdE5hbWU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIHBob25lTnVtYmVyPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBlbWFpbEFkZHJlc3M/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VzdG9tZXJHcm91cCA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdDdXN0b21lckdyb3VwJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGN1c3RvbWVyczogQ3VzdG9tZXJMaXN0O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQ3VzdG9tZXJHcm91cEN1c3RvbWVyc0FyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPEN1c3RvbWVyTGlzdE9wdGlvbnM+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VzdG9tZXJHcm91cEZpbHRlclBhcmFtZXRlciA9IHtcclxuICBpZD86IE1heWJlPElkT3BlcmF0b3JzPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICB1cGRhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICBuYW1lPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEN1c3RvbWVyR3JvdXBMaXN0ID0gUGFnaW5hdGVkTGlzdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyR3JvdXBMaXN0JztcclxuICBpdGVtczogQXJyYXk8Q3VzdG9tZXJHcm91cD47XHJcbiAgdG90YWxJdGVtczogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDdXN0b21lckdyb3VwTGlzdE9wdGlvbnMgPSB7XHJcbiAgLyoqIFNraXBzIHRoZSBmaXJzdCBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHNraXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFRha2VzIG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgdGFrZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogU3BlY2lmaWVzIHdoaWNoIHByb3BlcnRpZXMgdG8gc29ydCB0aGUgcmVzdWx0cyBieSAqL1xyXG4gIHNvcnQ/OiBNYXliZTxDdXN0b21lckdyb3VwU29ydFBhcmFtZXRlcj47XHJcbiAgLyoqIEFsbG93cyB0aGUgcmVzdWx0cyB0byBiZSBmaWx0ZXJlZCAqL1xyXG4gIGZpbHRlcj86IE1heWJlPEN1c3RvbWVyR3JvdXBGaWx0ZXJQYXJhbWV0ZXI+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hldGhlciBtdWx0aXBsZSBcImZpbHRlclwiIGFyZ3VtZW50cyBzaG91bGQgYmUgY29tYmluZXMgd2l0aCBhIGxvZ2ljYWwgQU5EIG9yIE9SIG9wZXJhdGlvbi4gRGVmYXVsdHMgdG8gQU5ELiAqL1xyXG4gIGZpbHRlck9wZXJhdG9yPzogTWF5YmU8TG9naWNhbE9wZXJhdG9yPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEN1c3RvbWVyR3JvdXBTb3J0UGFyYW1ldGVyID0ge1xyXG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHVwZGF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgbmFtZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDdXN0b21lckxpc3QgPSBQYWdpbmF0ZWRMaXN0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXJMaXN0JztcclxuICBpdGVtczogQXJyYXk8Q3VzdG9tZXI+O1xyXG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VzdG9tZXJMaXN0T3B0aW9ucyA9IHtcclxuICAvKiogU2tpcHMgdGhlIGZpcnN0IG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgc2tpcD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogVGFrZXMgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICB0YWtlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hpY2ggcHJvcGVydGllcyB0byBzb3J0IHRoZSByZXN1bHRzIGJ5ICovXHJcbiAgc29ydD86IE1heWJlPEN1c3RvbWVyU29ydFBhcmFtZXRlcj47XHJcbiAgLyoqIEFsbG93cyB0aGUgcmVzdWx0cyB0byBiZSBmaWx0ZXJlZCAqL1xyXG4gIGZpbHRlcj86IE1heWJlPEN1c3RvbWVyRmlsdGVyUGFyYW1ldGVyPjtcclxuICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgbXVsdGlwbGUgXCJmaWx0ZXJcIiBhcmd1bWVudHMgc2hvdWxkIGJlIGNvbWJpbmVzIHdpdGggYSBsb2dpY2FsIEFORCBvciBPUiBvcGVyYXRpb24uIERlZmF1bHRzIHRvIEFORC4gKi9cclxuICBmaWx0ZXJPcGVyYXRvcj86IE1heWJlPExvZ2ljYWxPcGVyYXRvcj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDdXN0b21lclNvcnRQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICB0aXRsZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgZmlyc3ROYW1lPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBsYXN0TmFtZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgcGhvbmVOdW1iZXI/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGVtYWlsQWRkcmVzcz86IE1heWJlPFNvcnRPcmRlcj47XHJcbn07XHJcblxyXG4vKiogT3BlcmF0b3JzIGZvciBmaWx0ZXJpbmcgb24gYSBsaXN0IG9mIERhdGUgZmllbGRzICovXHJcbmV4cG9ydCB0eXBlIERhdGVMaXN0T3BlcmF0b3JzID0ge1xyXG4gIGluTGlzdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxufTtcclxuXHJcbi8qKiBPcGVyYXRvcnMgZm9yIGZpbHRlcmluZyBvbiBhIERhdGVUaW1lIGZpZWxkICovXHJcbmV4cG9ydCB0eXBlIERhdGVPcGVyYXRvcnMgPSB7XHJcbiAgZXE/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcclxuICBiZWZvcmU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcclxuICBhZnRlcj86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xyXG4gIGJldHdlZW4/OiBNYXliZTxEYXRlUmFuZ2U+O1xyXG4gIGlzTnVsbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBEYXRlUmFuZ2UgPSB7XHJcbiAgc3RhcnQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgZW5kOiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG59O1xyXG5cclxuXHJcbi8qKlxyXG4gKiBFeHBlY3RzIHRoZSBzYW1lIHZhbGlkYXRpb24gZm9ybWF0cyBhcyB0aGUgYDxpbnB1dCB0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIj5gIEhUTUwgZWxlbWVudC5cclxuICogU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0hUTUwvRWxlbWVudC9pbnB1dC9kYXRldGltZS1sb2NhbCNBZGRpdGlvbmFsX2F0dHJpYnV0ZXNcclxuICovXHJcbmV4cG9ydCB0eXBlIERhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcgPSBDdXN0b21GaWVsZCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHR5cGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGxpc3Q6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICBsYWJlbD86IE1heWJlPEFycmF5PExvY2FsaXplZFN0cmluZz4+O1xyXG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8QXJyYXk8TG9jYWxpemVkU3RyaW5nPj47XHJcbiAgcmVhZG9ubHk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIGludGVybmFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBudWxsYWJsZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgbWluPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIG1heD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBzdGVwPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIHVpPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZUFzc2V0SW5wdXQgPSB7XHJcbiAgYXNzZXRJZDogU2NhbGFyc1snSUQnXTtcclxuICBmb3JjZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgZGVsZXRlRnJvbUFsbENoYW5uZWxzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZUFzc2V0c0lucHV0ID0ge1xyXG4gIGFzc2V0SWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcclxuICBmb3JjZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgZGVsZXRlRnJvbUFsbENoYW5uZWxzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0aW9uUmVzcG9uc2UgPSB7XHJcbiAgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJztcclxuICByZXN1bHQ6IERlbGV0aW9uUmVzdWx0O1xyXG4gIG1lc3NhZ2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbn07XHJcblxyXG5leHBvcnQgZW51bSBEZWxldGlvblJlc3VsdCB7XHJcbiAgLyoqIFRoZSBlbnRpdHkgd2FzIHN1Y2Nlc3NmdWxseSBkZWxldGVkICovXHJcbiAgREVMRVRFRCA9ICdERUxFVEVEJyxcclxuICAvKiogRGVsZXRpb24gZGlkIG5vdCB0YWtlIHBsYWNlLCByZWFzb24gZ2l2ZW4gaW4gbWVzc2FnZSAqL1xyXG4gIE5PVF9ERUxFVEVEID0gJ05PVF9ERUxFVEVEJ1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBEaXNjb3VudCA9IHtcclxuICBfX3R5cGVuYW1lPzogJ0Rpc2NvdW50JztcclxuICBhZGp1c3RtZW50U291cmNlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0eXBlOiBBZGp1c3RtZW50VHlwZTtcclxuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgYW1vdW50OiBTY2FsYXJzWydJbnQnXTtcclxuICBhbW91bnRXaXRoVGF4OiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCB3aGVuIGF0dGVtcHRpbmcgdG8gY3JlYXRlIGEgQ3VzdG9tZXIgd2l0aCBhbiBlbWFpbCBhZGRyZXNzIGFscmVhZHkgcmVnaXN0ZXJlZCB0byBhbiBleGlzdGluZyBVc2VyLiAqL1xyXG5leHBvcnQgdHlwZSBFbWFpbEFkZHJlc3NDb25mbGljdEVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdFbWFpbEFkZHJlc3NDb25mbGljdEVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCBpZiBubyBPcmRlckxpbmVzIGhhdmUgYmVlbiBzcGVjaWZpZWQgZm9yIHRoZSBvcGVyYXRpb24gKi9cclxuZXhwb3J0IHR5cGUgRW1wdHlPcmRlckxpbmVTZWxlY3Rpb25FcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnRW1wdHlPcmRlckxpbmVTZWxlY3Rpb25FcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgZW51bSBFcnJvckNvZGUge1xyXG4gIFVOS05PV05fRVJST1IgPSAnVU5LTk9XTl9FUlJPUicsXHJcbiAgTUlNRV9UWVBFX0VSUk9SID0gJ01JTUVfVFlQRV9FUlJPUicsXHJcbiAgTEFOR1VBR0VfTk9UX0FWQUlMQUJMRV9FUlJPUiA9ICdMQU5HVUFHRV9OT1RfQVZBSUxBQkxFX0VSUk9SJyxcclxuICBGQUNFVF9JTl9VU0VfRVJST1IgPSAnRkFDRVRfSU5fVVNFX0VSUk9SJyxcclxuICBDSEFOTkVMX0RFRkFVTFRfTEFOR1VBR0VfRVJST1IgPSAnQ0hBTk5FTF9ERUZBVUxUX0xBTkdVQUdFX0VSUk9SJyxcclxuICBTRVRUTEVfUEFZTUVOVF9FUlJPUiA9ICdTRVRUTEVfUEFZTUVOVF9FUlJPUicsXHJcbiAgQ0FOQ0VMX1BBWU1FTlRfRVJST1IgPSAnQ0FOQ0VMX1BBWU1FTlRfRVJST1InLFxyXG4gIEVNUFRZX09SREVSX0xJTkVfU0VMRUNUSU9OX0VSUk9SID0gJ0VNUFRZX09SREVSX0xJTkVfU0VMRUNUSU9OX0VSUk9SJyxcclxuICBJVEVNU19BTFJFQURZX0ZVTEZJTExFRF9FUlJPUiA9ICdJVEVNU19BTFJFQURZX0ZVTEZJTExFRF9FUlJPUicsXHJcbiAgSU5WQUxJRF9GVUxGSUxMTUVOVF9IQU5ETEVSX0VSUk9SID0gJ0lOVkFMSURfRlVMRklMTE1FTlRfSEFORExFUl9FUlJPUicsXHJcbiAgQ1JFQVRFX0ZVTEZJTExNRU5UX0VSUk9SID0gJ0NSRUFURV9GVUxGSUxMTUVOVF9FUlJPUicsXHJcbiAgSU5TVUZGSUNJRU5UX1NUT0NLX09OX0hBTkRfRVJST1IgPSAnSU5TVUZGSUNJRU5UX1NUT0NLX09OX0hBTkRfRVJST1InLFxyXG4gIE1VTFRJUExFX09SREVSX0VSUk9SID0gJ01VTFRJUExFX09SREVSX0VSUk9SJyxcclxuICBDQU5DRUxfQUNUSVZFX09SREVSX0VSUk9SID0gJ0NBTkNFTF9BQ1RJVkVfT1JERVJfRVJST1InLFxyXG4gIFBBWU1FTlRfT1JERVJfTUlTTUFUQ0hfRVJST1IgPSAnUEFZTUVOVF9PUkRFUl9NSVNNQVRDSF9FUlJPUicsXHJcbiAgUkVGVU5EX09SREVSX1NUQVRFX0VSUk9SID0gJ1JFRlVORF9PUkRFUl9TVEFURV9FUlJPUicsXHJcbiAgTk9USElOR19UT19SRUZVTkRfRVJST1IgPSAnTk9USElOR19UT19SRUZVTkRfRVJST1InLFxyXG4gIEFMUkVBRFlfUkVGVU5ERURfRVJST1IgPSAnQUxSRUFEWV9SRUZVTkRFRF9FUlJPUicsXHJcbiAgUVVBTlRJVFlfVE9PX0dSRUFUX0VSUk9SID0gJ1FVQU5USVRZX1RPT19HUkVBVF9FUlJPUicsXHJcbiAgUkVGVU5EX1NUQVRFX1RSQU5TSVRJT05fRVJST1IgPSAnUkVGVU5EX1NUQVRFX1RSQU5TSVRJT05fRVJST1InLFxyXG4gIFBBWU1FTlRfU1RBVEVfVFJBTlNJVElPTl9FUlJPUiA9ICdQQVlNRU5UX1NUQVRFX1RSQU5TSVRJT05fRVJST1InLFxyXG4gIEZVTEZJTExNRU5UX1NUQVRFX1RSQU5TSVRJT05fRVJST1IgPSAnRlVMRklMTE1FTlRfU1RBVEVfVFJBTlNJVElPTl9FUlJPUicsXHJcbiAgT1JERVJfTU9ESUZJQ0FUSU9OX1NUQVRFX0VSUk9SID0gJ09SREVSX01PRElGSUNBVElPTl9TVEFURV9FUlJPUicsXHJcbiAgTk9fQ0hBTkdFU19TUEVDSUZJRURfRVJST1IgPSAnTk9fQ0hBTkdFU19TUEVDSUZJRURfRVJST1InLFxyXG4gIFBBWU1FTlRfTUVUSE9EX01JU1NJTkdfRVJST1IgPSAnUEFZTUVOVF9NRVRIT0RfTUlTU0lOR19FUlJPUicsXHJcbiAgUkVGVU5EX1BBWU1FTlRfSURfTUlTU0lOR19FUlJPUiA9ICdSRUZVTkRfUEFZTUVOVF9JRF9NSVNTSU5HX0VSUk9SJyxcclxuICBNQU5VQUxfUEFZTUVOVF9TVEFURV9FUlJPUiA9ICdNQU5VQUxfUEFZTUVOVF9TVEFURV9FUlJPUicsXHJcbiAgUFJPRFVDVF9PUFRJT05fSU5fVVNFX0VSUk9SID0gJ1BST0RVQ1RfT1BUSU9OX0lOX1VTRV9FUlJPUicsXHJcbiAgTUlTU0lOR19DT05ESVRJT05TX0VSUk9SID0gJ01JU1NJTkdfQ09ORElUSU9OU19FUlJPUicsXHJcbiAgTkFUSVZFX0FVVEhfU1RSQVRFR1lfRVJST1IgPSAnTkFUSVZFX0FVVEhfU1RSQVRFR1lfRVJST1InLFxyXG4gIElOVkFMSURfQ1JFREVOVElBTFNfRVJST1IgPSAnSU5WQUxJRF9DUkVERU5USUFMU19FUlJPUicsXHJcbiAgT1JERVJfU1RBVEVfVFJBTlNJVElPTl9FUlJPUiA9ICdPUkRFUl9TVEFURV9UUkFOU0lUSU9OX0VSUk9SJyxcclxuICBFTUFJTF9BRERSRVNTX0NPTkZMSUNUX0VSUk9SID0gJ0VNQUlMX0FERFJFU1NfQ09ORkxJQ1RfRVJST1InLFxyXG4gIE9SREVSX0xJTUlUX0VSUk9SID0gJ09SREVSX0xJTUlUX0VSUk9SJyxcclxuICBORUdBVElWRV9RVUFOVElUWV9FUlJPUiA9ICdORUdBVElWRV9RVUFOVElUWV9FUlJPUicsXHJcbiAgSU5TVUZGSUNJRU5UX1NUT0NLX0VSUk9SID0gJ0lOU1VGRklDSUVOVF9TVE9DS19FUlJPUicsXHJcbiAgQ09VUE9OX0NPREVfSU5WQUxJRF9FUlJPUiA9ICdDT1VQT05fQ09ERV9JTlZBTElEX0VSUk9SJyxcclxuICBDT1VQT05fQ09ERV9FWFBJUkVEX0VSUk9SID0gJ0NPVVBPTl9DT0RFX0VYUElSRURfRVJST1InLFxyXG4gIENPVVBPTl9DT0RFX0xJTUlUX0VSUk9SID0gJ0NPVVBPTl9DT0RFX0xJTUlUX0VSUk9SJyxcclxuICBPUkRFUl9NT0RJRklDQVRJT05fRVJST1IgPSAnT1JERVJfTU9ESUZJQ0FUSU9OX0VSUk9SJyxcclxuICBJTkVMSUdJQkxFX1NISVBQSU5HX01FVEhPRF9FUlJPUiA9ICdJTkVMSUdJQkxFX1NISVBQSU5HX01FVEhPRF9FUlJPUicsXHJcbiAgTk9fQUNUSVZFX09SREVSX0VSUk9SID0gJ05PX0FDVElWRV9PUkRFUl9FUlJPUidcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRXJyb3JSZXN1bHQgPSB7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBGYWNldCA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdGYWNldCc7XHJcbiAgaXNQcml2YXRlOiBTY2FsYXJzWydCb29sZWFuJ107XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB2YWx1ZXM6IEFycmF5PEZhY2V0VmFsdWU+O1xyXG4gIHRyYW5zbGF0aW9uczogQXJyYXk8RmFjZXRUcmFuc2xhdGlvbj47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEZhY2V0RmlsdGVyUGFyYW1ldGVyID0ge1xyXG4gIGlzUHJpdmF0ZT86IE1heWJlPEJvb2xlYW5PcGVyYXRvcnM+O1xyXG4gIGlkPzogTWF5YmU8SWRPcGVyYXRvcnM+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xyXG4gIHVwZGF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xyXG4gIGxhbmd1YWdlQ29kZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgbmFtZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgY29kZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBGYWNldEluVXNlRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0ZhY2V0SW5Vc2VFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZmFjZXRDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBwcm9kdWN0Q291bnQ6IFNjYWxhcnNbJ0ludCddO1xyXG4gIHZhcmlhbnRDb3VudDogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBGYWNldExpc3QgPSBQYWdpbmF0ZWRMaXN0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnRmFjZXRMaXN0JztcclxuICBpdGVtczogQXJyYXk8RmFjZXQ+O1xyXG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRmFjZXRMaXN0T3B0aW9ucyA9IHtcclxuICAvKiogU2tpcHMgdGhlIGZpcnN0IG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgc2tpcD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogVGFrZXMgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICB0YWtlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hpY2ggcHJvcGVydGllcyB0byBzb3J0IHRoZSByZXN1bHRzIGJ5ICovXHJcbiAgc29ydD86IE1heWJlPEZhY2V0U29ydFBhcmFtZXRlcj47XHJcbiAgLyoqIEFsbG93cyB0aGUgcmVzdWx0cyB0byBiZSBmaWx0ZXJlZCAqL1xyXG4gIGZpbHRlcj86IE1heWJlPEZhY2V0RmlsdGVyUGFyYW1ldGVyPjtcclxuICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgbXVsdGlwbGUgXCJmaWx0ZXJcIiBhcmd1bWVudHMgc2hvdWxkIGJlIGNvbWJpbmVzIHdpdGggYSBsb2dpY2FsIEFORCBvciBPUiBvcGVyYXRpb24uIERlZmF1bHRzIHRvIEFORC4gKi9cclxuICBmaWx0ZXJPcGVyYXRvcj86IE1heWJlPExvZ2ljYWxPcGVyYXRvcj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBGYWNldFNvcnRQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBuYW1lPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBjb2RlPzogTWF5YmU8U29ydE9yZGVyPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEZhY2V0VHJhbnNsYXRpb24gPSB7XHJcbiAgX190eXBlbmFtZT86ICdGYWNldFRyYW5zbGF0aW9uJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRmFjZXRUcmFuc2xhdGlvbklucHV0ID0ge1xyXG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgbmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRmFjZXRWYWx1ZSA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdGYWNldFZhbHVlJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIGZhY2V0OiBGYWNldDtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0cmFuc2xhdGlvbnM6IEFycmF5PEZhY2V0VmFsdWVUcmFuc2xhdGlvbj47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBVc2VkIHRvIGNvbnN0cnVjdCBib29sZWFuIGV4cHJlc3Npb25zIGZvciBmaWx0ZXJpbmcgc2VhcmNoIHJlc3VsdHNcclxuICogYnkgRmFjZXRWYWx1ZSBJRC4gRXhhbXBsZXM6XHJcbiAqXHJcbiAqICogSUQ9MSBPUiBJRD0yOiBgeyBmYWNldFZhbHVlRmlsdGVyczogW3sgb3I6IFsxLDJdIH1dIH1gXHJcbiAqICogSUQ9MSBBTkQgSUQ9MjogYHsgZmFjZXRWYWx1ZUZpbHRlcnM6IFt7IGFuZDogMSB9LCB7IGFuZDogMiB9XSB9YFxyXG4gKiAqIElEPTEgQU5EIChJRD0yIE9SIElEPTMpOiBgeyBmYWNldFZhbHVlRmlsdGVyczogW3sgYW5kOiAxIH0sIHsgb3I6IFsyLDNdIH1dIH1gXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBGYWNldFZhbHVlRmlsdGVySW5wdXQgPSB7XHJcbiAgYW5kPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbiAgb3I/OiBNYXliZTxBcnJheTxTY2FsYXJzWydJRCddPj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBGYWNldFZhbHVlRmlsdGVyUGFyYW1ldGVyID0ge1xyXG4gIGlkPzogTWF5YmU8SWRPcGVyYXRvcnM+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xyXG4gIHVwZGF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xyXG4gIGxhbmd1YWdlQ29kZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgbmFtZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgY29kZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBGYWNldFZhbHVlTGlzdCA9IFBhZ2luYXRlZExpc3QgJiB7XHJcbiAgX190eXBlbmFtZT86ICdGYWNldFZhbHVlTGlzdCc7XHJcbiAgaXRlbXM6IEFycmF5PEZhY2V0VmFsdWU+O1xyXG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRmFjZXRWYWx1ZUxpc3RPcHRpb25zID0ge1xyXG4gIC8qKiBTa2lwcyB0aGUgZmlyc3QgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICBza2lwPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBUYWtlcyBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHRha2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGljaCBwcm9wZXJ0aWVzIHRvIHNvcnQgdGhlIHJlc3VsdHMgYnkgKi9cclxuICBzb3J0PzogTWF5YmU8RmFjZXRWYWx1ZVNvcnRQYXJhbWV0ZXI+O1xyXG4gIC8qKiBBbGxvd3MgdGhlIHJlc3VsdHMgdG8gYmUgZmlsdGVyZWQgKi9cclxuICBmaWx0ZXI/OiBNYXliZTxGYWNldFZhbHVlRmlsdGVyUGFyYW1ldGVyPjtcclxuICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgbXVsdGlwbGUgXCJmaWx0ZXJcIiBhcmd1bWVudHMgc2hvdWxkIGJlIGNvbWJpbmVzIHdpdGggYSBsb2dpY2FsIEFORCBvciBPUiBvcGVyYXRpb24uIERlZmF1bHRzIHRvIEFORC4gKi9cclxuICBmaWx0ZXJPcGVyYXRvcj86IE1heWJlPExvZ2ljYWxPcGVyYXRvcj47XHJcbn07XHJcblxyXG4vKipcclxuICogV2hpY2ggRmFjZXRWYWx1ZXMgYXJlIHByZXNlbnQgaW4gdGhlIHByb2R1Y3RzIHJldHVybmVkXHJcbiAqIGJ5IHRoZSBzZWFyY2gsIGFuZCBpbiB3aGF0IHF1YW50aXR5LlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgRmFjZXRWYWx1ZVJlc3VsdCA9IHtcclxuICBfX3R5cGVuYW1lPzogJ0ZhY2V0VmFsdWVSZXN1bHQnO1xyXG4gIGZhY2V0VmFsdWU6IEZhY2V0VmFsdWU7XHJcbiAgY291bnQ6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRmFjZXRWYWx1ZVNvcnRQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBuYW1lPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBjb2RlPzogTWF5YmU8U29ydE9yZGVyPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEZhY2V0VmFsdWVUcmFuc2xhdGlvbiA9IHtcclxuICBfX3R5cGVuYW1lPzogJ0ZhY2V0VmFsdWVUcmFuc2xhdGlvbic7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEZhY2V0VmFsdWVUcmFuc2xhdGlvbklucHV0ID0ge1xyXG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgbmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRmxvYXRDdXN0b21GaWVsZENvbmZpZyA9IEN1c3RvbUZpZWxkICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZyc7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdHlwZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgbGlzdDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGxhYmVsPzogTWF5YmU8QXJyYXk8TG9jYWxpemVkU3RyaW5nPj47XHJcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxBcnJheTxMb2NhbGl6ZWRTdHJpbmc+PjtcclxuICByZWFkb25seT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgaW50ZXJuYWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIG51bGxhYmxlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBtaW4/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcclxuICBtYXg/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcclxuICBzdGVwPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XHJcbiAgdWk/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRnVsZmlsbE9yZGVySW5wdXQgPSB7XHJcbiAgbGluZXM6IEFycmF5PE9yZGVyTGluZUlucHV0PjtcclxuICBoYW5kbGVyOiBDb25maWd1cmFibGVPcGVyYXRpb25JbnB1dDtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEZ1bGZpbGxtZW50ID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0Z1bGZpbGxtZW50JztcclxuICBuZXh0U3RhdGVzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBvcmRlckl0ZW1zOiBBcnJheTxPcmRlckl0ZW0+O1xyXG4gIHN1bW1hcnk6IEFycmF5PEZ1bGZpbGxtZW50TGluZVN1bW1hcnk+O1xyXG4gIHN0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBtZXRob2Q6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHRyYWNraW5nQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRnVsZmlsbG1lbnRMaW5lU3VtbWFyeSA9IHtcclxuICBfX3R5cGVuYW1lPzogJ0Z1bGZpbGxtZW50TGluZVN1bW1hcnknO1xyXG4gIG9yZGVyTGluZTogT3JkZXJMaW5lO1xyXG4gIHF1YW50aXR5OiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCB3aGVuIHRoZXJlIGlzIGFuIGVycm9yIGluIHRyYW5zaXRpb25pbmcgdGhlIEZ1bGZpbGxtZW50IHN0YXRlICovXHJcbmV4cG9ydCB0eXBlIEZ1bGZpbGxtZW50U3RhdGVUcmFuc2l0aW9uRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0Z1bGZpbGxtZW50U3RhdGVUcmFuc2l0aW9uRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHRyYW5zaXRpb25FcnJvcjogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZnJvbVN0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0b1N0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCBlbnVtIEdsb2JhbEZsYWcge1xyXG4gIFRSVUUgPSAnVFJVRScsXHJcbiAgRkFMU0UgPSAnRkFMU0UnLFxyXG4gIElOSEVSSVQgPSAnSU5IRVJJVCdcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgR2xvYmFsU2V0dGluZ3MgPSB7XHJcbiAgX190eXBlbmFtZT86ICdHbG9iYWxTZXR0aW5ncyc7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBhdmFpbGFibGVMYW5ndWFnZXM6IEFycmF5PExhbmd1YWdlQ29kZT47XHJcbiAgdHJhY2tJbnZlbnRvcnk6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICBvdXRPZlN0b2NrVGhyZXNob2xkOiBTY2FsYXJzWydJbnQnXTtcclxuICBzZXJ2ZXJDb25maWc6IFNlcnZlckNvbmZpZztcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgSGlzdG9yeUVudHJ5ID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0hpc3RvcnlFbnRyeSc7XHJcbiAgaXNQdWJsaWM6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICBhZG1pbmlzdHJhdG9yPzogTWF5YmU8QWRtaW5pc3RyYXRvcj47XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB0eXBlOiBIaXN0b3J5RW50cnlUeXBlO1xyXG4gIGRhdGE6IFNjYWxhcnNbJ0pTT04nXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEhpc3RvcnlFbnRyeUZpbHRlclBhcmFtZXRlciA9IHtcclxuICBpc1B1YmxpYz86IE1heWJlPEJvb2xlYW5PcGVyYXRvcnM+O1xyXG4gIGlkPzogTWF5YmU8SWRPcGVyYXRvcnM+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xyXG4gIHVwZGF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xyXG4gIHR5cGU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgSGlzdG9yeUVudHJ5TGlzdCA9IFBhZ2luYXRlZExpc3QgJiB7XHJcbiAgX190eXBlbmFtZT86ICdIaXN0b3J5RW50cnlMaXN0JztcclxuICBpdGVtczogQXJyYXk8SGlzdG9yeUVudHJ5PjtcclxuICB0b3RhbEl0ZW1zOiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEhpc3RvcnlFbnRyeUxpc3RPcHRpb25zID0ge1xyXG4gIC8qKiBTa2lwcyB0aGUgZmlyc3QgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICBza2lwPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBUYWtlcyBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHRha2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGljaCBwcm9wZXJ0aWVzIHRvIHNvcnQgdGhlIHJlc3VsdHMgYnkgKi9cclxuICBzb3J0PzogTWF5YmU8SGlzdG9yeUVudHJ5U29ydFBhcmFtZXRlcj47XHJcbiAgLyoqIEFsbG93cyB0aGUgcmVzdWx0cyB0byBiZSBmaWx0ZXJlZCAqL1xyXG4gIGZpbHRlcj86IE1heWJlPEhpc3RvcnlFbnRyeUZpbHRlclBhcmFtZXRlcj47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIG11bHRpcGxlIFwiZmlsdGVyXCIgYXJndW1lbnRzIHNob3VsZCBiZSBjb21iaW5lcyB3aXRoIGEgbG9naWNhbCBBTkQgb3IgT1Igb3BlcmF0aW9uLiBEZWZhdWx0cyB0byBBTkQuICovXHJcbiAgZmlsdGVyT3BlcmF0b3I/OiBNYXliZTxMb2dpY2FsT3BlcmF0b3I+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgSGlzdG9yeUVudHJ5U29ydFBhcmFtZXRlciA9IHtcclxuICBpZD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICB1cGRhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG59O1xyXG5cclxuZXhwb3J0IGVudW0gSGlzdG9yeUVudHJ5VHlwZSB7XHJcbiAgQ1VTVE9NRVJfUkVHSVNURVJFRCA9ICdDVVNUT01FUl9SRUdJU1RFUkVEJyxcclxuICBDVVNUT01FUl9WRVJJRklFRCA9ICdDVVNUT01FUl9WRVJJRklFRCcsXHJcbiAgQ1VTVE9NRVJfREVUQUlMX1VQREFURUQgPSAnQ1VTVE9NRVJfREVUQUlMX1VQREFURUQnLFxyXG4gIENVU1RPTUVSX0FEREVEX1RPX0dST1VQID0gJ0NVU1RPTUVSX0FEREVEX1RPX0dST1VQJyxcclxuICBDVVNUT01FUl9SRU1PVkVEX0ZST01fR1JPVVAgPSAnQ1VTVE9NRVJfUkVNT1ZFRF9GUk9NX0dST1VQJyxcclxuICBDVVNUT01FUl9BRERSRVNTX0NSRUFURUQgPSAnQ1VTVE9NRVJfQUREUkVTU19DUkVBVEVEJyxcclxuICBDVVNUT01FUl9BRERSRVNTX1VQREFURUQgPSAnQ1VTVE9NRVJfQUREUkVTU19VUERBVEVEJyxcclxuICBDVVNUT01FUl9BRERSRVNTX0RFTEVURUQgPSAnQ1VTVE9NRVJfQUREUkVTU19ERUxFVEVEJyxcclxuICBDVVNUT01FUl9QQVNTV09SRF9VUERBVEVEID0gJ0NVU1RPTUVSX1BBU1NXT1JEX1VQREFURUQnLFxyXG4gIENVU1RPTUVSX1BBU1NXT1JEX1JFU0VUX1JFUVVFU1RFRCA9ICdDVVNUT01FUl9QQVNTV09SRF9SRVNFVF9SRVFVRVNURUQnLFxyXG4gIENVU1RPTUVSX1BBU1NXT1JEX1JFU0VUX1ZFUklGSUVEID0gJ0NVU1RPTUVSX1BBU1NXT1JEX1JFU0VUX1ZFUklGSUVEJyxcclxuICBDVVNUT01FUl9FTUFJTF9VUERBVEVfUkVRVUVTVEVEID0gJ0NVU1RPTUVSX0VNQUlMX1VQREFURV9SRVFVRVNURUQnLFxyXG4gIENVU1RPTUVSX0VNQUlMX1VQREFURV9WRVJJRklFRCA9ICdDVVNUT01FUl9FTUFJTF9VUERBVEVfVkVSSUZJRUQnLFxyXG4gIENVU1RPTUVSX05PVEUgPSAnQ1VTVE9NRVJfTk9URScsXHJcbiAgT1JERVJfU1RBVEVfVFJBTlNJVElPTiA9ICdPUkRFUl9TVEFURV9UUkFOU0lUSU9OJyxcclxuICBPUkRFUl9QQVlNRU5UX1RSQU5TSVRJT04gPSAnT1JERVJfUEFZTUVOVF9UUkFOU0lUSU9OJyxcclxuICBPUkRFUl9GVUxGSUxMTUVOVCA9ICdPUkRFUl9GVUxGSUxMTUVOVCcsXHJcbiAgT1JERVJfQ0FOQ0VMTEFUSU9OID0gJ09SREVSX0NBTkNFTExBVElPTicsXHJcbiAgT1JERVJfUkVGVU5EX1RSQU5TSVRJT04gPSAnT1JERVJfUkVGVU5EX1RSQU5TSVRJT04nLFxyXG4gIE9SREVSX0ZVTEZJTExNRU5UX1RSQU5TSVRJT04gPSAnT1JERVJfRlVMRklMTE1FTlRfVFJBTlNJVElPTicsXHJcbiAgT1JERVJfTk9URSA9ICdPUkRFUl9OT1RFJyxcclxuICBPUkRFUl9DT1VQT05fQVBQTElFRCA9ICdPUkRFUl9DT1VQT05fQVBQTElFRCcsXHJcbiAgT1JERVJfQ09VUE9OX1JFTU9WRUQgPSAnT1JERVJfQ09VUE9OX1JFTU9WRUQnLFxyXG4gIE9SREVSX01PRElGSUVEID0gJ09SREVSX01PRElGSUVEJ1xyXG59XHJcblxyXG4vKiogT3BlcmF0b3JzIGZvciBmaWx0ZXJpbmcgb24gYSBsaXN0IG9mIElEIGZpZWxkcyAqL1xyXG5leHBvcnQgdHlwZSBJZExpc3RPcGVyYXRvcnMgPSB7XHJcbiAgaW5MaXN0OiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuLyoqIE9wZXJhdG9ycyBmb3IgZmlsdGVyaW5nIG9uIGFuIElEIGZpZWxkICovXHJcbmV4cG9ydCB0eXBlIElkT3BlcmF0b3JzID0ge1xyXG4gIGVxPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIG5vdEVxPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGluPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+PjtcclxuICBub3RJbj86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPj47XHJcbiAgaXNOdWxsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEltcG9ydEluZm8gPSB7XHJcbiAgX190eXBlbmFtZT86ICdJbXBvcnRJbmZvJztcclxuICBlcnJvcnM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydTdHJpbmcnXT4+O1xyXG4gIHByb2Nlc3NlZDogU2NhbGFyc1snSW50J107XHJcbiAgaW1wb3J0ZWQ6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuLyoqIFJldHVybmVkIHdoZW4gYXR0ZW1wdGluZyB0byBzZXQgYSBTaGlwcGluZ01ldGhvZCBmb3Igd2hpY2ggdGhlIE9yZGVyIGlzIG5vdCBlbGlnaWJsZSAqL1xyXG5leHBvcnQgdHlwZSBJbmVsaWdpYmxlU2hpcHBpbmdNZXRob2RFcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnSW5lbGlnaWJsZVNoaXBwaW5nTWV0aG9kRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuLyoqIFJldHVybmVkIHdoZW4gYXR0ZW1wdGluZyB0byBhZGQgbW9yZSBpdGVtcyB0byB0aGUgT3JkZXIgdGhhbiBhcmUgYXZhaWxhYmxlICovXHJcbmV4cG9ydCB0eXBlIEluc3VmZmljaWVudFN0b2NrRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0luc3VmZmljaWVudFN0b2NrRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHF1YW50aXR5QXZhaWxhYmxlOiBTY2FsYXJzWydJbnQnXTtcclxuICBvcmRlcjogT3JkZXI7XHJcbn07XHJcblxyXG4vKipcclxuICogUmV0dXJuZWQgaWYgYXR0ZW1wdGluZyB0byBjcmVhdGUgYSBGdWxmaWxsbWVudCB3aGVuIHRoZXJlIGlzIGluc3VmZmljaWVudFxyXG4gKiBzdG9ja09uSGFuZCBvZiBhIFByb2R1Y3RWYXJpYW50IHRvIHNhdGlzZnkgdGhlIHJlcXVlc3RlZCBxdWFudGl0eS5cclxuICovXHJcbmV4cG9ydCB0eXBlIEluc3VmZmljaWVudFN0b2NrT25IYW5kRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0luc3VmZmljaWVudFN0b2NrT25IYW5kRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHByb2R1Y3RWYXJpYW50SWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgcHJvZHVjdFZhcmlhbnROYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBzdG9ja09uSGFuZDogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBJbnRDdXN0b21GaWVsZENvbmZpZyA9IEN1c3RvbUZpZWxkICYge1xyXG4gIF9fdHlwZW5hbWU/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/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgcmVmdW5kPzogTWF5YmU8QWRtaW5pc3RyYXRvclJlZnVuZElucHV0PjtcclxuICBvcHRpb25zPzogTWF5YmU8TW9kaWZ5T3JkZXJPcHRpb25zPjtcclxuICBjb3Vwb25Db2Rlcz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBNb2RpZnlPcmRlck9wdGlvbnMgPSB7XHJcbiAgZnJlZXplUHJvbW90aW9ucz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgcmVjYWxjdWxhdGVTaGlwcGluZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBNb2RpZnlPcmRlclJlc3VsdCA9IE9yZGVyIHwgTm9DaGFuZ2VzU3BlY2lmaWVkRXJyb3IgfCBPcmRlck1vZGlmaWNhdGlvblN0YXRlRXJyb3IgfCBQYXltZW50TWV0aG9kTWlzc2luZ0Vycm9yIHwgUmVmdW5kUGF5bWVudElkTWlzc2luZ0Vycm9yIHwgT3JkZXJMaW1pdEVycm9yIHwgTmVnYXRpdmVRdWFudGl0eUVycm9yIHwgSW5zdWZmaWNpZW50U3RvY2tFcnJvciB8IENvdXBvbkNvZGVFeHBpcmVkRXJyb3IgfCBDb3Vwb25Db2RlSW52YWxpZEVycm9yIHwgQ291cG9uQ29kZUxpbWl0RXJyb3I7XHJcblxyXG5leHBvcnQgdHlwZSBNb3ZlQ29sbGVjdGlvbklucHV0ID0ge1xyXG4gIGNvbGxlY3Rpb25JZDogU2NhbGFyc1snSUQnXTtcclxuICBwYXJlbnRJZDogU2NhbGFyc1snSUQnXTtcclxuICBpbmRleDogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG4vKiogUmV0dXJuZWQgaWYgYW4gb3BlcmF0aW9uIGhhcyBzcGVjaWZpZWQgT3JkZXJMaW5lcyBmcm9tIG11bHRpcGxlIE9yZGVycyAqL1xyXG5leHBvcnQgdHlwZSBNdWx0aXBsZU9yZGVyRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ011bHRpcGxlT3JkZXJFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbiA9IHtcclxuICBfX3R5cGVuYW1lPzogJ011dGF0aW9uJztcclxuICAvKiogQWRkIEN1c3RvbWVycyB0byBhIEN1c3RvbWVyR3JvdXAgKi9cclxuICBhZGRDdXN0b21lcnNUb0dyb3VwOiBDdXN0b21lckdyb3VwO1xyXG4gIGFkZEZ1bGZpbGxtZW50VG9PcmRlcjogQWRkRnVsZmlsbG1lbnRUb09yZGVyUmVzdWx0O1xyXG4gIC8qKiBBZGRzIGFuIGl0ZW0gdG8gdGhlIGRyYWZ0IE9yZGVyLiAqL1xyXG4gIGFkZEl0ZW1Ub0RyYWZ0T3JkZXI6IFVwZGF0ZU9yZGVySXRlbXNSZXN1bHQ7XHJcbiAgLyoqXHJcbiAgICogVXNlZCB0byBtYW51YWxseSBjcmVhdGUgYSBuZXcgUGF5bWVudCBhZ2FpbnN0IGFuIE9yZGVyLlxyXG4gICAqIFRoaXMgY2FuIGJlIHVzZWQgYnkgYW4gQWRtaW5pc3RyYXRvciB3aGVuIGFuIE9yZGVyIGlzIGluIHRoZSBBcnJhbmdpbmdQYXltZW50IHN0YXRlLlxyXG4gICAqXHJcbiAgICogSXQgaXMgYWxzbyB1c2VkIHdoZW4gYSBjb21wbGV0ZWQgT3JkZXJcclxuICAgKiBoYXMgYmVlbiBtb2RpZmllZCAodXNpbmcgYG1vZGlmeU9yZGVyYCkgYW5kIHRoZSBwcmljZSBoYXMgaW5jcmVhc2VkLiBUaGUgZXh0cmEgcGF5bWVudFxyXG4gICAqIGNhbiB0aGVuIGJlIG1hbnVhbGx5IGFycmFuZ2VkIGJ5IHRoZSBhZG1pbmlzdHJhdG9yLCBhbmQgdGhlIGRldGFpbHMgdXNlZCB0byBjcmVhdGUgYSBuZXdcclxuICAgKiBQYXltZW50LlxyXG4gICAqL1xyXG4gIGFkZE1hbnVhbFBheW1lbnRUb09yZGVyOiBBZGRNYW51YWxQYXltZW50VG9PcmRlclJlc3VsdDtcclxuICAvKiogQWRkIG1lbWJlcnMgdG8gYSBab25lICovXHJcbiAgYWRkTWVtYmVyc1RvWm9uZTogWm9uZTtcclxuICBhZGROb3RlVG9DdXN0b21lcjogQ3VzdG9tZXI7XHJcbiAgYWRkTm90ZVRvT3JkZXI6IE9yZGVyO1xyXG4gIC8qKiBBZGQgYW4gT3B0aW9uR3JvdXAgdG8gYSBQcm9kdWN0ICovXHJcbiAgYWRkT3B0aW9uR3JvdXBUb1Byb2R1Y3Q6IFByb2R1Y3Q7XHJcbiAgLyoqIEFkanVzdHMgYSBkcmFmdCBPcmRlckxpbmUuIElmIGN1c3RvbSBmaWVsZHMgYXJlIGRlZmluZWQgb24gdGhlIE9yZGVyTGluZSBlbnRpdHksIGEgdGhpcmQgYXJndW1lbnQgJ2N1c3RvbUZpZWxkcycgb2YgdHlwZSBgT3JkZXJMaW5lQ3VzdG9tRmllbGRzSW5wdXRgIHdpbGwgYmUgYXZhaWxhYmxlLiAqL1xyXG4gIGFkanVzdERyYWZ0T3JkZXJMaW5lOiBVcGRhdGVPcmRlckl0ZW1zUmVzdWx0O1xyXG4gIC8qKiBBcHBsaWVzIHRoZSBnaXZlbiBjb3Vwb24gY29kZSB0byB0aGUgZHJhZnQgT3JkZXIgKi9cclxuICBhcHBseUNvdXBvbkNvZGVUb0RyYWZ0T3JkZXI6IEFwcGx5Q291cG9uQ29kZVJlc3VsdDtcclxuICAvKiogQXNzaWduIGFzc2V0cyB0byBjaGFubmVsICovXHJcbiAgYXNzaWduQXNzZXRzVG9DaGFubmVsOiBBcnJheTxBc3NldD47XHJcbiAgLyoqIEFzc2lnbnMgQ29sbGVjdGlvbnMgdG8gdGhlIHNwZWNpZmllZCBDaGFubmVsICovXHJcbiAgYXNzaWduQ29sbGVjdGlvbnNUb0NoYW5uZWw6IEFycmF5PENvbGxlY3Rpb24+O1xyXG4gIC8qKiBBc3NpZ25zIEZhY2V0cyB0byB0aGUgc3BlY2lmaWVkIENoYW5uZWwgKi9cclxuICBhc3NpZ25GYWNldHNUb0NoYW5uZWw6IEFycmF5PEZhY2V0PjtcclxuICAvKiogQXNzaWducyBQcm9kdWN0VmFyaWFudHMgdG8gdGhlIHNwZWNpZmllZCBDaGFubmVsICovXHJcbiAgYXNzaWduUHJvZHVjdFZhcmlhbnRzVG9DaGFubmVsOiBBcnJheTxQcm9kdWN0VmFyaWFudD47XHJcbiAgLyoqIEFzc2lnbnMgYWxsIFByb2R1Y3RWYXJpYW50cyBvZiBQcm9kdWN0IHRvIHRoZSBzcGVjaWZpZWQgQ2hhbm5lbCAqL1xyXG4gIGFzc2lnblByb2R1Y3RzVG9DaGFubmVsOiBBcnJheTxQcm9kdWN0PjtcclxuICAvKiogQXNzaWducyBQcm9tb3Rpb25zIHRvIHRoZSBzcGVjaWZpZWQgQ2hhbm5lbCAqL1xyXG4gIGFzc2lnblByb21vdGlvbnNUb0NoYW5uZWw6IEFycmF5PFByb21vdGlvbj47XHJcbiAgLyoqIEFzc2lnbiBhIFJvbGUgdG8gYW4gQWRtaW5pc3RyYXRvciAqL1xyXG4gIGFzc2lnblJvbGVUb0FkbWluaXN0cmF0b3I6IEFkbWluaXN0cmF0b3I7XHJcbiAgLyoqIEF1dGhlbnRpY2F0ZXMgdGhlIHVzZXIgdXNpbmcgYSBuYW1lZCBhdXRoZW50aWNhdGlvbiBzdHJhdGVneSAqL1xyXG4gIGF1dGhlbnRpY2F0ZTogQXV0aGVudGljYXRpb25SZXN1bHQ7XHJcbiAgY2FuY2VsSm9iOiBKb2I7XHJcbiAgY2FuY2VsT3JkZXI6IENhbmNlbE9yZGVyUmVzdWx0O1xyXG4gIGNhbmNlbFBheW1lbnQ6IENhbmNlbFBheW1lbnRSZXN1bHQ7XHJcbiAgLyoqIENyZWF0ZSBhIG5ldyBBZG1pbmlzdHJhdG9yICovXHJcbiAgY3JlYXRlQWRtaW5pc3RyYXRvcjogQWRtaW5pc3RyYXRvcjtcclxuICAvKiogQ3JlYXRlIGEgbmV3IEFzc2V0ICovXHJcbiAgY3JlYXRlQXNzZXRzOiBBcnJheTxDcmVhdGVBc3NldFJlc3VsdD47XHJcbiAgLyoqIENyZWF0ZSBhIG5ldyBDaGFubmVsICovXHJcbiAgY3JlYXRlQ2hhbm5lbDogQ3JlYXRlQ2hhbm5lbFJlc3VsdDtcclxuICAvKiogQ3JlYXRlIGEgbmV3IENvbGxlY3Rpb24gKi9cclxuICBjcmVhdGVDb2xsZWN0aW9uOiBDb2xsZWN0aW9uO1xyXG4gIC8qKiBDcmVhdGUgYSBuZXcgQ291bnRyeSAqL1xyXG4gIGNyZWF0ZUNvdW50cnk6IENvdW50cnk7XHJcbiAgLyoqIENyZWF0ZSBhIG5ldyBDdXN0b21lci4gSWYgYSBwYXNzd29yZCBpcyBwcm92aWRlZCwgYSBuZXcgVXNlciB3aWxsIGFsc28gYmUgY3JlYXRlZCBhbiBsaW5rZWQgdG8gdGhlIEN1c3RvbWVyLiAqL1xyXG4gIGNyZWF0ZUN1c3RvbWVyOiBDcmVhdGVDdXN0b21lclJlc3VsdDtcclxuICAvKiogQ3JlYXRlIGEgbmV3IEFkZHJlc3MgYW5kIGFzc29jaWF0ZSBpdCB3aXRoIHRoZSBDdXN0b21lciBzcGVjaWZpZWQgYnkgY3VzdG9tZXJJZCAqL1xyXG4gIGNyZWF0ZUN1c3RvbWVyQWRkcmVzczogQWRkcmVzcztcclxuICAvKiogQ3JlYXRlIGEgbmV3IEN1c3RvbWVyR3JvdXAgKi9cclxuICBjcmVhdGVDdXN0b21lckdyb3VwOiBDdXN0b21lckdyb3VwO1xyXG4gIC8qKiBDcmVhdGVzIGEgZHJhZnQgT3JkZXIgKi9cclxuICBjcmVhdGVEcmFmdE9yZGVyOiBPcmRlcjtcclxuICAvKiogQ3JlYXRlIGEgbmV3IEZhY2V0ICovXHJcbiAgY3JlYXRlRmFjZXQ6IEZhY2V0O1xyXG4gIC8qKiBDcmVhdGUgb25lIG9yIG1vcmUgRmFjZXRWYWx1ZXMgKi9cclxuICBjcmVhdGVGYWNldFZhbHVlczogQXJyYXk8RmFjZXRWYWx1ZT47XHJcbiAgLyoqIENyZWF0ZSBleGlzdGluZyBQYXltZW50TWV0aG9kICovXHJcbiAgY3JlYXRlUGF5bWVudE1ldGhvZDogUGF5bWVudE1ldGhvZDtcclxuICAvKiogQ3JlYXRlIGEgbmV3IFByb2R1Y3QgKi9cclxuICBjcmVhdGVQcm9kdWN0OiBQcm9kdWN0O1xyXG4gIC8qKiBDcmVhdGUgYSBuZXcgUHJvZHVjdE9wdGlvbiB3aXRoaW4gYSBQcm9kdWN0T3B0aW9uR3JvdXAgKi9cclxuICBjcmVhdGVQcm9kdWN0T3B0aW9uOiBQcm9kdWN0T3B0aW9uO1xyXG4gIC8qKiBDcmVhdGUgYSBuZXcgUHJvZHVjdE9wdGlvbkdyb3VwICovXHJcbiAgY3JlYXRlUHJvZHVjdE9wdGlvbkdyb3VwOiBQcm9kdWN0T3B0aW9uR3JvdXA7XHJcbiAgLyoqIENyZWF0ZSBhIHNldCBvZiBQcm9kdWN0VmFyaWFudHMgYmFzZWQgb24gdGhlIE9wdGlvbkdyb3VwcyBhc3NpZ25lZCB0byB0aGUgZ2l2ZW4gUHJvZHVjdCAqL1xyXG4gIGNyZWF0ZVByb2R1Y3RWYXJpYW50czogQXJyYXk8TWF5YmU8UHJvZHVjdFZhcmlhbnQ+PjtcclxuICBjcmVhdGVQcm9tb3Rpb246IENyZWF0ZVByb21vdGlvblJlc3VsdDtcclxuICAvKiogQ3JlYXRlIGEgbmV3IFJvbGUgKi9cclxuICBjcmVhdGVSb2xlOiBSb2xlO1xyXG4gIC8qKiBDcmVhdGUgYSBuZXcgU2hpcHBpbmdNZXRob2QgKi9cclxuICBjcmVhdGVTaGlwcGluZ01ldGhvZDogU2hpcHBpbmdNZXRob2Q7XHJcbiAgLyoqIENyZWF0ZSBhIG5ldyBUYWcgKi9cclxuICBjcmVhdGVUYWc6IFRhZztcclxuICAvKiogQ3JlYXRlIGEgbmV3IFRheENhdGVnb3J5ICovXHJcbiAgY3JlYXRlVGF4Q2F0ZWdvcnk6IFRheENhdGVnb3J5O1xyXG4gIC8qKiBDcmVhdGUgYSBuZXcgVGF4UmF0ZSAqL1xyXG4gIGNyZWF0ZVRheFJhdGU6IFRheFJhdGU7XHJcbiAgLyoqIENyZWF0ZSBhIG5ldyBab25lICovXHJcbiAgY3JlYXRlWm9uZTogWm9uZTtcclxuICAvKiogRGVsZXRlIGFuIEFkbWluaXN0cmF0b3IgKi9cclxuICBkZWxldGVBZG1pbmlzdHJhdG9yOiBEZWxldGlvblJlc3BvbnNlO1xyXG4gIC8qKiBEZWxldGUgYW4gQXNzZXQgKi9cclxuICBkZWxldGVBc3NldDogRGVsZXRpb25SZXNwb25zZTtcclxuICAvKiogRGVsZXRlIG11bHRpcGxlIEFzc2V0cyAqL1xyXG4gIGRlbGV0ZUFzc2V0czogRGVsZXRpb25SZXNwb25zZTtcclxuICAvKiogRGVsZXRlIGEgQ2hhbm5lbCAqL1xyXG4gIGRlbGV0ZUNoYW5uZWw6IERlbGV0aW9uUmVzcG9uc2U7XHJcbiAgLyoqIERlbGV0ZSBhIENvbGxlY3Rpb24gYW5kIGFsbCBvZiBpdHMgZGVzY2VuZGFudHMgKi9cclxuICBkZWxldGVDb2xsZWN0aW9uOiBEZWxldGlvblJlc3BvbnNlO1xyXG4gIC8qKiBEZWxldGUgbXVsdGlwbGUgQ29sbGVjdGlvbnMgYW5kIGFsbCBvZiB0aGVpciBkZXNjZW5kYW50cyAqL1xyXG4gIGRlbGV0ZUNvbGxlY3Rpb25zOiBBcnJheTxEZWxldGlvblJlc3BvbnNlPjtcclxuICAvKiogRGVsZXRlIGEgQ291bnRyeSAqL1xyXG4gIGRlbGV0ZUNvdW50cnk6IERlbGV0aW9uUmVzcG9uc2U7XHJcbiAgLyoqIERlbGV0ZSBhIEN1c3RvbWVyICovXHJcbiAgZGVsZXRlQ3VzdG9tZXI6IERlbGV0aW9uUmVzcG9uc2U7XHJcbiAgLyoqIFVwZGF0ZSBhbiBleGlzdGluZyBBZGRyZXNzICovXHJcbiAgZGVsZXRlQ3VzdG9tZXJBZGRyZXNzOiBTdWNjZXNzO1xyXG4gIC8qKiBEZWxldGUgYSBDdXN0b21lckdyb3VwICovXHJcbiAgZGVsZXRlQ3VzdG9tZXJHcm91cDogRGVsZXRpb25SZXNwb25zZTtcclxuICBkZWxldGVDdXN0b21lck5vdGU6IERlbGV0aW9uUmVzcG9uc2U7XHJcbiAgLyoqIERlbGV0ZXMgYSBkcmFmdCBPcmRlciAqL1xyXG4gIGRlbGV0ZURyYWZ0T3JkZXI6IERlbGV0aW9uUmVzcG9uc2U7XHJcbiAgLyoqIERlbGV0ZSBhbiBleGlzdGluZyBGYWNldCAqL1xyXG4gIGRlbGV0ZUZhY2V0OiBEZWxldGlvblJlc3BvbnNlO1xyXG4gIC8qKiBEZWxldGUgb25lIG9yIG1vcmUgRmFjZXRWYWx1ZXMgKi9cclxuICBkZWxldGVGYWNldFZhbHVlczogQXJyYXk8RGVsZXRpb25SZXNwb25zZT47XHJcbiAgLyoqIERlbGV0ZSBtdWx0aXBsZSBleGlzdGluZyBGYWNldHMgKi9cclxuICBkZWxldGVGYWNldHM6IEFycmF5PERlbGV0aW9uUmVzcG9uc2U+O1xyXG4gIGRlbGV0ZU9yZGVyTm90ZTogRGVsZXRpb25SZXNwb25zZTtcclxuICAvKiogRGVsZXRlIGEgUGF5bWVudE1ldGhvZCAqL1xyXG4gIGRlbGV0ZVBheW1lbnRNZXRob2Q6IERlbGV0aW9uUmVzcG9uc2U7XHJcbiAgLyoqIERlbGV0ZSBhIFByb2R1Y3QgKi9cclxuICBkZWxldGVQcm9kdWN0OiBEZWxldGlvblJlc3BvbnNlO1xyXG4gIC8qKiBEZWxldGUgYSBQcm9kdWN0T3B0aW9uICovXHJcbiAgZGVsZXRlUHJvZHVjdE9wdGlvbjogRGVsZXRpb25SZXNwb25zZTtcclxuICAvKiogRGVsZXRlIGEgUHJvZHVjdFZhcmlhbnQgKi9cclxuICBkZWxldGVQcm9kdWN0VmFyaWFudDogRGVsZXRpb25SZXNwb25zZTtcclxuICAvKiogRGVsZXRlIG11bHRpcGxlIFByb2R1Y3RWYXJpYW50cyAqL1xyXG4gIGRlbGV0ZVByb2R1Y3RWYXJpYW50czogQXJyYXk8RGVsZXRpb25SZXNwb25zZT47XHJcbiAgLyoqIERlbGV0ZSBtdWx0aXBsZSBQcm9kdWN0cyAqL1xyXG4gIGRlbGV0ZVByb2R1Y3RzOiBBcnJheTxEZWxldGlvblJlc3BvbnNlPjtcclxuICBkZWxldGVQcm9tb3Rpb246IERlbGV0aW9uUmVzcG9uc2U7XHJcbiAgLyoqIERlbGV0ZSBhbiBleGlzdGluZyBSb2xlICovXHJcbiAgZGVsZXRlUm9sZTogRGVsZXRpb25SZXNwb25zZTtcclxuICAvKiogRGVsZXRlIGEgU2hpcHBpbmdNZXRob2QgKi9cclxuICBkZWxldGVTaGlwcGluZ01ldGhvZDogRGVsZXRpb25SZXNwb25zZTtcclxuICAvKiogRGVsZXRlIGFuIGV4aXN0aW5nIFRhZyAqL1xyXG4gIGRlbGV0ZVRhZzogRGVsZXRpb25SZXNwb25zZTtcclxuICAvKiogRGVsZXRlcyBhIFRheENhdGVnb3J5ICovXHJcbiAgZGVsZXRlVGF4Q2F0ZWdvcnk6IERlbGV0aW9uUmVzcG9uc2U7XHJcbiAgLyoqIERlbGV0ZSBhIFRheFJhdGUgKi9cclxuICBkZWxldGVUYXhSYXRlOiBEZWxldGlvblJlc3BvbnNlO1xyXG4gIC8qKiBEZWxldGUgYSBab25lICovXHJcbiAgZGVsZXRlWm9uZTogRGVsZXRpb25SZXNwb25zZTtcclxuICBmbHVzaEJ1ZmZlcmVkSm9iczogU3VjY2VzcztcclxuICBpbXBvcnRQcm9kdWN0cz86IE1heWJlPEltcG9ydEluZm8+O1xyXG4gIC8qKiBBdXRoZW50aWNhdGVzIHRoZSB1c2VyIHVzaW5nIHRoZSBuYXRpdmUgYXV0aGVudGljYXRpb24gc3RyYXRlZ3kuIFRoaXMgbXV0YXRpb24gaXMgYW4gYWxpYXMgZm9yIGBhdXRoZW50aWNhdGUoeyBuYXRpdmU6IHsgLi4uIH19KWAgKi9cclxuICBsb2dpbjogTmF0aXZlQXV0aGVudGljYXRpb25SZXN1bHQ7XHJcbiAgbG9nb3V0OiBTdWNjZXNzO1xyXG4gIC8qKlxyXG4gICAqIEFsbG93cyBhbiBPcmRlciB0byBiZSBtb2RpZmllZCBhZnRlciBpdCBoYXMgYmVlbiBjb21wbGV0ZWQgYnkgdGhlIEN1c3RvbWVyLiBUaGUgT3JkZXIgbXVzdCBmaXJzdFxyXG4gICAqIGJlIGluIHRoZSBgTW9kaWZ5aW5nYCBzdGF0ZS5cclxuICAgKi9cclxuICBtb2RpZnlPcmRlcjogTW9kaWZ5T3JkZXJSZXN1bHQ7XHJcbiAgLyoqIE1vdmUgYSBDb2xsZWN0aW9uIHRvIGEgZGlmZmVyZW50IHBhcmVudCBvciBpbmRleCAqL1xyXG4gIG1vdmVDb2xsZWN0aW9uOiBDb2xsZWN0aW9uO1xyXG4gIHJlZnVuZE9yZGVyOiBSZWZ1bmRPcmRlclJlc3VsdDtcclxuICByZWluZGV4OiBKb2I7XHJcbiAgLyoqIFJlbW92ZXMgQ29sbGVjdGlvbnMgZnJvbSB0aGUgc3BlY2lmaWVkIENoYW5uZWwgKi9cclxuICByZW1vdmVDb2xsZWN0aW9uc0Zyb21DaGFubmVsOiBBcnJheTxDb2xsZWN0aW9uPjtcclxuICAvKiogUmVtb3ZlcyB0aGUgZ2l2ZW4gY291cG9uIGNvZGUgZnJvbSB0aGUgZHJhZnQgT3JkZXIgKi9cclxuICByZW1vdmVDb3Vwb25Db2RlRnJvbURyYWZ0T3JkZXI/OiBNYXliZTxPcmRlcj47XHJcbiAgLyoqIFJlbW92ZSBDdXN0b21lcnMgZnJvbSBhIEN1c3RvbWVyR3JvdXAgKi9cclxuICByZW1vdmVDdXN0b21lcnNGcm9tR3JvdXA6IEN1c3RvbWVyR3JvdXA7XHJcbiAgLyoqIFJlbW92ZSBhbiBPcmRlckxpbmUgZnJvbSB0aGUgZHJhZnQgT3JkZXIgKi9cclxuICByZW1vdmVEcmFmdE9yZGVyTGluZTogUmVtb3ZlT3JkZXJJdGVtc1Jlc3VsdDtcclxuICAvKiogUmVtb3ZlcyBGYWNldHMgZnJvbSB0aGUgc3BlY2lmaWVkIENoYW5uZWwgKi9cclxuICByZW1vdmVGYWNldHNGcm9tQ2hhbm5lbDogQXJyYXk8UmVtb3ZlRmFjZXRGcm9tQ2hhbm5lbFJlc3VsdD47XHJcbiAgLyoqIFJlbW92ZSBtZW1iZXJzIGZyb20gYSBab25lICovXHJcbiAgcmVtb3ZlTWVtYmVyc0Zyb21ab25lOiBab25lO1xyXG4gIC8qKiBSZW1vdmUgYW4gT3B0aW9uR3JvdXAgZnJvbSBhIFByb2R1Y3QgKi9cclxuICByZW1vdmVPcHRpb25Hcm91cEZyb21Qcm9kdWN0OiBSZW1vdmVPcHRpb25Hcm91cEZyb21Qcm9kdWN0UmVzdWx0O1xyXG4gIC8qKiBSZW1vdmVzIFByb2R1Y3RWYXJpYW50cyBmcm9tIHRoZSBzcGVjaWZpZWQgQ2hhbm5lbCAqL1xyXG4gIHJlbW92ZVByb2R1Y3RWYXJpYW50c0Zyb21DaGFubmVsOiBBcnJheTxQcm9kdWN0VmFyaWFudD47XHJcbiAgLyoqIFJlbW92ZXMgYWxsIFByb2R1Y3RWYXJpYW50cyBvZiBQcm9kdWN0IGZyb20gdGhlIHNwZWNpZmllZCBDaGFubmVsICovXHJcbiAgcmVtb3ZlUHJvZHVjdHNGcm9tQ2hhbm5lbDogQXJyYXk8UHJvZHVjdD47XHJcbiAgLyoqIFJlbW92ZXMgUHJvbW90aW9ucyBmcm9tIHRoZSBzcGVjaWZpZWQgQ2hhbm5lbCAqL1xyXG4gIHJlbW92ZVByb21vdGlvbnNGcm9tQ2hhbm5lbDogQXJyYXk8UHJvbW90aW9uPjtcclxuICAvKiogUmVtb3ZlIGFsbCBzZXR0bGVkIGpvYnMgaW4gdGhlIGdpdmVuIHF1ZXVlcyBvbGRlciB0aGFuIHRoZSBnaXZlbiBkYXRlLiBSZXR1cm5zIHRoZSBudW1iZXIgb2Ygam9icyBkZWxldGVkLiAqL1xyXG4gIHJlbW92ZVNldHRsZWRKb2JzOiBTY2FsYXJzWydJbnQnXTtcclxuICByZXF1ZXN0Q29tcGxldGVkOiBTY2FsYXJzWydJbnQnXTtcclxuICByZXF1ZXN0U3RhcnRlZDogU2NhbGFyc1snSW50J107XHJcbiAgcnVuUGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlczogU3VjY2VzcztcclxuICBzZXRBY3RpdmVDaGFubmVsOiBVc2VyU3RhdHVzO1xyXG4gIHNldEFzTG9nZ2VkSW46IFVzZXJTdGF0dXM7XHJcbiAgc2V0QXNMb2dnZWRPdXQ6IFVzZXJTdGF0dXM7XHJcbiAgc2V0Q29udGVudExhbmd1YWdlOiBMYW5ndWFnZUNvZGU7XHJcbiAgc2V0Q3VzdG9tZXJGb3JEcmFmdE9yZGVyOiBTZXRDdXN0b21lckZvckRyYWZ0T3JkZXJSZXN1bHQ7XHJcbiAgc2V0RGlzcGxheVVpRXh0ZW5zaW9uUG9pbnRzOiBTY2FsYXJzWydCb29sZWFuJ107XHJcbiAgLyoqIFNldHMgdGhlIGJpbGxpbmcgYWRkcmVzcyBmb3IgYSBkcmFmdCBPcmRlciAqL1xyXG4gIHNldERyYWZ0T3JkZXJCaWxsaW5nQWRkcmVzczogT3JkZXI7XHJcbiAgLyoqIEFsbG93cyBhbnkgY3VzdG9tIGZpZWxkcyB0byBiZSBzZXQgZm9yIHRoZSBhY3RpdmUgb3JkZXIgKi9cclxuICBzZXREcmFmdE9yZGVyQ3VzdG9tRmllbGRzOiBPcmRlcjtcclxuICAvKiogU2V0cyB0aGUgc2hpcHBpbmcgYWRkcmVzcyBmb3IgYSBkcmFmdCBPcmRlciAqL1xyXG4gIHNldERyYWZ0T3JkZXJTaGlwcGluZ0FkZHJlc3M6IE9yZGVyO1xyXG4gIC8qKiBTZXRzIHRoZSBzaGlwcGluZyBtZXRob2QgYnkgaWQsIHdoaWNoIGNhbiBiZSBvYnRhaW5lZCB3aXRoIHRoZSBgZWxpZ2libGVTaGlwcGluZ01ldGhvZHNGb3JEcmFmdE9yZGVyYCBxdWVyeSAqL1xyXG4gIHNldERyYWZ0T3JkZXJTaGlwcGluZ01ldGhvZDogU2V0T3JkZXJTaGlwcGluZ01ldGhvZFJlc3VsdDtcclxuICBzZXRPcmRlckN1c3RvbUZpZWxkcz86IE1heWJlPE9yZGVyPjtcclxuICBzZXRVaUxhbmd1YWdlOiBMYW5ndWFnZUNvZGU7XHJcbiAgc2V0VWlMb2NhbGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgc2V0VWlUaGVtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgc2V0dGxlUGF5bWVudDogU2V0dGxlUGF5bWVudFJlc3VsdDtcclxuICBzZXR0bGVSZWZ1bmQ6IFNldHRsZVJlZnVuZFJlc3VsdDtcclxuICB0cmFuc2l0aW9uRnVsZmlsbG1lbnRUb1N0YXRlOiBUcmFuc2l0aW9uRnVsZmlsbG1lbnRUb1N0YXRlUmVzdWx0O1xyXG4gIHRyYW5zaXRpb25PcmRlclRvU3RhdGU/OiBNYXliZTxUcmFuc2l0aW9uT3JkZXJUb1N0YXRlUmVzdWx0PjtcclxuICB0cmFuc2l0aW9uUGF5bWVudFRvU3RhdGU6IFRyYW5zaXRpb25QYXltZW50VG9TdGF0ZVJlc3VsdDtcclxuICAvKiogVXBkYXRlIHRoZSBhY3RpdmUgKGN1cnJlbnRseSBsb2dnZWQtaW4pIEFkbWluaXN0cmF0b3IgKi9cclxuICB1cGRhdGVBY3RpdmVBZG1pbmlzdHJhdG9yOiBBZG1pbmlzdHJhdG9yO1xyXG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgQWRtaW5pc3RyYXRvciAqL1xyXG4gIHVwZGF0ZUFkbWluaXN0cmF0b3I6IEFkbWluaXN0cmF0b3I7XHJcbiAgLyoqIFVwZGF0ZSBhbiBleGlzdGluZyBBc3NldCAqL1xyXG4gIHVwZGF0ZUFzc2V0OiBBc3NldDtcclxuICAvKiogVXBkYXRlIGFuIGV4aXN0aW5nIENoYW5uZWwgKi9cclxuICB1cGRhdGVDaGFubmVsOiBVcGRhdGVDaGFubmVsUmVzdWx0O1xyXG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgQ29sbGVjdGlvbiAqL1xyXG4gIHVwZGF0ZUNvbGxlY3Rpb246IENvbGxlY3Rpb247XHJcbiAgLyoqIFVwZGF0ZSBhbiBleGlzdGluZyBDb3VudHJ5ICovXHJcbiAgdXBkYXRlQ291bnRyeTogQ291bnRyeTtcclxuICAvKiogVXBkYXRlIGFuIGV4aXN0aW5nIEN1c3RvbWVyICovXHJcbiAgdXBkYXRlQ3VzdG9tZXI6IFVwZGF0ZUN1c3RvbWVyUmVzdWx0O1xyXG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgQWRkcmVzcyAqL1xyXG4gIHVwZGF0ZUN1c3RvbWVyQWRkcmVzczogQWRkcmVzcztcclxuICAvKiogVXBkYXRlIGFuIGV4aXN0aW5nIEN1c3RvbWVyR3JvdXAgKi9cclxuICB1cGRhdGVDdXN0b21lckdyb3VwOiBDdXN0b21lckdyb3VwO1xyXG4gIHVwZGF0ZUN1c3RvbWVyTm90ZTogSGlzdG9yeUVudHJ5O1xyXG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgRmFjZXQgKi9cclxuICB1cGRhdGVGYWNldDogRmFjZXQ7XHJcbiAgLyoqIFVwZGF0ZSBvbmUgb3IgbW9yZSBGYWNldFZhbHVlcyAqL1xyXG4gIHVwZGF0ZUZhY2V0VmFsdWVzOiBBcnJheTxGYWNldFZhbHVlPjtcclxuICB1cGRhdGVHbG9iYWxTZXR0aW5nczogVXBkYXRlR2xvYmFsU2V0dGluZ3NSZXN1bHQ7XHJcbiAgdXBkYXRlT3JkZXJOb3RlOiBIaXN0b3J5RW50cnk7XHJcbiAgLyoqIFVwZGF0ZSBhbiBleGlzdGluZyBQYXltZW50TWV0aG9kICovXHJcbiAgdXBkYXRlUGF5bWVudE1ldGhvZDogUGF5bWVudE1ldGhvZDtcclxuICAvKiogVXBkYXRlIGFuIGV4aXN0aW5nIFByb2R1Y3QgKi9cclxuICB1cGRhdGVQcm9kdWN0OiBQcm9kdWN0O1xyXG4gIC8qKiBDcmVhdGUgYSBuZXcgUHJvZHVjdE9wdGlvbiB3aXRoaW4gYSBQcm9kdWN0T3B0aW9uR3JvdXAgKi9cclxuICB1cGRhdGVQcm9kdWN0T3B0aW9uOiBQcm9kdWN0T3B0aW9uO1xyXG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgUHJvZHVjdE9wdGlvbkdyb3VwICovXHJcbiAgdXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwOiBQcm9kdWN0T3B0aW9uR3JvdXA7XHJcbiAgLyoqIFVwZGF0ZSBleGlzdGluZyBQcm9kdWN0VmFyaWFudHMgKi9cclxuICB1cGRhdGVQcm9kdWN0VmFyaWFudHM6IEFycmF5PE1heWJlPFByb2R1Y3RWYXJpYW50Pj47XHJcbiAgLyoqIFVwZGF0ZSBtdWx0aXBsZSBleGlzdGluZyBQcm9kdWN0cyAqL1xyXG4gIHVwZGF0ZVByb2R1Y3RzOiBBcnJheTxQcm9kdWN0PjtcclxuICB1cGRhdGVQcm9tb3Rpb246IFVwZGF0ZVByb21vdGlvblJlc3VsdDtcclxuICAvKiogVXBkYXRlIGFuIGV4aXN0aW5nIFJvbGUgKi9cclxuICB1cGRhdGVSb2xlOiBSb2xlO1xyXG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgU2hpcHBpbmdNZXRob2QgKi9cclxuICB1cGRhdGVTaGlwcGluZ01ldGhvZDogU2hpcHBpbmdNZXRob2Q7XHJcbiAgLyoqIFVwZGF0ZSBhbiBleGlzdGluZyBUYWcgKi9cclxuICB1cGRhdGVUYWc6IFRhZztcclxuICAvKiogVXBkYXRlIGFuIGV4aXN0aW5nIFRheENhdGVnb3J5ICovXHJcbiAgdXBkYXRlVGF4Q2F0ZWdvcnk6IFRheENhdGVnb3J5O1xyXG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgVGF4UmF0ZSAqL1xyXG4gIHVwZGF0ZVRheFJhdGU6IFRheFJhdGU7XHJcbiAgdXBkYXRlVXNlckNoYW5uZWxzOiBVc2VyU3RhdHVzO1xyXG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgWm9uZSAqL1xyXG4gIHVwZGF0ZVpvbmU6IFpvbmU7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25BZGRDdXN0b21lcnNUb0dyb3VwQXJncyA9IHtcclxuICBjdXN0b21lckdyb3VwSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3VzdG9tZXJJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkRnVsZmlsbG1lbnRUb09yZGVyQXJncyA9IHtcclxuICBpbnB1dDogRnVsZmlsbE9yZGVySW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25BZGRJdGVtVG9EcmFmdE9yZGVyQXJncyA9IHtcclxuICBvcmRlcklkOiBTY2FsYXJzWydJRCddO1xyXG4gIGlucHV0OiBBZGRJdGVtVG9EcmFmdE9yZGVySW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25BZGRNYW51YWxQYXltZW50VG9PcmRlckFyZ3MgPSB7XHJcbiAgaW5wdXQ6IE1hbnVhbFBheW1lbnRJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFkZE1lbWJlcnNUb1pvbmVBcmdzID0ge1xyXG4gIHpvbmVJZDogU2NhbGFyc1snSUQnXTtcclxuICBtZW1iZXJJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkTm90ZVRvQ3VzdG9tZXJBcmdzID0ge1xyXG4gIGlucHV0OiBBZGROb3RlVG9DdXN0b21lcklucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkTm90ZVRvT3JkZXJBcmdzID0ge1xyXG4gIGlucHV0OiBBZGROb3RlVG9PcmRlcklucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkT3B0aW9uR3JvdXBUb1Byb2R1Y3RBcmdzID0ge1xyXG4gIHByb2R1Y3RJZDogU2NhbGFyc1snSUQnXTtcclxuICBvcHRpb25Hcm91cElkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRqdXN0RHJhZnRPcmRlckxpbmVBcmdzID0ge1xyXG4gIG9yZGVySWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgaW5wdXQ6IEFkanVzdERyYWZ0T3JkZXJMaW5lSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25BcHBseUNvdXBvbkNvZGVUb0RyYWZ0T3JkZXJBcmdzID0ge1xyXG4gIG9yZGVySWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY291cG9uQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25Bc3NpZ25Bc3NldHNUb0NoYW5uZWxBcmdzID0ge1xyXG4gIGlucHV0OiBBc3NpZ25Bc3NldHNUb0NoYW5uZWxJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsQXJncyA9IHtcclxuICBpbnB1dDogQXNzaWduQ29sbGVjdGlvbnNUb0NoYW5uZWxJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFzc2lnbkZhY2V0c1RvQ2hhbm5lbEFyZ3MgPSB7XHJcbiAgaW5wdXQ6IEFzc2lnbkZhY2V0c1RvQ2hhbm5lbElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQXNzaWduUHJvZHVjdFZhcmlhbnRzVG9DaGFubmVsQXJncyA9IHtcclxuICBpbnB1dDogQXNzaWduUHJvZHVjdFZhcmlhbnRzVG9DaGFubmVsSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25Bc3NpZ25Qcm9kdWN0c1RvQ2hhbm5lbEFyZ3MgPSB7XHJcbiAgaW5wdXQ6IEFzc2lnblByb2R1Y3RzVG9DaGFubmVsSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25Bc3NpZ25Qcm9tb3Rpb25zVG9DaGFubmVsQXJncyA9IHtcclxuICBpbnB1dDogQXNzaWduUHJvbW90aW9uc1RvQ2hhbm5lbElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQXNzaWduUm9sZVRvQWRtaW5pc3RyYXRvckFyZ3MgPSB7XHJcbiAgYWRtaW5pc3RyYXRvcklkOiBTY2FsYXJzWydJRCddO1xyXG4gIHJvbGVJZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkF1dGhlbnRpY2F0ZUFyZ3MgPSB7XHJcbiAgaW5wdXQ6IEF1dGhlbnRpY2F0aW9uSW5wdXQ7XHJcbiAgcmVtZW1iZXJNZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DYW5jZWxKb2JBcmdzID0ge1xyXG4gIGpvYklkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQ2FuY2VsT3JkZXJBcmdzID0ge1xyXG4gIGlucHV0OiBDYW5jZWxPcmRlcklucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQ2FuY2VsUGF5bWVudEFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVBZG1pbmlzdHJhdG9yQXJncyA9IHtcclxuICBpbnB1dDogQ3JlYXRlQWRtaW5pc3RyYXRvcklucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlQXNzZXRzQXJncyA9IHtcclxuICBpbnB1dDogQXJyYXk8Q3JlYXRlQXNzZXRJbnB1dD47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVDaGFubmVsQXJncyA9IHtcclxuICBpbnB1dDogQ3JlYXRlQ2hhbm5lbElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlQ29sbGVjdGlvbkFyZ3MgPSB7XHJcbiAgaW5wdXQ6IENyZWF0ZUNvbGxlY3Rpb25JbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZUNvdW50cnlBcmdzID0ge1xyXG4gIGlucHV0OiBDcmVhdGVDb3VudHJ5SW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVDdXN0b21lckFyZ3MgPSB7XHJcbiAgaW5wdXQ6IENyZWF0ZUN1c3RvbWVySW5wdXQ7XHJcbiAgcGFzc3dvcmQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVDdXN0b21lckFkZHJlc3NBcmdzID0ge1xyXG4gIGN1c3RvbWVySWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgaW5wdXQ6IENyZWF0ZUFkZHJlc3NJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZUN1c3RvbWVyR3JvdXBBcmdzID0ge1xyXG4gIGlucHV0OiBDcmVhdGVDdXN0b21lckdyb3VwSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVGYWNldEFyZ3MgPSB7XHJcbiAgaW5wdXQ6IENyZWF0ZUZhY2V0SW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVGYWNldFZhbHVlc0FyZ3MgPSB7XHJcbiAgaW5wdXQ6IEFycmF5PENyZWF0ZUZhY2V0VmFsdWVJbnB1dD47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVQYXltZW50TWV0aG9kQXJncyA9IHtcclxuICBpbnB1dDogQ3JlYXRlUGF5bWVudE1ldGhvZElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlUHJvZHVjdEFyZ3MgPSB7XHJcbiAgaW5wdXQ6IENyZWF0ZVByb2R1Y3RJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZVByb2R1Y3RPcHRpb25BcmdzID0ge1xyXG4gIGlucHV0OiBDcmVhdGVQcm9kdWN0T3B0aW9uSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXBBcmdzID0ge1xyXG4gIGlucHV0OiBDcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXBJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZVByb2R1Y3RWYXJpYW50c0FyZ3MgPSB7XHJcbiAgaW5wdXQ6IEFycmF5PENyZWF0ZVByb2R1Y3RWYXJpYW50SW5wdXQ+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlUHJvbW90aW9uQXJncyA9IHtcclxuICBpbnB1dDogQ3JlYXRlUHJvbW90aW9uSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVSb2xlQXJncyA9IHtcclxuICBpbnB1dDogQ3JlYXRlUm9sZUlucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlU2hpcHBpbmdNZXRob2RBcmdzID0ge1xyXG4gIGlucHV0OiBDcmVhdGVTaGlwcGluZ01ldGhvZElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlVGFnQXJncyA9IHtcclxuICBpbnB1dDogQ3JlYXRlVGFnSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVUYXhDYXRlZ29yeUFyZ3MgPSB7XHJcbiAgaW5wdXQ6IENyZWF0ZVRheENhdGVnb3J5SW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVUYXhSYXRlQXJncyA9IHtcclxuICBpbnB1dDogQ3JlYXRlVGF4UmF0ZUlucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlWm9uZUFyZ3MgPSB7XHJcbiAgaW5wdXQ6IENyZWF0ZVpvbmVJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZUFkbWluaXN0cmF0b3JBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlQXNzZXRBcmdzID0ge1xyXG4gIGlucHV0OiBEZWxldGVBc3NldElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlQXNzZXRzQXJncyA9IHtcclxuICBpbnB1dDogRGVsZXRlQXNzZXRzSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVDaGFubmVsQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZUNvbGxlY3Rpb25BcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlQ29sbGVjdGlvbnNBcmdzID0ge1xyXG4gIGlkczogQXJyYXk8U2NhbGFyc1snSUQnXT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVDb3VudHJ5QXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZUN1c3RvbWVyQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZUN1c3RvbWVyQWRkcmVzc0FyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVDdXN0b21lckdyb3VwQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZUN1c3RvbWVyTm90ZUFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVEcmFmdE9yZGVyQXJncyA9IHtcclxuICBvcmRlcklkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlRmFjZXRBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGZvcmNlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZUZhY2V0VmFsdWVzQXJncyA9IHtcclxuICBpZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGZvcmNlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZUZhY2V0c0FyZ3MgPSB7XHJcbiAgaWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcclxuICBmb3JjZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVPcmRlck5vdGVBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlUGF5bWVudE1ldGhvZEFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgZm9yY2U/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlUHJvZHVjdEFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVQcm9kdWN0T3B0aW9uQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZVByb2R1Y3RWYXJpYW50QXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZVByb2R1Y3RWYXJpYW50c0FyZ3MgPSB7XHJcbiAgaWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZVByb2R1Y3RzQXJncyA9IHtcclxuICBpZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlUHJvbW90aW9uQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZVJvbGVBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlU2hpcHBpbmdNZXRob2RBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlVGFnQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZVRheENhdGVnb3J5QXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZVRheFJhdGVBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlWm9uZUFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25GbHVzaEJ1ZmZlcmVkSm9ic0FyZ3MgPSB7XHJcbiAgYnVmZmVySWRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+PjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkltcG9ydFByb2R1Y3RzQXJncyA9IHtcclxuICBjc3ZGaWxlOiBTY2FsYXJzWydVcGxvYWQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkxvZ2luQXJncyA9IHtcclxuICB1c2VybmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgcGFzc3dvcmQ6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHJlbWVtYmVyTWU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uTW9kaWZ5T3JkZXJBcmdzID0ge1xyXG4gIGlucHV0OiBNb2RpZnlPcmRlcklucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uTW92ZUNvbGxlY3Rpb25BcmdzID0ge1xyXG4gIGlucHV0OiBNb3ZlQ29sbGVjdGlvbklucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVmdW5kT3JkZXJBcmdzID0ge1xyXG4gIGlucHV0OiBSZWZ1bmRPcmRlcklucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlQ29sbGVjdGlvbnNGcm9tQ2hhbm5lbEFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFJlbW92ZUNvbGxlY3Rpb25zRnJvbUNoYW5uZWxJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZUNvdXBvbkNvZGVGcm9tRHJhZnRPcmRlckFyZ3MgPSB7XHJcbiAgb3JkZXJJZDogU2NhbGFyc1snSUQnXTtcclxuICBjb3Vwb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZUN1c3RvbWVyc0Zyb21Hcm91cEFyZ3MgPSB7XHJcbiAgY3VzdG9tZXJHcm91cElkOiBTY2FsYXJzWydJRCddO1xyXG4gIGN1c3RvbWVySWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZURyYWZ0T3JkZXJMaW5lQXJncyA9IHtcclxuICBvcmRlcklkOiBTY2FsYXJzWydJRCddO1xyXG4gIG9yZGVyTGluZUlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlRmFjZXRzRnJvbUNoYW5uZWxBcmdzID0ge1xyXG4gIGlucHV0OiBSZW1vdmVGYWNldHNGcm9tQ2hhbm5lbElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlTWVtYmVyc0Zyb21ab25lQXJncyA9IHtcclxuICB6b25lSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgbWVtYmVySWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3RBcmdzID0ge1xyXG4gIHByb2R1Y3RJZDogU2NhbGFyc1snSUQnXTtcclxuICBvcHRpb25Hcm91cElkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlUHJvZHVjdFZhcmlhbnRzRnJvbUNoYW5uZWxBcmdzID0ge1xyXG4gIGlucHV0OiBSZW1vdmVQcm9kdWN0VmFyaWFudHNGcm9tQ2hhbm5lbElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlUHJvZHVjdHNGcm9tQ2hhbm5lbEFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWxJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZVByb21vdGlvbnNGcm9tQ2hhbm5lbEFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFJlbW92ZVByb21vdGlvbnNGcm9tQ2hhbm5lbElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlU2V0dGxlZEpvYnNBcmdzID0ge1xyXG4gIHF1ZXVlTmFtZXM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydTdHJpbmcnXT4+O1xyXG4gIG9sZGVyVGhhbj86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0QWN0aXZlQ2hhbm5lbEFyZ3MgPSB7XHJcbiAgY2hhbm5lbElkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0QXNMb2dnZWRJbkFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVzZXJTdGF0dXNJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblNldENvbnRlbnRMYW5ndWFnZUFyZ3MgPSB7XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRDdXN0b21lckZvckRyYWZ0T3JkZXJBcmdzID0ge1xyXG4gIG9yZGVySWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3VzdG9tZXJJZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGlucHV0PzogTWF5YmU8Q3JlYXRlQ3VzdG9tZXJJbnB1dD47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXREaXNwbGF5VWlFeHRlbnNpb25Qb2ludHNBcmdzID0ge1xyXG4gIGRpc3BsYXk6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblNldERyYWZ0T3JkZXJCaWxsaW5nQWRkcmVzc0FyZ3MgPSB7XHJcbiAgb3JkZXJJZDogU2NhbGFyc1snSUQnXTtcclxuICBpbnB1dDogQ3JlYXRlQWRkcmVzc0lucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0RHJhZnRPcmRlckN1c3RvbUZpZWxkc0FyZ3MgPSB7XHJcbiAgb3JkZXJJZDogU2NhbGFyc1snSUQnXTtcclxuICBpbnB1dDogVXBkYXRlT3JkZXJJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblNldERyYWZ0T3JkZXJTaGlwcGluZ0FkZHJlc3NBcmdzID0ge1xyXG4gIG9yZGVySWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgaW5wdXQ6IENyZWF0ZUFkZHJlc3NJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblNldERyYWZ0T3JkZXJTaGlwcGluZ01ldGhvZEFyZ3MgPSB7XHJcbiAgb3JkZXJJZDogU2NhbGFyc1snSUQnXTtcclxuICBzaGlwcGluZ01ldGhvZElkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0T3JkZXJDdXN0b21GaWVsZHNBcmdzID0ge1xyXG4gIGlucHV0OiBVcGRhdGVPcmRlcklucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0VWlMYW5ndWFnZUFyZ3MgPSB7XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRVaUxvY2FsZUFyZ3MgPSB7XHJcbiAgbG9jYWxlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0VWlUaGVtZUFyZ3MgPSB7XHJcbiAgdGhlbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0dGxlUGF5bWVudEFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXR0bGVSZWZ1bmRBcmdzID0ge1xyXG4gIGlucHV0OiBTZXR0bGVSZWZ1bmRJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblRyYW5zaXRpb25GdWxmaWxsbWVudFRvU3RhdGVBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIHN0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblRyYW5zaXRpb25PcmRlclRvU3RhdGVBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIHN0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblRyYW5zaXRpb25QYXltZW50VG9TdGF0ZUFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgc3RhdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlQWN0aXZlQWRtaW5pc3RyYXRvckFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZUFjdGl2ZUFkbWluaXN0cmF0b3JJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZUFkbWluaXN0cmF0b3JBcmdzID0ge1xyXG4gIGlucHV0OiBVcGRhdGVBZG1pbmlzdHJhdG9ySW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVBc3NldEFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZUFzc2V0SW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVDaGFubmVsQXJncyA9IHtcclxuICBpbnB1dDogVXBkYXRlQ2hhbm5lbElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlQ29sbGVjdGlvbkFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZUNvbGxlY3Rpb25JbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZUNvdW50cnlBcmdzID0ge1xyXG4gIGlucHV0OiBVcGRhdGVDb3VudHJ5SW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVDdXN0b21lckFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZUN1c3RvbWVySW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVDdXN0b21lckFkZHJlc3NBcmdzID0ge1xyXG4gIGlucHV0OiBVcGRhdGVBZGRyZXNzSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVDdXN0b21lckdyb3VwQXJncyA9IHtcclxuICBpbnB1dDogVXBkYXRlQ3VzdG9tZXJHcm91cElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlQ3VzdG9tZXJOb3RlQXJncyA9IHtcclxuICBpbnB1dDogVXBkYXRlQ3VzdG9tZXJOb3RlSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVGYWNldEFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZUZhY2V0SW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVGYWNldFZhbHVlc0FyZ3MgPSB7XHJcbiAgaW5wdXQ6IEFycmF5PFVwZGF0ZUZhY2V0VmFsdWVJbnB1dD47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVHbG9iYWxTZXR0aW5nc0FyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZUdsb2JhbFNldHRpbmdzSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVPcmRlck5vdGVBcmdzID0ge1xyXG4gIGlucHV0OiBVcGRhdGVPcmRlck5vdGVJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZVBheW1lbnRNZXRob2RBcmdzID0ge1xyXG4gIGlucHV0OiBVcGRhdGVQYXltZW50TWV0aG9kSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVQcm9kdWN0QXJncyA9IHtcclxuICBpbnB1dDogVXBkYXRlUHJvZHVjdElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlUHJvZHVjdE9wdGlvbkFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZVByb2R1Y3RPcHRpb25JbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZVByb2R1Y3RPcHRpb25Hcm91cEFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZVByb2R1Y3RPcHRpb25Hcm91cElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlUHJvZHVjdFZhcmlhbnRzQXJncyA9IHtcclxuICBpbnB1dDogQXJyYXk8VXBkYXRlUHJvZHVjdFZhcmlhbnRJbnB1dD47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVQcm9kdWN0c0FyZ3MgPSB7XHJcbiAgaW5wdXQ6IEFycmF5PFVwZGF0ZVByb2R1Y3RJbnB1dD47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVQcm9tb3Rpb25BcmdzID0ge1xyXG4gIGlucHV0OiBVcGRhdGVQcm9tb3Rpb25JbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZVJvbGVBcmdzID0ge1xyXG4gIGlucHV0OiBVcGRhdGVSb2xlSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVTaGlwcGluZ01ldGhvZEFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZVNoaXBwaW5nTWV0aG9kSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVUYWdBcmdzID0ge1xyXG4gIGlucHV0OiBVcGRhdGVUYWdJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZVRheENhdGVnb3J5QXJncyA9IHtcclxuICBpbnB1dDogVXBkYXRlVGF4Q2F0ZWdvcnlJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZVRheFJhdGVBcmdzID0ge1xyXG4gIGlucHV0OiBVcGRhdGVUYXhSYXRlSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVVc2VyQ2hhbm5lbHNBcmdzID0ge1xyXG4gIGNoYW5uZWxzOiBBcnJheTxDdXJyZW50VXNlckNoYW5uZWxJbnB1dD47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVab25lQXJncyA9IHtcclxuICBpbnB1dDogVXBkYXRlWm9uZUlucHV0O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgTmF0aXZlQXV0aElucHV0ID0ge1xyXG4gIHVzZXJuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBwYXNzd29yZDogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG4vKiogUmV0dXJuZWQgd2hlbiBhdHRlbXB0aW5nIGFuIG9wZXJhdGlvbiB0aGF0IHJlbGllcyBvbiB0aGUgTmF0aXZlQXV0aFN0cmF0ZWd5LCBpZiB0aGF0IHN0cmF0ZWd5IGlzIG5vdCBjb25maWd1cmVkLiAqL1xyXG5leHBvcnQgdHlwZSBOYXRpdmVBdXRoU3RyYXRlZ3lFcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnTmF0aXZlQXV0aFN0cmF0ZWd5RXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgTmF0aXZlQXV0aGVudGljYXRpb25SZXN1bHQgPSBDdXJyZW50VXNlciB8IEludmFsaWRDcmVkZW50aWFsc0Vycm9yIHwgTmF0aXZlQXV0aFN0cmF0ZWd5RXJyb3I7XHJcblxyXG4vKiogUmV0dXJuZWQgd2hlbiBhdHRlbXB0aW5nIHRvIHNldCBhIG5lZ2F0aXZlIE9yZGVyTGluZSBxdWFudGl0eS4gKi9cclxuZXhwb3J0IHR5cGUgTmVnYXRpdmVRdWFudGl0eUVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdOZWdhdGl2ZVF1YW50aXR5RXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgTmV0d29ya1N0YXR1cyA9IHtcclxuICBfX3R5cGVuYW1lPzogJ05ldHdvcmtTdGF0dXMnO1xyXG4gIGluRmxpZ2h0UmVxdWVzdHM6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFJldHVybmVkIHdoZW4gaW52b2tpbmcgYSBtdXRhdGlvbiB3aGljaCBkZXBlbmRzIG9uIHRoZXJlIGJlaW5nIGFuIGFjdGl2ZSBPcmRlciBvbiB0aGVcclxuICogY3VycmVudCBzZXNzaW9uLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgTm9BY3RpdmVPcmRlckVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdOb0FjdGl2ZU9yZGVyRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuLyoqIFJldHVybmVkIHdoZW4gYSBjYWxsIHRvIG1vZGlmeU9yZGVyIGZhaWxzIHRvIHNwZWNpZnkgYW55IGNoYW5nZXMgKi9cclxuZXhwb3J0IHR5cGUgTm9DaGFuZ2VzU3BlY2lmaWVkRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ05vQ2hhbmdlc1NwZWNpZmllZEVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE5vZGUgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG4vKiogUmV0dXJuZWQgaWYgYW4gYXR0ZW1wdGluZyB0byByZWZ1bmQgYW4gT3JkZXIgYnV0IG5laXRoZXIgaXRlbXMgbm9yIHNoaXBwaW5nIHJlZnVuZCB3YXMgc3BlY2lmaWVkICovXHJcbmV4cG9ydCB0eXBlIE5vdGhpbmdUb1JlZnVuZEVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdOb3RoaW5nVG9SZWZ1bmRFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG4vKiogT3BlcmF0b3JzIGZvciBmaWx0ZXJpbmcgb24gYSBsaXN0IG9mIE51bWJlciBmaWVsZHMgKi9cclxuZXhwb3J0IHR5cGUgTnVtYmVyTGlzdE9wZXJhdG9ycyA9IHtcclxuICBpbkxpc3Q6IFNjYWxhcnNbJ0Zsb2F0J107XHJcbn07XHJcblxyXG4vKiogT3BlcmF0b3JzIGZvciBmaWx0ZXJpbmcgb24gYSBJbnQgb3IgRmxvYXQgZmllbGQgKi9cclxuZXhwb3J0IHR5cGUgTnVtYmVyT3BlcmF0b3JzID0ge1xyXG4gIGVxPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XHJcbiAgbHQ/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcclxuICBsdGU/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcclxuICBndD86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xyXG4gIGd0ZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xyXG4gIGJldHdlZW4/OiBNYXliZTxOdW1iZXJSYW5nZT47XHJcbiAgaXNOdWxsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE51bWJlclJhbmdlID0ge1xyXG4gIHN0YXJ0OiBTY2FsYXJzWydGbG9hdCddO1xyXG4gIGVuZDogU2NhbGFyc1snRmxvYXQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE9yZGVyID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ09yZGVyJztcclxuICBuZXh0U3RhdGVzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgbW9kaWZpY2F0aW9uczogQXJyYXk8T3JkZXJNb2RpZmljYXRpb24+O1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgLyoqXHJcbiAgICogVGhlIGRhdGUgJiB0aW1lIHRoYXQgdGhlIE9yZGVyIHdhcyBwbGFjZWQsIGkuZS4gdGhlIEN1c3RvbWVyXHJcbiAgICogY29tcGxldGVkIHRoZSBjaGVja291dCBhbmQgdGhlIE9yZGVyIGlzIG5vIGxvbmdlciBcImFjdGl2ZVwiXHJcbiAgICovXHJcbiAgb3JkZXJQbGFjZWRBdD86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xyXG4gIC8qKiBBIHVuaXF1ZSBjb2RlIGZvciB0aGUgT3JkZXIgKi9cclxuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBzdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgLyoqIEFuIG9yZGVyIGlzIGFjdGl2ZSBhcyBsb25nIGFzIHRoZSBwYXltZW50IHByb2Nlc3MgaGFzIG5vdCBiZWVuIGNvbXBsZXRlZCAqL1xyXG4gIGFjdGl2ZTogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGN1c3RvbWVyPzogTWF5YmU8Q3VzdG9tZXI+O1xyXG4gIHNoaXBwaW5nQWRkcmVzcz86IE1heWJlPE9yZGVyQWRkcmVzcz47XHJcbiAgYmlsbGluZ0FkZHJlc3M/OiBNYXliZTxPcmRlckFkZHJlc3M+O1xyXG4gIGxpbmVzOiBBcnJheTxPcmRlckxpbmU+O1xyXG4gIC8qKlxyXG4gICAqIFN1cmNoYXJnZXMgYXJlIGFyYml0cmFyeSBtb2RpZmljYXRpb25zIHRvIHRoZSBPcmRlciB0b3RhbCB3aGljaCBhcmUgbmVpdGhlclxyXG4gICAqIFByb2R1Y3RWYXJpYW50cyBub3IgZGlzY291bnRzIHJlc3VsdGluZyBmcm9tIGFwcGxpZWQgUHJvbW90aW9ucy4gRm9yIGV4YW1wbGUsXHJcbiAgICogb25lLW9mZiBkaXNjb3VudHMgYmFzZWQgb24gY3VzdG9tZXIgaW50ZXJhY3Rpb24sIG9yIHN1cmNoYXJnZXMgYmFzZWQgb24gcGF5bWVudFxyXG4gICAqIG1ldGhvZHMuXHJcbiAgICovXHJcbiAgc3VyY2hhcmdlczogQXJyYXk8U3VyY2hhcmdlPjtcclxuICBkaXNjb3VudHM6IEFycmF5PERpc2NvdW50PjtcclxuICAvKiogQW4gYXJyYXkgb2YgYWxsIGNvdXBvbiBjb2RlcyBhcHBsaWVkIHRvIHRoZSBPcmRlciAqL1xyXG4gIGNvdXBvbkNvZGVzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgLyoqIFByb21vdGlvbnMgYXBwbGllZCB0byB0aGUgb3JkZXIuIE9ubHkgZ2V0cyBwb3B1bGF0ZWQgYWZ0ZXIgdGhlIHBheW1lbnQgcHJvY2VzcyBoYXMgY29tcGxldGVkLiAqL1xyXG4gIHByb21vdGlvbnM6IEFycmF5PFByb21vdGlvbj47XHJcbiAgcGF5bWVudHM/OiBNYXliZTxBcnJheTxQYXltZW50Pj47XHJcbiAgZnVsZmlsbG1lbnRzPzogTWF5YmU8QXJyYXk8RnVsZmlsbG1lbnQ+PjtcclxuICB0b3RhbFF1YW50aXR5OiBTY2FsYXJzWydJbnQnXTtcclxuICAvKipcclxuICAgKiBUaGUgc3ViVG90YWwgaXMgdGhlIHRvdGFsIG9mIGFsbCBPcmRlckxpbmVzIGluIHRoZSBPcmRlci4gVGhpcyBmaWd1cmUgYWxzbyBpbmNsdWRlcyBhbnkgT3JkZXItbGV2ZWxcclxuICAgKiBkaXNjb3VudHMgd2hpY2ggaGF2ZSBiZWVuIHByb3JhdGVkIChwcm9wb3J0aW9uYWxseSBkaXN0cmlidXRlZCkgYW1vbmdzdCB0aGUgT3JkZXJJdGVtcy5cclxuICAgKiBUbyBnZXQgYSB0b3RhbCBvZiBhbGwgT3JkZXJMaW5lcyB3aGljaCBkb2VzIG5vdCBhY2NvdW50IGZvciBwcm9yYXRlZCBkaXNjb3VudHMsIHVzZSB0aGVcclxuICAgKiBzdW0gb2YgYE9yZGVyTGluZS5kaXNjb3VudGVkTGluZVByaWNlYCB2YWx1ZXMuXHJcbiAgICovXHJcbiAgc3ViVG90YWw6IFNjYWxhcnNbJ0ludCddO1xyXG4gIC8qKiBTYW1lIGFzIHN1YlRvdGFsLCBidXQgaW5jbHVzaXZlIG9mIHRheCAqL1xyXG4gIHN1YlRvdGFsV2l0aFRheDogU2NhbGFyc1snSW50J107XHJcbiAgY3VycmVuY3lDb2RlOiBDdXJyZW5jeUNvZGU7XHJcbiAgc2hpcHBpbmdMaW5lczogQXJyYXk8U2hpcHBpbmdMaW5lPjtcclxuICBzaGlwcGluZzogU2NhbGFyc1snSW50J107XHJcbiAgc2hpcHBpbmdXaXRoVGF4OiBTY2FsYXJzWydJbnQnXTtcclxuICAvKiogRXF1YWwgdG8gc3ViVG90YWwgcGx1cyBzaGlwcGluZyAqL1xyXG4gIHRvdGFsOiBTY2FsYXJzWydJbnQnXTtcclxuICAvKiogVGhlIGZpbmFsIHBheWFibGUgYW1vdW50LiBFcXVhbCB0byBzdWJUb3RhbFdpdGhUYXggcGx1cyBzaGlwcGluZ1dpdGhUYXggKi9cclxuICB0b3RhbFdpdGhUYXg6IFNjYWxhcnNbJ0ludCddO1xyXG4gIC8qKiBBIHN1bW1hcnkgb2YgdGhlIHRheGVzIGJlaW5nIGFwcGxpZWQgdG8gdGhpcyBPcmRlciAqL1xyXG4gIHRheFN1bW1hcnk6IEFycmF5PE9yZGVyVGF4U3VtbWFyeT47XHJcbiAgaGlzdG9yeTogSGlzdG9yeUVudHJ5TGlzdDtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE9yZGVySGlzdG9yeUFyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPEhpc3RvcnlFbnRyeUxpc3RPcHRpb25zPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE9yZGVyQWRkcmVzcyA9IHtcclxuICBfX3R5cGVuYW1lPzogJ09yZGVyQWRkcmVzcyc7XHJcbiAgZnVsbE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY29tcGFueT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBzdHJlZXRMaW5lMT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBzdHJlZXRMaW5lMj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjaXR5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHByb3ZpbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHBvc3RhbENvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY291bnRyeT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBwaG9uZU51bWJlcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgT3JkZXJGaWx0ZXJQYXJhbWV0ZXIgPSB7XHJcbiAgY3VzdG9tZXJMYXN0TmFtZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgdHJhbnNhY3Rpb25JZD86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgb3JkZXJQbGFjZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xyXG4gIGNvZGU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIHN0YXRlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBhY3RpdmU/OiBNYXliZTxCb29sZWFuT3BlcmF0b3JzPjtcclxuICB0b3RhbFF1YW50aXR5PzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICBzdWJUb3RhbD86IE1heWJlPE51bWJlck9wZXJhdG9ycz47XHJcbiAgc3ViVG90YWxXaXRoVGF4PzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICBjdXJyZW5jeUNvZGU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIHNoaXBwaW5nPzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICBzaGlwcGluZ1dpdGhUYXg/OiBNYXliZTxOdW1iZXJPcGVyYXRvcnM+O1xyXG4gIHRvdGFsPzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICB0b3RhbFdpdGhUYXg/OiBNYXliZTxOdW1iZXJPcGVyYXRvcnM+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgT3JkZXJJdGVtID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ09yZGVySXRlbSc7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBjYW5jZWxsZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICAvKiogVGhlIHByaWNlIG9mIGEgc2luZ2xlIHVuaXQsIGV4Y2x1ZGluZyB0YXggYW5kIGRpc2NvdW50cyAqL1xyXG4gIHVuaXRQcmljZTogU2NhbGFyc1snSW50J107XHJcbiAgLyoqIFRoZSBwcmljZSBvZiBhIHNpbmdsZSB1bml0LCBpbmNsdWRpbmcgdGF4IGJ1dCBleGNsdWRpbmcgZGlzY291bnRzICovXHJcbiAgdW5pdFByaWNlV2l0aFRheDogU2NhbGFyc1snSW50J107XHJcbiAgLyoqXHJcbiAgICogVGhlIHByaWNlIG9mIGEgc2luZ2xlIHVuaXQgaW5jbHVkaW5nIGRpc2NvdW50cywgZXhjbHVkaW5nIHRheC5cclxuICAgKlxyXG4gICAqIElmIE9yZGVyLWxldmVsIGRpc2NvdW50cyBoYXZlIGJlZW4gYXBwbGllZCwgdGhpcyB3aWxsIG5vdCBiZSB0aGVcclxuICAgKiBhY3R1YWwgdGF4YWJsZSB1bml0IHByaWNlIChzZWUgYHByb3JhdGVkVW5pdFByaWNlYCksIGJ1dCBpcyBnZW5lcmFsbHkgdGhlXHJcbiAgICogY29ycmVjdCBwcmljZSB0byBkaXNwbGF5IHRvIGN1c3RvbWVycyB0byBhdm9pZCBjb25mdXNpb25cclxuICAgKiBhYm91dCB0aGUgaW50ZXJuYWwgaGFuZGxpbmcgb2YgZGlzdHJpYnV0ZWQgT3JkZXItbGV2ZWwgZGlzY291bnRzLlxyXG4gICAqL1xyXG4gIGRpc2NvdW50ZWRVbml0UHJpY2U6IFNjYWxhcnNbJ0ludCddO1xyXG4gIC8qKiBUaGUgcHJpY2Ugb2YgYSBzaW5nbGUgdW5pdCBpbmNsdWRpbmcgZGlzY291bnRzIGFuZCB0YXggKi9cclxuICBkaXNjb3VudGVkVW5pdFByaWNlV2l0aFRheDogU2NhbGFyc1snSW50J107XHJcbiAgLyoqXHJcbiAgICogVGhlIGFjdHVhbCB1bml0IHByaWNlLCB0YWtpbmcgaW50byBhY2NvdW50IGJvdGggaXRlbSBkaXNjb3VudHMgX2FuZF8gcHJvcmF0ZWQgKHByb3BvcnRpb25hbGx5LWRpc3RyaWJ1dGVkKVxyXG4gICAqIE9yZGVyLWxldmVsIGRpc2NvdW50cy4gVGhpcyB2YWx1ZSBpcyB0aGUgdHJ1ZSBlY29ub21pYyB2YWx1ZSBvZiB0aGUgT3JkZXJJdGVtLCBhbmQgaXMgdXNlZCBpbiB0YXhcclxuICAgKiBhbmQgcmVmdW5kIGNhbGN1bGF0aW9ucy5cclxuICAgKi9cclxuICBwcm9yYXRlZFVuaXRQcmljZTogU2NhbGFyc1snSW50J107XHJcbiAgLyoqIFRoZSBwcm9yYXRlZFVuaXRQcmljZSBpbmNsdWRpbmcgdGF4ICovXHJcbiAgcHJvcmF0ZWRVbml0UHJpY2VXaXRoVGF4OiBTY2FsYXJzWydJbnQnXTtcclxuICB1bml0VGF4OiBTY2FsYXJzWydJbnQnXTtcclxuICB0YXhSYXRlOiBTY2FsYXJzWydGbG9hdCddO1xyXG4gIGFkanVzdG1lbnRzOiBBcnJheTxBZGp1c3RtZW50PjtcclxuICB0YXhMaW5lczogQXJyYXk8VGF4TGluZT47XHJcbiAgZnVsZmlsbG1lbnQ/OiBNYXliZTxGdWxmaWxsbWVudD47XHJcbiAgcmVmdW5kSWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCB3aGVuIHRoZSBtYXhpbXVtIG9yZGVyIHNpemUgbGltaXQgaGFzIGJlZW4gcmVhY2hlZC4gKi9cclxuZXhwb3J0IHR5cGUgT3JkZXJMaW1pdEVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdPcmRlckxpbWl0RXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIG1heEl0ZW1zOiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE9yZGVyTGluZSA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdPcmRlckxpbmUnO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgcHJvZHVjdFZhcmlhbnQ6IFByb2R1Y3RWYXJpYW50O1xyXG4gIGZlYXR1cmVkQXNzZXQ/OiBNYXliZTxBc3NldD47XHJcbiAgLyoqIFRoZSBwcmljZSBvZiBhIHNpbmdsZSB1bml0LCBleGNsdWRpbmcgdGF4IGFuZCBkaXNjb3VudHMgKi9cclxuICB1bml0UHJpY2U6IFNjYWxhcnNbJ0ludCddO1xyXG4gIC8qKiBUaGUgcHJpY2Ugb2YgYSBzaW5nbGUgdW5pdCwgaW5jbHVkaW5nIHRheCBidXQgZXhjbHVkaW5nIGRpc2NvdW50cyAqL1xyXG4gIHVuaXRQcmljZVdpdGhUYXg6IFNjYWxhcnNbJ0ludCddO1xyXG4gIC8qKiBOb24temVybyBpZiB0aGUgdW5pdFByaWNlIGhhcyBjaGFuZ2VkIHNpbmNlIGl0IHdhcyBpbml0aWFsbHkgYWRkZWQgdG8gT3JkZXIgKi9cclxuICB1bml0UHJpY2VDaGFuZ2VTaW5jZUFkZGVkOiBTY2FsYXJzWydJbnQnXTtcclxuICAvKiogTm9uLXplcm8gaWYgdGhlIHVuaXRQcmljZVdpdGhUYXggaGFzIGNoYW5nZWQgc2luY2UgaXQgd2FzIGluaXRpYWxseSBhZGRlZCB0byBPcmRlciAqL1xyXG4gIHVuaXRQcmljZVdpdGhUYXhDaGFuZ2VTaW5jZUFkZGVkOiBTY2FsYXJzWydJbnQnXTtcclxuICAvKipcclxuICAgKiBUaGUgcHJpY2Ugb2YgYSBzaW5nbGUgdW5pdCBpbmNsdWRpbmcgZGlzY291bnRzLCBleGNsdWRpbmcgdGF4LlxyXG4gICAqXHJcbiAgICogSWYgT3JkZXItbGV2ZWwgZGlzY291bnRzIGhhdmUgYmVlbiBhcHBsaWVkLCB0aGlzIHdpbGwgbm90IGJlIHRoZVxyXG4gICAqIGFjdHVhbCB0YXhhYmxlIHVuaXQgcHJpY2UgKHNlZSBgcHJvcmF0ZWRVbml0UHJpY2VgKSwgYnV0IGlzIGdlbmVyYWxseSB0aGVcclxuICAgKiBjb3JyZWN0IHByaWNlIHRvIGRpc3BsYXkgdG8gY3VzdG9tZXJzIHRvIGF2b2lkIGNvbmZ1c2lvblxyXG4gICAqIGFib3V0IHRoZSBpbnRlcm5hbCBoYW5kbGluZyBvZiBkaXN0cmlidXRlZCBPcmRlci1sZXZlbCBkaXNjb3VudHMuXHJcbiAgICovXHJcbiAgZGlzY291bnRlZFVuaXRQcmljZTogU2NhbGFyc1snSW50J107XHJcbiAgLyoqIFRoZSBwcmljZSBvZiBhIHNpbmdsZSB1bml0IGluY2x1ZGluZyBkaXNjb3VudHMgYW5kIHRheCAqL1xyXG4gIGRpc2NvdW50ZWRVbml0UHJpY2VXaXRoVGF4OiBTY2FsYXJzWydJbnQnXTtcclxuICAvKipcclxuICAgKiBUaGUgYWN0dWFsIHVuaXQgcHJpY2UsIHRha2luZyBpbnRvIGFjY291bnQgYm90aCBpdGVtIGRpc2NvdW50cyBfYW5kXyBwcm9yYXRlZCAocHJvcG9ydGlvbmFsbHktZGlzdHJpYnV0ZWQpXHJcbiAgICogT3JkZXItbGV2ZWwgZGlzY291bnRzLiBUaGlzIHZhbHVlIGlzIHRoZSB0cnVlIGVjb25vbWljIHZhbHVlIG9mIHRoZSBPcmRlckl0ZW0sIGFuZCBpcyB1c2VkIGluIHRheFxyXG4gICAqIGFuZCByZWZ1bmQgY2FsY3VsYXRpb25zLlxyXG4gICAqL1xyXG4gIHByb3JhdGVkVW5pdFByaWNlOiBTY2FsYXJzWydJbnQnXTtcclxuICAvKiogVGhlIHByb3JhdGVkVW5pdFByaWNlIGluY2x1ZGluZyB0YXggKi9cclxuICBwcm9yYXRlZFVuaXRQcmljZVdpdGhUYXg6IFNjYWxhcnNbJ0ludCddO1xyXG4gIHF1YW50aXR5OiBTY2FsYXJzWydJbnQnXTtcclxuICBpdGVtczogQXJyYXk8T3JkZXJJdGVtPjtcclxuICB0YXhSYXRlOiBTY2FsYXJzWydGbG9hdCddO1xyXG4gIC8qKiBUaGUgdG90YWwgcHJpY2Ugb2YgdGhlIGxpbmUgZXhjbHVkaW5nIHRheCBhbmQgZGlzY291bnRzLiAqL1xyXG4gIGxpbmVQcmljZTogU2NhbGFyc1snSW50J107XHJcbiAgLyoqIFRoZSB0b3RhbCBwcmljZSBvZiB0aGUgbGluZSBpbmNsdWRpbmcgdGF4IGJ1dCBleGNsdWRpbmcgZGlzY291bnRzLiAqL1xyXG4gIGxpbmVQcmljZVdpdGhUYXg6IFNjYWxhcnNbJ0ludCddO1xyXG4gIC8qKiBUaGUgcHJpY2Ugb2YgdGhlIGxpbmUgaW5jbHVkaW5nIGRpc2NvdW50cywgZXhjbHVkaW5nIHRheCAqL1xyXG4gIGRpc2NvdW50ZWRMaW5lUHJpY2U6IFNjYWxhcnNbJ0ludCddO1xyXG4gIC8qKiBUaGUgcHJpY2Ugb2YgdGhlIGxpbmUgaW5jbHVkaW5nIGRpc2NvdW50cyBhbmQgdGF4ICovXHJcbiAgZGlzY291bnRlZExpbmVQcmljZVdpdGhUYXg6IFNjYWxhcnNbJ0ludCddO1xyXG4gIC8qKlxyXG4gICAqIFRoZSBhY3R1YWwgbGluZSBwcmljZSwgdGFraW5nIGludG8gYWNjb3VudCBib3RoIGl0ZW0gZGlzY291bnRzIF9hbmRfIHByb3JhdGVkIChwcm9wb3J0aW9uYWxseS1kaXN0cmlidXRlZClcclxuICAgKiBPcmRlci1sZXZlbCBkaXNjb3VudHMuIFRoaXMgdmFsdWUgaXMgdGhlIHRydWUgZWNvbm9taWMgdmFsdWUgb2YgdGhlIE9yZGVyTGluZSwgYW5kIGlzIHVzZWQgaW4gdGF4XHJcbiAgICogYW5kIHJlZnVuZCBjYWxjdWxhdGlvbnMuXHJcbiAgICovXHJcbiAgcHJvcmF0ZWRMaW5lUHJpY2U6IFNjYWxhcnNbJ0ludCddO1xyXG4gIC8qKiBUaGUgcHJvcmF0ZWRMaW5lUHJpY2UgaW5jbHVkaW5nIHRheCAqL1xyXG4gIHByb3JhdGVkTGluZVByaWNlV2l0aFRheDogU2NhbGFyc1snSW50J107XHJcbiAgLyoqIFRoZSB0b3RhbCB0YXggb24gdGhpcyBsaW5lICovXHJcbiAgbGluZVRheDogU2NhbGFyc1snSW50J107XHJcbiAgZGlzY291bnRzOiBBcnJheTxEaXNjb3VudD47XHJcbiAgdGF4TGluZXM6IEFycmF5PFRheExpbmU+O1xyXG4gIG9yZGVyOiBPcmRlcjtcclxuICBmdWxmaWxsbWVudHM/OiBNYXliZTxBcnJheTxGdWxmaWxsbWVudD4+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBPcmRlckxpbmVJbnB1dCA9IHtcclxuICBvcmRlckxpbmVJZDogU2NhbGFyc1snSUQnXTtcclxuICBxdWFudGl0eTogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBPcmRlckxpc3QgPSBQYWdpbmF0ZWRMaXN0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnT3JkZXJMaXN0JztcclxuICBpdGVtczogQXJyYXk8T3JkZXI+O1xyXG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgT3JkZXJMaXN0T3B0aW9ucyA9IHtcclxuICAvKiogU2tpcHMgdGhlIGZpcnN0IG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgc2tpcD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogVGFrZXMgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICB0YWtlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hpY2ggcHJvcGVydGllcyB0byBzb3J0IHRoZSByZXN1bHRzIGJ5ICovXHJcbiAgc29ydD86IE1heWJlPE9yZGVyU29ydFBhcmFtZXRlcj47XHJcbiAgLyoqIEFsbG93cyB0aGUgcmVzdWx0cyB0byBiZSBmaWx0ZXJlZCAqL1xyXG4gIGZpbHRlcj86IE1heWJlPE9yZGVyRmlsdGVyUGFyYW1ldGVyPjtcclxuICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgbXVsdGlwbGUgXCJmaWx0ZXJcIiBhcmd1bWVudHMgc2hvdWxkIGJlIGNvbWJpbmVzIHdpdGggYSBsb2dpY2FsIEFORCBvciBPUiBvcGVyYXRpb24uIERlZmF1bHRzIHRvIEFORC4gKi9cclxuICBmaWx0ZXJPcGVyYXRvcj86IE1heWJlPExvZ2ljYWxPcGVyYXRvcj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBPcmRlck1vZGlmaWNhdGlvbiA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdPcmRlck1vZGlmaWNhdGlvbic7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBwcmljZUNoYW5nZTogU2NhbGFyc1snSW50J107XHJcbiAgbm90ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgb3JkZXJJdGVtcz86IE1heWJlPEFycmF5PE9yZGVySXRlbT4+O1xyXG4gIHN1cmNoYXJnZXM/OiBNYXliZTxBcnJheTxTdXJjaGFyZ2U+PjtcclxuICBwYXltZW50PzogTWF5YmU8UGF5bWVudD47XHJcbiAgcmVmdW5kPzogTWF5YmU8UmVmdW5kPjtcclxuICBpc1NldHRsZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCB3aGVuIGF0dGVtcHRpbmcgdG8gbW9kaWZ5IHRoZSBjb250ZW50cyBvZiBhbiBPcmRlciB0aGF0IGlzIG5vdCBpbiB0aGUgYEFkZGluZ0l0ZW1zYCBzdGF0ZS4gKi9cclxuZXhwb3J0IHR5cGUgT3JkZXJNb2RpZmljYXRpb25FcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnT3JkZXJNb2RpZmljYXRpb25FcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG4vKiogUmV0dXJuZWQgd2hlbiBhdHRlbXB0aW5nIHRvIG1vZGlmeSB0aGUgY29udGVudHMgb2YgYW4gT3JkZXIgdGhhdCBpcyBub3QgaW4gdGhlIGBNb2RpZnlpbmdgIHN0YXRlLiAqL1xyXG5leHBvcnQgdHlwZSBPcmRlck1vZGlmaWNhdGlvblN0YXRlRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ09yZGVyTW9kaWZpY2F0aW9uU3RhdGVFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBPcmRlclByb2Nlc3NTdGF0ZSA9IHtcclxuICBfX3R5cGVuYW1lPzogJ09yZGVyUHJvY2Vzc1N0YXRlJztcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0bzogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgT3JkZXJTb3J0UGFyYW1ldGVyID0ge1xyXG4gIGN1c3RvbWVyTGFzdE5hbWU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHRyYW5zYWN0aW9uSWQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHVwZGF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgb3JkZXJQbGFjZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgY29kZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgc3RhdGU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHRvdGFsUXVhbnRpdHk/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHN1YlRvdGFsPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBzdWJUb3RhbFdpdGhUYXg/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHNoaXBwaW5nPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBzaGlwcGluZ1dpdGhUYXg/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHRvdGFsPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICB0b3RhbFdpdGhUYXg/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG59O1xyXG5cclxuLyoqIFJldHVybmVkIGlmIHRoZXJlIGlzIGFuIGVycm9yIGluIHRyYW5zaXRpb25pbmcgdGhlIE9yZGVyIHN0YXRlICovXHJcbmV4cG9ydCB0eXBlIE9yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ09yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHRyYW5zaXRpb25FcnJvcjogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZnJvbVN0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0b1N0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBBIHN1bW1hcnkgb2YgdGhlIHRheGVzIGJlaW5nIGFwcGxpZWQgdG8gdGhpcyBvcmRlciwgZ3JvdXBlZFxyXG4gKiBieSB0YXhSYXRlLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgT3JkZXJUYXhTdW1tYXJ5ID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnT3JkZXJUYXhTdW1tYXJ5JztcclxuICAvKiogQSBkZXNjcmlwdGlvbiBvZiB0aGlzIHRheCAqL1xyXG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICAvKiogVGhlIHRheFJhdGUgYXMgYSBwZXJjZW50YWdlICovXHJcbiAgdGF4UmF0ZTogU2NhbGFyc1snRmxvYXQnXTtcclxuICAvKiogVGhlIHRvdGFsIG5ldCBwcmljZSBvciBPcmRlckl0ZW1zIHRvIHdoaWNoIHRoaXMgdGF4UmF0ZSBhcHBsaWVzICovXHJcbiAgdGF4QmFzZTogU2NhbGFyc1snSW50J107XHJcbiAgLyoqIFRoZSB0b3RhbCB0YXggYmVpbmcgYXBwbGllZCB0byB0aGUgT3JkZXIgYXQgdGhpcyB0YXhSYXRlICovXHJcbiAgdGF4VG90YWw6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUGFnaW5hdGVkTGlzdCA9IHtcclxuICBpdGVtczogQXJyYXk8Tm9kZT47XHJcbiAgdG90YWxJdGVtczogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQYXltZW50ID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1BheW1lbnQnO1xyXG4gIG5leHRTdGF0ZXM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIG1ldGhvZDogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgYW1vdW50OiBTY2FsYXJzWydJbnQnXTtcclxuICBzdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdHJhbnNhY3Rpb25JZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBlcnJvck1lc3NhZ2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgcmVmdW5kczogQXJyYXk8UmVmdW5kPjtcclxuICBtZXRhZGF0YT86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQYXltZW50TWV0aG9kID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1BheW1lbnRNZXRob2QnO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGVuYWJsZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICBjaGVja2VyPzogTWF5YmU8Q29uZmlndXJhYmxlT3BlcmF0aW9uPjtcclxuICBoYW5kbGVyOiBDb25maWd1cmFibGVPcGVyYXRpb247XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFBheW1lbnRNZXRob2RGaWx0ZXJQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgbmFtZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgY29kZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIGVuYWJsZWQ/OiBNYXliZTxCb29sZWFuT3BlcmF0b3JzPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFBheW1lbnRNZXRob2RMaXN0ID0gUGFnaW5hdGVkTGlzdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1BheW1lbnRNZXRob2RMaXN0JztcclxuICBpdGVtczogQXJyYXk8UGF5bWVudE1ldGhvZD47XHJcbiAgdG90YWxJdGVtczogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQYXltZW50TWV0aG9kTGlzdE9wdGlvbnMgPSB7XHJcbiAgLyoqIFNraXBzIHRoZSBmaXJzdCBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHNraXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFRha2VzIG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgdGFrZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogU3BlY2lmaWVzIHdoaWNoIHByb3BlcnRpZXMgdG8gc29ydCB0aGUgcmVzdWx0cyBieSAqL1xyXG4gIHNvcnQ/OiBNYXliZTxQYXltZW50TWV0aG9kU29ydFBhcmFtZXRlcj47XHJcbiAgLyoqIEFsbG93cyB0aGUgcmVzdWx0cyB0byBiZSBmaWx0ZXJlZCAqL1xyXG4gIGZpbHRlcj86IE1heWJlPFBheW1lbnRNZXRob2RGaWx0ZXJQYXJhbWV0ZXI+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hldGhlciBtdWx0aXBsZSBcImZpbHRlclwiIGFyZ3VtZW50cyBzaG91bGQgYmUgY29tYmluZXMgd2l0aCBhIGxvZ2ljYWwgQU5EIG9yIE9SIG9wZXJhdGlvbi4gRGVmYXVsdHMgdG8gQU5ELiAqL1xyXG4gIGZpbHRlck9wZXJhdG9yPzogTWF5YmU8TG9naWNhbE9wZXJhdG9yPjtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBSZXR1cm5lZCB3aGVuIGEgY2FsbCB0byBtb2RpZnlPcmRlciBmYWlscyB0byBpbmNsdWRlIGEgcGF5bWVudE1ldGhvZCBldmVuXHJcbiAqIHRob3VnaCB0aGUgcHJpY2UgaGFzIGluY3JlYXNlZCBhcyBhIHJlc3VsdCBvZiB0aGUgY2hhbmdlcy5cclxuICovXHJcbmV4cG9ydCB0eXBlIFBheW1lbnRNZXRob2RNaXNzaW5nRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1BheW1lbnRNZXRob2RNaXNzaW5nRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUGF5bWVudE1ldGhvZFF1b3RlID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZFF1b3RlJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgaXNFbGlnaWJsZTogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGVsaWdpYmlsaXR5TWVzc2FnZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUGF5bWVudE1ldGhvZFNvcnRQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBuYW1lPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBjb2RlPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBkZXNjcmlwdGlvbj86IE1heWJlPFNvcnRPcmRlcj47XHJcbn07XHJcblxyXG4vKiogUmV0dXJuZWQgaWYgYW4gYXR0ZW1wdGluZyB0byByZWZ1bmQgYSBQYXltZW50IGFnYWluc3QgT3JkZXJMaW5lcyBmcm9tIGEgZGlmZmVyZW50IE9yZGVyICovXHJcbmV4cG9ydCB0eXBlIFBheW1lbnRPcmRlck1pc21hdGNoRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1BheW1lbnRPcmRlck1pc21hdGNoRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuLyoqIFJldHVybmVkIHdoZW4gdGhlcmUgaXMgYW4gZXJyb3IgaW4gdHJhbnNpdGlvbmluZyB0aGUgUGF5bWVudCBzdGF0ZSAqL1xyXG5leHBvcnQgdHlwZSBQYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1BheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdHJhbnNpdGlvbkVycm9yOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBmcm9tU3RhdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHRvU3RhdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBQZXJtaXNzaW9ucyBmb3IgYWRtaW5pc3RyYXRvcnMgYW5kIGN1c3RvbWVycy4gVXNlZCB0byBjb250cm9sIGFjY2VzcyB0b1xyXG4gKiBHcmFwaFFMIHJlc29sdmVycyB2aWEgdGhlIHtAbGluayBBbGxvd30gZGVjb3JhdG9yLlxyXG4gKlxyXG4gKiAjIyBVbmRlcnN0YW5kaW5nIFBlcm1pc3Npb24uT3duZXJcclxuICpcclxuICogYFBlcm1pc3Npb24uT3duZXJgIGlzIGEgc3BlY2lhbCBwZXJtaXNzaW9uIHdoaWNoIGlzIHVzZWQgaW4gc29tZSBWZW5kdXJlIHJlc29sdmVycyB0byBpbmRpY2F0ZSB0aGF0IHRoYXQgcmVzb2x2ZXIgc2hvdWxkIG9ubHlcclxuICogYmUgYWNjZXNzaWJsZSB0byB0aGUgXCJvd25lclwiIG9mIHRoYXQgcmVzb3VyY2UuXHJcbiAqXHJcbiAqIEZvciBleGFtcGxlLCB0aGUgU2hvcCBBUEkgYGFjdGl2ZUN1c3RvbWVyYCBxdWVyeSByZXNvbHZlciBzaG91bGQgb25seSByZXR1cm4gdGhlIEN1c3RvbWVyIG9iamVjdCBmb3IgdGhlIFwib3duZXJcIiBvZiB0aGF0IEN1c3RvbWVyLCBpLmUuXHJcbiAqIGJhc2VkIG9uIHRoZSBhY3RpdmVVc2VySWQgb2YgdGhlIGN1cnJlbnQgc2Vzc2lvbi4gQXMgYSByZXN1bHQsIHRoZSByZXNvbHZlciBjb2RlIGxvb2tzIGxpa2UgdGhpczpcclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgVHlwZVNjcmlwdFxyXG4gKiBcXEBRdWVyeSgpXHJcbiAqIFxcQEFsbG93KFBlcm1pc3Npb24uT3duZXIpXHJcbiAqIGFzeW5jIGFjdGl2ZUN1c3RvbWVyKFxcQEN0eCgpIGN0eDogUmVxdWVzdENvbnRleHQpOiBQcm9taXNlPEN1c3RvbWVyIHwgdW5kZWZpbmVkPiB7XHJcbiAqICAgY29uc3QgdXNlcklkID0gY3R4LmFjdGl2ZVVzZXJJZDtcclxuICogICBpZiAodXNlcklkKSB7XHJcbiAqICAgICByZXR1cm4gdGhpcy5jdXN0b21lclNlcnZpY2UuZmluZE9uZUJ5VXNlcklkKGN0eCwgdXNlcklkKTtcclxuICogICB9XHJcbiAqIH1cclxuICogYGBgXHJcbiAqXHJcbiAqIEhlcmUgd2UgY2FuIHNlZSB0aGF0IHRoZSBcIm93bmVyc2hpcFwiIG11c3QgYmUgZW5mb3JjZWQgYnkgY3VzdG9tIGxvZ2ljIGluc2lkZSB0aGUgcmVzb2x2ZXIuIFNpbmNlIFwib3duZXJzaGlwXCIgY2Fubm90IGJlIGRlZmluZWQgZ2VuZXJhbGx5XHJcbiAqIG5vciBzdGF0aWNhbGx5IGVuY29kZWQgYXQgYnVpbGQtdGltZSwgYW55IHJlc29sdmVycyB1c2luZyBgUGVybWlzc2lvbi5Pd25lcmAgKiptdXN0KiogaW5jbHVkZSBsb2dpYyB0byBlbmZvcmNlIHRoYXQgb25seSB0aGUgb3duZXJcclxuICogb2YgdGhlIHJlc291cmNlIGhhcyBhY2Nlc3MuIElmIG5vdCwgdGhlbiBpdCBpcyB0aGUgZXF1aXZhbGVudCBvZiB1c2luZyBgUGVybWlzc2lvbi5QdWJsaWNgLlxyXG4gKlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGNvbW1vblxyXG4gKi9cclxuZXhwb3J0IGVudW0gUGVybWlzc2lvbiB7XHJcbiAgLyoqIEF1dGhlbnRpY2F0ZWQgbWVhbnMgc2ltcGx5IHRoYXQgdGhlIHVzZXIgaXMgbG9nZ2VkIGluICovXHJcbiAgQXV0aGVudGljYXRlZCA9ICdBdXRoZW50aWNhdGVkJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIEFkbWluaXN0cmF0b3IgKi9cclxuICBDcmVhdGVBZG1pbmlzdHJhdG9yID0gJ0NyZWF0ZUFkbWluaXN0cmF0b3InLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgQXNzZXQgKi9cclxuICBDcmVhdGVBc3NldCA9ICdDcmVhdGVBc3NldCcsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBQcm9kdWN0cywgRmFjZXRzLCBBc3NldHMsIENvbGxlY3Rpb25zICovXHJcbiAgQ3JlYXRlQ2F0YWxvZyA9ICdDcmVhdGVDYXRhbG9nJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIENoYW5uZWwgKi9cclxuICBDcmVhdGVDaGFubmVsID0gJ0NyZWF0ZUNoYW5uZWwnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgQ29sbGVjdGlvbiAqL1xyXG4gIENyZWF0ZUNvbGxlY3Rpb24gPSAnQ3JlYXRlQ29sbGVjdGlvbicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBDb3VudHJ5ICovXHJcbiAgQ3JlYXRlQ291bnRyeSA9ICdDcmVhdGVDb3VudHJ5JyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIEN1c3RvbWVyICovXHJcbiAgQ3JlYXRlQ3VzdG9tZXIgPSAnQ3JlYXRlQ3VzdG9tZXInLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgQ3VzdG9tZXJHcm91cCAqL1xyXG4gIENyZWF0ZUN1c3RvbWVyR3JvdXAgPSAnQ3JlYXRlQ3VzdG9tZXJHcm91cCcsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBGYWNldCAqL1xyXG4gIENyZWF0ZUZhY2V0ID0gJ0NyZWF0ZUZhY2V0JyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIE9yZGVyICovXHJcbiAgQ3JlYXRlT3JkZXIgPSAnQ3JlYXRlT3JkZXInLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgUGF5bWVudE1ldGhvZCAqL1xyXG4gIENyZWF0ZVBheW1lbnRNZXRob2QgPSAnQ3JlYXRlUGF5bWVudE1ldGhvZCcsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBQcm9kdWN0ICovXHJcbiAgQ3JlYXRlUHJvZHVjdCA9ICdDcmVhdGVQcm9kdWN0JyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIFByb21vdGlvbiAqL1xyXG4gIENyZWF0ZVByb21vdGlvbiA9ICdDcmVhdGVQcm9tb3Rpb24nLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgUGF5bWVudE1ldGhvZHMsIFNoaXBwaW5nTWV0aG9kcywgVGF4Q2F0ZWdvcmllcywgVGF4UmF0ZXMsIFpvbmVzLCBDb3VudHJpZXMsIFN5c3RlbSAmIEdsb2JhbFNldHRpbmdzICovXHJcbiAgQ3JlYXRlU2V0dGluZ3MgPSAnQ3JlYXRlU2V0dGluZ3MnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgU2hpcHBpbmdNZXRob2QgKi9cclxuICBDcmVhdGVTaGlwcGluZ01ldGhvZCA9ICdDcmVhdGVTaGlwcGluZ01ldGhvZCcsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBTeXN0ZW0gKi9cclxuICBDcmVhdGVTeXN0ZW0gPSAnQ3JlYXRlU3lzdGVtJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIFRhZyAqL1xyXG4gIENyZWF0ZVRhZyA9ICdDcmVhdGVUYWcnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgVGF4Q2F0ZWdvcnkgKi9cclxuICBDcmVhdGVUYXhDYXRlZ29yeSA9ICdDcmVhdGVUYXhDYXRlZ29yeScsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBUYXhSYXRlICovXHJcbiAgQ3JlYXRlVGF4UmF0ZSA9ICdDcmVhdGVUYXhSYXRlJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIFpvbmUgKi9cclxuICBDcmVhdGVab25lID0gJ0NyZWF0ZVpvbmUnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgQWRtaW5pc3RyYXRvciAqL1xyXG4gIERlbGV0ZUFkbWluaXN0cmF0b3IgPSAnRGVsZXRlQWRtaW5pc3RyYXRvcicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBBc3NldCAqL1xyXG4gIERlbGV0ZUFzc2V0ID0gJ0RlbGV0ZUFzc2V0JyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIFByb2R1Y3RzLCBGYWNldHMsIEFzc2V0cywgQ29sbGVjdGlvbnMgKi9cclxuICBEZWxldGVDYXRhbG9nID0gJ0RlbGV0ZUNhdGFsb2cnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgQ2hhbm5lbCAqL1xyXG4gIERlbGV0ZUNoYW5uZWwgPSAnRGVsZXRlQ2hhbm5lbCcsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBDb2xsZWN0aW9uICovXHJcbiAgRGVsZXRlQ29sbGVjdGlvbiA9ICdEZWxldGVDb2xsZWN0aW9uJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIENvdW50cnkgKi9cclxuICBEZWxldGVDb3VudHJ5ID0gJ0RlbGV0ZUNvdW50cnknLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgQ3VzdG9tZXIgKi9cclxuICBEZWxldGVDdXN0b21lciA9ICdEZWxldGVDdXN0b21lcicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBDdXN0b21lckdyb3VwICovXHJcbiAgRGVsZXRlQ3VzdG9tZXJHcm91cCA9ICdEZWxldGVDdXN0b21lckdyb3VwJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIEZhY2V0ICovXHJcbiAgRGVsZXRlRmFjZXQgPSAnRGVsZXRlRmFjZXQnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgT3JkZXIgKi9cclxuICBEZWxldGVPcmRlciA9ICdEZWxldGVPcmRlcicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBQYXltZW50TWV0aG9kICovXHJcbiAgRGVsZXRlUGF5bWVudE1ldGhvZCA9ICdEZWxldGVQYXltZW50TWV0aG9kJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIFByb2R1Y3QgKi9cclxuICBEZWxldGVQcm9kdWN0ID0gJ0RlbGV0ZVByb2R1Y3QnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgUHJvbW90aW9uICovXHJcbiAgRGVsZXRlUHJvbW90aW9uID0gJ0RlbGV0ZVByb21vdGlvbicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBQYXltZW50TWV0aG9kcywgU2hpcHBpbmdNZXRob2RzLCBUYXhDYXRlZ29yaWVzLCBUYXhSYXRlcywgWm9uZXMsIENvdW50cmllcywgU3lzdGVtICYgR2xvYmFsU2V0dGluZ3MgKi9cclxuICBEZWxldGVTZXR0aW5ncyA9ICdEZWxldGVTZXR0aW5ncycsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBTaGlwcGluZ01ldGhvZCAqL1xyXG4gIERlbGV0ZVNoaXBwaW5nTWV0aG9kID0gJ0RlbGV0ZVNoaXBwaW5nTWV0aG9kJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIFN5c3RlbSAqL1xyXG4gIERlbGV0ZVN5c3RlbSA9ICdEZWxldGVTeXN0ZW0nLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgVGFnICovXHJcbiAgRGVsZXRlVGFnID0gJ0RlbGV0ZVRhZycsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBUYXhDYXRlZ29yeSAqL1xyXG4gIERlbGV0ZVRheENhdGVnb3J5ID0gJ0RlbGV0ZVRheENhdGVnb3J5JyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIFRheFJhdGUgKi9cclxuICBEZWxldGVUYXhSYXRlID0gJ0RlbGV0ZVRheFJhdGUnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgWm9uZSAqL1xyXG4gIERlbGV0ZVpvbmUgPSAnRGVsZXRlWm9uZScsXHJcbiAgLyoqIE93bmVyIG1lYW5zIHRoZSB1c2VyIG93bnMgdGhpcyBlbnRpdHksIGUuZy4gYSBDdXN0b21lcidzIG93biBPcmRlciAqL1xyXG4gIE93bmVyID0gJ093bmVyJyxcclxuICBQbGFjZWhvbGRlciA9ICdQbGFjZWhvbGRlcicsXHJcbiAgLyoqIFB1YmxpYyBtZWFucyBhbnkgdW5hdXRoZW50aWNhdGVkIHVzZXIgbWF5IHBlcmZvcm0gdGhlIG9wZXJhdGlvbiAqL1xyXG4gIFB1YmxpYyA9ICdQdWJsaWMnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIEFkbWluaXN0cmF0b3IgKi9cclxuICBSZWFkQWRtaW5pc3RyYXRvciA9ICdSZWFkQWRtaW5pc3RyYXRvcicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgQXNzZXQgKi9cclxuICBSZWFkQXNzZXQgPSAnUmVhZEFzc2V0JyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVhZCBQcm9kdWN0cywgRmFjZXRzLCBBc3NldHMsIENvbGxlY3Rpb25zICovXHJcbiAgUmVhZENhdGFsb2cgPSAnUmVhZENhdGFsb2cnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIENoYW5uZWwgKi9cclxuICBSZWFkQ2hhbm5lbCA9ICdSZWFkQ2hhbm5lbCcsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgQ29sbGVjdGlvbiAqL1xyXG4gIFJlYWRDb2xsZWN0aW9uID0gJ1JlYWRDb2xsZWN0aW9uJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVhZCBDb3VudHJ5ICovXHJcbiAgUmVhZENvdW50cnkgPSAnUmVhZENvdW50cnknLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIEN1c3RvbWVyICovXHJcbiAgUmVhZEN1c3RvbWVyID0gJ1JlYWRDdXN0b21lcicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgQ3VzdG9tZXJHcm91cCAqL1xyXG4gIFJlYWRDdXN0b21lckdyb3VwID0gJ1JlYWRDdXN0b21lckdyb3VwJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVhZCBGYWNldCAqL1xyXG4gIFJlYWRGYWNldCA9ICdSZWFkRmFjZXQnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIE9yZGVyICovXHJcbiAgUmVhZE9yZGVyID0gJ1JlYWRPcmRlcicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgUGF5bWVudE1ldGhvZCAqL1xyXG4gIFJlYWRQYXltZW50TWV0aG9kID0gJ1JlYWRQYXltZW50TWV0aG9kJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVhZCBQcm9kdWN0ICovXHJcbiAgUmVhZFByb2R1Y3QgPSAnUmVhZFByb2R1Y3QnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIFByb21vdGlvbiAqL1xyXG4gIFJlYWRQcm9tb3Rpb24gPSAnUmVhZFByb21vdGlvbicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgUGF5bWVudE1ldGhvZHMsIFNoaXBwaW5nTWV0aG9kcywgVGF4Q2F0ZWdvcmllcywgVGF4UmF0ZXMsIFpvbmVzLCBDb3VudHJpZXMsIFN5c3RlbSAmIEdsb2JhbFNldHRpbmdzICovXHJcbiAgUmVhZFNldHRpbmdzID0gJ1JlYWRTZXR0aW5ncycsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgU2hpcHBpbmdNZXRob2QgKi9cclxuICBSZWFkU2hpcHBpbmdNZXRob2QgPSAnUmVhZFNoaXBwaW5nTWV0aG9kJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVhZCBTeXN0ZW0gKi9cclxuICBSZWFkU3lzdGVtID0gJ1JlYWRTeXN0ZW0nLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIFRhZyAqL1xyXG4gIFJlYWRUYWcgPSAnUmVhZFRhZycsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgVGF4Q2F0ZWdvcnkgKi9cclxuICBSZWFkVGF4Q2F0ZWdvcnkgPSAnUmVhZFRheENhdGVnb3J5JyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVhZCBUYXhSYXRlICovXHJcbiAgUmVhZFRheFJhdGUgPSAnUmVhZFRheFJhdGUnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIFpvbmUgKi9cclxuICBSZWFkWm9uZSA9ICdSZWFkWm9uZScsXHJcbiAgLyoqIFN1cGVyQWRtaW4gaGFzIHVucmVzdHJpY3RlZCBhY2Nlc3MgdG8gYWxsIG9wZXJhdGlvbnMgKi9cclxuICBTdXBlckFkbWluID0gJ1N1cGVyQWRtaW4nLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgQWRtaW5pc3RyYXRvciAqL1xyXG4gIFVwZGF0ZUFkbWluaXN0cmF0b3IgPSAnVXBkYXRlQWRtaW5pc3RyYXRvcicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBBc3NldCAqL1xyXG4gIFVwZGF0ZUFzc2V0ID0gJ1VwZGF0ZUFzc2V0JyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIFByb2R1Y3RzLCBGYWNldHMsIEFzc2V0cywgQ29sbGVjdGlvbnMgKi9cclxuICBVcGRhdGVDYXRhbG9nID0gJ1VwZGF0ZUNhdGFsb2cnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgQ2hhbm5lbCAqL1xyXG4gIFVwZGF0ZUNoYW5uZWwgPSAnVXBkYXRlQ2hhbm5lbCcsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBDb2xsZWN0aW9uICovXHJcbiAgVXBkYXRlQ29sbGVjdGlvbiA9ICdVcGRhdGVDb2xsZWN0aW9uJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIENvdW50cnkgKi9cclxuICBVcGRhdGVDb3VudHJ5ID0gJ1VwZGF0ZUNvdW50cnknLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgQ3VzdG9tZXIgKi9cclxuICBVcGRhdGVDdXN0b21lciA9ICdVcGRhdGVDdXN0b21lcicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBDdXN0b21lckdyb3VwICovXHJcbiAgVXBkYXRlQ3VzdG9tZXJHcm91cCA9ICdVcGRhdGVDdXN0b21lckdyb3VwJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIEZhY2V0ICovXHJcbiAgVXBkYXRlRmFjZXQgPSAnVXBkYXRlRmFjZXQnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgR2xvYmFsU2V0dGluZ3MgKi9cclxuICBVcGRhdGVHbG9iYWxTZXR0aW5ncyA9ICdVcGRhdGVHbG9iYWxTZXR0aW5ncycsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBPcmRlciAqL1xyXG4gIFVwZGF0ZU9yZGVyID0gJ1VwZGF0ZU9yZGVyJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIFBheW1lbnRNZXRob2QgKi9cclxuICBVcGRhdGVQYXltZW50TWV0aG9kID0gJ1VwZGF0ZVBheW1lbnRNZXRob2QnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgUHJvZHVjdCAqL1xyXG4gIFVwZGF0ZVByb2R1Y3QgPSAnVXBkYXRlUHJvZHVjdCcsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBQcm9tb3Rpb24gKi9cclxuICBVcGRhdGVQcm9tb3Rpb24gPSAnVXBkYXRlUHJvbW90aW9uJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIFBheW1lbnRNZXRob2RzLCBTaGlwcGluZ01ldGhvZHMsIFRheENhdGVnb3JpZXMsIFRheFJhdGVzLCBab25lcywgQ291bnRyaWVzLCBTeXN0ZW0gJiBHbG9iYWxTZXR0aW5ncyAqL1xyXG4gIFVwZGF0ZVNldHRpbmdzID0gJ1VwZGF0ZVNldHRpbmdzJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIFNoaXBwaW5nTWV0aG9kICovXHJcbiAgVXBkYXRlU2hpcHBpbmdNZXRob2QgPSAnVXBkYXRlU2hpcHBpbmdNZXRob2QnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgU3lzdGVtICovXHJcbiAgVXBkYXRlU3lzdGVtID0gJ1VwZGF0ZVN5c3RlbScsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBUYWcgKi9cclxuICBVcGRhdGVUYWcgPSAnVXBkYXRlVGFnJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIFRheENhdGVnb3J5ICovXHJcbiAgVXBkYXRlVGF4Q2F0ZWdvcnkgPSAnVXBkYXRlVGF4Q2F0ZWdvcnknLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgVGF4UmF0ZSAqL1xyXG4gIFVwZGF0ZVRheFJhdGUgPSAnVXBkYXRlVGF4UmF0ZScsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBab25lICovXHJcbiAgVXBkYXRlWm9uZSA9ICdVcGRhdGVab25lJ1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQZXJtaXNzaW9uRGVmaW5pdGlvbiA9IHtcclxuICBfX3R5cGVuYW1lPzogJ1Blcm1pc3Npb25EZWZpbml0aW9uJztcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgYXNzaWduYWJsZTogU2NhbGFyc1snQm9vbGVhbiddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJldmlld0NvbGxlY3Rpb25WYXJpYW50c0lucHV0ID0ge1xyXG4gIHBhcmVudElkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbiAgZmlsdGVyczogQXJyYXk8Q29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQ+O1xyXG59O1xyXG5cclxuLyoqIFRoZSBwcmljZSByYW5nZSB3aGVyZSB0aGUgcmVzdWx0IGhhcyBtb3JlIHRoYW4gb25lIHByaWNlICovXHJcbmV4cG9ydCB0eXBlIFByaWNlUmFuZ2UgPSB7XHJcbiAgX190eXBlbmFtZT86ICdQcmljZVJhbmdlJztcclxuICBtaW46IFNjYWxhcnNbJ0ludCddO1xyXG4gIG1heDogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0ID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1Byb2R1Y3QnO1xyXG4gIGVuYWJsZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICBjaGFubmVsczogQXJyYXk8Q2hhbm5lbD47XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBzbHVnOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZmVhdHVyZWRBc3NldD86IE1heWJlPEFzc2V0PjtcclxuICBhc3NldHM6IEFycmF5PEFzc2V0PjtcclxuICAvKiogUmV0dXJucyBhbGwgUHJvZHVjdFZhcmlhbnRzICovXHJcbiAgdmFyaWFudHM6IEFycmF5PFByb2R1Y3RWYXJpYW50PjtcclxuICAvKiogUmV0dXJucyBhIHBhZ2luYXRlZCwgc29ydGFibGUsIGZpbHRlcmFibGUgbGlzdCBvZiBQcm9kdWN0VmFyaWFudHMgKi9cclxuICB2YXJpYW50TGlzdDogUHJvZHVjdFZhcmlhbnRMaXN0O1xyXG4gIG9wdGlvbkdyb3VwczogQXJyYXk8UHJvZHVjdE9wdGlvbkdyb3VwPjtcclxuICBmYWNldFZhbHVlczogQXJyYXk8RmFjZXRWYWx1ZT47XHJcbiAgdHJhbnNsYXRpb25zOiBBcnJheTxQcm9kdWN0VHJhbnNsYXRpb24+O1xyXG4gIGNvbGxlY3Rpb25zOiBBcnJheTxDb2xsZWN0aW9uPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RWYXJpYW50TGlzdEFyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPFByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnM+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdEZpbHRlclBhcmFtZXRlciA9IHtcclxuICBlbmFibGVkPzogTWF5YmU8Qm9vbGVhbk9wZXJhdG9ycz47XHJcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgbGFuZ3VhZ2VDb2RlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBuYW1lPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBzbHVnPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBkZXNjcmlwdGlvbj86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0TGlzdCA9IFBhZ2luYXRlZExpc3QgJiB7XHJcbiAgX190eXBlbmFtZT86ICdQcm9kdWN0TGlzdCc7XHJcbiAgaXRlbXM6IEFycmF5PFByb2R1Y3Q+O1xyXG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdExpc3RPcHRpb25zID0ge1xyXG4gIC8qKiBTa2lwcyB0aGUgZmlyc3QgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICBza2lwPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBUYWtlcyBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHRha2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGljaCBwcm9wZXJ0aWVzIHRvIHNvcnQgdGhlIHJlc3VsdHMgYnkgKi9cclxuICBzb3J0PzogTWF5YmU8UHJvZHVjdFNvcnRQYXJhbWV0ZXI+O1xyXG4gIC8qKiBBbGxvd3MgdGhlIHJlc3VsdHMgdG8gYmUgZmlsdGVyZWQgKi9cclxuICBmaWx0ZXI/OiBNYXliZTxQcm9kdWN0RmlsdGVyUGFyYW1ldGVyPjtcclxuICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgbXVsdGlwbGUgXCJmaWx0ZXJcIiBhcmd1bWVudHMgc2hvdWxkIGJlIGNvbWJpbmVzIHdpdGggYSBsb2dpY2FsIEFORCBvciBPUiBvcGVyYXRpb24uIERlZmF1bHRzIHRvIEFORC4gKi9cclxuICBmaWx0ZXJPcGVyYXRvcj86IE1heWJlPExvZ2ljYWxPcGVyYXRvcj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0T3B0aW9uID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb24nO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZ3JvdXBJZDogU2NhbGFyc1snSUQnXTtcclxuICBncm91cDogUHJvZHVjdE9wdGlvbkdyb3VwO1xyXG4gIHRyYW5zbGF0aW9uczogQXJyYXk8UHJvZHVjdE9wdGlvblRyYW5zbGF0aW9uPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdE9wdGlvbkdyb3VwID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25Hcm91cCc7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBvcHRpb25zOiBBcnJheTxQcm9kdWN0T3B0aW9uPjtcclxuICB0cmFuc2xhdGlvbnM6IEFycmF5PFByb2R1Y3RPcHRpb25Hcm91cFRyYW5zbGF0aW9uPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdE9wdGlvbkdyb3VwVHJhbnNsYXRpb24gPSB7XHJcbiAgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uR3JvdXBUcmFuc2xhdGlvbic7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RPcHRpb25Hcm91cFRyYW5zbGF0aW9uSW5wdXQgPSB7XHJcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICBuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0T3B0aW9uSW5Vc2VFcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbkluVXNlRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIG9wdGlvbkdyb3VwQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgcHJvZHVjdFZhcmlhbnRDb3VudDogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0T3B0aW9uVHJhbnNsYXRpb24gPSB7XHJcbiAgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uVHJhbnNsYXRpb24nO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0T3B0aW9uVHJhbnNsYXRpb25JbnB1dCA9IHtcclxuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIG5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RTb3J0UGFyYW1ldGVyID0ge1xyXG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHVwZGF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgbmFtZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgc2x1Zz86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdFRyYW5zbGF0aW9uID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnUHJvZHVjdFRyYW5zbGF0aW9uJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHNsdWc6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RUcmFuc2xhdGlvbklucHV0ID0ge1xyXG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgbmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBzbHVnPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0VmFyaWFudCA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudCc7XHJcbiAgZW5hYmxlZDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIHRyYWNrSW52ZW50b3J5OiBHbG9iYWxGbGFnO1xyXG4gIHN0b2NrT25IYW5kOiBTY2FsYXJzWydJbnQnXTtcclxuICBzdG9ja0FsbG9jYXRlZDogU2NhbGFyc1snSW50J107XHJcbiAgb3V0T2ZTdG9ja1RocmVzaG9sZDogU2NhbGFyc1snSW50J107XHJcbiAgdXNlR2xvYmFsT3V0T2ZTdG9ja1RocmVzaG9sZDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIHN0b2NrTW92ZW1lbnRzOiBTdG9ja01vdmVtZW50TGlzdDtcclxuICBjaGFubmVsczogQXJyYXk8Q2hhbm5lbD47XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgcHJvZHVjdDogUHJvZHVjdDtcclxuICBwcm9kdWN0SWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICBza3U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGZlYXR1cmVkQXNzZXQ/OiBNYXliZTxBc3NldD47XHJcbiAgYXNzZXRzOiBBcnJheTxBc3NldD47XHJcbiAgcHJpY2U6IFNjYWxhcnNbJ0ludCddO1xyXG4gIGN1cnJlbmN5Q29kZTogQ3VycmVuY3lDb2RlO1xyXG4gIHByaWNlV2l0aFRheDogU2NhbGFyc1snSW50J107XHJcbiAgc3RvY2tMZXZlbDogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdGF4UmF0ZUFwcGxpZWQ6IFRheFJhdGU7XHJcbiAgdGF4Q2F0ZWdvcnk6IFRheENhdGVnb3J5O1xyXG4gIG9wdGlvbnM6IEFycmF5PFByb2R1Y3RPcHRpb24+O1xyXG4gIGZhY2V0VmFsdWVzOiBBcnJheTxGYWNldFZhbHVlPjtcclxuICB0cmFuc2xhdGlvbnM6IEFycmF5PFByb2R1Y3RWYXJpYW50VHJhbnNsYXRpb24+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdFZhcmlhbnRTdG9ja01vdmVtZW50c0FyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPFN0b2NrTW92ZW1lbnRMaXN0T3B0aW9ucz47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0VmFyaWFudEZpbHRlclBhcmFtZXRlciA9IHtcclxuICBlbmFibGVkPzogTWF5YmU8Qm9vbGVhbk9wZXJhdG9ycz47XHJcbiAgdHJhY2tJbnZlbnRvcnk/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIHN0b2NrT25IYW5kPzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICBzdG9ja0FsbG9jYXRlZD86IE1heWJlPE51bWJlck9wZXJhdG9ycz47XHJcbiAgb3V0T2ZTdG9ja1RocmVzaG9sZD86IE1heWJlPE51bWJlck9wZXJhdG9ycz47XHJcbiAgdXNlR2xvYmFsT3V0T2ZTdG9ja1RocmVzaG9sZD86IE1heWJlPEJvb2xlYW5PcGVyYXRvcnM+O1xyXG4gIGlkPzogTWF5YmU8SWRPcGVyYXRvcnM+O1xyXG4gIHByb2R1Y3RJZD86IE1heWJlPElkT3BlcmF0b3JzPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICB1cGRhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICBsYW5ndWFnZUNvZGU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIHNrdT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgbmFtZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgcHJpY2U/OiBNYXliZTxOdW1iZXJPcGVyYXRvcnM+O1xyXG4gIGN1cnJlbmN5Q29kZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgcHJpY2VXaXRoVGF4PzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICBzdG9ja0xldmVsPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RWYXJpYW50TGlzdCA9IFBhZ2luYXRlZExpc3QgJiB7XHJcbiAgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudExpc3QnO1xyXG4gIGl0ZW1zOiBBcnJheTxQcm9kdWN0VmFyaWFudD47XHJcbiAgdG90YWxJdGVtczogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0VmFyaWFudExpc3RPcHRpb25zID0ge1xyXG4gIC8qKiBTa2lwcyB0aGUgZmlyc3QgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICBza2lwPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBUYWtlcyBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHRha2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGljaCBwcm9wZXJ0aWVzIHRvIHNvcnQgdGhlIHJlc3VsdHMgYnkgKi9cclxuICBzb3J0PzogTWF5YmU8UHJvZHVjdFZhcmlhbnRTb3J0UGFyYW1ldGVyPjtcclxuICAvKiogQWxsb3dzIHRoZSByZXN1bHRzIHRvIGJlIGZpbHRlcmVkICovXHJcbiAgZmlsdGVyPzogTWF5YmU8UHJvZHVjdFZhcmlhbnRGaWx0ZXJQYXJhbWV0ZXI+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hldGhlciBtdWx0aXBsZSBcImZpbHRlclwiIGFyZ3VtZW50cyBzaG91bGQgYmUgY29tYmluZXMgd2l0aCBhIGxvZ2ljYWwgQU5EIG9yIE9SIG9wZXJhdGlvbi4gRGVmYXVsdHMgdG8gQU5ELiAqL1xyXG4gIGZpbHRlck9wZXJhdG9yPzogTWF5YmU8TG9naWNhbE9wZXJhdG9yPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RWYXJpYW50U29ydFBhcmFtZXRlciA9IHtcclxuICBzdG9ja09uSGFuZD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgc3RvY2tBbGxvY2F0ZWQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIG91dE9mU3RvY2tUaHJlc2hvbGQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBwcm9kdWN0SWQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBza3U/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIG5hbWU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHByaWNlPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBwcmljZVdpdGhUYXg/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHN0b2NrTGV2ZWw/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdFZhcmlhbnRUcmFuc2xhdGlvbiA9IHtcclxuICBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50VHJhbnNsYXRpb24nO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0VmFyaWFudFRyYW5zbGF0aW9uSW5wdXQgPSB7XHJcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICBuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9tb3Rpb24gPSBOb2RlICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnUHJvbW90aW9uJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHN0YXJ0c0F0PzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XHJcbiAgZW5kc0F0PzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XHJcbiAgY291cG9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBwZXJDdXN0b21lclVzYWdlTGltaXQ/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZW5hYmxlZDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGNvbmRpdGlvbnM6IEFycmF5PENvbmZpZ3VyYWJsZU9wZXJhdGlvbj47XHJcbiAgYWN0aW9uczogQXJyYXk8Q29uZmlndXJhYmxlT3BlcmF0aW9uPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvbW90aW9uRmlsdGVyUGFyYW1ldGVyID0ge1xyXG4gIGlkPzogTWF5YmU8SWRPcGVyYXRvcnM+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xyXG4gIHVwZGF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xyXG4gIHN0YXJ0c0F0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgZW5kc0F0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgY291cG9uQ29kZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgcGVyQ3VzdG9tZXJVc2FnZUxpbWl0PzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICBuYW1lPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBlbmFibGVkPzogTWF5YmU8Qm9vbGVhbk9wZXJhdG9ycz47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9tb3Rpb25MaXN0ID0gUGFnaW5hdGVkTGlzdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1Byb21vdGlvbkxpc3QnO1xyXG4gIGl0ZW1zOiBBcnJheTxQcm9tb3Rpb24+O1xyXG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvbW90aW9uTGlzdE9wdGlvbnMgPSB7XHJcbiAgLyoqIFNraXBzIHRoZSBmaXJzdCBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHNraXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFRha2VzIG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgdGFrZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogU3BlY2lmaWVzIHdoaWNoIHByb3BlcnRpZXMgdG8gc29ydCB0aGUgcmVzdWx0cyBieSAqL1xyXG4gIHNvcnQ/OiBNYXliZTxQcm9tb3Rpb25Tb3J0UGFyYW1ldGVyPjtcclxuICAvKiogQWxsb3dzIHRoZSByZXN1bHRzIHRvIGJlIGZpbHRlcmVkICovXHJcbiAgZmlsdGVyPzogTWF5YmU8UHJvbW90aW9uRmlsdGVyUGFyYW1ldGVyPjtcclxuICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgbXVsdGlwbGUgXCJmaWx0ZXJcIiBhcmd1bWVudHMgc2hvdWxkIGJlIGNvbWJpbmVzIHdpdGggYSBsb2dpY2FsIEFORCBvciBPUiBvcGVyYXRpb24uIERlZmF1bHRzIHRvIEFORC4gKi9cclxuICBmaWx0ZXJPcGVyYXRvcj86IE1heWJlPExvZ2ljYWxPcGVyYXRvcj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9tb3Rpb25Tb3J0UGFyYW1ldGVyID0ge1xyXG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHVwZGF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgc3RhcnRzQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGVuZHNBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgY291cG9uQ29kZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgcGVyQ3VzdG9tZXJVc2FnZUxpbWl0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBuYW1lPzogTWF5YmU8U29ydE9yZGVyPjtcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCBpZiB0aGUgc3BlY2lmaWVkIHF1YW50aXR5IG9mIGFuIE9yZGVyTGluZSBpcyBncmVhdGVyIHRoYW4gdGhlIG51bWJlciBvZiBpdGVtcyBpbiB0aGF0IGxpbmUgKi9cclxuZXhwb3J0IHR5cGUgUXVhbnRpdHlUb29HcmVhdEVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdRdWFudGl0eVRvb0dyZWF0RXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnkgPSB7XHJcbiAgX190eXBlbmFtZT86ICdRdWVyeSc7XHJcbiAgYWN0aXZlQWRtaW5pc3RyYXRvcj86IE1heWJlPEFkbWluaXN0cmF0b3I+O1xyXG4gIGFjdGl2ZUNoYW5uZWw6IENoYW5uZWw7XHJcbiAgYWRtaW5pc3RyYXRvcj86IE1heWJlPEFkbWluaXN0cmF0b3I+O1xyXG4gIGFkbWluaXN0cmF0b3JzOiBBZG1pbmlzdHJhdG9yTGlzdDtcclxuICAvKiogR2V0IGEgc2luZ2xlIEFzc2V0IGJ5IGlkICovXHJcbiAgYXNzZXQ/OiBNYXliZTxBc3NldD47XHJcbiAgLyoqIEdldCBhIGxpc3Qgb2YgQXNzZXRzICovXHJcbiAgYXNzZXRzOiBBc3NldExpc3Q7XHJcbiAgY2hhbm5lbD86IE1heWJlPENoYW5uZWw+O1xyXG4gIGNoYW5uZWxzOiBBcnJheTxDaGFubmVsPjtcclxuICAvKiogR2V0IGEgQ29sbGVjdGlvbiBlaXRoZXIgYnkgaWQgb3Igc2x1Zy4gSWYgbmVpdGhlciBpZCBub3Igc2x1ZyBpcyBzcGVjaWZpZWQsIGFuIGVycm9yIHdpbGwgcmVzdWx0LiAqL1xyXG4gIGNvbGxlY3Rpb24/OiBNYXliZTxDb2xsZWN0aW9uPjtcclxuICBjb2xsZWN0aW9uRmlsdGVyczogQXJyYXk8Q29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbj47XHJcbiAgY29sbGVjdGlvbnM6IENvbGxlY3Rpb25MaXN0O1xyXG4gIGNvdW50cmllczogQ291bnRyeUxpc3Q7XHJcbiAgY291bnRyeT86IE1heWJlPENvdW50cnk+O1xyXG4gIGN1c3RvbWVyPzogTWF5YmU8Q3VzdG9tZXI+O1xyXG4gIGN1c3RvbWVyR3JvdXA/OiBNYXliZTxDdXN0b21lckdyb3VwPjtcclxuICBjdXN0b21lckdyb3VwczogQ3VzdG9tZXJHcm91cExpc3Q7XHJcbiAgY3VzdG9tZXJzOiBDdXN0b21lckxpc3Q7XHJcbiAgLyoqIFJldHVybnMgYSBsaXN0IG9mIGVsaWdpYmxlIHNoaXBwaW5nIG1ldGhvZHMgZm9yIHRoZSBkcmFmdCBPcmRlciAqL1xyXG4gIGVsaWdpYmxlU2hpcHBpbmdNZXRob2RzRm9yRHJhZnRPcmRlcjogQXJyYXk8U2hpcHBpbmdNZXRob2RRdW90ZT47XHJcbiAgZmFjZXQ/OiBNYXliZTxGYWNldD47XHJcbiAgZmFjZXRWYWx1ZXM6IEZhY2V0VmFsdWVMaXN0O1xyXG4gIGZhY2V0czogRmFjZXRMaXN0O1xyXG4gIGZ1bGZpbGxtZW50SGFuZGxlcnM6IEFycmF5PENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZmluaXRpb24+O1xyXG4gIGdsb2JhbFNldHRpbmdzOiBHbG9iYWxTZXR0aW5ncztcclxuICBqb2I/OiBNYXliZTxKb2I+O1xyXG4gIGpvYkJ1ZmZlclNpemU6IEFycmF5PEpvYkJ1ZmZlclNpemU+O1xyXG4gIGpvYlF1ZXVlczogQXJyYXk8Sm9iUXVldWU+O1xyXG4gIGpvYnM6IEpvYkxpc3Q7XHJcbiAgam9ic0J5SWQ6IEFycmF5PEpvYj47XHJcbiAgbWU/OiBNYXliZTxDdXJyZW50VXNlcj47XHJcbiAgbmV0d29ya1N0YXR1czogTmV0d29ya1N0YXR1cztcclxuICBvcmRlcj86IE1heWJlPE9yZGVyPjtcclxuICBvcmRlcnM6IE9yZGVyTGlzdDtcclxuICBwYXltZW50TWV0aG9kPzogTWF5YmU8UGF5bWVudE1ldGhvZD47XHJcbiAgcGF5bWVudE1ldGhvZEVsaWdpYmlsaXR5Q2hlY2tlcnM6IEFycmF5PENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZmluaXRpb24+O1xyXG4gIHBheW1lbnRNZXRob2RIYW5kbGVyczogQXJyYXk8Q29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbj47XHJcbiAgcGF5bWVudE1ldGhvZHM6IFBheW1lbnRNZXRob2RMaXN0O1xyXG4gIHBlbmRpbmdTZWFyY2hJbmRleFVwZGF0ZXM6IFNjYWxhcnNbJ0ludCddO1xyXG4gIC8qKiBVc2VkIGZvciByZWFsLXRpbWUgcHJldmlld3Mgb2YgdGhlIGNvbnRlbnRzIG9mIGEgQ29sbGVjdGlvbiAqL1xyXG4gIHByZXZpZXdDb2xsZWN0aW9uVmFyaWFudHM6IFByb2R1Y3RWYXJpYW50TGlzdDtcclxuICAvKiogR2V0IGEgUHJvZHVjdCBlaXRoZXIgYnkgaWQgb3Igc2x1Zy4gSWYgbmVpdGhlciBpZCBub3Igc2x1ZyBpcyBzcGVjaWZpZWQsIGFuIGVycm9yIHdpbGwgcmVzdWx0LiAqL1xyXG4gIHByb2R1Y3Q/OiBNYXliZTxQcm9kdWN0PjtcclxuICBwcm9kdWN0T3B0aW9uR3JvdXA/OiBNYXliZTxQcm9kdWN0T3B0aW9uR3JvdXA+O1xyXG4gIHByb2R1Y3RPcHRpb25Hcm91cHM6IEFycmF5PFByb2R1Y3RPcHRpb25Hcm91cD47XHJcbiAgLyoqIEdldCBhIFByb2R1Y3RWYXJpYW50IGJ5IGlkICovXHJcbiAgcHJvZHVjdFZhcmlhbnQ/OiBNYXliZTxQcm9kdWN0VmFyaWFudD47XHJcbiAgLyoqIExpc3QgUHJvZHVjdFZhcmlhbnRzIGVpdGhlciBhbGwgb3IgZm9yIHRoZSBzcGVjaWZpYyBwcm9kdWN0LiAqL1xyXG4gIHByb2R1Y3RWYXJpYW50czogUHJvZHVjdFZhcmlhbnRMaXN0O1xyXG4gIC8qKiBMaXN0IFByb2R1Y3RzICovXHJcbiAgcHJvZHVjdHM6IFByb2R1Y3RMaXN0O1xyXG4gIHByb21vdGlvbj86IE1heWJlPFByb21vdGlvbj47XHJcbiAgcHJvbW90aW9uQWN0aW9uczogQXJyYXk8Q29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbj47XHJcbiAgcHJvbW90aW9uQ29uZGl0aW9uczogQXJyYXk8Q29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbj47XHJcbiAgcHJvbW90aW9uczogUHJvbW90aW9uTGlzdDtcclxuICByb2xlPzogTWF5YmU8Um9sZT47XHJcbiAgcm9sZXM6IFJvbGVMaXN0O1xyXG4gIHNlYXJjaDogU2VhcmNoUmVzcG9uc2U7XHJcbiAgc2hpcHBpbmdDYWxjdWxhdG9yczogQXJyYXk8Q29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbj47XHJcbiAgc2hpcHBpbmdFbGlnaWJpbGl0eUNoZWNrZXJzOiBBcnJheTxDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uPjtcclxuICBzaGlwcGluZ01ldGhvZD86IE1heWJlPFNoaXBwaW5nTWV0aG9kPjtcclxuICBzaGlwcGluZ01ldGhvZHM6IFNoaXBwaW5nTWV0aG9kTGlzdDtcclxuICB0YWc6IFRhZztcclxuICB0YWdzOiBUYWdMaXN0O1xyXG4gIHRheENhdGVnb3JpZXM6IEFycmF5PFRheENhdGVnb3J5PjtcclxuICB0YXhDYXRlZ29yeT86IE1heWJlPFRheENhdGVnb3J5PjtcclxuICB0YXhSYXRlPzogTWF5YmU8VGF4UmF0ZT47XHJcbiAgdGF4UmF0ZXM6IFRheFJhdGVMaXN0O1xyXG4gIHRlc3RFbGlnaWJsZVNoaXBwaW5nTWV0aG9kczogQXJyYXk8U2hpcHBpbmdNZXRob2RRdW90ZT47XHJcbiAgdGVzdFNoaXBwaW5nTWV0aG9kOiBUZXN0U2hpcHBpbmdNZXRob2RSZXN1bHQ7XHJcbiAgdWlTdGF0ZTogVWlTdGF0ZTtcclxuICB1c2VyU3RhdHVzOiBVc2VyU3RhdHVzO1xyXG4gIHpvbmU/OiBNYXliZTxab25lPjtcclxuICB6b25lczogQXJyYXk8Wm9uZT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlBZG1pbmlzdHJhdG9yQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeUFkbWluaXN0cmF0b3JzQXJncyA9IHtcclxuICBvcHRpb25zPzogTWF5YmU8QWRtaW5pc3RyYXRvckxpc3RPcHRpb25zPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeUFzc2V0QXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeUFzc2V0c0FyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPEFzc2V0TGlzdE9wdGlvbnM+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5Q2hhbm5lbEFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlDb2xsZWN0aW9uQXJncyA9IHtcclxuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xyXG4gIHNsdWc/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlDb2xsZWN0aW9uc0FyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPENvbGxlY3Rpb25MaXN0T3B0aW9ucz47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlDb3VudHJpZXNBcmdzID0ge1xyXG4gIG9wdGlvbnM/OiBNYXliZTxDb3VudHJ5TGlzdE9wdGlvbnM+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5Q291bnRyeUFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlDdXN0b21lckFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlDdXN0b21lckdyb3VwQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeUN1c3RvbWVyR3JvdXBzQXJncyA9IHtcclxuICBvcHRpb25zPzogTWF5YmU8Q3VzdG9tZXJHcm91cExpc3RPcHRpb25zPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeUN1c3RvbWVyc0FyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPEN1c3RvbWVyTGlzdE9wdGlvbnM+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5RWxpZ2libGVTaGlwcGluZ01ldGhvZHNGb3JEcmFmdE9yZGVyQXJncyA9IHtcclxuICBvcmRlcklkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5RmFjZXRBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5RmFjZXRWYWx1ZXNBcmdzID0ge1xyXG4gIG9wdGlvbnM/OiBNYXliZTxGYWNldFZhbHVlTGlzdE9wdGlvbnM+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5RmFjZXRzQXJncyA9IHtcclxuICBvcHRpb25zPzogTWF5YmU8RmFjZXRMaXN0T3B0aW9ucz47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlKb2JBcmdzID0ge1xyXG4gIGpvYklkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5Sm9iQnVmZmVyU2l6ZUFyZ3MgPSB7XHJcbiAgYnVmZmVySWRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+PjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeUpvYnNBcmdzID0ge1xyXG4gIG9wdGlvbnM/OiBNYXliZTxKb2JMaXN0T3B0aW9ucz47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlKb2JzQnlJZEFyZ3MgPSB7XHJcbiAgam9iSWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeU9yZGVyQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeU9yZGVyc0FyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPE9yZGVyTGlzdE9wdGlvbnM+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5UGF5bWVudE1ldGhvZEFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlQYXltZW50TWV0aG9kc0FyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPFBheW1lbnRNZXRob2RMaXN0T3B0aW9ucz47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlQcmV2aWV3Q29sbGVjdGlvblZhcmlhbnRzQXJncyA9IHtcclxuICBpbnB1dDogUHJldmlld0NvbGxlY3Rpb25WYXJpYW50c0lucHV0O1xyXG4gIG9wdGlvbnM/OiBNYXliZTxQcm9kdWN0VmFyaWFudExpc3RPcHRpb25zPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVByb2R1Y3RBcmdzID0ge1xyXG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbiAgc2x1Zz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVByb2R1Y3RPcHRpb25Hcm91cEFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlQcm9kdWN0T3B0aW9uR3JvdXBzQXJncyA9IHtcclxuICBmaWx0ZXJUZXJtPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5UHJvZHVjdFZhcmlhbnRBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5UHJvZHVjdFZhcmlhbnRzQXJncyA9IHtcclxuICBvcHRpb25zPzogTWF5YmU8UHJvZHVjdFZhcmlhbnRMaXN0T3B0aW9ucz47XHJcbiAgcHJvZHVjdElkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlQcm9kdWN0c0FyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPFByb2R1Y3RMaXN0T3B0aW9ucz47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlQcm9tb3Rpb25BcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5UHJvbW90aW9uc0FyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPFByb21vdGlvbkxpc3RPcHRpb25zPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVJvbGVBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5Um9sZXNBcmdzID0ge1xyXG4gIG9wdGlvbnM/OiBNYXliZTxSb2xlTGlzdE9wdGlvbnM+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoQXJncyA9IHtcclxuICBpbnB1dDogU2VhcmNoSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlTaGlwcGluZ01ldGhvZEFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlTaGlwcGluZ01ldGhvZHNBcmdzID0ge1xyXG4gIG9wdGlvbnM/OiBNYXliZTxTaGlwcGluZ01ldGhvZExpc3RPcHRpb25zPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVRhZ0FyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlUYWdzQXJncyA9IHtcclxuICBvcHRpb25zPzogTWF5YmU8VGFnTGlzdE9wdGlvbnM+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5VGF4Q2F0ZWdvcnlBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5VGF4UmF0ZUFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlUYXhSYXRlc0FyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPFRheFJhdGVMaXN0T3B0aW9ucz47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlUZXN0RWxpZ2libGVTaGlwcGluZ01ldGhvZHNBcmdzID0ge1xyXG4gIGlucHV0OiBUZXN0RWxpZ2libGVTaGlwcGluZ01ldGhvZHNJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVRlc3RTaGlwcGluZ01ldGhvZEFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFRlc3RTaGlwcGluZ01ldGhvZElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5Wm9uZUFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBSZWZ1bmQgPSBOb2RlICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnUmVmdW5kJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIGl0ZW1zOiBTY2FsYXJzWydJbnQnXTtcclxuICBzaGlwcGluZzogU2NhbGFyc1snSW50J107XHJcbiAgYWRqdXN0bWVudDogU2NhbGFyc1snSW50J107XHJcbiAgdG90YWw6IFNjYWxhcnNbJ0ludCddO1xyXG4gIG1ldGhvZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBzdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdHJhbnNhY3Rpb25JZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICByZWFzb24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgb3JkZXJJdGVtczogQXJyYXk8T3JkZXJJdGVtPjtcclxuICBwYXltZW50SWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgbWV0YWRhdGE/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUmVmdW5kT3JkZXJJbnB1dCA9IHtcclxuICBsaW5lczogQXJyYXk8T3JkZXJMaW5lSW5wdXQ+O1xyXG4gIHNoaXBwaW5nOiBTY2FsYXJzWydJbnQnXTtcclxuICBhZGp1c3RtZW50OiBTY2FsYXJzWydJbnQnXTtcclxuICBwYXltZW50SWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgcmVhc29uPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUmVmdW5kT3JkZXJSZXN1bHQgPSBSZWZ1bmQgfCBRdWFudGl0eVRvb0dyZWF0RXJyb3IgfCBOb3RoaW5nVG9SZWZ1bmRFcnJvciB8IE9yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3IgfCBNdWx0aXBsZU9yZGVyRXJyb3IgfCBQYXltZW50T3JkZXJNaXNtYXRjaEVycm9yIHwgUmVmdW5kT3JkZXJTdGF0ZUVycm9yIHwgQWxyZWFkeVJlZnVuZGVkRXJyb3IgfCBSZWZ1bmRTdGF0ZVRyYW5zaXRpb25FcnJvcjtcclxuXHJcbi8qKiBSZXR1cm5lZCBpZiBhbiBhdHRlbXB0aW5nIHRvIHJlZnVuZCBhbiBPcmRlciB3aGljaCBpcyBub3QgaW4gdGhlIGV4cGVjdGVkIHN0YXRlICovXHJcbmV4cG9ydCB0eXBlIFJlZnVuZE9yZGVyU3RhdGVFcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnUmVmdW5kT3JkZXJTdGF0ZUVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBvcmRlclN0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBSZXR1cm5lZCB3aGVuIGEgY2FsbCB0byBtb2RpZnlPcmRlciBmYWlscyB0byBpbmNsdWRlIGEgcmVmdW5kUGF5bWVudElkIGV2ZW5cclxuICogdGhvdWdoIHRoZSBwcmljZSBoYXMgZGVjcmVhc2VkIGFzIGEgcmVzdWx0IG9mIHRoZSBjaGFuZ2VzLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgUmVmdW5kUGF5bWVudElkTWlzc2luZ0Vycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdSZWZ1bmRQYXltZW50SWRNaXNzaW5nRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuLyoqIFJldHVybmVkIHdoZW4gdGhlcmUgaXMgYW4gZXJyb3IgaW4gdHJhbnNpdGlvbmluZyB0aGUgUmVmdW5kIHN0YXRlICovXHJcbmV4cG9ydCB0eXBlIFJlZnVuZFN0YXRlVHJhbnNpdGlvbkVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdSZWZ1bmRTdGF0ZVRyYW5zaXRpb25FcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdHJhbnNpdGlvbkVycm9yOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBmcm9tU3RhdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHRvU3RhdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZyA9IEN1c3RvbUZpZWxkICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZyc7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdHlwZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgbGlzdDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGxhYmVsPzogTWF5YmU8QXJyYXk8TG9jYWxpemVkU3RyaW5nPj47XHJcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxBcnJheTxMb2NhbGl6ZWRTdHJpbmc+PjtcclxuICByZWFkb25seT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgaW50ZXJuYWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIG51bGxhYmxlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBlbnRpdHk6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHNjYWxhckZpZWxkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHVpPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlbGVhc2UgPSBOb2RlICYgU3RvY2tNb3ZlbWVudCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1JlbGVhc2UnO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgcHJvZHVjdFZhcmlhbnQ6IFByb2R1Y3RWYXJpYW50O1xyXG4gIHR5cGU6IFN0b2NrTW92ZW1lbnRUeXBlO1xyXG4gIHF1YW50aXR5OiBTY2FsYXJzWydJbnQnXTtcclxuICBvcmRlckl0ZW06IE9yZGVySXRlbTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlbW92ZUNvbGxlY3Rpb25zRnJvbUNoYW5uZWxJbnB1dCA9IHtcclxuICBjb2xsZWN0aW9uSWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcclxuICBjaGFubmVsSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBSZW1vdmVGYWNldEZyb21DaGFubmVsUmVzdWx0ID0gRmFjZXQgfCBGYWNldEluVXNlRXJyb3I7XHJcblxyXG5leHBvcnQgdHlwZSBSZW1vdmVGYWNldHNGcm9tQ2hhbm5lbElucHV0ID0ge1xyXG4gIGZhY2V0SWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcclxuICBjaGFubmVsSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgZm9yY2U/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUmVtb3ZlT3B0aW9uR3JvdXBGcm9tUHJvZHVjdFJlc3VsdCA9IFByb2R1Y3QgfCBQcm9kdWN0T3B0aW9uSW5Vc2VFcnJvcjtcclxuXHJcbmV4cG9ydCB0eXBlIFJlbW92ZU9yZGVySXRlbXNSZXN1bHQgPSBPcmRlciB8IE9yZGVyTW9kaWZpY2F0aW9uRXJyb3I7XHJcblxyXG5leHBvcnQgdHlwZSBSZW1vdmVQcm9kdWN0VmFyaWFudHNGcm9tQ2hhbm5lbElucHV0ID0ge1xyXG4gIHByb2R1Y3RWYXJpYW50SWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcclxuICBjaGFubmVsSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBSZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsSW5wdXQgPSB7XHJcbiAgcHJvZHVjdElkczogQXJyYXk8U2NhbGFyc1snSUQnXT47XHJcbiAgY2hhbm5lbElkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUmVtb3ZlUHJvbW90aW9uc0Zyb21DaGFubmVsSW5wdXQgPSB7XHJcbiAgcHJvbW90aW9uSWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcclxuICBjaGFubmVsSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBSZXR1cm4gPSBOb2RlICYgU3RvY2tNb3ZlbWVudCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1JldHVybic7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBwcm9kdWN0VmFyaWFudDogUHJvZHVjdFZhcmlhbnQ7XHJcbiAgdHlwZTogU3RvY2tNb3ZlbWVudFR5cGU7XHJcbiAgcXVhbnRpdHk6IFNjYWxhcnNbJ0ludCddO1xyXG4gIG9yZGVySXRlbTogT3JkZXJJdGVtO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUm9sZSA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdSb2xlJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBwZXJtaXNzaW9uczogQXJyYXk8UGVybWlzc2lvbj47XHJcbiAgY2hhbm5lbHM6IEFycmF5PENoYW5uZWw+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUm9sZUZpbHRlclBhcmFtZXRlciA9IHtcclxuICBpZD86IE1heWJlPElkT3BlcmF0b3JzPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICB1cGRhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICBjb2RlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBkZXNjcmlwdGlvbj86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBSb2xlTGlzdCA9IFBhZ2luYXRlZExpc3QgJiB7XHJcbiAgX190eXBlbmFtZT86ICdSb2xlTGlzdCc7XHJcbiAgaXRlbXM6IEFycmF5PFJvbGU+O1xyXG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUm9sZUxpc3RPcHRpb25zID0ge1xyXG4gIC8qKiBTa2lwcyB0aGUgZmlyc3QgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICBza2lwPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBUYWtlcyBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHRha2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGljaCBwcm9wZXJ0aWVzIHRvIHNvcnQgdGhlIHJlc3VsdHMgYnkgKi9cclxuICBzb3J0PzogTWF5YmU8Um9sZVNvcnRQYXJhbWV0ZXI+O1xyXG4gIC8qKiBBbGxvd3MgdGhlIHJlc3VsdHMgdG8gYmUgZmlsdGVyZWQgKi9cclxuICBmaWx0ZXI/OiBNYXliZTxSb2xlRmlsdGVyUGFyYW1ldGVyPjtcclxuICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgbXVsdGlwbGUgXCJmaWx0ZXJcIiBhcmd1bWVudHMgc2hvdWxkIGJlIGNvbWJpbmVzIHdpdGggYSBsb2dpY2FsIEFORCBvciBPUiBvcGVyYXRpb24uIERlZmF1bHRzIHRvIEFORC4gKi9cclxuICBmaWx0ZXJPcGVyYXRvcj86IE1heWJlPExvZ2ljYWxPcGVyYXRvcj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBSb2xlU29ydFBhcmFtZXRlciA9IHtcclxuICBpZD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICB1cGRhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGNvZGU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8U29ydE9yZGVyPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFNhbGUgPSBOb2RlICYgU3RvY2tNb3ZlbWVudCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1NhbGUnO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgcHJvZHVjdFZhcmlhbnQ6IFByb2R1Y3RWYXJpYW50O1xyXG4gIHR5cGU6IFN0b2NrTW92ZW1lbnRUeXBlO1xyXG4gIHF1YW50aXR5OiBTY2FsYXJzWydJbnQnXTtcclxuICBvcmRlckl0ZW06IE9yZGVySXRlbTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFNlYXJjaElucHV0ID0ge1xyXG4gIHRlcm0/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgZmFjZXRWYWx1ZUlkcz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ0lEJ10+PjtcclxuICBmYWNldFZhbHVlT3BlcmF0b3I/OiBNYXliZTxMb2dpY2FsT3BlcmF0b3I+O1xyXG4gIGZhY2V0VmFsdWVGaWx0ZXJzPzogTWF5YmU8QXJyYXk8RmFjZXRWYWx1ZUZpbHRlcklucHV0Pj47XHJcbiAgY29sbGVjdGlvbklkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbiAgY29sbGVjdGlvblNsdWc/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgZ3JvdXBCeVByb2R1Y3Q/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIHRha2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgc2tpcD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICBzb3J0PzogTWF5YmU8U2VhcmNoUmVzdWx0U29ydFBhcmFtZXRlcj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBTZWFyY2hSZWluZGV4UmVzcG9uc2UgPSB7XHJcbiAgX190eXBlbmFtZT86ICdTZWFyY2hSZWluZGV4UmVzcG9uc2UnO1xyXG4gIHN1Y2Nlc3M6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFNlYXJjaFJlc3BvbnNlID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnU2VhcmNoUmVzcG9uc2UnO1xyXG4gIGl0ZW1zOiBBcnJheTxTZWFyY2hSZXN1bHQ+O1xyXG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xyXG4gIGZhY2V0VmFsdWVzOiBBcnJheTxGYWNldFZhbHVlUmVzdWx0PjtcclxuICBjb2xsZWN0aW9uczogQXJyYXk8Q29sbGVjdGlvblJlc3VsdD47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBTZWFyY2hSZXN1bHQgPSB7XHJcbiAgX190eXBlbmFtZT86ICdTZWFyY2hSZXN1bHQnO1xyXG4gIGVuYWJsZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICAvKiogQW4gYXJyYXkgb2YgaWRzIG9mIHRoZSBDaGFubmVscyBpbiB3aGljaCB0aGlzIHJlc3VsdCBhcHBlYXJzICovXHJcbiAgY2hhbm5lbElkczogQXJyYXk8U2NhbGFyc1snSUQnXT47XHJcbiAgc2t1OiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBzbHVnOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBwcm9kdWN0SWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgcHJvZHVjdE5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHByb2R1Y3RBc3NldD86IE1heWJlPFNlYXJjaFJlc3VsdEFzc2V0PjtcclxuICBwcm9kdWN0VmFyaWFudElkOiBTY2FsYXJzWydJRCddO1xyXG4gIHByb2R1Y3RWYXJpYW50TmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgcHJvZHVjdFZhcmlhbnRBc3NldD86IE1heWJlPFNlYXJjaFJlc3VsdEFzc2V0PjtcclxuICBwcmljZTogU2VhcmNoUmVzdWx0UHJpY2U7XHJcbiAgcHJpY2VXaXRoVGF4OiBTZWFyY2hSZXN1bHRQcmljZTtcclxuICBjdXJyZW5jeUNvZGU6IEN1cnJlbmN5Q29kZTtcclxuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZmFjZXRJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGZhY2V0VmFsdWVJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG4gIC8qKiBBbiBhcnJheSBvZiBpZHMgb2YgdGhlIENvbGxlY3Rpb25zIGluIHdoaWNoIHRoaXMgcmVzdWx0IGFwcGVhcnMgKi9cclxuICBjb2xsZWN0aW9uSWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcclxuICAvKiogQSByZWxldmFuY2Ugc2NvcmUgZm9yIHRoZSByZXN1bHQuIERpZmZlcnMgYmV0d2VlbiBkYXRhYmFzZSBpbXBsZW1lbnRhdGlvbnMgKi9cclxuICBzY29yZTogU2NhbGFyc1snRmxvYXQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFNlYXJjaFJlc3VsdEFzc2V0ID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnU2VhcmNoUmVzdWx0QXNzZXQnO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIHByZXZpZXc6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGZvY2FsUG9pbnQ/OiBNYXliZTxDb29yZGluYXRlPjtcclxufTtcclxuXHJcbi8qKiBUaGUgcHJpY2Ugb2YgYSBzZWFyY2ggcmVzdWx0IHByb2R1Y3QsIGVpdGhlciBhcyBhIHJhbmdlIG9yIGFzIGEgc2luZ2xlIHByaWNlICovXHJcbmV4cG9ydCB0eXBlIFNlYXJjaFJlc3VsdFByaWNlID0gUHJpY2VSYW5nZSB8IFNpbmdsZVByaWNlO1xyXG5cclxuZXhwb3J0IHR5cGUgU2VhcmNoUmVzdWx0U29ydFBhcmFtZXRlciA9IHtcclxuICBuYW1lPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBwcmljZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBTZXJ2ZXJDb25maWcgPSB7XHJcbiAgX190eXBlbmFtZT86ICdTZXJ2ZXJDb25maWcnO1xyXG4gIG9yZGVyUHJvY2VzczogQXJyYXk8T3JkZXJQcm9jZXNzU3RhdGU+O1xyXG4gIHBlcm1pdHRlZEFzc2V0VHlwZXM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBwZXJtaXNzaW9uczogQXJyYXk8UGVybWlzc2lvbkRlZmluaXRpb24+O1xyXG4gIGN1c3RvbUZpZWxkQ29uZmlnOiBDdXN0b21GaWVsZHM7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBTZXRDdXN0b21lckZvckRyYWZ0T3JkZXJSZXN1bHQgPSBPcmRlciB8IEVtYWlsQWRkcmVzc0NvbmZsaWN0RXJyb3I7XHJcblxyXG5leHBvcnQgdHlwZSBTZXRPcmRlclNoaXBwaW5nTWV0aG9kUmVzdWx0ID0gT3JkZXIgfCBPcmRlck1vZGlmaWNhdGlvbkVycm9yIHwgSW5lbGlnaWJsZVNoaXBwaW5nTWV0aG9kRXJyb3IgfCBOb0FjdGl2ZU9yZGVyRXJyb3I7XHJcblxyXG4vKiogUmV0dXJuZWQgaWYgdGhlIFBheW1lbnQgc2V0dGxlbWVudCBmYWlscyAqL1xyXG5leHBvcnQgdHlwZSBTZXR0bGVQYXltZW50RXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1NldHRsZVBheW1lbnRFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgcGF5bWVudEVycm9yTWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBTZXR0bGVQYXltZW50UmVzdWx0ID0gUGF5bWVudCB8IFNldHRsZVBheW1lbnRFcnJvciB8IFBheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvciB8IE9yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3I7XHJcblxyXG5leHBvcnQgdHlwZSBTZXR0bGVSZWZ1bmRJbnB1dCA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICB0cmFuc2FjdGlvbklkOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFNldHRsZVJlZnVuZFJlc3VsdCA9IFJlZnVuZCB8IFJlZnVuZFN0YXRlVHJhbnNpdGlvbkVycm9yO1xyXG5cclxuZXhwb3J0IHR5cGUgU2hpcHBpbmdMaW5lID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnU2hpcHBpbmdMaW5lJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBzaGlwcGluZ01ldGhvZDogU2hpcHBpbmdNZXRob2Q7XHJcbiAgcHJpY2U6IFNjYWxhcnNbJ0ludCddO1xyXG4gIHByaWNlV2l0aFRheDogU2NhbGFyc1snSW50J107XHJcbiAgZGlzY291bnRlZFByaWNlOiBTY2FsYXJzWydJbnQnXTtcclxuICBkaXNjb3VudGVkUHJpY2VXaXRoVGF4OiBTY2FsYXJzWydJbnQnXTtcclxuICBkaXNjb3VudHM6IEFycmF5PERpc2NvdW50PjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFNoaXBwaW5nTWV0aG9kID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1NoaXBwaW5nTWV0aG9kJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBmdWxmaWxsbWVudEhhbmRsZXJDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBjaGVja2VyOiBDb25maWd1cmFibGVPcGVyYXRpb247XHJcbiAgY2FsY3VsYXRvcjogQ29uZmlndXJhYmxlT3BlcmF0aW9uO1xyXG4gIHRyYW5zbGF0aW9uczogQXJyYXk8U2hpcHBpbmdNZXRob2RUcmFuc2xhdGlvbj47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFNoaXBwaW5nTWV0aG9kRmlsdGVyUGFyYW1ldGVyID0ge1xyXG4gIGlkPzogTWF5YmU8SWRPcGVyYXRvcnM+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xyXG4gIHVwZGF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xyXG4gIGxhbmd1YWdlQ29kZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgY29kZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgbmFtZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgZGVzY3JpcHRpb24/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+PjtcclxufTtcclxuXHJcbi8qKiBPcGVyYXRvcnMgZm9yIGZpbHRlcmluZyBvbiBhIGxpc3Qgb2YgU3RyaW5nIGZpZWxkcyAqL1xyXG5leHBvcnQgdHlwZSBTdHJpbmdMaXN0T3BlcmF0b3JzID0ge1xyXG4gIGluTGlzdDogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG4vKiogT3BlcmF0b3JzIGZvciBmaWx0ZXJpbmcgb24gYSBTdHJpbmcgZmllbGQgKi9cclxuZXhwb3J0IHR5cGUgU3RyaW5nT3BlcmF0b3JzID0ge1xyXG4gIGVxPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIG5vdEVxPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGNvbnRhaW5zPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIG5vdENvbnRhaW5zPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGluPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+PjtcclxuICBub3RJbj86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPj47XHJcbiAgcmVnZXg/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgaXNOdWxsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxufTtcclxuXHJcbi8qKiBJbmRpY2F0ZXMgdGhhdCBhbiBvcGVyYXRpb24gc3VjY2VlZGVkLCB3aGVyZSB3ZSBkbyBub3Qgd2FudCB0byByZXR1cm4gYW55IG1vcmUgc3BlY2lmaWMgaW5mb3JtYXRpb24uICovXHJcbmV4cG9ydCB0eXBlIFN1Y2Nlc3MgPSB7XHJcbiAgX190eXBlbmFtZT86ICdTdWNjZXNzJztcclxuICBzdWNjZXNzOiBTY2FsYXJzWydCb29sZWFuJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBTdXJjaGFyZ2UgPSBOb2RlICYge1xyXG4gIF9fdHlwZW5hbWU/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+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlT3JkZXJJdGVtc1Jlc3VsdCA9IE9yZGVyIHwgT3JkZXJNb2RpZmljYXRpb25FcnJvciB8IE9yZGVyTGltaXRFcnJvciB8IE5lZ2F0aXZlUXVhbnRpdHlFcnJvciB8IEluc3VmZmljaWVudFN0b2NrRXJyb3I7XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVPcmRlck5vdGVJbnB1dCA9IHtcclxuICBub3RlSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgbm90ZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBpc1B1YmxpYz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVQYXltZW50TWV0aG9kSW5wdXQgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgbmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGVuYWJsZWQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIGNoZWNrZXI/OiBNYXliZTxDb25maWd1cmFibGVPcGVyYXRpb25JbnB1dD47XHJcbiAgaGFuZGxlcj86IE1heWJlPENvbmZpZ3VyYWJsZU9wZXJhdGlvbklucHV0PjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlUHJvZHVjdElucHV0ID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGVuYWJsZWQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIGZlYXR1cmVkQXNzZXRJZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGFzc2V0SWRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snSUQnXT4+O1xyXG4gIGZhY2V0VmFsdWVJZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydJRCddPj47XHJcbiAgdHJhbnNsYXRpb25zPzogTWF5YmU8QXJyYXk8UHJvZHVjdFRyYW5zbGF0aW9uSW5wdXQ+PjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwSW5wdXQgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICB0cmFuc2xhdGlvbnM/OiBNYXliZTxBcnJheTxQcm9kdWN0T3B0aW9uR3JvdXBUcmFuc2xhdGlvbklucHV0Pj47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVByb2R1Y3RPcHRpb25JbnB1dCA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHRyYW5zbGF0aW9ucz86IE1heWJlPEFycmF5PFByb2R1Y3RPcHRpb25Hcm91cFRyYW5zbGF0aW9uSW5wdXQ+PjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlUHJvZHVjdFZhcmlhbnRJbnB1dCA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBlbmFibGVkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICB0cmFuc2xhdGlvbnM/OiBNYXliZTxBcnJheTxQcm9kdWN0VmFyaWFudFRyYW5zbGF0aW9uSW5wdXQ+PjtcclxuICBmYWNldFZhbHVlSWRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snSUQnXT4+O1xyXG4gIHNrdT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICB0YXhDYXRlZ29yeUlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbiAgcHJpY2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgZmVhdHVyZWRBc3NldElkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbiAgYXNzZXRJZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydJRCddPj47XHJcbiAgc3RvY2tPbkhhbmQ/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgb3V0T2ZTdG9ja1RocmVzaG9sZD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICB1c2VHbG9iYWxPdXRPZlN0b2NrVGhyZXNob2xkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICB0cmFja0ludmVudG9yeT86IE1heWJlPEdsb2JhbEZsYWc+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVQcm9tb3Rpb25JbnB1dCA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGVuYWJsZWQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIHN0YXJ0c0F0PzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XHJcbiAgZW5kc0F0PzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XHJcbiAgY291cG9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBwZXJDdXN0b21lclVzYWdlTGltaXQ/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgY29uZGl0aW9ucz86IE1heWJlPEFycmF5PENvbmZpZ3VyYWJsZU9wZXJhdGlvbklucHV0Pj47XHJcbiAgYWN0aW9ucz86IE1heWJlPEFycmF5PENvbmZpZ3VyYWJsZU9wZXJhdGlvbklucHV0Pj47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVByb21vdGlvblJlc3VsdCA9IFByb21vdGlvbiB8IE1pc3NpbmdDb25kaXRpb25zRXJyb3I7XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVSb2xlSW5wdXQgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBkZXNjcmlwdGlvbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBwZXJtaXNzaW9ucz86IE1heWJlPEFycmF5PFBlcm1pc3Npb24+PjtcclxuICBjaGFubmVsSWRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snSUQnXT4+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlU2hpcHBpbmdNZXRob2RJbnB1dCA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGZ1bGZpbGxtZW50SGFuZGxlcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjaGVja2VyPzogTWF5YmU8Q29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQ+O1xyXG4gIGNhbGN1bGF0b3I/OiBNYXliZTxDb25maWd1cmFibGVPcGVyYXRpb25JbnB1dD47XHJcbiAgdHJhbnNsYXRpb25zOiBBcnJheTxTaGlwcGluZ01ldGhvZFRyYW5zbGF0aW9uSW5wdXQ+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVUYWdJbnB1dCA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICB2YWx1ZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVRheENhdGVnb3J5SW5wdXQgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgbmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBpc0RlZmF1bHQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVUYXhSYXRlSW5wdXQgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgbmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICB2YWx1ZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xyXG4gIGVuYWJsZWQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIGNhdGVnb3J5SWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICB6b25lSWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBjdXN0b21lckdyb3VwSWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlWm9uZUlucHV0ID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIG5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVc2VyID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1VzZXInO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgaWRlbnRpZmllcjogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdmVyaWZpZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICByb2xlczogQXJyYXk8Um9sZT47XHJcbiAgbGFzdExvZ2luPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XHJcbiAgYXV0aGVudGljYXRpb25NZXRob2RzOiBBcnJheTxBdXRoZW50aWNhdGlvbk1ldGhvZD47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFVzZXJTdGF0dXMgPSB7XHJcbiAgX190eXBlbmFtZT86ICdVc2VyU3RhdHVzJztcclxuICB1c2VybmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgaXNMb2dnZWRJbjogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGxvZ2luVGltZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgcGVybWlzc2lvbnM6IEFycmF5PFBlcm1pc3Npb24+O1xyXG4gIGFjdGl2ZUNoYW5uZWxJZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGNoYW5uZWxzOiBBcnJheTxDdXJyZW50VXNlckNoYW5uZWw+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXNlclN0YXR1c0lucHV0ID0ge1xyXG4gIHVzZXJuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBsb2dpblRpbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGFjdGl2ZUNoYW5uZWxJZDogU2NhbGFyc1snSUQnXTtcclxuICBjaGFubmVsczogQXJyYXk8Q3VycmVudFVzZXJDaGFubmVsSW5wdXQ+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgWm9uZSA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdab25lJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIG1lbWJlcnM6IEFycmF5PENvdW50cnk+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRQcm9kdWN0c1dpdGhGYWNldFZhbHVlc0J5SWRzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT4gfCBTY2FsYXJzWydTdHJpbmcnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0UHJvZHVjdHNXaXRoRmFjZXRWYWx1ZXNCeUlkc1F1ZXJ5ID0geyBwcm9kdWN0czogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RMaXN0JyB9XHJcbiAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3QnIH1cclxuICAgICAgJiBQaWNrPFByb2R1Y3QsICdpZCcgfCAnbmFtZSc+XHJcbiAgICAgICYgeyBmYWNldFZhbHVlczogQXJyYXk8KFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGYWNldFZhbHVlJyB9XHJcbiAgICAgICAgJiBQaWNrPEZhY2V0VmFsdWUsICdpZCcgfCAnbmFtZScgfCAnY29kZSc+XHJcbiAgICAgICAgJiB7IGZhY2V0OiAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFjZXQnIH1cclxuICAgICAgICAgICYgUGljazxGYWNldCwgJ2lkJyB8ICduYW1lJyB8ICdjb2RlJz5cclxuICAgICAgICApIH1cclxuICAgICAgKT4gfVxyXG4gICAgKT4gfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFZhcmlhbnRzV2l0aEZhY2V0VmFsdWVzQnlJZHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPiB8IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRWYXJpYW50c1dpdGhGYWNldFZhbHVlc0J5SWRzUXVlcnkgPSB7IHByb2R1Y3RWYXJpYW50czogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50TGlzdCcgfVxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudCcgfVxyXG4gICAgICAmIFBpY2s8UHJvZHVjdFZhcmlhbnQsICdpZCcgfCAnbmFtZScgfCAnc2t1Jz5cclxuICAgICAgJiB7IGZhY2V0VmFsdWVzOiBBcnJheTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0VmFsdWUnIH1cclxuICAgICAgICAmIFBpY2s8RmFjZXRWYWx1ZSwgJ2lkJyB8ICduYW1lJyB8ICdjb2RlJz5cclxuICAgICAgICAmIHsgZmFjZXQ6IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYWNldCcgfVxyXG4gICAgICAgICAgJiBQaWNrPEZhY2V0LCAnaWQnIHwgJ25hbWUnIHwgJ2NvZGUnPlxyXG4gICAgICAgICkgfVxyXG4gICAgICApPiB9XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlUHJvZHVjdHNCdWxrTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IEFycmF5PFVwZGF0ZVByb2R1Y3RJbnB1dD4gfCBVcGRhdGVQcm9kdWN0SW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVByb2R1Y3RzQnVsa011dGF0aW9uID0geyB1cGRhdGVQcm9kdWN0czogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3QnIH1cclxuICAgICYgUGljazxQcm9kdWN0LCAnaWQnIHwgJ25hbWUnPlxyXG4gICAgJiB7IGZhY2V0VmFsdWVzOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdGYWNldFZhbHVlJyB9XHJcbiAgICAgICYgUGljazxGYWNldFZhbHVlLCAnaWQnIHwgJ25hbWUnIHwgJ2NvZGUnPlxyXG4gICAgKT4gfVxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVWYXJpYW50c0J1bGtNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQXJyYXk8VXBkYXRlUHJvZHVjdFZhcmlhbnRJbnB1dD4gfCBVcGRhdGVQcm9kdWN0VmFyaWFudElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVWYXJpYW50c0J1bGtNdXRhdGlvbiA9IHsgdXBkYXRlUHJvZHVjdFZhcmlhbnRzOiBBcnJheTxNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnQnIH1cclxuICAgICYgUGljazxQcm9kdWN0VmFyaWFudCwgJ2lkJyB8ICduYW1lJz5cclxuICAgICYgeyBmYWNldFZhbHVlczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRmFjZXRWYWx1ZScgfVxyXG4gICAgICAmIFBpY2s8RmFjZXRWYWx1ZSwgJ2lkJyB8ICduYW1lJyB8ICdjb2RlJz5cclxuICAgICk+IH1cclxuICApPj4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIFJvbGVGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnUm9sZScgfVxyXG4gICYgUGljazxSb2xlLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdjb2RlJyB8ICdkZXNjcmlwdGlvbicgfCAncGVybWlzc2lvbnMnPlxyXG4gICYgeyBjaGFubmVsczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NoYW5uZWwnIH1cclxuICAgICYgUGljazxDaGFubmVsLCAnaWQnIHwgJ2NvZGUnIHwgJ3Rva2VuJz5cclxuICApPiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBBZG1pbmlzdHJhdG9yRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0FkbWluaXN0cmF0b3InIH1cclxuICAmIFBpY2s8QWRtaW5pc3RyYXRvciwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZmlyc3ROYW1lJyB8ICdsYXN0TmFtZScgfCAnZW1haWxBZGRyZXNzJz5cclxuICAmIHsgdXNlcjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cclxuICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ2lkZW50aWZpZXInIHwgJ2xhc3RMb2dpbic+XHJcbiAgICAmIHsgcm9sZXM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1JvbGUnIH1cclxuICAgICAgJiBSb2xlRnJhZ21lbnRcclxuICAgICk+IH1cclxuICApIH1cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldEFkbWluaXN0cmF0b3JzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgb3B0aW9ucz86IE1heWJlPEFkbWluaXN0cmF0b3JMaXN0T3B0aW9ucz47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldEFkbWluaXN0cmF0b3JzUXVlcnkgPSB7IGFkbWluaXN0cmF0b3JzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWRtaW5pc3RyYXRvckxpc3QnIH1cclxuICAgICYgUGljazxBZG1pbmlzdHJhdG9yTGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdBZG1pbmlzdHJhdG9yJyB9XHJcbiAgICAgICYgQWRtaW5pc3RyYXRvckZyYWdtZW50XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0QWN0aXZlQWRtaW5pc3RyYXRvclF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0QWN0aXZlQWRtaW5pc3RyYXRvclF1ZXJ5ID0geyBhY3RpdmVBZG1pbmlzdHJhdG9yPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkbWluaXN0cmF0b3InIH1cclxuICAgICYgQWRtaW5pc3RyYXRvckZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldEFkbWluaXN0cmF0b3JRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0QWRtaW5pc3RyYXRvclF1ZXJ5ID0geyBhZG1pbmlzdHJhdG9yPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkbWluaXN0cmF0b3InIH1cclxuICAgICYgQWRtaW5pc3RyYXRvckZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUFkbWluaXN0cmF0b3JNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQ3JlYXRlQWRtaW5pc3RyYXRvcklucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVBZG1pbmlzdHJhdG9yTXV0YXRpb24gPSB7IGNyZWF0ZUFkbWluaXN0cmF0b3I6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdBZG1pbmlzdHJhdG9yJyB9XHJcbiAgICAmIEFkbWluaXN0cmF0b3JGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZUFkbWluaXN0cmF0b3JNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXBkYXRlQWRtaW5pc3RyYXRvcklucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVBZG1pbmlzdHJhdG9yTXV0YXRpb24gPSB7IHVwZGF0ZUFkbWluaXN0cmF0b3I6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdBZG1pbmlzdHJhdG9yJyB9XHJcbiAgICAmIEFkbWluaXN0cmF0b3JGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZUFjdGl2ZUFkbWluaXN0cmF0b3JNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXBkYXRlQWN0aXZlQWRtaW5pc3RyYXRvcklucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVBY3RpdmVBZG1pbmlzdHJhdG9yTXV0YXRpb24gPSB7IHVwZGF0ZUFjdGl2ZUFkbWluaXN0cmF0b3I6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdBZG1pbmlzdHJhdG9yJyB9XHJcbiAgICAmIEFkbWluaXN0cmF0b3JGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZUFkbWluaXN0cmF0b3JNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlQWRtaW5pc3RyYXRvck11dGF0aW9uID0geyBkZWxldGVBZG1pbmlzdHJhdG9yOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRGVsZXRpb25SZXNwb25zZScgfVxyXG4gICAgJiBQaWNrPERlbGV0aW9uUmVzcG9uc2UsICdyZXN1bHQnIHwgJ21lc3NhZ2UnPlxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFJvbGVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgb3B0aW9ucz86IE1heWJlPFJvbGVMaXN0T3B0aW9ucz47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFJvbGVzUXVlcnkgPSB7IHJvbGVzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUm9sZUxpc3QnIH1cclxuICAgICYgUGljazxSb2xlTGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdSb2xlJyB9XHJcbiAgICAgICYgUm9sZUZyYWdtZW50XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0Um9sZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRSb2xlUXVlcnkgPSB7IHJvbGU/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUm9sZScgfVxyXG4gICAgJiBSb2xlRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlUm9sZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBDcmVhdGVSb2xlSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVJvbGVNdXRhdGlvbiA9IHsgY3JlYXRlUm9sZTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JvbGUnIH1cclxuICAgICYgUm9sZUZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlUm9sZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBVcGRhdGVSb2xlSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVJvbGVNdXRhdGlvbiA9IHsgdXBkYXRlUm9sZTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JvbGUnIH1cclxuICAgICYgUm9sZUZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlUm9sZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVSb2xlTXV0YXRpb24gPSB7IGRlbGV0ZVJvbGU6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQXNzaWduUm9sZVRvQWRtaW5pc3RyYXRvck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGFkbWluaXN0cmF0b3JJZDogU2NhbGFyc1snSUQnXTtcclxuICByb2xlSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEFzc2lnblJvbGVUb0FkbWluaXN0cmF0b3JNdXRhdGlvbiA9IHsgYXNzaWduUm9sZVRvQWRtaW5pc3RyYXRvcjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkbWluaXN0cmF0b3InIH1cclxuICAgICYgQWRtaW5pc3RyYXRvckZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VycmVudFVzZXJGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnQ3VycmVudFVzZXInIH1cclxuICAmIFBpY2s8Q3VycmVudFVzZXIsICdpZCcgfCAnaWRlbnRpZmllcic+XHJcbiAgJiB7IGNoYW5uZWxzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ3VycmVudFVzZXJDaGFubmVsJyB9XHJcbiAgICAmIFBpY2s8Q3VycmVudFVzZXJDaGFubmVsLCAnaWQnIHwgJ2NvZGUnIHwgJ3Rva2VuJyB8ICdwZXJtaXNzaW9ucyc+XHJcbiAgKT4gfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgQXR0ZW1wdExvZ2luTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgdXNlcm5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHBhc3N3b3JkOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICByZW1lbWJlck1lOiBTY2FsYXJzWydCb29sZWFuJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEF0dGVtcHRMb2dpbk11dGF0aW9uID0geyBsb2dpbjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1cnJlbnRVc2VyJyB9XHJcbiAgICAmIEN1cnJlbnRVc2VyRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ludmFsaWRDcmVkZW50aWFsc0Vycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X0ludmFsaWRDcmVkZW50aWFsc0Vycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdOYXRpdmVBdXRoU3RyYXRlZ3lFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9OYXRpdmVBdXRoU3RyYXRlZ3lFcnJvcl9GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIExvZ091dE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTG9nT3V0TXV0YXRpb24gPSB7IGxvZ291dDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1N1Y2Nlc3MnIH1cclxuICAgICYgUGljazxTdWNjZXNzLCAnc3VjY2Vzcyc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q3VycmVudFVzZXJRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldEN1cnJlbnRVc2VyUXVlcnkgPSB7IG1lPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1cnJlbnRVc2VyJyB9XHJcbiAgICAmIEN1cnJlbnRVc2VyRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgUmVxdWVzdFN0YXJ0ZWRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFJlcXVlc3RTdGFydGVkTXV0YXRpb24gPSBQaWNrPE11dGF0aW9uLCAncmVxdWVzdFN0YXJ0ZWQnPjtcclxuXHJcbmV4cG9ydCB0eXBlIFJlcXVlc3RDb21wbGV0ZWRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFJlcXVlc3RDb21wbGV0ZWRNdXRhdGlvbiA9IFBpY2s8TXV0YXRpb24sICdyZXF1ZXN0Q29tcGxldGVkJz47XHJcblxyXG5leHBvcnQgdHlwZSBVc2VyU3RhdHVzRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1VzZXJTdGF0dXMnIH1cclxuICAmIFBpY2s8VXNlclN0YXR1cywgJ3VzZXJuYW1lJyB8ICdpc0xvZ2dlZEluJyB8ICdsb2dpblRpbWUnIHwgJ2FjdGl2ZUNoYW5uZWxJZCcgfCAncGVybWlzc2lvbnMnPlxyXG4gICYgeyBjaGFubmVsczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1cnJlbnRVc2VyQ2hhbm5lbCcgfVxyXG4gICAgJiBQaWNrPEN1cnJlbnRVc2VyQ2hhbm5lbCwgJ2lkJyB8ICdjb2RlJyB8ICd0b2tlbicgfCAncGVybWlzc2lvbnMnPlxyXG4gICk+IH1cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIFNldEFzTG9nZ2VkSW5NdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXNlclN0YXR1c0lucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBTZXRBc0xvZ2dlZEluTXV0YXRpb24gPSB7IHNldEFzTG9nZ2VkSW46IChcclxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyU3RhdHVzJyB9XHJcbiAgICAmIFVzZXJTdGF0dXNGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFNldEFzTG9nZ2VkT3V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBTZXRBc0xvZ2dlZE91dE11dGF0aW9uID0geyBzZXRBc0xvZ2dlZE91dDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXJTdGF0dXMnIH1cclxuICAgICYgVXNlclN0YXR1c0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgU2V0VWlMYW5ndWFnZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIGxvY2FsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgU2V0VWlMYW5ndWFnZU11dGF0aW9uID0gUGljazxNdXRhdGlvbiwgJ3NldFVpTGFuZ3VhZ2UnIHwgJ3NldFVpTG9jYWxlJz47XHJcblxyXG5leHBvcnQgdHlwZSBTZXRVaUxvY2FsZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGxvY2FsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgU2V0VWlMb2NhbGVNdXRhdGlvbiA9IFBpY2s8TXV0YXRpb24sICdzZXRVaUxvY2FsZSc+O1xyXG5cclxuZXhwb3J0IHR5cGUgU2V0RGlzcGxheVVpRXh0ZW5zaW9uUG9pbnRzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgZGlzcGxheTogU2NhbGFyc1snQm9vbGVhbiddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBTZXREaXNwbGF5VWlFeHRlbnNpb25Qb2ludHNNdXRhdGlvbiA9IFBpY2s8TXV0YXRpb24sICdzZXREaXNwbGF5VWlFeHRlbnNpb25Qb2ludHMnPjtcclxuXHJcbmV4cG9ydCB0eXBlIFNldENvbnRlbnRMYW5ndWFnZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBTZXRDb250ZW50TGFuZ3VhZ2VNdXRhdGlvbiA9IFBpY2s8TXV0YXRpb24sICdzZXRDb250ZW50TGFuZ3VhZ2UnPjtcclxuXHJcbmV4cG9ydCB0eXBlIFNldFVpVGhlbWVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICB0aGVtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFNldFVpVGhlbWVNdXRhdGlvbiA9IFBpY2s8TXV0YXRpb24sICdzZXRVaVRoZW1lJz47XHJcblxyXG5leHBvcnQgdHlwZSBHZXROZXR3b3JrU3RhdHVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXROZXR3b3JrU3RhdHVzUXVlcnkgPSB7IG5ldHdvcmtTdGF0dXM6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdOZXR3b3JrU3RhdHVzJyB9XHJcbiAgICAmIFBpY2s8TmV0d29ya1N0YXR1cywgJ2luRmxpZ2h0UmVxdWVzdHMnPlxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFVzZXJTdGF0dXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFVzZXJTdGF0dXNRdWVyeSA9IHsgdXNlclN0YXR1czogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXJTdGF0dXMnIH1cclxuICAgICYgVXNlclN0YXR1c0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0VWlTdGF0ZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0VWlTdGF0ZVF1ZXJ5ID0geyB1aVN0YXRlOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVWlTdGF0ZScgfVxyXG4gICAgJiBQaWNrPFVpU3RhdGUsICdsYW5ndWFnZScgfCAnbG9jYWxlJyB8ICdjb250ZW50TGFuZ3VhZ2UnIHwgJ3RoZW1lJyB8ICdkaXNwbGF5VWlFeHRlbnNpb25Qb2ludHMnPlxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldENsaWVudFN0YXRlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRDbGllbnRTdGF0ZVF1ZXJ5ID0geyBuZXR3b3JrU3RhdHVzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTmV0d29ya1N0YXR1cycgfVxyXG4gICAgJiBQaWNrPE5ldHdvcmtTdGF0dXMsICdpbkZsaWdodFJlcXVlc3RzJz5cclxuICApLCB1c2VyU3RhdHVzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlclN0YXR1cycgfVxyXG4gICAgJiBVc2VyU3RhdHVzRnJhZ21lbnRcclxuICApLCB1aVN0YXRlOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVWlTdGF0ZScgfVxyXG4gICAgJiBQaWNrPFVpU3RhdGUsICdsYW5ndWFnZScgfCAnbG9jYWxlJyB8ICdjb250ZW50TGFuZ3VhZ2UnIHwgJ3RoZW1lJyB8ICdkaXNwbGF5VWlFeHRlbnNpb25Qb2ludHMnPlxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFNldEFjdGl2ZUNoYW5uZWxNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBjaGFubmVsSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFNldEFjdGl2ZUNoYW5uZWxNdXRhdGlvbiA9IHsgc2V0QWN0aXZlQ2hhbm5lbDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXJTdGF0dXMnIH1cclxuICAgICYgVXNlclN0YXR1c0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlVXNlckNoYW5uZWxzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgY2hhbm5lbHM6IEFycmF5PEN1cnJlbnRVc2VyQ2hhbm5lbElucHV0PiB8IEN1cnJlbnRVc2VyQ2hhbm5lbElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVVc2VyQ2hhbm5lbHNNdXRhdGlvbiA9IHsgdXBkYXRlVXNlckNoYW5uZWxzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlclN0YXR1cycgfVxyXG4gICAgJiBVc2VyU3RhdHVzRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRDb2xsZWN0aW9uRmlsdGVyc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q29sbGVjdGlvbkZpbHRlcnNRdWVyeSA9IHsgY29sbGVjdGlvbkZpbHRlcnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uJyB9XHJcbiAgICAmIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZkZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIENvbGxlY3Rpb25GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnQ29sbGVjdGlvbicgfVxyXG4gICYgUGljazxDb2xsZWN0aW9uLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICduYW1lJyB8ICdzbHVnJyB8ICdkZXNjcmlwdGlvbicgfCAnaXNQcml2YXRlJyB8ICdsYW5ndWFnZUNvZGUnPlxyXG4gICYgeyBicmVhZGNydW1iczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbGxlY3Rpb25CcmVhZGNydW1iJyB9XHJcbiAgICAmIFBpY2s8Q29sbGVjdGlvbkJyZWFkY3J1bWIsICdpZCcgfCAnbmFtZScgfCAnc2x1Zyc+XHJcbiAgKT4sIGZlYXR1cmVkQXNzZXQ/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQXNzZXQnIH1cclxuICAgICYgQXNzZXRGcmFnbWVudFxyXG4gICk+LCBhc3NldHM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdBc3NldCcgfVxyXG4gICAgJiBBc3NldEZyYWdtZW50XHJcbiAgKT4sIGZpbHRlcnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb24nIH1cclxuICAgICYgQ29uZmlndXJhYmxlT3BlcmF0aW9uRnJhZ21lbnRcclxuICApPiwgdHJhbnNsYXRpb25zOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29sbGVjdGlvblRyYW5zbGF0aW9uJyB9XHJcbiAgICAmIFBpY2s8Q29sbGVjdGlvblRyYW5zbGF0aW9uLCAnaWQnIHwgJ2xhbmd1YWdlQ29kZScgfCAnbmFtZScgfCAnc2x1ZycgfCAnZGVzY3JpcHRpb24nPlxyXG4gICk+LCBwYXJlbnQ/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29sbGVjdGlvbicgfVxyXG4gICAgJiBQaWNrPENvbGxlY3Rpb24sICdpZCcgfCAnbmFtZSc+XHJcbiAgKT4sIGNoaWxkcmVuPzogTWF5YmU8QXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbGxlY3Rpb24nIH1cclxuICAgICYgUGljazxDb2xsZWN0aW9uLCAnaWQnIHwgJ25hbWUnPlxyXG4gICk+PiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBHZXRDb2xsZWN0aW9uTGlzdFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9wdGlvbnM/OiBNYXliZTxDb2xsZWN0aW9uTGlzdE9wdGlvbnM+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRDb2xsZWN0aW9uTGlzdFF1ZXJ5ID0geyBjb2xsZWN0aW9uczogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbGxlY3Rpb25MaXN0JyB9XHJcbiAgICAmIFBpY2s8Q29sbGVjdGlvbkxpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ29sbGVjdGlvbicgfVxyXG4gICAgICAmIFBpY2s8Q29sbGVjdGlvbiwgJ2lkJyB8ICduYW1lJyB8ICdzbHVnJyB8ICdkZXNjcmlwdGlvbicgfCAnaXNQcml2YXRlJz5cclxuICAgICAgJiB7IGZlYXR1cmVkQXNzZXQ/OiBNYXliZTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XHJcbiAgICAgICAgJiBBc3NldEZyYWdtZW50XHJcbiAgICAgICk+LCBwYXJlbnQ/OiBNYXliZTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NvbGxlY3Rpb24nIH1cclxuICAgICAgICAmIFBpY2s8Q29sbGVjdGlvbiwgJ2lkJz5cclxuICAgICAgKT4gfVxyXG4gICAgKT4gfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldENvbGxlY3Rpb25RdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q29sbGVjdGlvblF1ZXJ5ID0geyBjb2xsZWN0aW9uPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbGxlY3Rpb24nIH1cclxuICAgICYgQ29sbGVjdGlvbkZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUNvbGxlY3Rpb25NdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQ3JlYXRlQ29sbGVjdGlvbklucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVDb2xsZWN0aW9uTXV0YXRpb24gPSB7IGNyZWF0ZUNvbGxlY3Rpb246IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb2xsZWN0aW9uJyB9XHJcbiAgICAmIENvbGxlY3Rpb25GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZUNvbGxlY3Rpb25NdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXBkYXRlQ29sbGVjdGlvbklucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVDb2xsZWN0aW9uTXV0YXRpb24gPSB7IHVwZGF0ZUNvbGxlY3Rpb246IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb2xsZWN0aW9uJyB9XHJcbiAgICAmIENvbGxlY3Rpb25GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIE1vdmVDb2xsZWN0aW9uTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IE1vdmVDb2xsZWN0aW9uSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE1vdmVDb2xsZWN0aW9uTXV0YXRpb24gPSB7IG1vdmVDb2xsZWN0aW9uOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29sbGVjdGlvbicgfVxyXG4gICAgJiBDb2xsZWN0aW9uRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVDb2xsZWN0aW9uTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZUNvbGxlY3Rpb25NdXRhdGlvbiA9IHsgZGVsZXRlQ29sbGVjdGlvbjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVDb2xsZWN0aW9uc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkczogQXJyYXk8U2NhbGFyc1snSUQnXT4gfCBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVDb2xsZWN0aW9uc011dGF0aW9uID0geyBkZWxldGVDb2xsZWN0aW9uczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q29sbGVjdGlvbkNvbnRlbnRzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgb3B0aW9ucz86IE1heWJlPFByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnM+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRDb2xsZWN0aW9uQ29udGVudHNRdWVyeSA9IHsgY29sbGVjdGlvbj86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb2xsZWN0aW9uJyB9XHJcbiAgICAmIFBpY2s8Q29sbGVjdGlvbiwgJ2lkJyB8ICduYW1lJz5cclxuICAgICYgeyBwcm9kdWN0VmFyaWFudHM6IChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50TGlzdCcgfVxyXG4gICAgICAmIFBpY2s8UHJvZHVjdFZhcmlhbnRMaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudCcgfVxyXG4gICAgICAgICYgUGljazxQcm9kdWN0VmFyaWFudCwgJ2lkJyB8ICdwcm9kdWN0SWQnIHwgJ25hbWUnIHwgJ3NrdSc+XHJcbiAgICAgICk+IH1cclxuICAgICkgfVxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBQcmV2aWV3Q29sbGVjdGlvbkNvbnRlbnRzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFByZXZpZXdDb2xsZWN0aW9uVmFyaWFudHNJbnB1dDtcclxuICBvcHRpb25zPzogTWF5YmU8UHJvZHVjdFZhcmlhbnRMaXN0T3B0aW9ucz47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFByZXZpZXdDb2xsZWN0aW9uQ29udGVudHNRdWVyeSA9IHsgcHJldmlld0NvbGxlY3Rpb25WYXJpYW50czogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50TGlzdCcgfVxyXG4gICAgJiBQaWNrPFByb2R1Y3RWYXJpYW50TGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudCcgfVxyXG4gICAgICAmIFBpY2s8UHJvZHVjdFZhcmlhbnQsICdpZCcgfCAncHJvZHVjdElkJyB8ICduYW1lJyB8ICdza3UnPlxyXG4gICAgKT4gfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IEFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsTXV0YXRpb24gPSB7IGFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29sbGVjdGlvbicgfVxyXG4gICAgJiBQaWNrPENvbGxlY3Rpb24sICdpZCcgfCAnbmFtZSc+XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlbW92ZUNvbGxlY3Rpb25zRnJvbUNoYW5uZWxNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogUmVtb3ZlQ29sbGVjdGlvbnNGcm9tQ2hhbm5lbElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBSZW1vdmVDb2xsZWN0aW9uc0Zyb21DaGFubmVsTXV0YXRpb24gPSB7IHJlbW92ZUNvbGxlY3Rpb25zRnJvbUNoYW5uZWw6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb2xsZWN0aW9uJyB9XHJcbiAgICAmIFBpY2s8Q29sbGVjdGlvbiwgJ2lkJyB8ICduYW1lJz5cclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQWRkcmVzc0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdBZGRyZXNzJyB9XHJcbiAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2Z1bGxOYW1lJyB8ICdjb21wYW55JyB8ICdzdHJlZXRMaW5lMScgfCAnc3RyZWV0TGluZTInIHwgJ2NpdHknIHwgJ3Byb3ZpbmNlJyB8ICdwb3N0YWxDb2RlJyB8ICdwaG9uZU51bWJlcicgfCAnZGVmYXVsdFNoaXBwaW5nQWRkcmVzcycgfCAnZGVmYXVsdEJpbGxpbmdBZGRyZXNzJz5cclxuICAmIHsgY291bnRyeTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvdW50cnknIH1cclxuICAgICYgUGljazxDb3VudHJ5LCAnaWQnIHwgJ2NvZGUnIHwgJ25hbWUnPlxyXG4gICkgfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VzdG9tZXJGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXInIH1cclxuICAmIFBpY2s8Q3VzdG9tZXIsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ3RpdGxlJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJyB8ICdwaG9uZU51bWJlcicgfCAnZW1haWxBZGRyZXNzJz5cclxuICAmIHsgdXNlcj86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XHJcbiAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICdpZGVudGlmaWVyJyB8ICd2ZXJpZmllZCcgfCAnbGFzdExvZ2luJz5cclxuICApPiwgYWRkcmVzc2VzPzogTWF5YmU8QXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnIH1cclxuICAgICYgQWRkcmVzc0ZyYWdtZW50XHJcbiAgKT4+IH1cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIEN1c3RvbWVyR3JvdXBGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXJHcm91cCcgfVxyXG4gICYgUGljazxDdXN0b21lckdyb3VwLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICduYW1lJz5cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldEN1c3RvbWVyTGlzdFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9wdGlvbnM/OiBNYXliZTxDdXN0b21lckxpc3RPcHRpb25zPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q3VzdG9tZXJMaXN0UXVlcnkgPSB7IGN1c3RvbWVyczogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyTGlzdCcgfVxyXG4gICAgJiBQaWNrPEN1c3RvbWVyTGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21lcicgfVxyXG4gICAgICAmIFBpY2s8Q3VzdG9tZXIsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ3RpdGxlJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJyB8ICdlbWFpbEFkZHJlc3MnPlxyXG4gICAgICAmIHsgdXNlcj86IE1heWJlPChcclxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxyXG4gICAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3ZlcmlmaWVkJz5cclxuICAgICAgKT4gfVxyXG4gICAgKT4gfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldEN1c3RvbWVyUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgb3JkZXJMaXN0T3B0aW9ucz86IE1heWJlPE9yZGVyTGlzdE9wdGlvbnM+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRDdXN0b21lclF1ZXJ5ID0geyBjdXN0b21lcj86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21lcicgfVxyXG4gICAgJiB7IGdyb3VwczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXJHcm91cCcgfVxyXG4gICAgICAmIFBpY2s8Q3VzdG9tZXJHcm91cCwgJ2lkJyB8ICduYW1lJz5cclxuICAgICk+LCBvcmRlcnM6IChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyTGlzdCcgfVxyXG4gICAgICAmIFBpY2s8T3JkZXJMaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdPcmRlcicgfVxyXG4gICAgICAgICYgUGljazxPcmRlciwgJ2lkJyB8ICdjb2RlJyB8ICdzdGF0ZScgfCAndG90YWxXaXRoVGF4JyB8ICdjdXJyZW5jeUNvZGUnIHwgJ3VwZGF0ZWRBdCc+XHJcbiAgICAgICk+IH1cclxuICAgICkgfVxyXG4gICAgJiBDdXN0b21lckZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUN1c3RvbWVyTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IENyZWF0ZUN1c3RvbWVySW5wdXQ7XHJcbiAgcGFzc3dvcmQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUN1c3RvbWVyTXV0YXRpb24gPSB7IGNyZWF0ZUN1c3RvbWVyOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXInIH1cclxuICAgICYgQ3VzdG9tZXJGcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRW1haWxBZGRyZXNzQ29uZmxpY3RFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9FbWFpbEFkZHJlc3NDb25mbGljdEVycm9yX0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQ3VzdG9tZXJNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXBkYXRlQ3VzdG9tZXJJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQ3VzdG9tZXJNdXRhdGlvbiA9IHsgdXBkYXRlQ3VzdG9tZXI6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21lcicgfVxyXG4gICAgJiBDdXN0b21lckZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdFbWFpbEFkZHJlc3NDb25mbGljdEVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X0VtYWlsQWRkcmVzc0NvbmZsaWN0RXJyb3JfRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVDdXN0b21lck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVDdXN0b21lck11dGF0aW9uID0geyBkZWxldGVDdXN0b21lcjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVDdXN0b21lckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBjdXN0b21lcklkOiBTY2FsYXJzWydJRCddO1xyXG4gIGlucHV0OiBDcmVhdGVBZGRyZXNzSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUN1c3RvbWVyQWRkcmVzc011dGF0aW9uID0geyBjcmVhdGVDdXN0b21lckFkZHJlc3M6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdBZGRyZXNzJyB9XHJcbiAgICAmIEFkZHJlc3NGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZUN1c3RvbWVyQWRkcmVzc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBVcGRhdGVBZGRyZXNzSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZUN1c3RvbWVyQWRkcmVzc011dGF0aW9uID0geyB1cGRhdGVDdXN0b21lckFkZHJlc3M6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdBZGRyZXNzJyB9XHJcbiAgICAmIEFkZHJlc3NGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZUN1c3RvbWVyQWRkcmVzc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVDdXN0b21lckFkZHJlc3NNdXRhdGlvbiA9IHsgZGVsZXRlQ3VzdG9tZXJBZGRyZXNzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnU3VjY2VzcycgfVxyXG4gICAgJiBQaWNrPFN1Y2Nlc3MsICdzdWNjZXNzJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVDdXN0b21lckdyb3VwTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IENyZWF0ZUN1c3RvbWVyR3JvdXBJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlQ3VzdG9tZXJHcm91cE11dGF0aW9uID0geyBjcmVhdGVDdXN0b21lckdyb3VwOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXJHcm91cCcgfVxyXG4gICAgJiBDdXN0b21lckdyb3VwRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVDdXN0b21lckdyb3VwTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFVwZGF0ZUN1c3RvbWVyR3JvdXBJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQ3VzdG9tZXJHcm91cE11dGF0aW9uID0geyB1cGRhdGVDdXN0b21lckdyb3VwOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXJHcm91cCcgfVxyXG4gICAgJiBDdXN0b21lckdyb3VwRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVDdXN0b21lckdyb3VwTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZUN1c3RvbWVyR3JvdXBNdXRhdGlvbiA9IHsgZGVsZXRlQ3VzdG9tZXJHcm91cDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRDdXN0b21lckdyb3Vwc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9wdGlvbnM/OiBNYXliZTxDdXN0b21lckdyb3VwTGlzdE9wdGlvbnM+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRDdXN0b21lckdyb3Vwc1F1ZXJ5ID0geyBjdXN0b21lckdyb3VwczogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyR3JvdXBMaXN0JyB9XHJcbiAgICAmIFBpY2s8Q3VzdG9tZXJHcm91cExpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXJHcm91cCcgfVxyXG4gICAgICAmIEN1c3RvbWVyR3JvdXBGcmFnbWVudFxyXG4gICAgKT4gfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldEN1c3RvbWVyR3JvdXBXaXRoQ3VzdG9tZXJzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgb3B0aW9ucz86IE1heWJlPEN1c3RvbWVyTGlzdE9wdGlvbnM+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRDdXN0b21lckdyb3VwV2l0aEN1c3RvbWVyc1F1ZXJ5ID0geyBjdXN0b21lckdyb3VwPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyR3JvdXAnIH1cclxuICAgICYgeyBjdXN0b21lcnM6IChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyTGlzdCcgfVxyXG4gICAgICAmIFBpY2s8Q3VzdG9tZXJMaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21lcicgfVxyXG4gICAgICAgICYgUGljazxDdXN0b21lciwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZW1haWxBZGRyZXNzJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJz5cclxuICAgICAgKT4gfVxyXG4gICAgKSB9XHJcbiAgICAmIEN1c3RvbWVyR3JvdXBGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBBZGRDdXN0b21lcnNUb0dyb3VwTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgZ3JvdXBJZDogU2NhbGFyc1snSUQnXTtcclxuICBjdXN0b21lcklkczogQXJyYXk8U2NhbGFyc1snSUQnXT4gfCBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBBZGRDdXN0b21lcnNUb0dyb3VwTXV0YXRpb24gPSB7IGFkZEN1c3RvbWVyc1RvR3JvdXA6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21lckdyb3VwJyB9XHJcbiAgICAmIEN1c3RvbWVyR3JvdXBGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlbW92ZUN1c3RvbWVyc0Zyb21Hcm91cE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGdyb3VwSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3VzdG9tZXJJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+IHwgU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUmVtb3ZlQ3VzdG9tZXJzRnJvbUdyb3VwTXV0YXRpb24gPSB7IHJlbW92ZUN1c3RvbWVyc0Zyb21Hcm91cDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyR3JvdXAnIH1cclxuICAgICYgQ3VzdG9tZXJHcm91cEZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q3VzdG9tZXJIaXN0b3J5UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgb3B0aW9ucz86IE1heWJlPEhpc3RvcnlFbnRyeUxpc3RPcHRpb25zPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q3VzdG9tZXJIaXN0b3J5UXVlcnkgPSB7IGN1c3RvbWVyPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyJyB9XHJcbiAgICAmIFBpY2s8Q3VzdG9tZXIsICdpZCc+XHJcbiAgICAmIHsgaGlzdG9yeTogKFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSGlzdG9yeUVudHJ5TGlzdCcgfVxyXG4gICAgICAmIFBpY2s8SGlzdG9yeUVudHJ5TGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSGlzdG9yeUVudHJ5JyB9XHJcbiAgICAgICAgJiBQaWNrPEhpc3RvcnlFbnRyeSwgJ2lkJyB8ICd0eXBlJyB8ICdjcmVhdGVkQXQnIHwgJ2lzUHVibGljJyB8ICdkYXRhJz5cclxuICAgICAgICAmIHsgYWRtaW5pc3RyYXRvcj86IE1heWJlPChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdBZG1pbmlzdHJhdG9yJyB9XHJcbiAgICAgICAgICAmIFBpY2s8QWRtaW5pc3RyYXRvciwgJ2lkJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJz5cclxuICAgICAgICApPiB9XHJcbiAgICAgICk+IH1cclxuICAgICkgfVxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBBZGROb3RlVG9DdXN0b21lck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBBZGROb3RlVG9DdXN0b21lcklucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBBZGROb3RlVG9DdXN0b21lck11dGF0aW9uID0geyBhZGROb3RlVG9DdXN0b21lcjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyJyB9XHJcbiAgICAmIFBpY2s8Q3VzdG9tZXIsICdpZCc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQ3VzdG9tZXJOb3RlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFVwZGF0ZUN1c3RvbWVyTm90ZUlucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVDdXN0b21lck5vdGVNdXRhdGlvbiA9IHsgdXBkYXRlQ3VzdG9tZXJOb3RlOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnSGlzdG9yeUVudHJ5JyB9XHJcbiAgICAmIFBpY2s8SGlzdG9yeUVudHJ5LCAnaWQnIHwgJ2RhdGEnIHwgJ2lzUHVibGljJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVDdXN0b21lck5vdGVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlQ3VzdG9tZXJOb3RlTXV0YXRpb24gPSB7IGRlbGV0ZUN1c3RvbWVyTm90ZTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBGYWNldFZhbHVlRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0VmFsdWUnIH1cclxuICAmIFBpY2s8RmFjZXRWYWx1ZSwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICdjb2RlJyB8ICduYW1lJz5cclxuICAmIHsgdHJhbnNsYXRpb25zOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmFjZXRWYWx1ZVRyYW5zbGF0aW9uJyB9XHJcbiAgICAmIFBpY2s8RmFjZXRWYWx1ZVRyYW5zbGF0aW9uLCAnaWQnIHwgJ2xhbmd1YWdlQ29kZScgfCAnbmFtZSc+XHJcbiAgKT4sIGZhY2V0OiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmFjZXQnIH1cclxuICAgICYgUGljazxGYWNldCwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnbmFtZSc+XHJcbiAgKSB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBGYWNldFdpdGhWYWx1ZXNGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnRmFjZXQnIH1cclxuICAmIFBpY2s8RmFjZXQsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2xhbmd1YWdlQ29kZScgfCAnaXNQcml2YXRlJyB8ICdjb2RlJyB8ICduYW1lJz5cclxuICAmIHsgdHJhbnNsYXRpb25zOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmFjZXRUcmFuc2xhdGlvbicgfVxyXG4gICAgJiBQaWNrPEZhY2V0VHJhbnNsYXRpb24sICdpZCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICduYW1lJz5cclxuICApPiwgdmFsdWVzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmFjZXRWYWx1ZScgfVxyXG4gICAgJiBGYWNldFZhbHVlRnJhZ21lbnRcclxuICApPiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVGYWNldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBDcmVhdGVGYWNldElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVGYWNldE11dGF0aW9uID0geyBjcmVhdGVGYWNldDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0JyB9XHJcbiAgICAmIEZhY2V0V2l0aFZhbHVlc0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlRmFjZXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXBkYXRlRmFjZXRJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlRmFjZXRNdXRhdGlvbiA9IHsgdXBkYXRlRmFjZXQ6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdGYWNldCcgfVxyXG4gICAgJiBGYWNldFdpdGhWYWx1ZXNGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZUZhY2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgZm9yY2U/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVGYWNldE11dGF0aW9uID0geyBkZWxldGVGYWNldDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVGYWNldHNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+IHwgU2NhbGFyc1snSUQnXTtcclxuICBmb3JjZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZUZhY2V0c011dGF0aW9uID0geyBkZWxldGVGYWNldHM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUZhY2V0VmFsdWVzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IEFycmF5PENyZWF0ZUZhY2V0VmFsdWVJbnB1dD4gfCBDcmVhdGVGYWNldFZhbHVlSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUZhY2V0VmFsdWVzTXV0YXRpb24gPSB7IGNyZWF0ZUZhY2V0VmFsdWVzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmFjZXRWYWx1ZScgfVxyXG4gICAgJiBGYWNldFZhbHVlRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlRmFjZXRWYWx1ZXNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQXJyYXk8VXBkYXRlRmFjZXRWYWx1ZUlucHV0PiB8IFVwZGF0ZUZhY2V0VmFsdWVJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlRmFjZXRWYWx1ZXNNdXRhdGlvbiA9IHsgdXBkYXRlRmFjZXRWYWx1ZXM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdGYWNldFZhbHVlJyB9XHJcbiAgICAmIEZhY2V0VmFsdWVGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVGYWNldFZhbHVlc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkczogQXJyYXk8U2NhbGFyc1snSUQnXT4gfCBTY2FsYXJzWydJRCddO1xyXG4gIGZvcmNlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlRmFjZXRWYWx1ZXNNdXRhdGlvbiA9IHsgZGVsZXRlRmFjZXRWYWx1ZXM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldEZhY2V0TGlzdFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9wdGlvbnM/OiBNYXliZTxGYWNldExpc3RPcHRpb25zPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0RmFjZXRMaXN0UXVlcnkgPSB7IGZhY2V0czogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0TGlzdCcgfVxyXG4gICAgJiBQaWNrPEZhY2V0TGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdGYWNldCcgfVxyXG4gICAgICAmIEZhY2V0V2l0aFZhbHVlc0ZyYWdtZW50XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0RmFjZXRWYWx1ZUxpc3RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBvcHRpb25zPzogTWF5YmU8RmFjZXRWYWx1ZUxpc3RPcHRpb25zPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0RmFjZXRWYWx1ZUxpc3RRdWVyeSA9IHsgZmFjZXRWYWx1ZXM6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdGYWNldFZhbHVlTGlzdCcgfVxyXG4gICAgJiBQaWNrPEZhY2V0VmFsdWVMaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0VmFsdWUnIH1cclxuICAgICAgJiBGYWNldFZhbHVlRnJhZ21lbnRcclxuICAgICk+IH1cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRGYWNldFdpdGhWYWx1ZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0RmFjZXRXaXRoVmFsdWVzUXVlcnkgPSB7IGZhY2V0PzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0JyB9XHJcbiAgICAmIEZhY2V0V2l0aFZhbHVlc0ZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIEFzc2lnbkZhY2V0c1RvQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBBc3NpZ25GYWNldHNUb0NoYW5uZWxJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQXNzaWduRmFjZXRzVG9DaGFubmVsTXV0YXRpb24gPSB7IGFzc2lnbkZhY2V0c1RvQ2hhbm5lbDogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0JyB9XHJcbiAgICAmIFBpY2s8RmFjZXQsICdpZCc+XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlbW92ZUZhY2V0c0Zyb21DaGFubmVsTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFJlbW92ZUZhY2V0c0Zyb21DaGFubmVsSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFJlbW92ZUZhY2V0c0Zyb21DaGFubmVsTXV0YXRpb24gPSB7IHJlbW92ZUZhY2V0c0Zyb21DaGFubmVsOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmFjZXQnIH1cclxuICAgICYgUGljazxGYWNldCwgJ2lkJz5cclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0SW5Vc2VFcnJvcicgfVxyXG4gICAgJiBQaWNrPEZhY2V0SW5Vc2VFcnJvciwgJ2Vycm9yQ29kZScgfCAnbWVzc2FnZScgfCAndmFyaWFudENvdW50JyB8ICdwcm9kdWN0Q291bnQnPlxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBEaXNjb3VudEZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdEaXNjb3VudCcgfVxyXG4gICYgUGljazxEaXNjb3VudCwgJ2FkanVzdG1lbnRTb3VyY2UnIHwgJ2Ftb3VudCcgfCAnYW1vdW50V2l0aFRheCcgfCAnZGVzY3JpcHRpb24nIHwgJ3R5cGUnPlxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgUGF5bWVudEZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdQYXltZW50JyB9XHJcbiAgJiBQaWNrPFBheW1lbnQsICdpZCcgfCAndHJhbnNhY3Rpb25JZCcgfCAnYW1vdW50JyB8ICdtZXRob2QnIHwgJ3N0YXRlJyB8ICdtZXRhZGF0YSc+XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBSZWZ1bmRGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnUmVmdW5kJyB9XHJcbiAgJiBQaWNrPFJlZnVuZCwgJ2lkJyB8ICdzdGF0ZScgfCAnaXRlbXMnIHwgJ3NoaXBwaW5nJyB8ICdhZGp1c3RtZW50JyB8ICd0cmFuc2FjdGlvbklkJyB8ICdwYXltZW50SWQnPlxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgT3JkZXJBZGRyZXNzRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ09yZGVyQWRkcmVzcycgfVxyXG4gICYgUGljazxPcmRlckFkZHJlc3MsICdmdWxsTmFtZScgfCAnY29tcGFueScgfCAnc3RyZWV0TGluZTEnIHwgJ3N0cmVldExpbmUyJyB8ICdjaXR5JyB8ICdwcm92aW5jZScgfCAncG9zdGFsQ29kZScgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ3Bob25lTnVtYmVyJz5cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIE9yZGVyRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ09yZGVyJyB9XHJcbiAgJiBQaWNrPE9yZGVyLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdvcmRlclBsYWNlZEF0JyB8ICdjb2RlJyB8ICdzdGF0ZScgfCAnbmV4dFN0YXRlcycgfCAndG90YWwnIHwgJ3RvdGFsV2l0aFRheCcgfCAnY3VycmVuY3lDb2RlJz5cclxuICAmIHsgY3VzdG9tZXI/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXInIH1cclxuICAgICYgUGljazxDdXN0b21lciwgJ2lkJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJz5cclxuICApPiwgc2hpcHBpbmdMaW5lczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NoaXBwaW5nTGluZScgfVxyXG4gICAgJiB7IHNoaXBwaW5nTWV0aG9kOiAoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdTaGlwcGluZ01ldGhvZCcgfVxyXG4gICAgICAmIFBpY2s8U2hpcHBpbmdNZXRob2QsICduYW1lJz5cclxuICAgICkgfVxyXG4gICk+IH1cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIEZ1bGZpbGxtZW50RnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0Z1bGZpbGxtZW50JyB9XHJcbiAgJiBQaWNrPEZ1bGZpbGxtZW50LCAnaWQnIHwgJ3N0YXRlJyB8ICduZXh0U3RhdGVzJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnbWV0aG9kJyB8ICd0cmFja2luZ0NvZGUnPlxyXG4gICYgeyBzdW1tYXJ5OiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRnVsZmlsbG1lbnRMaW5lU3VtbWFyeScgfVxyXG4gICAgJiBQaWNrPEZ1bGZpbGxtZW50TGluZVN1bW1hcnksICdxdWFudGl0eSc+XHJcbiAgICAmIHsgb3JkZXJMaW5lOiAoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdPcmRlckxpbmUnIH1cclxuICAgICAgJiBQaWNrPE9yZGVyTGluZSwgJ2lkJz5cclxuICAgICkgfVxyXG4gICk+IH1cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIE9yZGVyTGluZUZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdPcmRlckxpbmUnIH1cclxuICAmIFBpY2s8T3JkZXJMaW5lLCAnaWQnIHwgJ3VuaXRQcmljZScgfCAndW5pdFByaWNlV2l0aFRheCcgfCAncHJvcmF0ZWRVbml0UHJpY2UnIHwgJ3Byb3JhdGVkVW5pdFByaWNlV2l0aFRheCcgfCAncXVhbnRpdHknIHwgJ2xpbmVQcmljZScgfCAnbGluZVRheCcgfCAnbGluZVByaWNlV2l0aFRheCcgfCAnZGlzY291bnRlZExpbmVQcmljZScgfCAnZGlzY291bnRlZExpbmVQcmljZVdpdGhUYXgnPlxyXG4gICYgeyBmZWF0dXJlZEFzc2V0PzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XHJcbiAgICAmIFBpY2s8QXNzZXQsICdwcmV2aWV3Jz5cclxuICApPiwgcHJvZHVjdFZhcmlhbnQ6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudCcgfVxyXG4gICAgJiBQaWNrPFByb2R1Y3RWYXJpYW50LCAnaWQnIHwgJ25hbWUnIHwgJ3NrdScgfCAndHJhY2tJbnZlbnRvcnknIHwgJ3N0b2NrT25IYW5kJz5cclxuICApLCBkaXNjb3VudHM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdEaXNjb3VudCcgfVxyXG4gICAgJiBEaXNjb3VudEZyYWdtZW50XHJcbiAgKT4sIGZ1bGZpbGxtZW50cz86IE1heWJlPEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdGdWxmaWxsbWVudCcgfVxyXG4gICAgJiBGdWxmaWxsbWVudEZyYWdtZW50XHJcbiAgKT4+LCBpdGVtczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVySXRlbScgfVxyXG4gICAgJiBQaWNrPE9yZGVySXRlbSwgJ2lkJyB8ICdyZWZ1bmRJZCcgfCAnY2FuY2VsbGVkJz5cclxuICApPiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBPcmRlckRldGFpbEZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdPcmRlcicgfVxyXG4gICYgUGljazxPcmRlciwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnY29kZScgfCAnc3RhdGUnIHwgJ25leHRTdGF0ZXMnIHwgJ2FjdGl2ZScgfCAnY291cG9uQ29kZXMnIHwgJ3N1YlRvdGFsJyB8ICdzdWJUb3RhbFdpdGhUYXgnIHwgJ3RvdGFsJyB8ICd0b3RhbFdpdGhUYXgnIHwgJ2N1cnJlbmN5Q29kZScgfCAnc2hpcHBpbmcnIHwgJ3NoaXBwaW5nV2l0aFRheCc+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/OiAnUGF5bWVudCcgfVxyXG4gICAgJiBQYXltZW50RnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NldHRsZVBheW1lbnRFcnJvcicgfVxyXG4gICAgJiBQaWNrPFNldHRsZVBheW1lbnRFcnJvciwgJ3BheW1lbnRFcnJvck1lc3NhZ2UnPlxyXG4gICAgJiBFcnJvclJlc3VsdF9TZXR0bGVQYXltZW50RXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcicgfVxyXG4gICAgJiBQaWNrPFBheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvciwgJ3RyYW5zaXRpb25FcnJvcic+XHJcbiAgICAmIEVycm9yUmVzdWx0X1BheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcicgfVxyXG4gICAgJiBQaWNrPE9yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3IsICd0cmFuc2l0aW9uRXJyb3InPlxyXG4gICAgJiBFcnJvclJlc3VsdF9PcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ2FuY2VsUGF5bWVudE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDYW5jZWxQYXltZW50TXV0YXRpb24gPSB7IGNhbmNlbFBheW1lbnQ6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdQYXltZW50JyB9XHJcbiAgICAmIFBheW1lbnRGcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2FuY2VsUGF5bWVudEVycm9yJyB9XHJcbiAgICAmIFBpY2s8Q2FuY2VsUGF5bWVudEVycm9yLCAncGF5bWVudEVycm9yTWVzc2FnZSc+XHJcbiAgICAmIEVycm9yUmVzdWx0X0NhbmNlbFBheW1lbnRFcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yJyB9XHJcbiAgICAmIFBpY2s8UGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yLCAndHJhbnNpdGlvbkVycm9yJz5cclxuICAgICYgRXJyb3JSZXN1bHRfUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVHJhbnNpdGlvblBheW1lbnRUb1N0YXRlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgc3RhdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBUcmFuc2l0aW9uUGF5bWVudFRvU3RhdGVNdXRhdGlvbiA9IHsgdHJhbnNpdGlvblBheW1lbnRUb1N0YXRlOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudCcgfVxyXG4gICAgJiBQYXltZW50RnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcicgfVxyXG4gICAgJiBQaWNrPFBheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvciwgJ3RyYW5zaXRpb25FcnJvcic+XHJcbiAgICAmIEVycm9yUmVzdWx0X1BheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcl9GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUZ1bGZpbGxtZW50TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IEZ1bGZpbGxPcmRlcklucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVGdWxmaWxsbWVudE11dGF0aW9uID0geyBhZGRGdWxmaWxsbWVudFRvT3JkZXI6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdGdWxmaWxsbWVudCcgfVxyXG4gICAgJiBGdWxmaWxsbWVudEZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdFbXB0eU9yZGVyTGluZVNlbGVjdGlvbkVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X0VtcHR5T3JkZXJMaW5lU2VsZWN0aW9uRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0l0ZW1zQWxyZWFkeUZ1bGZpbGxlZEVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X0l0ZW1zQWxyZWFkeUZ1bGZpbGxlZEVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdJbnN1ZmZpY2llbnRTdG9ja09uSGFuZEVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X0luc3VmZmljaWVudFN0b2NrT25IYW5kRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ludmFsaWRGdWxmaWxsbWVudEhhbmRsZXJFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9JbnZhbGlkRnVsZmlsbG1lbnRIYW5kbGVyRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Z1bGZpbGxtZW50U3RhdGVUcmFuc2l0aW9uRXJyb3InIH1cclxuICAgICYgUGljazxGdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJyB8ICd0cmFuc2l0aW9uRXJyb3InPlxyXG4gICAgJiBFcnJvclJlc3VsdF9GdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDcmVhdGVGdWxmaWxsbWVudEVycm9yJyB9XHJcbiAgICAmIFBpY2s8Q3JlYXRlRnVsZmlsbG1lbnRFcnJvciwgJ2Vycm9yQ29kZScgfCAnbWVzc2FnZScgfCAnZnVsZmlsbG1lbnRIYW5kbGVyRXJyb3InPlxyXG4gICAgJiBFcnJvclJlc3VsdF9DcmVhdGVGdWxmaWxsbWVudEVycm9yX0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ2FuY2VsT3JkZXJNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQ2FuY2VsT3JkZXJJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQ2FuY2VsT3JkZXJNdXRhdGlvbiA9IHsgY2FuY2VsT3JkZXI6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlcicgfVxyXG4gICAgJiBPcmRlckRldGFpbEZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdFbXB0eU9yZGVyTGluZVNlbGVjdGlvbkVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X0VtcHR5T3JkZXJMaW5lU2VsZWN0aW9uRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1F1YW50aXR5VG9vR3JlYXRFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9RdWFudGl0eVRvb0dyZWF0RXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ011bHRpcGxlT3JkZXJFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9NdWx0aXBsZU9yZGVyRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NhbmNlbEFjdGl2ZU9yZGVyRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfQ2FuY2VsQWN0aXZlT3JkZXJFcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9PcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgUmVmdW5kT3JkZXJNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogUmVmdW5kT3JkZXJJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUmVmdW5kT3JkZXJNdXRhdGlvbiA9IHsgcmVmdW5kT3JkZXI6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdSZWZ1bmQnIH1cclxuICAgICYgUmVmdW5kRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1F1YW50aXR5VG9vR3JlYXRFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9RdWFudGl0eVRvb0dyZWF0RXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ05vdGhpbmdUb1JlZnVuZEVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X05vdGhpbmdUb1JlZnVuZEVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X09yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ011bHRpcGxlT3JkZXJFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9NdWx0aXBsZU9yZGVyRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnRPcmRlck1pc21hdGNoRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfUGF5bWVudE9yZGVyTWlzbWF0Y2hFcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmVmdW5kT3JkZXJTdGF0ZUVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X1JlZnVuZE9yZGVyU3RhdGVFcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWxyZWFkeVJlZnVuZGVkRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfQWxyZWFkeVJlZnVuZGVkRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JlZnVuZFN0YXRlVHJhbnNpdGlvbkVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X1JlZnVuZFN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgU2V0dGxlUmVmdW5kTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFNldHRsZVJlZnVuZElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBTZXR0bGVSZWZ1bmRNdXRhdGlvbiA9IHsgc2V0dGxlUmVmdW5kOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmVmdW5kJyB9XHJcbiAgICAmIFJlZnVuZEZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdSZWZ1bmRTdGF0ZVRyYW5zaXRpb25FcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9SZWZ1bmRTdGF0ZVRyYW5zaXRpb25FcnJvcl9GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldE9yZGVySGlzdG9yeVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIG9wdGlvbnM/OiBNYXliZTxIaXN0b3J5RW50cnlMaXN0T3B0aW9ucz47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldE9yZGVySGlzdG9yeVF1ZXJ5ID0geyBvcmRlcj86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlcicgfVxyXG4gICAgJiBQaWNrPE9yZGVyLCAnaWQnPlxyXG4gICAgJiB7IGhpc3Rvcnk6IChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0hpc3RvcnlFbnRyeUxpc3QnIH1cclxuICAgICAgJiBQaWNrPEhpc3RvcnlFbnRyeUxpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hpc3RvcnlFbnRyeScgfVxyXG4gICAgICAgICYgUGljazxIaXN0b3J5RW50cnksICdpZCcgfCAndHlwZScgfCAnY3JlYXRlZEF0JyB8ICdpc1B1YmxpYycgfCAnZGF0YSc+XHJcbiAgICAgICAgJiB7IGFkbWluaXN0cmF0b3I/OiBNYXliZTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQWRtaW5pc3RyYXRvcicgfVxyXG4gICAgICAgICAgJiBQaWNrPEFkbWluaXN0cmF0b3IsICdpZCcgfCAnZmlyc3ROYW1lJyB8ICdsYXN0TmFtZSc+XHJcbiAgICAgICAgKT4gfVxyXG4gICAgICApPiB9XHJcbiAgICApIH1cclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQWRkTm90ZVRvT3JkZXJNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQWRkTm90ZVRvT3JkZXJJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQWRkTm90ZVRvT3JkZXJNdXRhdGlvbiA9IHsgYWRkTm90ZVRvT3JkZXI6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlcicgfVxyXG4gICAgJiBQaWNrPE9yZGVyLCAnaWQnPlxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZU9yZGVyTm90ZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBVcGRhdGVPcmRlck5vdGVJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlT3JkZXJOb3RlTXV0YXRpb24gPSB7IHVwZGF0ZU9yZGVyTm90ZTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0hpc3RvcnlFbnRyeScgfVxyXG4gICAgJiBQaWNrPEhpc3RvcnlFbnRyeSwgJ2lkJyB8ICdkYXRhJyB8ICdpc1B1YmxpYyc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlT3JkZXJOb3RlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZU9yZGVyTm90ZU11dGF0aW9uID0geyBkZWxldGVPcmRlck5vdGU6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVHJhbnNpdGlvbk9yZGVyVG9TdGF0ZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIHN0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVHJhbnNpdGlvbk9yZGVyVG9TdGF0ZU11dGF0aW9uID0geyB0cmFuc2l0aW9uT3JkZXJUb1N0YXRlPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyJyB9XHJcbiAgICAmIE9yZGVyRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3InIH1cclxuICAgICYgUGljazxPcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yLCAndHJhbnNpdGlvbkVycm9yJz5cclxuICAgICYgRXJyb3JSZXN1bHRfT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcl9GcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVPcmRlckN1c3RvbUZpZWxkc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBVcGRhdGVPcmRlcklucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVPcmRlckN1c3RvbUZpZWxkc011dGF0aW9uID0geyBzZXRPcmRlckN1c3RvbUZpZWxkcz86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlcicgfVxyXG4gICAgJiBPcmRlckZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIFRyYW5zaXRpb25GdWxmaWxsbWVudFRvU3RhdGVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBzdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFRyYW5zaXRpb25GdWxmaWxsbWVudFRvU3RhdGVNdXRhdGlvbiA9IHsgdHJhbnNpdGlvbkZ1bGZpbGxtZW50VG9TdGF0ZTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Z1bGZpbGxtZW50JyB9XHJcbiAgICAmIEZ1bGZpbGxtZW50RnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Z1bGZpbGxtZW50U3RhdGVUcmFuc2l0aW9uRXJyb3InIH1cclxuICAgICYgUGljazxGdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yLCAndHJhbnNpdGlvbkVycm9yJz5cclxuICAgICYgRXJyb3JSZXN1bHRfRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcl9GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldE9yZGVyU3VtbWFyeVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIHN0YXJ0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIGVuZDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0T3JkZXJTdW1tYXJ5UXVlcnkgPSB7IG9yZGVyczogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyTGlzdCcgfVxyXG4gICAgJiBQaWNrPE9yZGVyTGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdPcmRlcicgfVxyXG4gICAgICAmIFBpY2s8T3JkZXIsICdpZCcgfCAndG90YWwnIHwgJ2N1cnJlbmN5Q29kZSc+XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgTW9kaWZ5T3JkZXJNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogTW9kaWZ5T3JkZXJJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTW9kaWZ5T3JkZXJNdXRhdGlvbiA9IHsgbW9kaWZ5T3JkZXI6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlcicgfVxyXG4gICAgJiBPcmRlckRldGFpbEZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdOb0NoYW5nZXNTcGVjaWZpZWRFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9Ob0NoYW5nZXNTcGVjaWZpZWRFcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJNb2RpZmljYXRpb25TdGF0ZUVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X09yZGVyTW9kaWZpY2F0aW9uU3RhdGVFcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZE1pc3NpbmdFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9QYXltZW50TWV0aG9kTWlzc2luZ0Vycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdSZWZ1bmRQYXltZW50SWRNaXNzaW5nRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfUmVmdW5kUGF5bWVudElkTWlzc2luZ0Vycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlckxpbWl0RXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfT3JkZXJMaW1pdEVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdOZWdhdGl2ZVF1YW50aXR5RXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfTmVnYXRpdmVRdWFudGl0eUVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdJbnN1ZmZpY2llbnRTdG9ja0Vycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X0luc3VmZmljaWVudFN0b2NrRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvdXBvbkNvZGVFeHBpcmVkRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfQ291cG9uQ29kZUV4cGlyZWRFcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ291cG9uQ29kZUludmFsaWRFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9Db3Vwb25Db2RlSW52YWxpZEVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb3Vwb25Db2RlTGltaXRFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9Db3Vwb25Db2RlTGltaXRFcnJvcl9GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEFkZE1hbnVhbFBheW1lbnRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogTWFudWFsUGF5bWVudElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBBZGRNYW51YWxQYXltZW50TXV0YXRpb24gPSB7IGFkZE1hbnVhbFBheW1lbnRUb09yZGVyOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXInIH1cclxuICAgICYgT3JkZXJEZXRhaWxGcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTWFudWFsUGF5bWVudFN0YXRlRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfTWFudWFsUGF5bWVudFN0YXRlRXJyb3JfRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVEcmFmdE9yZGVyTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVEcmFmdE9yZGVyTXV0YXRpb24gPSB7IGNyZWF0ZURyYWZ0T3JkZXI6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlcicgfVxyXG4gICAgJiBPcmRlckRldGFpbEZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlRHJhZnRPcmRlck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9yZGVySWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZURyYWZ0T3JkZXJNdXRhdGlvbiA9IHsgZGVsZXRlRHJhZnRPcmRlcjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBBZGRJdGVtVG9EcmFmdE9yZGVyTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgb3JkZXJJZDogU2NhbGFyc1snSUQnXTtcclxuICBpbnB1dDogQWRkSXRlbVRvRHJhZnRPcmRlcklucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBBZGRJdGVtVG9EcmFmdE9yZGVyTXV0YXRpb24gPSB7IGFkZEl0ZW1Ub0RyYWZ0T3JkZXI6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlcicgfVxyXG4gICAgJiBPcmRlckRldGFpbEZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlck1vZGlmaWNhdGlvbkVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X09yZGVyTW9kaWZpY2F0aW9uRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyTGltaXRFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9PcmRlckxpbWl0RXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ05lZ2F0aXZlUXVhbnRpdHlFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9OZWdhdGl2ZVF1YW50aXR5RXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0luc3VmZmljaWVudFN0b2NrRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfSW5zdWZmaWNpZW50U3RvY2tFcnJvcl9GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEFkanVzdERyYWZ0T3JkZXJMaW5lTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgb3JkZXJJZDogU2NhbGFyc1snSUQnXTtcclxuICBpbnB1dDogQWRqdXN0RHJhZnRPcmRlckxpbmVJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQWRqdXN0RHJhZnRPcmRlckxpbmVNdXRhdGlvbiA9IHsgYWRqdXN0RHJhZnRPcmRlckxpbmU6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlcicgfVxyXG4gICAgJiBPcmRlckRldGFpbEZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlck1vZGlmaWNhdGlvbkVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X09yZGVyTW9kaWZpY2F0aW9uRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyTGltaXRFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9PcmRlckxpbWl0RXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ05lZ2F0aXZlUXVhbnRpdHlFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9OZWdhdGl2ZVF1YW50aXR5RXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0luc3VmZmljaWVudFN0b2NrRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfSW5zdWZmaWNpZW50U3RvY2tFcnJvcl9GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlbW92ZURyYWZ0T3JkZXJMaW5lTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgb3JkZXJJZDogU2NhbGFyc1snSUQnXTtcclxuICBvcmRlckxpbmVJZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUmVtb3ZlRHJhZnRPcmRlckxpbmVNdXRhdGlvbiA9IHsgcmVtb3ZlRHJhZnRPcmRlckxpbmU6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlcicgfVxyXG4gICAgJiBPcmRlckRldGFpbEZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlck1vZGlmaWNhdGlvbkVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X09yZGVyTW9kaWZpY2F0aW9uRXJyb3JfRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBTZXRDdXN0b21lckZvckRyYWZ0T3JkZXJNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBvcmRlcklkOiBTY2FsYXJzWydJRCddO1xyXG4gIGN1c3RvbWVySWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBpbnB1dD86IE1heWJlPENyZWF0ZUN1c3RvbWVySW5wdXQ+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBTZXRDdXN0b21lckZvckRyYWZ0T3JkZXJNdXRhdGlvbiA9IHsgc2V0Q3VzdG9tZXJGb3JEcmFmdE9yZGVyOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXInIH1cclxuICAgICYgT3JkZXJEZXRhaWxGcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRW1haWxBZGRyZXNzQ29uZmxpY3RFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9FbWFpbEFkZHJlc3NDb25mbGljdEVycm9yX0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgU2V0RHJhZnRPcmRlclNoaXBwaW5nQWRkcmVzc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9yZGVySWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgaW5wdXQ6IENyZWF0ZUFkZHJlc3NJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgU2V0RHJhZnRPcmRlclNoaXBwaW5nQWRkcmVzc011dGF0aW9uID0geyBzZXREcmFmdE9yZGVyU2hpcHBpbmdBZGRyZXNzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXInIH1cclxuICAgICYgT3JkZXJEZXRhaWxGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFNldERyYWZ0T3JkZXJCaWxsaW5nQWRkcmVzc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9yZGVySWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgaW5wdXQ6IENyZWF0ZUFkZHJlc3NJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgU2V0RHJhZnRPcmRlckJpbGxpbmdBZGRyZXNzTXV0YXRpb24gPSB7IHNldERyYWZ0T3JkZXJCaWxsaW5nQWRkcmVzczogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyJyB9XHJcbiAgICAmIE9yZGVyRGV0YWlsRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBBcHBseUNvdXBvbkNvZGVUb0RyYWZ0T3JkZXJNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBvcmRlcklkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNvdXBvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBBcHBseUNvdXBvbkNvZGVUb0RyYWZ0T3JkZXJNdXRhdGlvbiA9IHsgYXBwbHlDb3Vwb25Db2RlVG9EcmFmdE9yZGVyOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXInIH1cclxuICAgICYgT3JkZXJEZXRhaWxGcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ291cG9uQ29kZUV4cGlyZWRFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9Db3Vwb25Db2RlRXhwaXJlZEVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb3Vwb25Db2RlSW52YWxpZEVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X0NvdXBvbkNvZGVJbnZhbGlkRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvdXBvbkNvZGVMaW1pdEVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X0NvdXBvbkNvZGVMaW1pdEVycm9yX0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgUmVtb3ZlQ291cG9uQ29kZUZyb21EcmFmdE9yZGVyTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgb3JkZXJJZDogU2NhbGFyc1snSUQnXTtcclxuICBjb3Vwb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUmVtb3ZlQ291cG9uQ29kZUZyb21EcmFmdE9yZGVyTXV0YXRpb24gPSB7IHJlbW92ZUNvdXBvbkNvZGVGcm9tRHJhZnRPcmRlcj86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlcicgfVxyXG4gICAgJiBPcmRlckRldGFpbEZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIERyYWZ0T3JkZXJFbGlnaWJsZVNoaXBwaW5nTWV0aG9kc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9yZGVySWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERyYWZ0T3JkZXJFbGlnaWJsZVNoaXBwaW5nTWV0aG9kc1F1ZXJ5ID0geyBlbGlnaWJsZVNoaXBwaW5nTWV0aG9kc0ZvckRyYWZ0T3JkZXI6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdTaGlwcGluZ01ldGhvZFF1b3RlJyB9XHJcbiAgICAmIFBpY2s8U2hpcHBpbmdNZXRob2RRdW90ZSwgJ2lkJyB8ICduYW1lJyB8ICdjb2RlJyB8ICdkZXNjcmlwdGlvbicgfCAncHJpY2UnIHwgJ3ByaWNlV2l0aFRheCcgfCAnbWV0YWRhdGEnPlxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBTZXREcmFmdE9yZGVyU2hpcHBpbmdNZXRob2RNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBvcmRlcklkOiBTY2FsYXJzWydJRCddO1xyXG4gIHNoaXBwaW5nTWV0aG9kSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFNldERyYWZ0T3JkZXJTaGlwcGluZ01ldGhvZE11dGF0aW9uID0geyBzZXREcmFmdE9yZGVyU2hpcHBpbmdNZXRob2Q6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlcicgfVxyXG4gICAgJiBPcmRlckRldGFpbEZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlck1vZGlmaWNhdGlvbkVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X09yZGVyTW9kaWZpY2F0aW9uRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0luZWxpZ2libGVTaGlwcGluZ01ldGhvZEVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X0luZWxpZ2libGVTaGlwcGluZ01ldGhvZEVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdOb0FjdGl2ZU9yZGVyRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfTm9BY3RpdmVPcmRlckVycm9yX0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQXNzZXRGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnQXNzZXQnIH1cclxuICAmIFBpY2s8QXNzZXQsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ25hbWUnIHwgJ2ZpbGVTaXplJyB8ICdtaW1lVHlwZScgfCAndHlwZScgfCAncHJldmlldycgfCAnc291cmNlJyB8ICd3aWR0aCcgfCAnaGVpZ2h0Jz5cclxuICAmIHsgZm9jYWxQb2ludD86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb29yZGluYXRlJyB9XHJcbiAgICAmIFBpY2s8Q29vcmRpbmF0ZSwgJ3gnIHwgJ3knPlxyXG4gICk+IH1cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIFRhZ0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdUYWcnIH1cclxuICAmIFBpY2s8VGFnLCAnaWQnIHwgJ3ZhbHVlJz5cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RPcHRpb25Hcm91cEZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uR3JvdXAnIH1cclxuICAmIFBpY2s8UHJvZHVjdE9wdGlvbkdyb3VwLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdjb2RlJyB8ICdsYW5ndWFnZUNvZGUnIHwgJ25hbWUnPlxyXG4gICYgeyB0cmFuc2xhdGlvbnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uR3JvdXBUcmFuc2xhdGlvbicgfVxyXG4gICAgJiBQaWNrPFByb2R1Y3RPcHRpb25Hcm91cFRyYW5zbGF0aW9uLCAnaWQnIHwgJ2xhbmd1YWdlQ29kZScgfCAnbmFtZSc+XHJcbiAgKT4gfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdE9wdGlvbkZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uJyB9XHJcbiAgJiBQaWNrPFByb2R1Y3RPcHRpb24sICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvZGUnIHwgJ2xhbmd1YWdlQ29kZScgfCAnbmFtZScgfCAnZ3JvdXBJZCc+XHJcbiAgJiB7IHRyYW5zbGF0aW9uczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25UcmFuc2xhdGlvbicgfVxyXG4gICAgJiBQaWNrPFByb2R1Y3RPcHRpb25UcmFuc2xhdGlvbiwgJ2lkJyB8ICdsYW5ndWFnZUNvZGUnIHwgJ25hbWUnPlxyXG4gICk+IH1cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RWYXJpYW50RnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50JyB9XHJcbiAgJiBQaWNrPFByb2R1Y3RWYXJpYW50LCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdlbmFibGVkJyB8ICdsYW5ndWFnZUNvZGUnIHwgJ25hbWUnIHwgJ3ByaWNlJyB8ICdjdXJyZW5jeUNvZGUnIHwgJ3ByaWNlV2l0aFRheCcgfCAnc3RvY2tPbkhhbmQnIHwgJ3N0b2NrQWxsb2NhdGVkJyB8ICd0cmFja0ludmVudG9yeScgfCAnb3V0T2ZTdG9ja1RocmVzaG9sZCcgfCAndXNlR2xvYmFsT3V0T2ZTdG9ja1RocmVzaG9sZCcgfCAnc2t1Jz5cclxuICAmIHsgdGF4UmF0ZUFwcGxpZWQ6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdUYXhSYXRlJyB9XHJcbiAgICAmIFBpY2s8VGF4UmF0ZSwgJ2lkJyB8ICduYW1lJyB8ICd2YWx1ZSc+XHJcbiAgKSwgdGF4Q2F0ZWdvcnk6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdUYXhDYXRlZ29yeScgfVxyXG4gICAgJiBQaWNrPFRheENhdGVnb3J5LCAnaWQnIHwgJ25hbWUnPlxyXG4gICksIG9wdGlvbnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uJyB9XHJcbiAgICAmIFByb2R1Y3RPcHRpb25GcmFnbWVudFxyXG4gICk+LCBmYWNldFZhbHVlczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0VmFsdWUnIH1cclxuICAgICYgUGljazxGYWNldFZhbHVlLCAnaWQnIHwgJ2NvZGUnIHwgJ25hbWUnPlxyXG4gICAgJiB7IGZhY2V0OiAoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdGYWNldCcgfVxyXG4gICAgICAmIFBpY2s8RmFjZXQsICdpZCcgfCAnbmFtZSc+XHJcbiAgICApIH1cclxuICApPiwgZmVhdHVyZWRBc3NldD86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdBc3NldCcgfVxyXG4gICAgJiBBc3NldEZyYWdtZW50XHJcbiAgKT4sIGFzc2V0czogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XHJcbiAgICAmIEFzc2V0RnJhZ21lbnRcclxuICApPiwgdHJhbnNsYXRpb25zOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnRUcmFuc2xhdGlvbicgfVxyXG4gICAgJiBQaWNrPFByb2R1Y3RWYXJpYW50VHJhbnNsYXRpb24sICdpZCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICduYW1lJz5cclxuICApPiwgY2hhbm5lbHM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDaGFubmVsJyB9XHJcbiAgICAmIFBpY2s8Q2hhbm5lbCwgJ2lkJyB8ICdjb2RlJz5cclxuICApPiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0RGV0YWlsRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3QnIH1cclxuICAmIFBpY2s8UHJvZHVjdCwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZW5hYmxlZCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICduYW1lJyB8ICdzbHVnJyB8ICdkZXNjcmlwdGlvbic+XHJcbiAgJiB7IGZlYXR1cmVkQXNzZXQ/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQXNzZXQnIH1cclxuICAgICYgQXNzZXRGcmFnbWVudFxyXG4gICk+LCBhc3NldHM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdBc3NldCcgfVxyXG4gICAgJiBBc3NldEZyYWdtZW50XHJcbiAgKT4sIHRyYW5zbGF0aW9uczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RUcmFuc2xhdGlvbicgfVxyXG4gICAgJiBQaWNrPFByb2R1Y3RUcmFuc2xhdGlvbiwgJ2lkJyB8ICdsYW5ndWFnZUNvZGUnIHwgJ25hbWUnIHwgJ3NsdWcnIHwgJ2Rlc2NyaXB0aW9uJz5cclxuICApPiwgb3B0aW9uR3JvdXBzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbkdyb3VwJyB9XHJcbiAgICAmIFByb2R1Y3RPcHRpb25Hcm91cEZyYWdtZW50XHJcbiAgKT4sIGZhY2V0VmFsdWVzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmFjZXRWYWx1ZScgfVxyXG4gICAgJiBQaWNrPEZhY2V0VmFsdWUsICdpZCcgfCAnY29kZScgfCAnbmFtZSc+XHJcbiAgICAmIHsgZmFjZXQ6IChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0JyB9XHJcbiAgICAgICYgUGljazxGYWNldCwgJ2lkJyB8ICduYW1lJz5cclxuICAgICkgfVxyXG4gICk+LCBjaGFubmVsczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NoYW5uZWwnIH1cclxuICAgICYgUGljazxDaGFubmVsLCAnaWQnIHwgJ2NvZGUnPlxyXG4gICk+IH1cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RPcHRpb25Hcm91cFdpdGhPcHRpb25zRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25Hcm91cCcgfVxyXG4gICYgUGljazxQcm9kdWN0T3B0aW9uR3JvdXAsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2xhbmd1YWdlQ29kZScgfCAnY29kZScgfCAnbmFtZSc+XHJcbiAgJiB7IHRyYW5zbGF0aW9uczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25Hcm91cFRyYW5zbGF0aW9uJyB9XHJcbiAgICAmIFBpY2s8UHJvZHVjdE9wdGlvbkdyb3VwVHJhbnNsYXRpb24sICdpZCcgfCAnbmFtZSc+XHJcbiAgKT4sIG9wdGlvbnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uJyB9XHJcbiAgICAmIFBpY2s8UHJvZHVjdE9wdGlvbiwgJ2lkJyB8ICdsYW5ndWFnZUNvZGUnIHwgJ25hbWUnIHwgJ2NvZGUnPlxyXG4gICAgJiB7IHRyYW5zbGF0aW9uczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvblRyYW5zbGF0aW9uJyB9XHJcbiAgICAgICYgUGljazxQcm9kdWN0T3B0aW9uVHJhbnNsYXRpb24sICduYW1lJz5cclxuICAgICk+IH1cclxuICApPiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVQcm9kdWN0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFVwZGF0ZVByb2R1Y3RJbnB1dDtcclxuICB2YXJpYW50TGlzdE9wdGlvbnM/OiBNYXliZTxQcm9kdWN0VmFyaWFudExpc3RPcHRpb25zPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlUHJvZHVjdE11dGF0aW9uID0geyB1cGRhdGVQcm9kdWN0OiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdCcgfVxyXG4gICAgJiB7IHZhcmlhbnRMaXN0OiAoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudExpc3QnIH1cclxuICAgICAgJiBQaWNrPFByb2R1Y3RWYXJpYW50TGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnQnIH1cclxuICAgICAgICAmIFByb2R1Y3RWYXJpYW50RnJhZ21lbnRcclxuICAgICAgKT4gfVxyXG4gICAgKSB9XHJcbiAgICAmIFByb2R1Y3REZXRhaWxGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVByb2R1Y3RNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQ3JlYXRlUHJvZHVjdElucHV0O1xyXG4gIHZhcmlhbnRMaXN0T3B0aW9ucz86IE1heWJlPFByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnM+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVQcm9kdWN0TXV0YXRpb24gPSB7IGNyZWF0ZVByb2R1Y3Q6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0JyB9XHJcbiAgICAmIHsgdmFyaWFudExpc3Q6IChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50TGlzdCcgfVxyXG4gICAgICAmIFBpY2s8UHJvZHVjdFZhcmlhbnRMaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudCcgfVxyXG4gICAgICAgICYgUHJvZHVjdFZhcmlhbnRGcmFnbWVudFxyXG4gICAgICApPiB9XHJcbiAgICApIH1cclxuICAgICYgUHJvZHVjdERldGFpbEZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlUHJvZHVjdE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVQcm9kdWN0TXV0YXRpb24gPSB7IGRlbGV0ZVByb2R1Y3Q6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlUHJvZHVjdHNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+IHwgU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlUHJvZHVjdHNNdXRhdGlvbiA9IHsgZGVsZXRlUHJvZHVjdHM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVByb2R1Y3RWYXJpYW50c011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBBcnJheTxDcmVhdGVQcm9kdWN0VmFyaWFudElucHV0PiB8IENyZWF0ZVByb2R1Y3RWYXJpYW50SW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVByb2R1Y3RWYXJpYW50c011dGF0aW9uID0geyBjcmVhdGVQcm9kdWN0VmFyaWFudHM6IEFycmF5PE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudCcgfVxyXG4gICAgJiBQcm9kdWN0VmFyaWFudEZyYWdtZW50XHJcbiAgKT4+IH07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVQcm9kdWN0VmFyaWFudHNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQXJyYXk8VXBkYXRlUHJvZHVjdFZhcmlhbnRJbnB1dD4gfCBVcGRhdGVQcm9kdWN0VmFyaWFudElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVQcm9kdWN0VmFyaWFudHNNdXRhdGlvbiA9IHsgdXBkYXRlUHJvZHVjdFZhcmlhbnRzOiBBcnJheTxNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnQnIH1cclxuICAgICYgUHJvZHVjdFZhcmlhbnRGcmFnbWVudFxyXG4gICk+PiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlUHJvZHVjdE9wdGlvbkdyb3VwTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IENyZWF0ZVByb2R1Y3RPcHRpb25Hcm91cElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXBNdXRhdGlvbiA9IHsgY3JlYXRlUHJvZHVjdE9wdGlvbkdyb3VwOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbkdyb3VwJyB9XHJcbiAgICAmIFByb2R1Y3RPcHRpb25Hcm91cFdpdGhPcHRpb25zRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRQcm9kdWN0T3B0aW9uR3JvdXBRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0UHJvZHVjdE9wdGlvbkdyb3VwUXVlcnkgPSB7IHByb2R1Y3RPcHRpb25Hcm91cD86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uR3JvdXAnIH1cclxuICAgICYgUHJvZHVjdE9wdGlvbkdyb3VwV2l0aE9wdGlvbnNGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBBZGRPcHRpb25Ub0dyb3VwTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IENyZWF0ZVByb2R1Y3RPcHRpb25JbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQWRkT3B0aW9uVG9Hcm91cE11dGF0aW9uID0geyBjcmVhdGVQcm9kdWN0T3B0aW9uOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbicgfVxyXG4gICAgJiBQaWNrPFByb2R1Y3RPcHRpb24sICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ25hbWUnIHwgJ2NvZGUnIHwgJ2dyb3VwSWQnPlxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEFkZE9wdGlvbkdyb3VwVG9Qcm9kdWN0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgcHJvZHVjdElkOiBTY2FsYXJzWydJRCddO1xyXG4gIG9wdGlvbkdyb3VwSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEFkZE9wdGlvbkdyb3VwVG9Qcm9kdWN0TXV0YXRpb24gPSB7IGFkZE9wdGlvbkdyb3VwVG9Qcm9kdWN0OiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdCcgfVxyXG4gICAgJiBQaWNrPFByb2R1Y3QsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxyXG4gICAgJiB7IG9wdGlvbkdyb3VwczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbkdyb3VwJyB9XHJcbiAgICAgICYgUGljazxQcm9kdWN0T3B0aW9uR3JvdXAsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvZGUnPlxyXG4gICAgICAmIHsgb3B0aW9uczogQXJyYXk8KFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uJyB9XHJcbiAgICAgICAgJiBQaWNrPFByb2R1Y3RPcHRpb24sICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvZGUnPlxyXG4gICAgICApPiB9XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgUmVtb3ZlT3B0aW9uR3JvdXBGcm9tUHJvZHVjdE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIHByb2R1Y3RJZDogU2NhbGFyc1snSUQnXTtcclxuICBvcHRpb25Hcm91cElkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBSZW1vdmVPcHRpb25Hcm91cEZyb21Qcm9kdWN0TXV0YXRpb24gPSB7IHJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3Q6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0JyB9XHJcbiAgICAmIFBpY2s8UHJvZHVjdCwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XHJcbiAgICAmIHsgb3B0aW9uR3JvdXBzOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uR3JvdXAnIH1cclxuICAgICAgJiBQaWNrPFByb2R1Y3RPcHRpb25Hcm91cCwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnY29kZSc+XHJcbiAgICAgICYgeyBvcHRpb25zOiBBcnJheTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb24nIH1cclxuICAgICAgICAmIFBpY2s8UHJvZHVjdE9wdGlvbiwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnY29kZSc+XHJcbiAgICAgICk+IH1cclxuICAgICk+IH1cclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25JblVzZUVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X1Byb2R1Y3RPcHRpb25JblVzZUVycm9yX0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0UHJvZHVjdFdpdGhWYXJpYW50c1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIHZhcmlhbnRMaXN0T3B0aW9ucz86IE1heWJlPFByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnM+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRQcm9kdWN0V2l0aFZhcmlhbnRzUXVlcnkgPSB7IHByb2R1Y3Q/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdCcgfVxyXG4gICAgJiB7IHZhcmlhbnRMaXN0OiAoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudExpc3QnIH1cclxuICAgICAgJiBQaWNrPFByb2R1Y3RWYXJpYW50TGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnQnIH1cclxuICAgICAgICAmIFByb2R1Y3RWYXJpYW50RnJhZ21lbnRcclxuICAgICAgKT4gfVxyXG4gICAgKSB9XHJcbiAgICAmIFByb2R1Y3REZXRhaWxGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRQcm9kdWN0U2ltcGxlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFByb2R1Y3RTaW1wbGVRdWVyeSA9IHsgcHJvZHVjdD86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0JyB9XHJcbiAgICAmIFBpY2s8UHJvZHVjdCwgJ2lkJyB8ICduYW1lJz5cclxuICAgICYgeyBmZWF0dXJlZEFzc2V0PzogTWF5YmU8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQXNzZXQnIH1cclxuICAgICAgJiBBc3NldEZyYWdtZW50XHJcbiAgICApPiB9XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFByb2R1Y3RMaXN0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgb3B0aW9ucz86IE1heWJlPFByb2R1Y3RMaXN0T3B0aW9ucz47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFByb2R1Y3RMaXN0UXVlcnkgPSB7IHByb2R1Y3RzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdExpc3QnIH1cclxuICAgICYgUGljazxQcm9kdWN0TGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0JyB9XHJcbiAgICAgICYgUGljazxQcm9kdWN0LCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdlbmFibGVkJyB8ICdsYW5ndWFnZUNvZGUnIHwgJ25hbWUnIHwgJ3NsdWcnPlxyXG4gICAgICAmIHsgZmVhdHVyZWRBc3NldD86IE1heWJlPChcclxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQXNzZXQnIH1cclxuICAgICAgICAmIFBpY2s8QXNzZXQsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ3ByZXZpZXcnPlxyXG4gICAgICApPiB9XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0UHJvZHVjdE9wdGlvbkdyb3Vwc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGZpbHRlclRlcm0/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFByb2R1Y3RPcHRpb25Hcm91cHNRdWVyeSA9IHsgcHJvZHVjdE9wdGlvbkdyb3VwczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25Hcm91cCcgfVxyXG4gICAgJiBQaWNrPFByb2R1Y3RPcHRpb25Hcm91cCwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICdjb2RlJyB8ICduYW1lJz5cclxuICAgICYgeyBvcHRpb25zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uJyB9XHJcbiAgICAgICYgUGljazxQcm9kdWN0T3B0aW9uLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdsYW5ndWFnZUNvZGUnIHwgJ2NvZGUnIHwgJ25hbWUnPlxyXG4gICAgKT4gfVxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRBc3NldExpc3RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBvcHRpb25zPzogTWF5YmU8QXNzZXRMaXN0T3B0aW9ucz47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldEFzc2V0TGlzdFF1ZXJ5ID0geyBhc3NldHM6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdBc3NldExpc3QnIH1cclxuICAgICYgUGljazxBc3NldExpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQXNzZXQnIH1cclxuICAgICAgJiB7IHRhZ3M6IEFycmF5PChcclxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGFnJyB9XHJcbiAgICAgICAgJiBUYWdGcmFnbWVudFxyXG4gICAgICApPiB9XHJcbiAgICAgICYgQXNzZXRGcmFnbWVudFxyXG4gICAgKT4gfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldEFzc2V0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldEFzc2V0UXVlcnkgPSB7IGFzc2V0PzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XHJcbiAgICAmIHsgdGFnczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVGFnJyB9XHJcbiAgICAgICYgVGFnRnJhZ21lbnRcclxuICAgICk+IH1cclxuICAgICYgQXNzZXRGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVBc3NldHNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQXJyYXk8Q3JlYXRlQXNzZXRJbnB1dD4gfCBDcmVhdGVBc3NldElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVBc3NldHNNdXRhdGlvbiA9IHsgY3JlYXRlQXNzZXRzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQXNzZXQnIH1cclxuICAgICYgeyB0YWdzOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdUYWcnIH1cclxuICAgICAgJiBUYWdGcmFnbWVudFxyXG4gICAgKT4gfVxyXG4gICAgJiBBc3NldEZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdNaW1lVHlwZUVycm9yJyB9XHJcbiAgICAmIFBpY2s8TWltZVR5cGVFcnJvciwgJ21lc3NhZ2UnPlxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVBc3NldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBVcGRhdGVBc3NldElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVBc3NldE11dGF0aW9uID0geyB1cGRhdGVBc3NldDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XHJcbiAgICAmIHsgdGFnczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVGFnJyB9XHJcbiAgICAgICYgVGFnRnJhZ21lbnRcclxuICAgICk+IH1cclxuICAgICYgQXNzZXRGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZUFzc2V0c011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBEZWxldGVBc3NldHNJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlQXNzZXRzTXV0YXRpb24gPSB7IGRlbGV0ZUFzc2V0czogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBTZWFyY2hQcm9kdWN0c1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBTZWFyY2hJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgU2VhcmNoUHJvZHVjdHNRdWVyeSA9IHsgc2VhcmNoOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxTZWFyY2hSZXNwb25zZSwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hSZXN1bHQnIH1cclxuICAgICAgJiBQaWNrPFNlYXJjaFJlc3VsdCwgJ2VuYWJsZWQnIHwgJ3Byb2R1Y3RJZCcgfCAncHJvZHVjdE5hbWUnIHwgJ3Byb2R1Y3RWYXJpYW50SWQnIHwgJ3Byb2R1Y3RWYXJpYW50TmFtZScgfCAnc2t1JyB8ICdjaGFubmVsSWRzJz5cclxuICAgICAgJiB7IHByb2R1Y3RBc3NldD86IE1heWJlPChcclxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoUmVzdWx0QXNzZXQnIH1cclxuICAgICAgICAmIFBpY2s8U2VhcmNoUmVzdWx0QXNzZXQsICdpZCcgfCAncHJldmlldyc+XHJcbiAgICAgICAgJiB7IGZvY2FsUG9pbnQ/OiBNYXliZTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ29vcmRpbmF0ZScgfVxyXG4gICAgICAgICAgJiBQaWNrPENvb3JkaW5hdGUsICd4JyB8ICd5Jz5cclxuICAgICAgICApPiB9XHJcbiAgICAgICk+LCBwcm9kdWN0VmFyaWFudEFzc2V0PzogTWF5YmU8KFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hSZXN1bHRBc3NldCcgfVxyXG4gICAgICAgICYgUGljazxTZWFyY2hSZXN1bHRBc3NldCwgJ2lkJyB8ICdwcmV2aWV3Jz5cclxuICAgICAgICAmIHsgZm9jYWxQb2ludD86IE1heWJlPChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdDb29yZGluYXRlJyB9XHJcbiAgICAgICAgICAmIFBpY2s8Q29vcmRpbmF0ZSwgJ3gnIHwgJ3knPlxyXG4gICAgICAgICk+IH1cclxuICAgICAgKT4gfVxyXG4gICAgKT4sIGZhY2V0VmFsdWVzOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdGYWNldFZhbHVlUmVzdWx0JyB9XHJcbiAgICAgICYgUGljazxGYWNldFZhbHVlUmVzdWx0LCAnY291bnQnPlxyXG4gICAgICAmIHsgZmFjZXRWYWx1ZTogKFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGYWNldFZhbHVlJyB9XHJcbiAgICAgICAgJiBQaWNrPEZhY2V0VmFsdWUsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ25hbWUnPlxyXG4gICAgICAgICYgeyBmYWNldDogKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0JyB9XHJcbiAgICAgICAgICAmIFBpY2s8RmFjZXQsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ25hbWUnPlxyXG4gICAgICAgICkgfVxyXG4gICAgICApIH1cclxuICAgICk+IH1cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0U2VsZWN0b3JTZWFyY2hRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICB0ZXJtOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0YWtlOiBTY2FsYXJzWydJbnQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdFNlbGVjdG9yU2VhcmNoUXVlcnkgPSB7IHNlYXJjaDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaFJlc3BvbnNlJyB9XHJcbiAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaFJlc3VsdCcgfVxyXG4gICAgICAmIFBpY2s8U2VhcmNoUmVzdWx0LCAncHJvZHVjdFZhcmlhbnRJZCcgfCAncHJvZHVjdFZhcmlhbnROYW1lJyB8ICdza3UnPlxyXG4gICAgICAmIHsgcHJvZHVjdEFzc2V0PzogTWF5YmU8KFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hSZXN1bHRBc3NldCcgfVxyXG4gICAgICAgICYgUGljazxTZWFyY2hSZXN1bHRBc3NldCwgJ2lkJyB8ICdwcmV2aWV3Jz5cclxuICAgICAgICAmIHsgZm9jYWxQb2ludD86IE1heWJlPChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdDb29yZGluYXRlJyB9XHJcbiAgICAgICAgICAmIFBpY2s8Q29vcmRpbmF0ZSwgJ3gnIHwgJ3knPlxyXG4gICAgICAgICk+IH1cclxuICAgICAgKT4sIHByaWNlOiB7IF9fdHlwZW5hbWU/OiAnUHJpY2VSYW5nZScgfSB8IChcclxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU2luZ2xlUHJpY2UnIH1cclxuICAgICAgICAmIFBpY2s8U2luZ2xlUHJpY2UsICd2YWx1ZSc+XHJcbiAgICAgICksIHByaWNlV2l0aFRheDogeyBfX3R5cGVuYW1lPzogJ1ByaWNlUmFuZ2UnIH0gfCAoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1NpbmdsZVByaWNlJyB9XHJcbiAgICAgICAgJiBQaWNrPFNpbmdsZVByaWNlLCAndmFsdWUnPlxyXG4gICAgICApIH1cclxuICAgICk+IH1cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVQcm9kdWN0T3B0aW9uR3JvdXBNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVByb2R1Y3RPcHRpb25Hcm91cE11dGF0aW9uID0geyB1cGRhdGVQcm9kdWN0T3B0aW9uR3JvdXA6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uR3JvdXAnIH1cclxuICAgICYgUHJvZHVjdE9wdGlvbkdyb3VwRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVQcm9kdWN0T3B0aW9uTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFVwZGF0ZVByb2R1Y3RPcHRpb25JbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlUHJvZHVjdE9wdGlvbk11dGF0aW9uID0geyB1cGRhdGVQcm9kdWN0T3B0aW9uOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbicgfVxyXG4gICAgJiBQcm9kdWN0T3B0aW9uRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVQcm9kdWN0T3B0aW9uTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZVByb2R1Y3RPcHRpb25NdXRhdGlvbiA9IHsgZGVsZXRlUHJvZHVjdE9wdGlvbjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVQcm9kdWN0VmFyaWFudE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVQcm9kdWN0VmFyaWFudE11dGF0aW9uID0geyBkZWxldGVQcm9kdWN0VmFyaWFudDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRQcm9kdWN0VmFyaWFudE9wdGlvbnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0UHJvZHVjdFZhcmlhbnRPcHRpb25zUXVlcnkgPSB7IHByb2R1Y3Q/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdCcgfVxyXG4gICAgJiBQaWNrPFByb2R1Y3QsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ25hbWUnPlxyXG4gICAgJiB7IG9wdGlvbkdyb3VwczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbkdyb3VwJyB9XHJcbiAgICAgICYgeyBvcHRpb25zOiBBcnJheTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb24nIH1cclxuICAgICAgICAmIFByb2R1Y3RPcHRpb25GcmFnbWVudFxyXG4gICAgICApPiB9XHJcbiAgICAgICYgUHJvZHVjdE9wdGlvbkdyb3VwRnJhZ21lbnRcclxuICAgICk+LCB2YXJpYW50czogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnQnIH1cclxuICAgICAgJiBQaWNrPFByb2R1Y3RWYXJpYW50LCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdlbmFibGVkJyB8ICduYW1lJyB8ICdza3UnIHwgJ3ByaWNlJyB8ICdzdG9ja09uSGFuZCc+XHJcbiAgICAgICYgeyBvcHRpb25zOiBBcnJheTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb24nIH1cclxuICAgICAgICAmIFBpY2s8UHJvZHVjdE9wdGlvbiwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnbmFtZScgfCAnY29kZScgfCAnZ3JvdXBJZCc+XHJcbiAgICAgICk+IH1cclxuICAgICk+IH1cclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQXNzaWduUHJvZHVjdHNUb0NoYW5uZWxNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQXNzaWduUHJvZHVjdHNUb0NoYW5uZWxJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQXNzaWduUHJvZHVjdHNUb0NoYW5uZWxNdXRhdGlvbiA9IHsgYXNzaWduUHJvZHVjdHNUb0NoYW5uZWw6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0JyB9XHJcbiAgICAmIFBpY2s8UHJvZHVjdCwgJ2lkJz5cclxuICAgICYgeyBjaGFubmVsczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2hhbm5lbCcgfVxyXG4gICAgICAmIFBpY2s8Q2hhbm5lbCwgJ2lkJyB8ICdjb2RlJz5cclxuICAgICk+IH1cclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQXNzaWduVmFyaWFudHNUb0NoYW5uZWxNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQXNzaWduUHJvZHVjdFZhcmlhbnRzVG9DaGFubmVsSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEFzc2lnblZhcmlhbnRzVG9DaGFubmVsTXV0YXRpb24gPSB7IGFzc2lnblByb2R1Y3RWYXJpYW50c1RvQ2hhbm5lbDogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50JyB9XHJcbiAgICAmIFBpY2s8UHJvZHVjdFZhcmlhbnQsICdpZCc+XHJcbiAgICAmIHsgY2hhbm5lbHM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NoYW5uZWwnIH1cclxuICAgICAgJiBQaWNrPENoYW5uZWwsICdpZCcgfCAnY29kZSc+XHJcbiAgICApPiB9XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWxNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogUmVtb3ZlUHJvZHVjdHNGcm9tQ2hhbm5lbElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBSZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsTXV0YXRpb24gPSB7IHJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWw6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0JyB9XHJcbiAgICAmIFBpY2s8UHJvZHVjdCwgJ2lkJz5cclxuICAgICYgeyBjaGFubmVsczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2hhbm5lbCcgfVxyXG4gICAgICAmIFBpY2s8Q2hhbm5lbCwgJ2lkJyB8ICdjb2RlJz5cclxuICAgICk+IH1cclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgUmVtb3ZlVmFyaWFudHNGcm9tQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBSZW1vdmVQcm9kdWN0VmFyaWFudHNGcm9tQ2hhbm5lbElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBSZW1vdmVWYXJpYW50c0Zyb21DaGFubmVsTXV0YXRpb24gPSB7IHJlbW92ZVByb2R1Y3RWYXJpYW50c0Zyb21DaGFubmVsOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnQnIH1cclxuICAgICYgUGljazxQcm9kdWN0VmFyaWFudCwgJ2lkJz5cclxuICAgICYgeyBjaGFubmVsczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2hhbm5lbCcgfVxyXG4gICAgICAmIFBpY2s8Q2hhbm5lbCwgJ2lkJyB8ICdjb2RlJz5cclxuICAgICk+IH1cclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0UHJvZHVjdFZhcmlhbnRRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0UHJvZHVjdFZhcmlhbnRRdWVyeSA9IHsgcHJvZHVjdFZhcmlhbnQ/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnQnIH1cclxuICAgICYgUGljazxQcm9kdWN0VmFyaWFudCwgJ2lkJyB8ICduYW1lJyB8ICdza3UnIHwgJ3N0b2NrT25IYW5kJyB8ICdzdG9ja0FsbG9jYXRlZCcgfCAnc3RvY2tMZXZlbCcgfCAndXNlR2xvYmFsT3V0T2ZTdG9ja1RocmVzaG9sZCcgfCAncHJpY2UnIHwgJ3ByaWNlV2l0aFRheCc+XHJcbiAgICAmIHsgZmVhdHVyZWRBc3NldD86IE1heWJlPChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XHJcbiAgICAgICYgUGljazxBc3NldCwgJ2lkJyB8ICdwcmV2aWV3Jz5cclxuICAgICAgJiB7IGZvY2FsUG9pbnQ/OiBNYXliZTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Nvb3JkaW5hdGUnIH1cclxuICAgICAgICAmIFBpY2s8Q29vcmRpbmF0ZSwgJ3gnIHwgJ3knPlxyXG4gICAgICApPiB9XHJcbiAgICApPiwgcHJvZHVjdDogKFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdCcgfVxyXG4gICAgICAmIFBpY2s8UHJvZHVjdCwgJ2lkJz5cclxuICAgICAgJiB7IGZlYXR1cmVkQXNzZXQ/OiBNYXliZTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XHJcbiAgICAgICAgJiBQaWNrPEFzc2V0LCAnaWQnIHwgJ3ByZXZpZXcnPlxyXG4gICAgICAgICYgeyBmb2NhbFBvaW50PzogTWF5YmU8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Nvb3JkaW5hdGUnIH1cclxuICAgICAgICAgICYgUGljazxDb29yZGluYXRlLCAneCcgfCAneSc+XHJcbiAgICAgICAgKT4gfVxyXG4gICAgICApPiB9XHJcbiAgICApIH1cclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0UHJvZHVjdFZhcmlhbnRMaXN0U2ltcGxlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgb3B0aW9uczogUHJvZHVjdFZhcmlhbnRMaXN0T3B0aW9ucztcclxuICBwcm9kdWN0SWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0UHJvZHVjdFZhcmlhbnRMaXN0U2ltcGxlUXVlcnkgPSB7IHByb2R1Y3RWYXJpYW50czogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50TGlzdCcgfVxyXG4gICAgJiBQaWNrPFByb2R1Y3RWYXJpYW50TGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudCcgfVxyXG4gICAgICAmIFBpY2s8UHJvZHVjdFZhcmlhbnQsICdpZCcgfCAnbmFtZScgfCAnc2t1Jz5cclxuICAgICAgJiB7IGZlYXR1cmVkQXNzZXQ/OiBNYXliZTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XHJcbiAgICAgICAgJiBQaWNrPEFzc2V0LCAnaWQnIHwgJ3ByZXZpZXcnPlxyXG4gICAgICAgICYgeyBmb2NhbFBvaW50PzogTWF5YmU8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Nvb3JkaW5hdGUnIH1cclxuICAgICAgICAgICYgUGljazxDb29yZGluYXRlLCAneCcgfCAneSc+XHJcbiAgICAgICAgKT4gfVxyXG4gICAgICApPiwgcHJvZHVjdDogKFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0JyB9XHJcbiAgICAgICAgJiBQaWNrPFByb2R1Y3QsICdpZCc+XHJcbiAgICAgICAgJiB7IGZlYXR1cmVkQXNzZXQ/OiBNYXliZTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQXNzZXQnIH1cclxuICAgICAgICAgICYgUGljazxBc3NldCwgJ2lkJyB8ICdwcmV2aWV3Jz5cclxuICAgICAgICAgICYgeyBmb2NhbFBvaW50PzogTWF5YmU8KFxyXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ29vcmRpbmF0ZScgfVxyXG4gICAgICAgICAgICAmIFBpY2s8Q29vcmRpbmF0ZSwgJ3gnIHwgJ3knPlxyXG4gICAgICAgICAgKT4gfVxyXG4gICAgICAgICk+IH1cclxuICAgICAgKSB9XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0UHJvZHVjdFZhcmlhbnRMaXN0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgb3B0aW9uczogUHJvZHVjdFZhcmlhbnRMaXN0T3B0aW9ucztcclxuICBwcm9kdWN0SWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0UHJvZHVjdFZhcmlhbnRMaXN0UXVlcnkgPSB7IHByb2R1Y3RWYXJpYW50czogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50TGlzdCcgfVxyXG4gICAgJiBQaWNrPFByb2R1Y3RWYXJpYW50TGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudCcgfVxyXG4gICAgICAmIFByb2R1Y3RWYXJpYW50RnJhZ21lbnRcclxuICAgICk+IH1cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRUYWdMaXN0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgb3B0aW9ucz86IE1heWJlPFRhZ0xpc3RPcHRpb25zPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0VGFnTGlzdFF1ZXJ5ID0geyB0YWdzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVGFnTGlzdCcgfVxyXG4gICAgJiBQaWNrPFRhZ0xpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVGFnJyB9XHJcbiAgICAgICYgVGFnRnJhZ21lbnRcclxuICAgICk+IH1cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRUYWdRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0VGFnUXVlcnkgPSB7IHRhZzogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1RhZycgfVxyXG4gICAgJiBUYWdGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVRhZ011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBDcmVhdGVUYWdJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlVGFnTXV0YXRpb24gPSB7IGNyZWF0ZVRhZzogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1RhZycgfVxyXG4gICAgJiBUYWdGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVRhZ011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBVcGRhdGVUYWdJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlVGFnTXV0YXRpb24gPSB7IHVwZGF0ZVRhZzogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1RhZycgfVxyXG4gICAgJiBUYWdGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZVRhZ011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVUYWdNdXRhdGlvbiA9IHsgZGVsZXRlVGFnOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRGVsZXRpb25SZXNwb25zZScgfVxyXG4gICAgJiBQaWNrPERlbGV0aW9uUmVzcG9uc2UsICdtZXNzYWdlJyB8ICdyZXN1bHQnPlxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb21vdGlvbkZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdQcm9tb3Rpb24nIH1cclxuICAmIFBpY2s8UHJvbW90aW9uLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICduYW1lJyB8ICdlbmFibGVkJyB8ICdjb3Vwb25Db2RlJyB8ICdwZXJDdXN0b21lclVzYWdlTGltaXQnIHwgJ3N0YXJ0c0F0JyB8ICdlbmRzQXQnPlxyXG4gICYgeyBjb25kaXRpb25zOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmlndXJhYmxlT3BlcmF0aW9uJyB9XHJcbiAgICAmIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkZyYWdtZW50XHJcbiAgKT4sIGFjdGlvbnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb24nIH1cclxuICAgICYgQ29uZmlndXJhYmxlT3BlcmF0aW9uRnJhZ21lbnRcclxuICApPiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBHZXRQcm9tb3Rpb25MaXN0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgb3B0aW9ucz86IE1heWJlPFByb21vdGlvbkxpc3RPcHRpb25zPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0UHJvbW90aW9uTGlzdFF1ZXJ5ID0geyBwcm9tb3Rpb25zOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvbW90aW9uTGlzdCcgfVxyXG4gICAgJiBQaWNrPFByb21vdGlvbkxpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvbW90aW9uJyB9XHJcbiAgICAgICYgUHJvbW90aW9uRnJhZ21lbnRcclxuICAgICk+IH1cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRQcm9tb3Rpb25RdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0UHJvbW90aW9uUXVlcnkgPSB7IHByb21vdGlvbj86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9tb3Rpb24nIH1cclxuICAgICYgUHJvbW90aW9uRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0QWRqdXN0bWVudE9wZXJhdGlvbnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldEFkanVzdG1lbnRPcGVyYXRpb25zUXVlcnkgPSB7IHByb21vdGlvbkNvbmRpdGlvbnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uJyB9XHJcbiAgICAmIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZkZyYWdtZW50XHJcbiAgKT4sIHByb21vdGlvbkFjdGlvbnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uJyB9XHJcbiAgICAmIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZkZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVByb21vdGlvbk11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBDcmVhdGVQcm9tb3Rpb25JbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlUHJvbW90aW9uTXV0YXRpb24gPSB7IGNyZWF0ZVByb21vdGlvbjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb21vdGlvbicgfVxyXG4gICAgJiBQcm9tb3Rpb25GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTWlzc2luZ0NvbmRpdGlvbnNFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9NaXNzaW5nQ29uZGl0aW9uc0Vycm9yX0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlUHJvbW90aW9uTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFVwZGF0ZVByb21vdGlvbklucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVQcm9tb3Rpb25NdXRhdGlvbiA9IHsgdXBkYXRlUHJvbW90aW9uOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvbW90aW9uJyB9XHJcbiAgICAmIFByb21vdGlvbkZyYWdtZW50XHJcbiAgKSB8IHsgX190eXBlbmFtZT86ICdNaXNzaW5nQ29uZGl0aW9uc0Vycm9yJyB9IH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVQcm9tb3Rpb25NdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlUHJvbW90aW9uTXV0YXRpb24gPSB7IGRlbGV0ZVByb21vdGlvbjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBDb3VudHJ5RnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0NvdW50cnknIH1cclxuICAmIFBpY2s8Q291bnRyeSwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnY29kZScgfCAnbmFtZScgfCAnZW5hYmxlZCc+XHJcbiAgJiB7IHRyYW5zbGF0aW9uczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvdW50cnlUcmFuc2xhdGlvbicgfVxyXG4gICAgJiBQaWNrPENvdW50cnlUcmFuc2xhdGlvbiwgJ2lkJyB8ICdsYW5ndWFnZUNvZGUnIHwgJ25hbWUnPlxyXG4gICk+IH1cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldENvdW50cnlMaXN0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgb3B0aW9ucz86IE1heWJlPENvdW50cnlMaXN0T3B0aW9ucz47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldENvdW50cnlMaXN0UXVlcnkgPSB7IGNvdW50cmllczogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvdW50cnlMaXN0JyB9XHJcbiAgICAmIFBpY2s8Q291bnRyeUxpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ291bnRyeScgfVxyXG4gICAgICAmIFBpY2s8Q291bnRyeSwgJ2lkJyB8ICdjb2RlJyB8ICduYW1lJyB8ICdlbmFibGVkJz5cclxuICAgICk+IH1cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRBdmFpbGFibGVDb3VudHJpZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldEF2YWlsYWJsZUNvdW50cmllc1F1ZXJ5ID0geyBjb3VudHJpZXM6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb3VudHJ5TGlzdCcgfVxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdDb3VudHJ5JyB9XHJcbiAgICAgICYgUGljazxDb3VudHJ5LCAnaWQnIHwgJ2NvZGUnIHwgJ25hbWUnIHwgJ2VuYWJsZWQnPlxyXG4gICAgKT4gfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldENvdW50cnlRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q291bnRyeVF1ZXJ5ID0geyBjb3VudHJ5PzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvdW50cnknIH1cclxuICAgICYgQ291bnRyeUZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUNvdW50cnlNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQ3JlYXRlQ291bnRyeUlucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVDb3VudHJ5TXV0YXRpb24gPSB7IGNyZWF0ZUNvdW50cnk6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb3VudHJ5JyB9XHJcbiAgICAmIENvdW50cnlGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZUNvdW50cnlNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXBkYXRlQ291bnRyeUlucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVDb3VudHJ5TXV0YXRpb24gPSB7IHVwZGF0ZUNvdW50cnk6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb3VudHJ5JyB9XHJcbiAgICAmIENvdW50cnlGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZUNvdW50cnlNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlQ291bnRyeU11dGF0aW9uID0geyBkZWxldGVDb3VudHJ5OiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRGVsZXRpb25SZXNwb25zZScgfVxyXG4gICAgJiBQaWNrPERlbGV0aW9uUmVzcG9uc2UsICdyZXN1bHQnIHwgJ21lc3NhZ2UnPlxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFpvbmVGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnWm9uZScgfVxyXG4gICYgUGljazxab25lLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICduYW1lJz5cclxuICAmIHsgbWVtYmVyczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvdW50cnknIH1cclxuICAgICYgQ291bnRyeUZyYWdtZW50XHJcbiAgKT4gfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0Wm9uZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFpvbmVzUXVlcnkgPSB7IHpvbmVzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnWm9uZScgfVxyXG4gICAgJiB7IG1lbWJlcnM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NvdW50cnknIH1cclxuICAgICAgJiBQaWNrPENvdW50cnksICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnaWQnIHwgJ25hbWUnIHwgJ2NvZGUnIHwgJ2VuYWJsZWQnPlxyXG4gICAgKT4gfVxyXG4gICAgJiBab25lRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0Wm9uZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRab25lUXVlcnkgPSB7IHpvbmU/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnWm9uZScgfVxyXG4gICAgJiBab25lRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlWm9uZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBDcmVhdGVab25lSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVpvbmVNdXRhdGlvbiA9IHsgY3JlYXRlWm9uZTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1pvbmUnIH1cclxuICAgICYgWm9uZUZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlWm9uZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBVcGRhdGVab25lSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVpvbmVNdXRhdGlvbiA9IHsgdXBkYXRlWm9uZTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1pvbmUnIH1cclxuICAgICYgWm9uZUZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlWm9uZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVab25lTXV0YXRpb24gPSB7IGRlbGV0ZVpvbmU6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ21lc3NhZ2UnIHwgJ3Jlc3VsdCc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQWRkTWVtYmVyc1RvWm9uZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIHpvbmVJZDogU2NhbGFyc1snSUQnXTtcclxuICBtZW1iZXJJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+IHwgU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQWRkTWVtYmVyc1RvWm9uZU11dGF0aW9uID0geyBhZGRNZW1iZXJzVG9ab25lOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnWm9uZScgfVxyXG4gICAgJiBab25lRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBSZW1vdmVNZW1iZXJzRnJvbVpvbmVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICB6b25lSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgbWVtYmVySWRzOiBBcnJheTxTY2FsYXJzWydJRCddPiB8IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFJlbW92ZU1lbWJlcnNGcm9tWm9uZU11dGF0aW9uID0geyByZW1vdmVNZW1iZXJzRnJvbVpvbmU6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdab25lJyB9XHJcbiAgICAmIFpvbmVGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFRheENhdGVnb3J5RnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1RheENhdGVnb3J5JyB9XHJcbiAgJiBQaWNrPFRheENhdGVnb3J5LCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICduYW1lJyB8ICdpc0RlZmF1bHQnPlxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0VGF4Q2F0ZWdvcmllc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0VGF4Q2F0ZWdvcmllc1F1ZXJ5ID0geyB0YXhDYXRlZ29yaWVzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVGF4Q2F0ZWdvcnknIH1cclxuICAgICYgVGF4Q2F0ZWdvcnlGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRUYXhDYXRlZ29yeVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRUYXhDYXRlZ29yeVF1ZXJ5ID0geyB0YXhDYXRlZ29yeT86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdUYXhDYXRlZ29yeScgfVxyXG4gICAgJiBUYXhDYXRlZ29yeUZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVRheENhdGVnb3J5TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IENyZWF0ZVRheENhdGVnb3J5SW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVRheENhdGVnb3J5TXV0YXRpb24gPSB7IGNyZWF0ZVRheENhdGVnb3J5OiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVGF4Q2F0ZWdvcnknIH1cclxuICAgICYgVGF4Q2F0ZWdvcnlGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVRheENhdGVnb3J5TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFVwZGF0ZVRheENhdGVnb3J5SW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVRheENhdGVnb3J5TXV0YXRpb24gPSB7IHVwZGF0ZVRheENhdGVnb3J5OiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVGF4Q2F0ZWdvcnknIH1cclxuICAgICYgVGF4Q2F0ZWdvcnlGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZVRheENhdGVnb3J5TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZVRheENhdGVnb3J5TXV0YXRpb24gPSB7IGRlbGV0ZVRheENhdGVnb3J5OiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRGVsZXRpb25SZXNwb25zZScgfVxyXG4gICAgJiBQaWNrPERlbGV0aW9uUmVzcG9uc2UsICdyZXN1bHQnIHwgJ21lc3NhZ2UnPlxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFRheFJhdGVGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnVGF4UmF0ZScgfVxyXG4gICYgUGljazxUYXhSYXRlLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICduYW1lJyB8ICdlbmFibGVkJyB8ICd2YWx1ZSc+XHJcbiAgJiB7IGNhdGVnb3J5OiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVGF4Q2F0ZWdvcnknIH1cclxuICAgICYgUGljazxUYXhDYXRlZ29yeSwgJ2lkJyB8ICduYW1lJz5cclxuICApLCB6b25lOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnWm9uZScgfVxyXG4gICAgJiBQaWNrPFpvbmUsICdpZCcgfCAnbmFtZSc+XHJcbiAgKSwgY3VzdG9tZXJHcm91cD86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21lckdyb3VwJyB9XHJcbiAgICAmIFBpY2s8Q3VzdG9tZXJHcm91cCwgJ2lkJyB8ICduYW1lJz5cclxuICApPiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBHZXRUYXhSYXRlTGlzdFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9wdGlvbnM/OiBNYXliZTxUYXhSYXRlTGlzdE9wdGlvbnM+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRUYXhSYXRlTGlzdFF1ZXJ5ID0geyB0YXhSYXRlczogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1RheFJhdGVMaXN0JyB9XHJcbiAgICAmIFBpY2s8VGF4UmF0ZUxpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVGF4UmF0ZScgfVxyXG4gICAgICAmIFRheFJhdGVGcmFnbWVudFxyXG4gICAgKT4gfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFRheFJhdGVMaXN0U2ltcGxlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgb3B0aW9ucz86IE1heWJlPFRheFJhdGVMaXN0T3B0aW9ucz47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFRheFJhdGVMaXN0U2ltcGxlUXVlcnkgPSB7IHRheFJhdGVzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVGF4UmF0ZUxpc3QnIH1cclxuICAgICYgUGljazxUYXhSYXRlTGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdUYXhSYXRlJyB9XHJcbiAgICAgICYgUGljazxUYXhSYXRlLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICduYW1lJyB8ICdlbmFibGVkJyB8ICd2YWx1ZSc+XHJcbiAgICAgICYgeyBjYXRlZ29yeTogKFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdUYXhDYXRlZ29yeScgfVxyXG4gICAgICAgICYgUGljazxUYXhDYXRlZ29yeSwgJ2lkJyB8ICduYW1lJz5cclxuICAgICAgKSwgem9uZTogKFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdab25lJyB9XHJcbiAgICAgICAgJiBQaWNrPFpvbmUsICdpZCcgfCAnbmFtZSc+XHJcbiAgICAgICkgfVxyXG4gICAgKT4gfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFRheFJhdGVRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0VGF4UmF0ZVF1ZXJ5ID0geyB0YXhSYXRlPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1RheFJhdGUnIH1cclxuICAgICYgVGF4UmF0ZUZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVRheFJhdGVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQ3JlYXRlVGF4UmF0ZUlucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVUYXhSYXRlTXV0YXRpb24gPSB7IGNyZWF0ZVRheFJhdGU6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdUYXhSYXRlJyB9XHJcbiAgICAmIFRheFJhdGVGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVRheFJhdGVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXBkYXRlVGF4UmF0ZUlucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVUYXhSYXRlTXV0YXRpb24gPSB7IHVwZGF0ZVRheFJhdGU6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdUYXhSYXRlJyB9XHJcbiAgICAmIFRheFJhdGVGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZVRheFJhdGVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlVGF4UmF0ZU11dGF0aW9uID0geyBkZWxldGVUYXhSYXRlOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRGVsZXRpb25SZXNwb25zZScgfVxyXG4gICAgJiBQaWNrPERlbGV0aW9uUmVzcG9uc2UsICdyZXN1bHQnIHwgJ21lc3NhZ2UnPlxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIENoYW5uZWxGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnQ2hhbm5lbCcgfVxyXG4gICYgUGljazxDaGFubmVsLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdjb2RlJyB8ICd0b2tlbicgfCAncHJpY2VzSW5jbHVkZVRheCcgfCAnY3VycmVuY3lDb2RlJyB8ICdkZWZhdWx0TGFuZ3VhZ2VDb2RlJz5cclxuICAmIHsgZGVmYXVsdFNoaXBwaW5nWm9uZT86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdab25lJyB9XHJcbiAgICAmIFBpY2s8Wm9uZSwgJ2lkJyB8ICduYW1lJz5cclxuICApPiwgZGVmYXVsdFRheFpvbmU/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnWm9uZScgfVxyXG4gICAgJiBQaWNrPFpvbmUsICdpZCcgfCAnbmFtZSc+XHJcbiAgKT4gfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q2hhbm5lbHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldENoYW5uZWxzUXVlcnkgPSB7IGNoYW5uZWxzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2hhbm5lbCcgfVxyXG4gICAgJiBDaGFubmVsRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q2hhbm5lbFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRDaGFubmVsUXVlcnkgPSB7IGNoYW5uZWw/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2hhbm5lbCcgfVxyXG4gICAgJiBDaGFubmVsRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0QWN0aXZlQ2hhbm5lbFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0QWN0aXZlQ2hhbm5lbFF1ZXJ5ID0geyBhY3RpdmVDaGFubmVsOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2hhbm5lbCcgfVxyXG4gICAgJiBDaGFubmVsRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVDaGFubmVsTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IENyZWF0ZUNoYW5uZWxJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlQ2hhbm5lbE11dGF0aW9uID0geyBjcmVhdGVDaGFubmVsOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2hhbm5lbCcgfVxyXG4gICAgJiBDaGFubmVsRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xhbmd1YWdlTm90QXZhaWxhYmxlRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfTGFuZ3VhZ2VOb3RBdmFpbGFibGVFcnJvcl9GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZUNoYW5uZWxNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXBkYXRlQ2hhbm5lbElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVDaGFubmVsTXV0YXRpb24gPSB7IHVwZGF0ZUNoYW5uZWw6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDaGFubmVsJyB9XHJcbiAgICAmIENoYW5uZWxGcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTGFuZ3VhZ2VOb3RBdmFpbGFibGVFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9MYW5ndWFnZU5vdEF2YWlsYWJsZUVycm9yX0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVDaGFubmVsTXV0YXRpb24gPSB7IGRlbGV0ZUNoYW5uZWw6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgUGF5bWVudE1ldGhvZEZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdQYXltZW50TWV0aG9kJyB9XHJcbiAgJiBQaWNrPFBheW1lbnRNZXRob2QsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ25hbWUnIHwgJ2NvZGUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdlbmFibGVkJz5cclxuICAmIHsgY2hlY2tlcj86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb24nIH1cclxuICAgICYgQ29uZmlndXJhYmxlT3BlcmF0aW9uRnJhZ21lbnRcclxuICApPiwgaGFuZGxlcjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZpZ3VyYWJsZU9wZXJhdGlvbicgfVxyXG4gICAgJiBDb25maWd1cmFibGVPcGVyYXRpb25GcmFnbWVudFxyXG4gICkgfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0UGF5bWVudE1ldGhvZExpc3RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBvcHRpb25zOiBQYXltZW50TWV0aG9kTGlzdE9wdGlvbnM7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFBheW1lbnRNZXRob2RMaXN0UXVlcnkgPSB7IHBheW1lbnRNZXRob2RzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZExpc3QnIH1cclxuICAgICYgUGljazxQYXltZW50TWV0aG9kTGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdQYXltZW50TWV0aG9kJyB9XHJcbiAgICAgICYgUGF5bWVudE1ldGhvZEZyYWdtZW50XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0UGF5bWVudE1ldGhvZE9wZXJhdGlvbnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFBheW1lbnRNZXRob2RPcGVyYXRpb25zUXVlcnkgPSB7IHBheW1lbnRNZXRob2RFbGlnaWJpbGl0eUNoZWNrZXJzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbicgfVxyXG4gICAgJiBDb25maWd1cmFibGVPcGVyYXRpb25EZWZGcmFnbWVudFxyXG4gICk+LCBwYXltZW50TWV0aG9kSGFuZGxlcnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uJyB9XHJcbiAgICAmIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZkZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFBheW1lbnRNZXRob2RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0UGF5bWVudE1ldGhvZFF1ZXJ5ID0geyBwYXltZW50TWV0aG9kPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnRNZXRob2QnIH1cclxuICAgICYgUGF5bWVudE1ldGhvZEZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVBheW1lbnRNZXRob2RNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQ3JlYXRlUGF5bWVudE1ldGhvZElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVQYXltZW50TWV0aG9kTXV0YXRpb24gPSB7IGNyZWF0ZVBheW1lbnRNZXRob2Q6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdQYXltZW50TWV0aG9kJyB9XHJcbiAgICAmIFBheW1lbnRNZXRob2RGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVBheW1lbnRNZXRob2RNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXBkYXRlUGF5bWVudE1ldGhvZElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVQYXltZW50TWV0aG9kTXV0YXRpb24gPSB7IHVwZGF0ZVBheW1lbnRNZXRob2Q6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdQYXltZW50TWV0aG9kJyB9XHJcbiAgICAmIFBheW1lbnRNZXRob2RGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZVBheW1lbnRNZXRob2RNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBmb3JjZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZVBheW1lbnRNZXRob2RNdXRhdGlvbiA9IHsgZGVsZXRlUGF5bWVudE1ldGhvZDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHbG9iYWxTZXR0aW5nc0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdHbG9iYWxTZXR0aW5ncycgfVxyXG4gICYgUGljazxHbG9iYWxTZXR0aW5ncywgJ2lkJyB8ICdhdmFpbGFibGVMYW5ndWFnZXMnIHwgJ3RyYWNrSW52ZW50b3J5JyB8ICdvdXRPZlN0b2NrVGhyZXNob2xkJz5cclxuICAmIHsgc2VydmVyQ29uZmlnOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2VydmVyQ29uZmlnJyB9XHJcbiAgICAmIHsgcGVybWlzc2lvbnM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1Blcm1pc3Npb25EZWZpbml0aW9uJyB9XHJcbiAgICAgICYgUGljazxQZXJtaXNzaW9uRGVmaW5pdGlvbiwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdhc3NpZ25hYmxlJz5cclxuICAgICk+LCBvcmRlclByb2Nlc3M6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyUHJvY2Vzc1N0YXRlJyB9XHJcbiAgICAgICYgUGljazxPcmRlclByb2Nlc3NTdGF0ZSwgJ25hbWUnPlxyXG4gICAgKT4gfVxyXG4gICkgfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0R2xvYmFsU2V0dGluZ3NRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldEdsb2JhbFNldHRpbmdzUXVlcnkgPSB7IGdsb2JhbFNldHRpbmdzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnR2xvYmFsU2V0dGluZ3MnIH1cclxuICAgICYgR2xvYmFsU2V0dGluZ3NGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZUdsb2JhbFNldHRpbmdzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFVwZGF0ZUdsb2JhbFNldHRpbmdzSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZUdsb2JhbFNldHRpbmdzTXV0YXRpb24gPSB7IHVwZGF0ZUdsb2JhbFNldHRpbmdzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnR2xvYmFsU2V0dGluZ3MnIH1cclxuICAgICYgR2xvYmFsU2V0dGluZ3NGcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2hhbm5lbERlZmF1bHRMYW5ndWFnZUVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X0NoYW5uZWxEZWZhdWx0TGFuZ3VhZ2VFcnJvcl9GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbnR5cGUgQ3VzdG9tRmllbGRDb25maWdfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAmIFBpY2s8Qm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnLCAnbmFtZScgfCAndHlwZScgfCAnbGlzdCcgfCAncmVhZG9ubHknIHwgJ251bGxhYmxlJyB8ICd1aSc+XHJcbiAgJiB7IGRlc2NyaXB0aW9uPzogTWF5YmU8QXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsaXplZFN0cmluZycgfVxyXG4gICAgJiBQaWNrPExvY2FsaXplZFN0cmluZywgJ2xhbmd1YWdlQ29kZScgfCAndmFsdWUnPlxyXG4gICk+PiwgbGFiZWw/OiBNYXliZTxBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJyB9XHJcbiAgICAmIFBpY2s8TG9jYWxpemVkU3RyaW5nLCAnbGFuZ3VhZ2VDb2RlJyB8ICd2YWx1ZSc+XHJcbiAgKT4+IH1cclxuKTtcclxuXHJcbnR5cGUgQ3VzdG9tRmllbGRDb25maWdfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICYgUGljazxEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnLCAnbmFtZScgfCAndHlwZScgfCAnbGlzdCcgfCAncmVhZG9ubHknIHwgJ251bGxhYmxlJyB8ICd1aSc+XHJcbiAgJiB7IGRlc2NyaXB0aW9uPzogTWF5YmU8QXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsaXplZFN0cmluZycgfVxyXG4gICAgJiBQaWNrPExvY2FsaXplZFN0cmluZywgJ2xhbmd1YWdlQ29kZScgfCAndmFsdWUnPlxyXG4gICk+PiwgbGFiZWw/OiBNYXliZTxBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJyB9XHJcbiAgICAmIFBpY2s8TG9jYWxpemVkU3RyaW5nLCAnbGFuZ3VhZ2VDb2RlJyB8ICd2YWx1ZSc+XHJcbiAgKT4+IH1cclxuKTtcclxuXHJcbnR5cGUgQ3VzdG9tRmllbGRDb25maWdfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICYgUGljazxGbG9hdEN1c3RvbUZpZWxkQ29uZmlnLCAnbmFtZScgfCAndHlwZScgfCAnbGlzdCcgfCAncmVhZG9ubHknIHwgJ251bGxhYmxlJyB8ICd1aSc+XHJcbiAgJiB7IGRlc2NyaXB0aW9uPzogTWF5YmU8QXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsaXplZFN0cmluZycgfVxyXG4gICAgJiBQaWNrPExvY2FsaXplZFN0cmluZywgJ2xhbmd1YWdlQ29kZScgfCAndmFsdWUnPlxyXG4gICk+PiwgbGFiZWw/OiBNYXliZTxBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJyB9XHJcbiAgICAmIFBpY2s8TG9jYWxpemVkU3RyaW5nLCAnbGFuZ3VhZ2VDb2RlJyB8ICd2YWx1ZSc+XHJcbiAgKT4+IH1cclxuKTtcclxuXHJcbnR5cGUgQ3VzdG9tRmllbGRDb25maWdfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgJiBQaWNrPEludEN1c3RvbUZpZWxkQ29uZmlnLCAnbmFtZScgfCAndHlwZScgfCAnbGlzdCcgfCAncmVhZG9ubHknIHwgJ251bGxhYmxlJyB8ICd1aSc+XHJcbiAgJiB7IGRlc2NyaXB0aW9uPzogTWF5YmU8QXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsaXplZFN0cmluZycgfVxyXG4gICAgJiBQaWNrPExvY2FsaXplZFN0cmluZywgJ2xhbmd1YWdlQ29kZScgfCAndmFsdWUnPlxyXG4gICk+PiwgbGFiZWw/OiBNYXliZTxBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJyB9XHJcbiAgICAmIFBpY2s8TG9jYWxpemVkU3RyaW5nLCAnbGFuZ3VhZ2VDb2RlJyB8ICd2YWx1ZSc+XHJcbiAgKT4+IH1cclxuKTtcclxuXHJcbnR5cGUgQ3VzdG9tRmllbGRDb25maWdfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgJiBQaWNrPExvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnLCAnbmFtZScgfCAndHlwZScgfCAnbGlzdCcgfCAncmVhZG9ubHknIHwgJ251bGxhYmxlJyB8ICd1aSc+XHJcbiAgJiB7IGRlc2NyaXB0aW9uPzogTWF5YmU8QXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsaXplZFN0cmluZycgfVxyXG4gICAgJiBQaWNrPExvY2FsaXplZFN0cmluZywgJ2xhbmd1YWdlQ29kZScgfCAndmFsdWUnPlxyXG4gICk+PiwgbGFiZWw/OiBNYXliZTxBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJyB9XHJcbiAgICAmIFBpY2s8TG9jYWxpemVkU3RyaW5nLCAnbGFuZ3VhZ2VDb2RlJyB8ICd2YWx1ZSc+XHJcbiAgKT4+IH1cclxuKTtcclxuXHJcbnR5cGUgQ3VzdG9tRmllbGRDb25maWdfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICYgUGljazxSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnLCAnbmFtZScgfCAndHlwZScgfCAnbGlzdCcgfCAncmVhZG9ubHknIHwgJ251bGxhYmxlJyB8ICd1aSc+XHJcbiAgJiB7IGRlc2NyaXB0aW9uPzogTWF5YmU8QXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsaXplZFN0cmluZycgfVxyXG4gICAgJiBQaWNrPExvY2FsaXplZFN0cmluZywgJ2xhbmd1YWdlQ29kZScgfCAndmFsdWUnPlxyXG4gICk+PiwgbGFiZWw/OiBNYXliZTxBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJyB9XHJcbiAgICAmIFBpY2s8TG9jYWxpemVkU3RyaW5nLCAnbGFuZ3VhZ2VDb2RlJyB8ICd2YWx1ZSc+XHJcbiAgKT4+IH1cclxuKTtcclxuXHJcbnR5cGUgQ3VzdG9tRmllbGRDb25maWdfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgJiBQaWNrPFN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnLCAnbmFtZScgfCAndHlwZScgfCAnbGlzdCcgfCAncmVhZG9ubHknIHwgJ251bGxhYmxlJyB8ICd1aSc+XHJcbiAgJiB7IGRlc2NyaXB0aW9uPzogTWF5YmU8QXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsaXplZFN0cmluZycgfVxyXG4gICAgJiBQaWNrPExvY2FsaXplZFN0cmluZywgJ2xhbmd1YWdlQ29kZScgfCAndmFsdWUnPlxyXG4gICk+PiwgbGFiZWw/OiBNYXliZTxBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJyB9XHJcbiAgICAmIFBpY2s8TG9jYWxpemVkU3RyaW5nLCAnbGFuZ3VhZ2VDb2RlJyB8ICd2YWx1ZSc+XHJcbiAgKT4+IH1cclxuKTtcclxuXHJcbnR5cGUgQ3VzdG9tRmllbGRDb25maWdfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAmIFBpY2s8VGV4dEN1c3RvbUZpZWxkQ29uZmlnLCAnbmFtZScgfCAndHlwZScgfCAnbGlzdCcgfCAncmVhZG9ubHknIHwgJ251bGxhYmxlJyB8ICd1aSc+XHJcbiAgJiB7IGRlc2NyaXB0aW9uPzogTWF5YmU8QXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsaXplZFN0cmluZycgfVxyXG4gICAgJiBQaWNrPExvY2FsaXplZFN0cmluZywgJ2xhbmd1YWdlQ29kZScgfCAndmFsdWUnPlxyXG4gICk+PiwgbGFiZWw/OiBNYXliZTxBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJyB9XHJcbiAgICAmIFBpY2s8TG9jYWxpemVkU3RyaW5nLCAnbGFuZ3VhZ2VDb2RlJyB8ICd2YWx1ZSc+XHJcbiAgKT4+IH1cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIEN1c3RvbUZpZWxkQ29uZmlnRnJhZ21lbnQgPSBDdXN0b21GaWVsZENvbmZpZ19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgfCBDdXN0b21GaWVsZENvbmZpZ19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50IHwgQ3VzdG9tRmllbGRDb25maWdfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCB8IEN1c3RvbUZpZWxkQ29uZmlnX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50IHwgQ3VzdG9tRmllbGRDb25maWdfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgfCBDdXN0b21GaWVsZENvbmZpZ19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50IHwgQ3VzdG9tRmllbGRDb25maWdfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgfCBDdXN0b21GaWVsZENvbmZpZ19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQ7XHJcblxyXG5leHBvcnQgdHlwZSBTdHJpbmdDdXN0b21GaWVsZEZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICYgUGljazxTdHJpbmdDdXN0b21GaWVsZENvbmZpZywgJ3BhdHRlcm4nPlxyXG4gICYgeyBvcHRpb25zPzogTWF5YmU8QXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0ZpZWxkT3B0aW9uJyB9XHJcbiAgICAmIFBpY2s8U3RyaW5nRmllbGRPcHRpb24sICd2YWx1ZSc+XHJcbiAgICAmIHsgbGFiZWw/OiBNYXliZTxBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGl6ZWRTdHJpbmcnIH1cclxuICAgICAgJiBQaWNrPExvY2FsaXplZFN0cmluZywgJ2xhbmd1YWdlQ29kZScgfCAndmFsdWUnPlxyXG4gICAgKT4+IH1cclxuICApPj4gfVxyXG4gICYgQ3VzdG9tRmllbGRDb25maWdfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIExvY2FsZVN0cmluZ0N1c3RvbUZpZWxkRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgJiBQaWNrPExvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnLCAncGF0dGVybic+XHJcbiAgJiBDdXN0b21GaWVsZENvbmZpZ19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgVGV4dEN1c3RvbUZpZWxkRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICYgQ3VzdG9tRmllbGRDb25maWdfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBCb29sZWFuQ3VzdG9tRmllbGRGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgJiBDdXN0b21GaWVsZENvbmZpZ19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIEludEN1c3RvbUZpZWxkRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgJiB7IGludE1pbjogSW50Q3VzdG9tRmllbGRDb25maWdbJ21pbiddLCBpbnRNYXg6IEludEN1c3RvbUZpZWxkQ29uZmlnWydtYXgnXSwgaW50U3RlcDogSW50Q3VzdG9tRmllbGRDb25maWdbJ3N0ZXAnXSB9XHJcbiAgJiBDdXN0b21GaWVsZENvbmZpZ19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgRmxvYXRDdXN0b21GaWVsZEZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgJiB7IGZsb2F0TWluOiBGbG9hdEN1c3RvbUZpZWxkQ29uZmlnWydtaW4nXSwgZmxvYXRNYXg6IEZsb2F0Q3VzdG9tRmllbGRDb25maWdbJ21heCddLCBmbG9hdFN0ZXA6IEZsb2F0Q3VzdG9tRmllbGRDb25maWdbJ3N0ZXAnXSB9XHJcbiAgJiBDdXN0b21GaWVsZENvbmZpZ19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBEYXRlVGltZUN1c3RvbUZpZWxkRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAmIHsgZGF0ZXRpbWVNaW46IERhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdbJ21pbiddLCBkYXRldGltZU1heDogRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ1snbWF4J10sIGRhdGV0aW1lU3RlcDogRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ1snc3RlcCddIH1cclxuICAmIEN1c3RvbUZpZWxkQ29uZmlnX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlbGF0aW9uQ3VzdG9tRmllbGRGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICYgUGljazxSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnLCAnZW50aXR5JyB8ICdzY2FsYXJGaWVsZHMnPlxyXG4gICYgQ3VzdG9tRmllbGRDb25maWdfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4pO1xyXG5cclxudHlwZSBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAmIEJvb2xlYW5DdXN0b21GaWVsZEZyYWdtZW50XHJcbik7XHJcblxyXG50eXBlIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgJiBEYXRlVGltZUN1c3RvbUZpZWxkRnJhZ21lbnRcclxuKTtcclxuXHJcbnR5cGUgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAmIEZsb2F0Q3VzdG9tRmllbGRGcmFnbWVudFxyXG4pO1xyXG5cclxudHlwZSBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgJiBJbnRDdXN0b21GaWVsZEZyYWdtZW50XHJcbik7XHJcblxyXG50eXBlIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAmIExvY2FsZVN0cmluZ0N1c3RvbUZpZWxkRnJhZ21lbnRcclxuKTtcclxuXHJcbnR5cGUgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAmIFJlbGF0aW9uQ3VzdG9tRmllbGRGcmFnbWVudFxyXG4pO1xyXG5cclxudHlwZSBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgJiBTdHJpbmdDdXN0b21GaWVsZEZyYWdtZW50XHJcbik7XHJcblxyXG50eXBlIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICYgVGV4dEN1c3RvbUZpZWxkRnJhZ21lbnRcclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIEN1c3RvbUZpZWxkc0ZyYWdtZW50ID0gQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCB8IEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50IHwgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgfCBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgfCBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgfCBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCB8IEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCB8IEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQ7XHJcblxyXG5leHBvcnQgdHlwZSBHZXRTZXJ2ZXJDb25maWdRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFNlcnZlckNvbmZpZ1F1ZXJ5ID0geyBnbG9iYWxTZXR0aW5nczogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0dsb2JhbFNldHRpbmdzJyB9XHJcbiAgICAmIFBpY2s8R2xvYmFsU2V0dGluZ3MsICdpZCc+XHJcbiAgICAmIHsgc2VydmVyQ29uZmlnOiAoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZXJ2ZXJDb25maWcnIH1cclxuICAgICAgJiBQaWNrPFNlcnZlckNvbmZpZywgJ3Blcm1pdHRlZEFzc2V0VHlwZXMnPlxyXG4gICAgICAmIHsgb3JkZXJQcm9jZXNzOiBBcnJheTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyUHJvY2Vzc1N0YXRlJyB9XHJcbiAgICAgICAgJiBQaWNrPE9yZGVyUHJvY2Vzc1N0YXRlLCAnbmFtZScgfCAndG8nPlxyXG4gICAgICApPiwgcGVybWlzc2lvbnM6IEFycmF5PChcclxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUGVybWlzc2lvbkRlZmluaXRpb24nIH1cclxuICAgICAgICAmIFBpY2s8UGVybWlzc2lvbkRlZmluaXRpb24sICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnYXNzaWduYWJsZSc+XHJcbiAgICAgICk+LCBjdXN0b21GaWVsZENvbmZpZzogKFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21GaWVsZHMnIH1cclxuICAgICAgICAmIHsgQWRkcmVzczogQXJyYXk8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICk+LCBBZG1pbmlzdHJhdG9yOiBBcnJheTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKT4sIEFzc2V0OiBBcnJheTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKT4sIENoYW5uZWw6IEFycmF5PChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApPiwgQ29sbGVjdGlvbjogQXJyYXk8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICk+LCBDb3VudHJ5OiBBcnJheTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKT4sIEN1c3RvbWVyOiBBcnJheTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKT4sIEN1c3RvbWVyR3JvdXA6IEFycmF5PChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApPiwgRmFjZXQ6IEFycmF5PChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApPiwgRmFjZXRWYWx1ZTogQXJyYXk8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICk+LCBGdWxmaWxsbWVudDogQXJyYXk8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICk+LCBHbG9iYWxTZXR0aW5nczogQXJyYXk8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICk+LCBPcmRlcjogQXJyYXk8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICk+LCBPcmRlckxpbmU6IEFycmF5PChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApPiwgUGF5bWVudE1ldGhvZDogQXJyYXk8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICk+LCBQcm9kdWN0OiBBcnJheTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKT4sIFByb2R1Y3RPcHRpb246IEFycmF5PChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApPiwgUHJvZHVjdE9wdGlvbkdyb3VwOiBBcnJheTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKT4sIFByb2R1Y3RWYXJpYW50OiBBcnJheTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKT4sIFByb21vdGlvbjogQXJyYXk8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICk+LCBTaGlwcGluZ01ldGhvZDogQXJyYXk8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICk+LCBUYXhDYXRlZ29yeTogQXJyYXk8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICk+LCBUYXhSYXRlOiBBcnJheTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKT4sIFVzZXI6IEFycmF5PChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApPiwgWm9uZTogQXJyYXk8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICk+IH1cclxuICAgICAgKSB9XHJcbiAgICApIH1cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBKb2JJbmZvRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0pvYicgfVxyXG4gICYgUGljazxKb2IsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICdzdGFydGVkQXQnIHwgJ3NldHRsZWRBdCcgfCAncXVldWVOYW1lJyB8ICdzdGF0ZScgfCAnaXNTZXR0bGVkJyB8ICdwcm9ncmVzcycgfCAnZHVyYXRpb24nIHwgJ2RhdGEnIHwgJ3Jlc3VsdCcgfCAnZXJyb3InIHwgJ3JldHJpZXMnIHwgJ2F0dGVtcHRzJz5cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldEpvYkluZm9RdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0Sm9iSW5mb1F1ZXJ5ID0geyBqb2I/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnSm9iJyB9XHJcbiAgICAmIEpvYkluZm9GcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRBbGxKb2JzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgb3B0aW9ucz86IE1heWJlPEpvYkxpc3RPcHRpb25zPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0QWxsSm9ic1F1ZXJ5ID0geyBqb2JzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnSm9iTGlzdCcgfVxyXG4gICAgJiBQaWNrPEpvYkxpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSm9iJyB9XHJcbiAgICAgICYgSm9iSW5mb0ZyYWdtZW50XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0Sm9ic0J5SWRRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+IHwgU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0Sm9ic0J5SWRRdWVyeSA9IHsgam9ic0J5SWQ6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdKb2InIH1cclxuICAgICYgSm9iSW5mb0ZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldEpvYlF1ZXVlTGlzdFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0Sm9iUXVldWVMaXN0UXVlcnkgPSB7IGpvYlF1ZXVlczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0pvYlF1ZXVlJyB9XHJcbiAgICAmIFBpY2s8Sm9iUXVldWUsICduYW1lJyB8ICdydW5uaW5nJz5cclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ2FuY2VsSm9iTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENhbmNlbEpvYk11dGF0aW9uID0geyBjYW5jZWxKb2I6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdKb2InIH1cclxuICAgICYgSm9iSW5mb0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgUmVpbmRleE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUmVpbmRleE11dGF0aW9uID0geyByZWluZGV4OiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnSm9iJyB9XHJcbiAgICAmIEpvYkluZm9GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFBlbmRpbmdTZWFyY2hJbmRleFVwZGF0ZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFBlbmRpbmdTZWFyY2hJbmRleFVwZGF0ZXNRdWVyeSA9IFBpY2s8UXVlcnksICdwZW5kaW5nU2VhcmNoSW5kZXhVcGRhdGVzJz47XHJcblxyXG5leHBvcnQgdHlwZSBSdW5QZW5kaW5nU2VhcmNoSW5kZXhVcGRhdGVzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBSdW5QZW5kaW5nU2VhcmNoSW5kZXhVcGRhdGVzTXV0YXRpb24gPSB7IHJ1blBlbmRpbmdTZWFyY2hJbmRleFVwZGF0ZXM6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdTdWNjZXNzJyB9XHJcbiAgICAmIFBpY2s8U3VjY2VzcywgJ3N1Y2Nlc3MnPlxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb24nIH1cclxuICAmIFBpY2s8Q29uZmlndXJhYmxlT3BlcmF0aW9uLCAnY29kZSc+XHJcbiAgJiB7IGFyZ3M6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWdBcmcnIH1cclxuICAgICYgUGljazxDb25maWdBcmcsICduYW1lJyB8ICd2YWx1ZSc+XHJcbiAgKT4gfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0NvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZmluaXRpb24nIH1cclxuICAmIFBpY2s8Q29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbiwgJ2NvZGUnIHwgJ2Rlc2NyaXB0aW9uJz5cclxuICAmIHsgYXJnczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZpZ0FyZ0RlZmluaXRpb24nIH1cclxuICAgICYgUGljazxDb25maWdBcmdEZWZpbml0aW9uLCAnbmFtZScgfCAndHlwZScgfCAncmVxdWlyZWQnIHwgJ2RlZmF1bHRWYWx1ZScgfCAnbGlzdCcgfCAndWknIHwgJ2xhYmVsJyB8ICdkZXNjcmlwdGlvbic+XHJcbiAgKT4gfVxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9BbHJlYWR5UmVmdW5kZWRFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnQWxyZWFkeVJlZnVuZGVkRXJyb3InIH1cclxuICAmIFBpY2s8QWxyZWFkeVJlZnVuZGVkRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9DYW5jZWxBY3RpdmVPcmRlckVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdDYW5jZWxBY3RpdmVPcmRlckVycm9yJyB9XHJcbiAgJiBQaWNrPENhbmNlbEFjdGl2ZU9yZGVyRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9DYW5jZWxQYXltZW50RXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0NhbmNlbFBheW1lbnRFcnJvcicgfVxyXG4gICYgUGljazxDYW5jZWxQYXltZW50RXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9DaGFubmVsRGVmYXVsdExhbmd1YWdlRXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0NoYW5uZWxEZWZhdWx0TGFuZ3VhZ2VFcnJvcicgfVxyXG4gICYgUGljazxDaGFubmVsRGVmYXVsdExhbmd1YWdlRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9Db3Vwb25Db2RlRXhwaXJlZEVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdDb3Vwb25Db2RlRXhwaXJlZEVycm9yJyB9XHJcbiAgJiBQaWNrPENvdXBvbkNvZGVFeHBpcmVkRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9Db3Vwb25Db2RlSW52YWxpZEVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdDb3Vwb25Db2RlSW52YWxpZEVycm9yJyB9XHJcbiAgJiBQaWNrPENvdXBvbkNvZGVJbnZhbGlkRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9Db3Vwb25Db2RlTGltaXRFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnQ291cG9uQ29kZUxpbWl0RXJyb3InIH1cclxuICAmIFBpY2s8Q291cG9uQ29kZUxpbWl0RXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9DcmVhdGVGdWxmaWxsbWVudEVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdDcmVhdGVGdWxmaWxsbWVudEVycm9yJyB9XHJcbiAgJiBQaWNrPENyZWF0ZUZ1bGZpbGxtZW50RXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9FbWFpbEFkZHJlc3NDb25mbGljdEVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdFbWFpbEFkZHJlc3NDb25mbGljdEVycm9yJyB9XHJcbiAgJiBQaWNrPEVtYWlsQWRkcmVzc0NvbmZsaWN0RXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9FbXB0eU9yZGVyTGluZVNlbGVjdGlvbkVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdFbXB0eU9yZGVyTGluZVNlbGVjdGlvbkVycm9yJyB9XHJcbiAgJiBQaWNrPEVtcHR5T3JkZXJMaW5lU2VsZWN0aW9uRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9GYWNldEluVXNlRXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0SW5Vc2VFcnJvcicgfVxyXG4gICYgUGljazxGYWNldEluVXNlRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9GdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdGdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yJyB9XHJcbiAgJiBQaWNrPEZ1bGZpbGxtZW50U3RhdGVUcmFuc2l0aW9uRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9JbmVsaWdpYmxlU2hpcHBpbmdNZXRob2RFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnSW5lbGlnaWJsZVNoaXBwaW5nTWV0aG9kRXJyb3InIH1cclxuICAmIFBpY2s8SW5lbGlnaWJsZVNoaXBwaW5nTWV0aG9kRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9JbnN1ZmZpY2llbnRTdG9ja0Vycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdJbnN1ZmZpY2llbnRTdG9ja0Vycm9yJyB9XHJcbiAgJiBQaWNrPEluc3VmZmljaWVudFN0b2NrRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9JbnN1ZmZpY2llbnRTdG9ja09uSGFuZEVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdJbnN1ZmZpY2llbnRTdG9ja09uSGFuZEVycm9yJyB9XHJcbiAgJiBQaWNrPEluc3VmZmljaWVudFN0b2NrT25IYW5kRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9JbnZhbGlkQ3JlZGVudGlhbHNFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnSW52YWxpZENyZWRlbnRpYWxzRXJyb3InIH1cclxuICAmIFBpY2s8SW52YWxpZENyZWRlbnRpYWxzRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9JbnZhbGlkRnVsZmlsbG1lbnRIYW5kbGVyRXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0ludmFsaWRGdWxmaWxsbWVudEhhbmRsZXJFcnJvcicgfVxyXG4gICYgUGljazxJbnZhbGlkRnVsZmlsbG1lbnRIYW5kbGVyRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9JdGVtc0FscmVhZHlGdWxmaWxsZWRFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnSXRlbXNBbHJlYWR5RnVsZmlsbGVkRXJyb3InIH1cclxuICAmIFBpY2s8SXRlbXNBbHJlYWR5RnVsZmlsbGVkRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9MYW5ndWFnZU5vdEF2YWlsYWJsZUVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdMYW5ndWFnZU5vdEF2YWlsYWJsZUVycm9yJyB9XHJcbiAgJiBQaWNrPExhbmd1YWdlTm90QXZhaWxhYmxlRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9NYW51YWxQYXltZW50U3RhdGVFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnTWFudWFsUGF5bWVudFN0YXRlRXJyb3InIH1cclxuICAmIFBpY2s8TWFudWFsUGF5bWVudFN0YXRlRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9NaW1lVHlwZUVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdNaW1lVHlwZUVycm9yJyB9XHJcbiAgJiBQaWNrPE1pbWVUeXBlRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9NaXNzaW5nQ29uZGl0aW9uc0Vycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdNaXNzaW5nQ29uZGl0aW9uc0Vycm9yJyB9XHJcbiAgJiBQaWNrPE1pc3NpbmdDb25kaXRpb25zRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9NdWx0aXBsZU9yZGVyRXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ011bHRpcGxlT3JkZXJFcnJvcicgfVxyXG4gICYgUGljazxNdWx0aXBsZU9yZGVyRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9OYXRpdmVBdXRoU3RyYXRlZ3lFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnTmF0aXZlQXV0aFN0cmF0ZWd5RXJyb3InIH1cclxuICAmIFBpY2s8TmF0aXZlQXV0aFN0cmF0ZWd5RXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9OZWdhdGl2ZVF1YW50aXR5RXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ05lZ2F0aXZlUXVhbnRpdHlFcnJvcicgfVxyXG4gICYgUGljazxOZWdhdGl2ZVF1YW50aXR5RXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9Ob0FjdGl2ZU9yZGVyRXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ05vQWN0aXZlT3JkZXJFcnJvcicgfVxyXG4gICYgUGljazxOb0FjdGl2ZU9yZGVyRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9Ob0NoYW5nZXNTcGVjaWZpZWRFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnTm9DaGFuZ2VzU3BlY2lmaWVkRXJyb3InIH1cclxuICAmIFBpY2s8Tm9DaGFuZ2VzU3BlY2lmaWVkRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9Ob3RoaW5nVG9SZWZ1bmRFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnTm90aGluZ1RvUmVmdW5kRXJyb3InIH1cclxuICAmIFBpY2s8Tm90aGluZ1RvUmVmdW5kRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9PcmRlckxpbWl0RXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ09yZGVyTGltaXRFcnJvcicgfVxyXG4gICYgUGljazxPcmRlckxpbWl0RXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9PcmRlck1vZGlmaWNhdGlvbkVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdPcmRlck1vZGlmaWNhdGlvbkVycm9yJyB9XHJcbiAgJiBQaWNrPE9yZGVyTW9kaWZpY2F0aW9uRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9PcmRlck1vZGlmaWNhdGlvblN0YXRlRXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ09yZGVyTW9kaWZpY2F0aW9uU3RhdGVFcnJvcicgfVxyXG4gICYgUGljazxPcmRlck1vZGlmaWNhdGlvblN0YXRlRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9PcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdPcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yJyB9XHJcbiAgJiBQaWNrPE9yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9QYXltZW50TWV0aG9kTWlzc2luZ0Vycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdQYXltZW50TWV0aG9kTWlzc2luZ0Vycm9yJyB9XHJcbiAgJiBQaWNrPFBheW1lbnRNZXRob2RNaXNzaW5nRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9QYXltZW50T3JkZXJNaXNtYXRjaEVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdQYXltZW50T3JkZXJNaXNtYXRjaEVycm9yJyB9XHJcbiAgJiBQaWNrPFBheW1lbnRPcmRlck1pc21hdGNoRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9QYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcicgfVxyXG4gICYgUGljazxQYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9Qcm9kdWN0T3B0aW9uSW5Vc2VFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbkluVXNlRXJyb3InIH1cclxuICAmIFBpY2s8UHJvZHVjdE9wdGlvbkluVXNlRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9RdWFudGl0eVRvb0dyZWF0RXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1F1YW50aXR5VG9vR3JlYXRFcnJvcicgfVxyXG4gICYgUGljazxRdWFudGl0eVRvb0dyZWF0RXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9SZWZ1bmRPcmRlclN0YXRlRXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1JlZnVuZE9yZGVyU3RhdGVFcnJvcicgfVxyXG4gICYgUGljazxSZWZ1bmRPcmRlclN0YXRlRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9SZWZ1bmRQYXltZW50SWRNaXNzaW5nRXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1JlZnVuZFBheW1lbnRJZE1pc3NpbmdFcnJvcicgfVxyXG4gICYgUGljazxSZWZ1bmRQYXltZW50SWRNaXNzaW5nRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9SZWZ1bmRTdGF0ZVRyYW5zaXRpb25FcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnUmVmdW5kU3RhdGVUcmFuc2l0aW9uRXJyb3InIH1cclxuICAmIFBpY2s8UmVmdW5kU3RhdGVUcmFuc2l0aW9uRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxudHlwZSBFcnJvclJlc3VsdF9TZXR0bGVQYXltZW50RXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1NldHRsZVBheW1lbnRFcnJvcicgfVxyXG4gICYgUGljazxTZXR0bGVQYXltZW50RXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgRXJyb3JSZXN1bHRGcmFnbWVudCA9IEVycm9yUmVzdWx0X0FscmVhZHlSZWZ1bmRlZEVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfQ2FuY2VsQWN0aXZlT3JkZXJFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X0NhbmNlbFBheW1lbnRFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X0NoYW5uZWxEZWZhdWx0TGFuZ3VhZ2VFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X0NvdXBvbkNvZGVFeHBpcmVkRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9Db3Vwb25Db2RlSW52YWxpZEVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfQ291cG9uQ29kZUxpbWl0RXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9DcmVhdGVGdWxmaWxsbWVudEVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfRW1haWxBZGRyZXNzQ29uZmxpY3RFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X0VtcHR5T3JkZXJMaW5lU2VsZWN0aW9uRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9GYWNldEluVXNlRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9GdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfSW5lbGlnaWJsZVNoaXBwaW5nTWV0aG9kRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9JbnN1ZmZpY2llbnRTdG9ja0Vycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfSW5zdWZmaWNpZW50U3RvY2tPbkhhbmRFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X0ludmFsaWRDcmVkZW50aWFsc0Vycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfSW52YWxpZEZ1bGZpbGxtZW50SGFuZGxlckVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfSXRlbXNBbHJlYWR5RnVsZmlsbGVkRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9MYW5ndWFnZU5vdEF2YWlsYWJsZUVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfTWFudWFsUGF5bWVudFN0YXRlRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9NaW1lVHlwZUVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfTWlzc2luZ0NvbmRpdGlvbnNFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X011bHRpcGxlT3JkZXJFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X05hdGl2ZUF1dGhTdHJhdGVneUVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfTmVnYXRpdmVRdWFudGl0eUVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfTm9BY3RpdmVPcmRlckVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfTm9DaGFuZ2VzU3BlY2lmaWVkRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9Ob3RoaW5nVG9SZWZ1bmRFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X09yZGVyTGltaXRFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X09yZGVyTW9kaWZpY2F0aW9uRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9PcmRlck1vZGlmaWNhdGlvblN0YXRlRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9PcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfUGF5bWVudE1ldGhvZE1pc3NpbmdFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X1BheW1lbnRPcmRlck1pc21hdGNoRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9QYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9Qcm9kdWN0T3B0aW9uSW5Vc2VFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X1F1YW50aXR5VG9vR3JlYXRFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X1JlZnVuZE9yZGVyU3RhdGVFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X1JlZnVuZFBheW1lbnRJZE1pc3NpbmdFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X1JlZnVuZFN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfU2V0dGxlUGF5bWVudEVycm9yX0ZyYWdtZW50O1xyXG5cclxuZXhwb3J0IHR5cGUgU2hpcHBpbmdNZXRob2RGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnU2hpcHBpbmdNZXRob2QnIH1cclxuICAmIFBpY2s8U2hpcHBpbmdNZXRob2QsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvZGUnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdmdWxmaWxsbWVudEhhbmRsZXJDb2RlJz5cclxuICAmIHsgY2hlY2tlcjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZpZ3VyYWJsZU9wZXJhdGlvbicgfVxyXG4gICAgJiBDb25maWd1cmFibGVPcGVyYXRpb25GcmFnbWVudFxyXG4gICksIGNhbGN1bGF0b3I6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb24nIH1cclxuICAgICYgQ29uZmlndXJhYmxlT3BlcmF0aW9uRnJhZ21lbnRcclxuICApLCB0cmFuc2xhdGlvbnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdTaGlwcGluZ01ldGhvZFRyYW5zbGF0aW9uJyB9XHJcbiAgICAmIFBpY2s8U2hpcHBpbmdNZXRob2RUcmFuc2xhdGlvbiwgJ2lkJyB8ICdsYW5ndWFnZUNvZGUnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz5cclxuICApPiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBHZXRTaGlwcGluZ01ldGhvZExpc3RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBvcHRpb25zPzogTWF5YmU8U2hpcHBpbmdNZXRob2RMaXN0T3B0aW9ucz47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFNoaXBwaW5nTWV0aG9kTGlzdFF1ZXJ5ID0geyBzaGlwcGluZ01ldGhvZHM6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdTaGlwcGluZ01ldGhvZExpc3QnIH1cclxuICAgICYgUGljazxTaGlwcGluZ01ldGhvZExpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2hpcHBpbmdNZXRob2QnIH1cclxuICAgICAgJiBTaGlwcGluZ01ldGhvZEZyYWdtZW50XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0U2hpcHBpbmdNZXRob2RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0U2hpcHBpbmdNZXRob2RRdWVyeSA9IHsgc2hpcHBpbmdNZXRob2Q/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2hpcHBpbmdNZXRob2QnIH1cclxuICAgICYgU2hpcHBpbmdNZXRob2RGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRTaGlwcGluZ01ldGhvZE9wZXJhdGlvbnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFNoaXBwaW5nTWV0aG9kT3BlcmF0aW9uc1F1ZXJ5ID0geyBzaGlwcGluZ0VsaWdpYmlsaXR5Q2hlY2tlcnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uJyB9XHJcbiAgICAmIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZkZyYWdtZW50XHJcbiAgKT4sIHNoaXBwaW5nQ2FsY3VsYXRvcnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uJyB9XHJcbiAgICAmIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZkZyYWdtZW50XHJcbiAgKT4sIGZ1bGZpbGxtZW50SGFuZGxlcnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uJyB9XHJcbiAgICAmIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZkZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVNoaXBwaW5nTWV0aG9kTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IENyZWF0ZVNoaXBwaW5nTWV0aG9kSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVNoaXBwaW5nTWV0aG9kTXV0YXRpb24gPSB7IGNyZWF0ZVNoaXBwaW5nTWV0aG9kOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2hpcHBpbmdNZXRob2QnIH1cclxuICAgICYgU2hpcHBpbmdNZXRob2RGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVNoaXBwaW5nTWV0aG9kTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFVwZGF0ZVNoaXBwaW5nTWV0aG9kSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVNoaXBwaW5nTWV0aG9kTXV0YXRpb24gPSB7IHVwZGF0ZVNoaXBwaW5nTWV0aG9kOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2hpcHBpbmdNZXRob2QnIH1cclxuICAgICYgU2hpcHBpbmdNZXRob2RGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZVNoaXBwaW5nTWV0aG9kTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZVNoaXBwaW5nTWV0aG9kTXV0YXRpb24gPSB7IGRlbGV0ZVNoaXBwaW5nTWV0aG9kOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRGVsZXRpb25SZXNwb25zZScgfVxyXG4gICAgJiBQaWNrPERlbGV0aW9uUmVzcG9uc2UsICdyZXN1bHQnIHwgJ21lc3NhZ2UnPlxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFRlc3RTaGlwcGluZ01ldGhvZFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBUZXN0U2hpcHBpbmdNZXRob2RJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVGVzdFNoaXBwaW5nTWV0aG9kUXVlcnkgPSB7IHRlc3RTaGlwcGluZ01ldGhvZDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Rlc3RTaGlwcGluZ01ldGhvZFJlc3VsdCcgfVxyXG4gICAgJiBQaWNrPFRlc3RTaGlwcGluZ01ldGhvZFJlc3VsdCwgJ2VsaWdpYmxlJz5cclxuICAgICYgeyBxdW90ZT86IE1heWJlPChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1Rlc3RTaGlwcGluZ01ldGhvZFF1b3RlJyB9XHJcbiAgICAgICYgUGljazxUZXN0U2hpcHBpbmdNZXRob2RRdW90ZSwgJ3ByaWNlJyB8ICdwcmljZVdpdGhUYXgnIHwgJ21ldGFkYXRhJz5cclxuICAgICk+IH1cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBUZXN0RWxpZ2libGVTaGlwcGluZ01ldGhvZHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVGVzdEVsaWdpYmxlU2hpcHBpbmdNZXRob2RzSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFRlc3RFbGlnaWJsZVNoaXBwaW5nTWV0aG9kc1F1ZXJ5ID0geyB0ZXN0RWxpZ2libGVTaGlwcGluZ01ldGhvZHM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdTaGlwcGluZ01ldGhvZFF1b3RlJyB9XHJcbiAgICAmIFBpY2s8U2hpcHBpbmdNZXRob2RRdW90ZSwgJ2lkJyB8ICduYW1lJyB8ICdjb2RlJyB8ICdkZXNjcmlwdGlvbicgfCAncHJpY2UnIHwgJ3ByaWNlV2l0aFRheCcgfCAnbWV0YWRhdGEnPlxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRDdXN0b21lckFkZHJlc3Nlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGN1c3RvbWVySWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldEN1c3RvbWVyQWRkcmVzc2VzUXVlcnkgPSB7IGN1c3RvbWVyPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyJyB9XHJcbiAgICAmIFBpY2s8Q3VzdG9tZXIsICdpZCc+XHJcbiAgICAmIHsgYWRkcmVzc2VzPzogTWF5YmU8QXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQWRkcmVzcycgfVxyXG4gICAgICAmIEFkZHJlc3NGcmFnbWVudFxyXG4gICAgKT4+IH1cclxuICApPiB9O1xyXG5cclxudHlwZSBEaXNjcmltaW5hdGVVbmlvbjxULCBVPiA9IFQgZXh0ZW5kcyBVID8gVCA6IG5ldmVyO1xyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRQcm9kdWN0c1dpdGhGYWNldFZhbHVlc0J5SWRzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRQcm9kdWN0c1dpdGhGYWNldFZhbHVlc0J5SWRzUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRQcm9kdWN0c1dpdGhGYWNldFZhbHVlc0J5SWRzUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgUHJvZHVjdHMgPSAoTm9uTnVsbGFibGU8R2V0UHJvZHVjdHNXaXRoRmFjZXRWYWx1ZXNCeUlkc1F1ZXJ5Wydwcm9kdWN0cyddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RzV2l0aEZhY2V0VmFsdWVzQnlJZHNRdWVyeVsncHJvZHVjdHMnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgRmFjZXRWYWx1ZXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9kdWN0c1dpdGhGYWNldFZhbHVlc0J5SWRzUXVlcnlbJ3Byb2R1Y3RzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+WydmYWNldFZhbHVlcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgRmFjZXQgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0UHJvZHVjdHNXaXRoRmFjZXRWYWx1ZXNCeUlkc1F1ZXJ5Wydwcm9kdWN0cyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsnZmFjZXRWYWx1ZXMnXT4pW251bWJlcl0+WydmYWNldCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0VmFyaWFudHNXaXRoRmFjZXRWYWx1ZXNCeUlkcyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VmFyaWFudHNXaXRoRmFjZXRWYWx1ZXNCeUlkc1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VmFyaWFudHNXaXRoRmFjZXRWYWx1ZXNCeUlkc1F1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFByb2R1Y3RWYXJpYW50cyA9IChOb25OdWxsYWJsZTxHZXRWYXJpYW50c1dpdGhGYWNldFZhbHVlc0J5SWRzUXVlcnlbJ3Byb2R1Y3RWYXJpYW50cyddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFZhcmlhbnRzV2l0aEZhY2V0VmFsdWVzQnlJZHNRdWVyeVsncHJvZHVjdFZhcmlhbnRzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIEZhY2V0VmFsdWVzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0VmFyaWFudHNXaXRoRmFjZXRWYWx1ZXNCeUlkc1F1ZXJ5Wydwcm9kdWN0VmFyaWFudHMnXT4pWydpdGVtcyddPilbbnVtYmVyXT5bJ2ZhY2V0VmFsdWVzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBGYWNldCA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRWYXJpYW50c1dpdGhGYWNldFZhbHVlc0J5SWRzUXVlcnlbJ3Byb2R1Y3RWYXJpYW50cyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsnZmFjZXRWYWx1ZXMnXT4pW251bWJlcl0+WydmYWNldCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlUHJvZHVjdHNCdWxrIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVQcm9kdWN0c0J1bGtNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZVByb2R1Y3RzQnVsa011dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFVwZGF0ZVByb2R1Y3RzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFVwZGF0ZVByb2R1Y3RzQnVsa011dGF0aW9uWyd1cGRhdGVQcm9kdWN0cyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgRmFjZXRWYWx1ZXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFVwZGF0ZVByb2R1Y3RzQnVsa011dGF0aW9uWyd1cGRhdGVQcm9kdWN0cyddPilbbnVtYmVyXT5bJ2ZhY2V0VmFsdWVzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVWYXJpYW50c0J1bGsge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZVZhcmlhbnRzQnVsa011dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlVmFyaWFudHNCdWxrTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlUHJvZHVjdFZhcmlhbnRzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFVwZGF0ZVZhcmlhbnRzQnVsa011dGF0aW9uWyd1cGRhdGVQcm9kdWN0VmFyaWFudHMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIEZhY2V0VmFsdWVzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxVcGRhdGVWYXJpYW50c0J1bGtNdXRhdGlvblsndXBkYXRlUHJvZHVjdFZhcmlhbnRzJ10+KVtudW1iZXJdPlsnZmFjZXRWYWx1ZXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFJvbGUge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gUm9sZUZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIENoYW5uZWxzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFJvbGVGcmFnbWVudFsnY2hhbm5lbHMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEFkbWluaXN0cmF0b3Ige1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gQWRtaW5pc3RyYXRvckZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIFVzZXIgPSAoTm9uTnVsbGFibGU8QWRtaW5pc3RyYXRvckZyYWdtZW50Wyd1c2VyJ10+KTtcclxuICBleHBvcnQgdHlwZSBSb2xlcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8QWRtaW5pc3RyYXRvckZyYWdtZW50Wyd1c2VyJ10+KVsncm9sZXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldEFkbWluaXN0cmF0b3JzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRBZG1pbmlzdHJhdG9yc1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0QWRtaW5pc3RyYXRvcnNRdWVyeTtcclxuICBleHBvcnQgdHlwZSBBZG1pbmlzdHJhdG9ycyA9IChOb25OdWxsYWJsZTxHZXRBZG1pbmlzdHJhdG9yc1F1ZXJ5WydhZG1pbmlzdHJhdG9ycyddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldEFkbWluaXN0cmF0b3JzUXVlcnlbJ2FkbWluaXN0cmF0b3JzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldEFjdGl2ZUFkbWluaXN0cmF0b3Ige1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEFjdGl2ZUFkbWluaXN0cmF0b3JRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEFjdGl2ZUFkbWluaXN0cmF0b3JRdWVyeTtcclxuICBleHBvcnQgdHlwZSBBY3RpdmVBZG1pbmlzdHJhdG9yID0gKE5vbk51bGxhYmxlPEdldEFjdGl2ZUFkbWluaXN0cmF0b3JRdWVyeVsnYWN0aXZlQWRtaW5pc3RyYXRvciddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0QWRtaW5pc3RyYXRvciB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0QWRtaW5pc3RyYXRvclF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0QWRtaW5pc3RyYXRvclF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIEFkbWluaXN0cmF0b3IgPSAoTm9uTnVsbGFibGU8R2V0QWRtaW5pc3RyYXRvclF1ZXJ5WydhZG1pbmlzdHJhdG9yJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGVBZG1pbmlzdHJhdG9yIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVBZG1pbmlzdHJhdG9yTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVBZG1pbmlzdHJhdG9yTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQ3JlYXRlQWRtaW5pc3RyYXRvciA9IChOb25OdWxsYWJsZTxDcmVhdGVBZG1pbmlzdHJhdG9yTXV0YXRpb25bJ2NyZWF0ZUFkbWluaXN0cmF0b3InXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZUFkbWluaXN0cmF0b3Ige1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZUFkbWluaXN0cmF0b3JNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZUFkbWluaXN0cmF0b3JNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBVcGRhdGVBZG1pbmlzdHJhdG9yID0gKE5vbk51bGxhYmxlPFVwZGF0ZUFkbWluaXN0cmF0b3JNdXRhdGlvblsndXBkYXRlQWRtaW5pc3RyYXRvciddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlQWN0aXZlQWRtaW5pc3RyYXRvciB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlQWN0aXZlQWRtaW5pc3RyYXRvck11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlQWN0aXZlQWRtaW5pc3RyYXRvck11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFVwZGF0ZUFjdGl2ZUFkbWluaXN0cmF0b3IgPSAoTm9uTnVsbGFibGU8VXBkYXRlQWN0aXZlQWRtaW5pc3RyYXRvck11dGF0aW9uWyd1cGRhdGVBY3RpdmVBZG1pbmlzdHJhdG9yJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVBZG1pbmlzdHJhdG9yIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVBZG1pbmlzdHJhdG9yTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVBZG1pbmlzdHJhdG9yTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgRGVsZXRlQWRtaW5pc3RyYXRvciA9IChOb25OdWxsYWJsZTxEZWxldGVBZG1pbmlzdHJhdG9yTXV0YXRpb25bJ2RlbGV0ZUFkbWluaXN0cmF0b3InXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldFJvbGVzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRSb2xlc1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Um9sZXNRdWVyeTtcclxuICBleHBvcnQgdHlwZSBSb2xlcyA9IChOb25OdWxsYWJsZTxHZXRSb2xlc1F1ZXJ5Wydyb2xlcyddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFJvbGVzUXVlcnlbJ3JvbGVzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldFJvbGUge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFJvbGVRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFJvbGVRdWVyeTtcclxuICBleHBvcnQgdHlwZSBSb2xlID0gKE5vbk51bGxhYmxlPEdldFJvbGVRdWVyeVsncm9sZSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlUm9sZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlUm9sZU11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlUm9sZU11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIENyZWF0ZVJvbGUgPSAoTm9uTnVsbGFibGU8Q3JlYXRlUm9sZU11dGF0aW9uWydjcmVhdGVSb2xlJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVSb2xlIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVSb2xlTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVSb2xlTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlUm9sZSA9IChOb25OdWxsYWJsZTxVcGRhdGVSb2xlTXV0YXRpb25bJ3VwZGF0ZVJvbGUnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZVJvbGUge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZVJvbGVNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZVJvbGVNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBEZWxldGVSb2xlID0gKE5vbk51bGxhYmxlPERlbGV0ZVJvbGVNdXRhdGlvblsnZGVsZXRlUm9sZSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQXNzaWduUm9sZVRvQWRtaW5pc3RyYXRvciB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQXNzaWduUm9sZVRvQWRtaW5pc3RyYXRvck11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQXNzaWduUm9sZVRvQWRtaW5pc3RyYXRvck11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIEFzc2lnblJvbGVUb0FkbWluaXN0cmF0b3IgPSAoTm9uTnVsbGFibGU8QXNzaWduUm9sZVRvQWRtaW5pc3RyYXRvck11dGF0aW9uWydhc3NpZ25Sb2xlVG9BZG1pbmlzdHJhdG9yJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDdXJyZW50VXNlciB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBDdXJyZW50VXNlckZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIENoYW5uZWxzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEN1cnJlbnRVc2VyRnJhZ21lbnRbJ2NoYW5uZWxzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBBdHRlbXB0TG9naW4ge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEF0dGVtcHRMb2dpbk11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQXR0ZW1wdExvZ2luTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgTG9naW4gPSAoTm9uTnVsbGFibGU8QXR0ZW1wdExvZ2luTXV0YXRpb25bJ2xvZ2luJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBMb2dPdXQge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IExvZ091dE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gTG9nT3V0TXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgTG9nb3V0ID0gKE5vbk51bGxhYmxlPExvZ091dE11dGF0aW9uWydsb2dvdXQnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldEN1cnJlbnRVc2VyIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDdXJyZW50VXNlclF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q3VycmVudFVzZXJRdWVyeTtcclxuICBleHBvcnQgdHlwZSBNZSA9IChOb25OdWxsYWJsZTxHZXRDdXJyZW50VXNlclF1ZXJ5WydtZSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgUmVxdWVzdFN0YXJ0ZWQge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJlcXVlc3RTdGFydGVkTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBSZXF1ZXN0U3RhcnRlZE11dGF0aW9uO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFJlcXVlc3RDb21wbGV0ZWQge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJlcXVlc3RDb21wbGV0ZWRNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFJlcXVlc3RDb21wbGV0ZWRNdXRhdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVc2VyU3RhdHVzIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFVzZXJTdGF0dXNGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBDaGFubmVscyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxVc2VyU3RhdHVzRnJhZ21lbnRbJ2NoYW5uZWxzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBTZXRBc0xvZ2dlZEluIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRBc0xvZ2dlZEluTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXRBc0xvZ2dlZEluTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgU2V0QXNMb2dnZWRJbiA9IChOb25OdWxsYWJsZTxTZXRBc0xvZ2dlZEluTXV0YXRpb25bJ3NldEFzTG9nZ2VkSW4nXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFNldEFzTG9nZ2VkT3V0IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRBc0xvZ2dlZE91dE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0QXNMb2dnZWRPdXRNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBTZXRBc0xvZ2dlZE91dCA9IChOb25OdWxsYWJsZTxTZXRBc0xvZ2dlZE91dE11dGF0aW9uWydzZXRBc0xvZ2dlZE91dCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgU2V0VWlMYW5ndWFnZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0VWlMYW5ndWFnZU11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0VWlMYW5ndWFnZU11dGF0aW9uO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFNldFVpTG9jYWxlIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRVaUxvY2FsZU11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0VWlMb2NhbGVNdXRhdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBTZXREaXNwbGF5VWlFeHRlbnNpb25Qb2ludHMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldERpc3BsYXlVaUV4dGVuc2lvblBvaW50c011dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0RGlzcGxheVVpRXh0ZW5zaW9uUG9pbnRzTXV0YXRpb247XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgU2V0Q29udGVudExhbmd1YWdlIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRDb250ZW50TGFuZ3VhZ2VNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldENvbnRlbnRMYW5ndWFnZU11dGF0aW9uO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFNldFVpVGhlbWUge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldFVpVGhlbWVNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldFVpVGhlbWVNdXRhdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXROZXR3b3JrU3RhdHVzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXROZXR3b3JrU3RhdHVzUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXROZXR3b3JrU3RhdHVzUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgTmV0d29ya1N0YXR1cyA9IChOb25OdWxsYWJsZTxHZXROZXR3b3JrU3RhdHVzUXVlcnlbJ25ldHdvcmtTdGF0dXMnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJTdGF0dXMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJTdGF0dXNRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJTdGF0dXNRdWVyeTtcclxuICBleHBvcnQgdHlwZSBVc2VyU3RhdHVzID0gKE5vbk51bGxhYmxlPEdldFVzZXJTdGF0dXNRdWVyeVsndXNlclN0YXR1cyddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0VWlTdGF0ZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VWlTdGF0ZVF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VWlTdGF0ZVF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFVpU3RhdGUgPSAoTm9uTnVsbGFibGU8R2V0VWlTdGF0ZVF1ZXJ5Wyd1aVN0YXRlJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDbGllbnRTdGF0ZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q2xpZW50U3RhdGVRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENsaWVudFN0YXRlUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgTmV0d29ya1N0YXR1cyA9IChOb25OdWxsYWJsZTxHZXRDbGllbnRTdGF0ZVF1ZXJ5WyduZXR3b3JrU3RhdHVzJ10+KTtcclxuICBleHBvcnQgdHlwZSBVc2VyU3RhdHVzID0gKE5vbk51bGxhYmxlPEdldENsaWVudFN0YXRlUXVlcnlbJ3VzZXJTdGF0dXMnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIFVpU3RhdGUgPSAoTm9uTnVsbGFibGU8R2V0Q2xpZW50U3RhdGVRdWVyeVsndWlTdGF0ZSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgU2V0QWN0aXZlQ2hhbm5lbCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0QWN0aXZlQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0QWN0aXZlQ2hhbm5lbE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFNldEFjdGl2ZUNoYW5uZWwgPSAoTm9uTnVsbGFibGU8U2V0QWN0aXZlQ2hhbm5lbE11dGF0aW9uWydzZXRBY3RpdmVDaGFubmVsJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVVc2VyQ2hhbm5lbHMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZVVzZXJDaGFubmVsc011dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlVXNlckNoYW5uZWxzTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlVXNlckNoYW5uZWxzID0gKE5vbk51bGxhYmxlPFVwZGF0ZVVzZXJDaGFubmVsc011dGF0aW9uWyd1cGRhdGVVc2VyQ2hhbm5lbHMnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldENvbGxlY3Rpb25GaWx0ZXJzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDb2xsZWN0aW9uRmlsdGVyc1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q29sbGVjdGlvbkZpbHRlcnNRdWVyeTtcclxuICBleHBvcnQgdHlwZSBDb2xsZWN0aW9uRmlsdGVycyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDb2xsZWN0aW9uRmlsdGVyc1F1ZXJ5Wydjb2xsZWN0aW9uRmlsdGVycyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ29sbGVjdGlvbiB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBDb2xsZWN0aW9uRnJhZ21lbnQ7XHJcbiAgZXhwb3J0IHR5cGUgQnJlYWRjcnVtYnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Q29sbGVjdGlvbkZyYWdtZW50WydicmVhZGNydW1icyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgRmVhdHVyZWRBc3NldCA9IChOb25OdWxsYWJsZTxDb2xsZWN0aW9uRnJhZ21lbnRbJ2ZlYXR1cmVkQXNzZXQnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEFzc2V0cyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDb2xsZWN0aW9uRnJhZ21lbnRbJ2Fzc2V0cyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgRmlsdGVycyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDb2xsZWN0aW9uRnJhZ21lbnRbJ2ZpbHRlcnMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFRyYW5zbGF0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDb2xsZWN0aW9uRnJhZ21lbnRbJ3RyYW5zbGF0aW9ucyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgUGFyZW50ID0gKE5vbk51bGxhYmxlPENvbGxlY3Rpb25GcmFnbWVudFsncGFyZW50J10+KTtcclxuICBleHBvcnQgdHlwZSBDaGlsZHJlbiA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDb2xsZWN0aW9uRnJhZ21lbnRbJ2NoaWxkcmVuJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb2xsZWN0aW9uTGlzdCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q29sbGVjdGlvbkxpc3RRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvbGxlY3Rpb25MaXN0UXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgQ29sbGVjdGlvbnMgPSAoTm9uTnVsbGFibGU8R2V0Q29sbGVjdGlvbkxpc3RRdWVyeVsnY29sbGVjdGlvbnMnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDb2xsZWN0aW9uTGlzdFF1ZXJ5Wydjb2xsZWN0aW9ucyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBGZWF0dXJlZEFzc2V0ID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0Q29sbGVjdGlvbkxpc3RRdWVyeVsnY29sbGVjdGlvbnMnXT4pWydpdGVtcyddPilbbnVtYmVyXT5bJ2ZlYXR1cmVkQXNzZXQnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIFBhcmVudCA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldENvbGxlY3Rpb25MaXN0UXVlcnlbJ2NvbGxlY3Rpb25zJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+WydwYXJlbnQnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldENvbGxlY3Rpb24ge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldENvbGxlY3Rpb25RdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvbGxlY3Rpb25RdWVyeTtcclxuICBleHBvcnQgdHlwZSBDb2xsZWN0aW9uID0gKE5vbk51bGxhYmxlPEdldENvbGxlY3Rpb25RdWVyeVsnY29sbGVjdGlvbiddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlQ29sbGVjdGlvbiB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlQ29sbGVjdGlvbk11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlQ29sbGVjdGlvbk11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIENyZWF0ZUNvbGxlY3Rpb24gPSAoTm9uTnVsbGFibGU8Q3JlYXRlQ29sbGVjdGlvbk11dGF0aW9uWydjcmVhdGVDb2xsZWN0aW9uJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVDb2xsZWN0aW9uIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVDb2xsZWN0aW9uTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVDb2xsZWN0aW9uTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlQ29sbGVjdGlvbiA9IChOb25OdWxsYWJsZTxVcGRhdGVDb2xsZWN0aW9uTXV0YXRpb25bJ3VwZGF0ZUNvbGxlY3Rpb24nXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIE1vdmVDb2xsZWN0aW9uIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBNb3ZlQ29sbGVjdGlvbk11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gTW92ZUNvbGxlY3Rpb25NdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBNb3ZlQ29sbGVjdGlvbiA9IChOb25OdWxsYWJsZTxNb3ZlQ29sbGVjdGlvbk11dGF0aW9uWydtb3ZlQ29sbGVjdGlvbiddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlQ29sbGVjdGlvbiB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlQ29sbGVjdGlvbk11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlQ29sbGVjdGlvbk11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIERlbGV0ZUNvbGxlY3Rpb24gPSAoTm9uTnVsbGFibGU8RGVsZXRlQ29sbGVjdGlvbk11dGF0aW9uWydkZWxldGVDb2xsZWN0aW9uJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVDb2xsZWN0aW9ucyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlQ29sbGVjdGlvbnNNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZUNvbGxlY3Rpb25zTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgRGVsZXRlQ29sbGVjdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8RGVsZXRlQ29sbGVjdGlvbnNNdXRhdGlvblsnZGVsZXRlQ29sbGVjdGlvbnMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldENvbGxlY3Rpb25Db250ZW50cyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q29sbGVjdGlvbkNvbnRlbnRzUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDb2xsZWN0aW9uQ29udGVudHNRdWVyeTtcclxuICBleHBvcnQgdHlwZSBDb2xsZWN0aW9uID0gKE5vbk51bGxhYmxlPEdldENvbGxlY3Rpb25Db250ZW50c1F1ZXJ5Wydjb2xsZWN0aW9uJ10+KTtcclxuICBleHBvcnQgdHlwZSBQcm9kdWN0VmFyaWFudHMgPSAoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldENvbGxlY3Rpb25Db250ZW50c1F1ZXJ5Wydjb2xsZWN0aW9uJ10+KVsncHJvZHVjdFZhcmlhbnRzJ10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldENvbGxlY3Rpb25Db250ZW50c1F1ZXJ5Wydjb2xsZWN0aW9uJ10+KVsncHJvZHVjdFZhcmlhbnRzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFByZXZpZXdDb2xsZWN0aW9uQ29udGVudHMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFByZXZpZXdDb2xsZWN0aW9uQ29udGVudHNRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IFByZXZpZXdDb2xsZWN0aW9uQ29udGVudHNRdWVyeTtcclxuICBleHBvcnQgdHlwZSBQcmV2aWV3Q29sbGVjdGlvblZhcmlhbnRzID0gKE5vbk51bGxhYmxlPFByZXZpZXdDb2xsZWN0aW9uQ29udGVudHNRdWVyeVsncHJldmlld0NvbGxlY3Rpb25WYXJpYW50cyddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByZXZpZXdDb2xsZWN0aW9uQ29udGVudHNRdWVyeVsncHJldmlld0NvbGxlY3Rpb25WYXJpYW50cyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBBc3NpZ25Db2xsZWN0aW9uc1RvQ2hhbm5lbCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQXNzaWduQ29sbGVjdGlvbnNUb0NoYW5uZWxNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQXNzaWduQ29sbGVjdGlvbnNUb0NoYW5uZWwgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8QXNzaWduQ29sbGVjdGlvbnNUb0NoYW5uZWxNdXRhdGlvblsnYXNzaWduQ29sbGVjdGlvbnNUb0NoYW5uZWwnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFJlbW92ZUNvbGxlY3Rpb25zRnJvbUNoYW5uZWwge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJlbW92ZUNvbGxlY3Rpb25zRnJvbUNoYW5uZWxNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFJlbW92ZUNvbGxlY3Rpb25zRnJvbUNoYW5uZWxNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBSZW1vdmVDb2xsZWN0aW9uc0Zyb21DaGFubmVsID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFJlbW92ZUNvbGxlY3Rpb25zRnJvbUNoYW5uZWxNdXRhdGlvblsncmVtb3ZlQ29sbGVjdGlvbnNGcm9tQ2hhbm5lbCddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQWRkcmVzcyB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBBZGRyZXNzRnJhZ21lbnQ7XHJcbiAgZXhwb3J0IHR5cGUgQ291bnRyeSA9IChOb25OdWxsYWJsZTxBZGRyZXNzRnJhZ21lbnRbJ2NvdW50cnknXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEN1c3RvbWVyIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEN1c3RvbWVyRnJhZ21lbnQ7XHJcbiAgZXhwb3J0IHR5cGUgVXNlciA9IChOb25OdWxsYWJsZTxDdXN0b21lckZyYWdtZW50Wyd1c2VyJ10+KTtcclxuICBleHBvcnQgdHlwZSBBZGRyZXNzZXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Q3VzdG9tZXJGcmFnbWVudFsnYWRkcmVzc2VzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDdXN0b21lckdyb3VwIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEN1c3RvbWVyR3JvdXBGcmFnbWVudDtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDdXN0b21lckxpc3Qge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEN1c3RvbWVyTGlzdFF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q3VzdG9tZXJMaXN0UXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgQ3VzdG9tZXJzID0gKE5vbk51bGxhYmxlPEdldEN1c3RvbWVyTGlzdFF1ZXJ5WydjdXN0b21lcnMnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDdXN0b21lckxpc3RRdWVyeVsnY3VzdG9tZXJzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFVzZXIgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDdXN0b21lckxpc3RRdWVyeVsnY3VzdG9tZXJzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+Wyd1c2VyJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDdXN0b21lciB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q3VzdG9tZXJRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEN1c3RvbWVyUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgQ3VzdG9tZXIgPSAoTm9uTnVsbGFibGU8R2V0Q3VzdG9tZXJRdWVyeVsnY3VzdG9tZXInXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEdyb3VwcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0Q3VzdG9tZXJRdWVyeVsnY3VzdG9tZXInXT4pWydncm91cHMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIE9yZGVycyA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0Q3VzdG9tZXJRdWVyeVsnY3VzdG9tZXInXT4pWydvcmRlcnMnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0Q3VzdG9tZXJRdWVyeVsnY3VzdG9tZXInXT4pWydvcmRlcnMnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlQ3VzdG9tZXIge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZUN1c3RvbWVyTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVDdXN0b21lck11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIENyZWF0ZUN1c3RvbWVyID0gKE5vbk51bGxhYmxlPENyZWF0ZUN1c3RvbWVyTXV0YXRpb25bJ2NyZWF0ZUN1c3RvbWVyJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVDdXN0b21lciB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlQ3VzdG9tZXJNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZUN1c3RvbWVyTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlQ3VzdG9tZXIgPSAoTm9uTnVsbGFibGU8VXBkYXRlQ3VzdG9tZXJNdXRhdGlvblsndXBkYXRlQ3VzdG9tZXInXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZUN1c3RvbWVyIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVDdXN0b21lck11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlQ3VzdG9tZXJNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBEZWxldGVDdXN0b21lciA9IChOb25OdWxsYWJsZTxEZWxldGVDdXN0b21lck11dGF0aW9uWydkZWxldGVDdXN0b21lciddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlQ3VzdG9tZXJBZGRyZXNzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVDdXN0b21lckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENyZWF0ZUN1c3RvbWVyQWRkcmVzc011dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIENyZWF0ZUN1c3RvbWVyQWRkcmVzcyA9IChOb25OdWxsYWJsZTxDcmVhdGVDdXN0b21lckFkZHJlc3NNdXRhdGlvblsnY3JlYXRlQ3VzdG9tZXJBZGRyZXNzJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVDdXN0b21lckFkZHJlc3Mge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZUN1c3RvbWVyQWRkcmVzc011dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlQ3VzdG9tZXJBZGRyZXNzTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlQ3VzdG9tZXJBZGRyZXNzID0gKE5vbk51bGxhYmxlPFVwZGF0ZUN1c3RvbWVyQWRkcmVzc011dGF0aW9uWyd1cGRhdGVDdXN0b21lckFkZHJlc3MnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZUN1c3RvbWVyQWRkcmVzcyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlQ3VzdG9tZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVDdXN0b21lckFkZHJlc3NNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBEZWxldGVDdXN0b21lckFkZHJlc3MgPSAoTm9uTnVsbGFibGU8RGVsZXRlQ3VzdG9tZXJBZGRyZXNzTXV0YXRpb25bJ2RlbGV0ZUN1c3RvbWVyQWRkcmVzcyddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlQ3VzdG9tZXJHcm91cCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlQ3VzdG9tZXJHcm91cE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlQ3VzdG9tZXJHcm91cE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIENyZWF0ZUN1c3RvbWVyR3JvdXAgPSAoTm9uTnVsbGFibGU8Q3JlYXRlQ3VzdG9tZXJHcm91cE11dGF0aW9uWydjcmVhdGVDdXN0b21lckdyb3VwJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVDdXN0b21lckdyb3VwIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVDdXN0b21lckdyb3VwTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVDdXN0b21lckdyb3VwTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlQ3VzdG9tZXJHcm91cCA9IChOb25OdWxsYWJsZTxVcGRhdGVDdXN0b21lckdyb3VwTXV0YXRpb25bJ3VwZGF0ZUN1c3RvbWVyR3JvdXAnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZUN1c3RvbWVyR3JvdXAge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZUN1c3RvbWVyR3JvdXBNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZUN1c3RvbWVyR3JvdXBNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBEZWxldGVDdXN0b21lckdyb3VwID0gKE5vbk51bGxhYmxlPERlbGV0ZUN1c3RvbWVyR3JvdXBNdXRhdGlvblsnZGVsZXRlQ3VzdG9tZXJHcm91cCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q3VzdG9tZXJHcm91cHMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEN1c3RvbWVyR3JvdXBzUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDdXN0b21lckdyb3Vwc1F1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIEN1c3RvbWVyR3JvdXBzID0gKE5vbk51bGxhYmxlPEdldEN1c3RvbWVyR3JvdXBzUXVlcnlbJ2N1c3RvbWVyR3JvdXBzJ10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0Q3VzdG9tZXJHcm91cHNRdWVyeVsnY3VzdG9tZXJHcm91cHMnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q3VzdG9tZXJHcm91cFdpdGhDdXN0b21lcnMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEN1c3RvbWVyR3JvdXBXaXRoQ3VzdG9tZXJzUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDdXN0b21lckdyb3VwV2l0aEN1c3RvbWVyc1F1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIEN1c3RvbWVyR3JvdXAgPSAoTm9uTnVsbGFibGU8R2V0Q3VzdG9tZXJHcm91cFdpdGhDdXN0b21lcnNRdWVyeVsnY3VzdG9tZXJHcm91cCddPik7XHJcbiAgZXhwb3J0IHR5cGUgQ3VzdG9tZXJzID0gKE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDdXN0b21lckdyb3VwV2l0aEN1c3RvbWVyc1F1ZXJ5WydjdXN0b21lckdyb3VwJ10+KVsnY3VzdG9tZXJzJ10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldEN1c3RvbWVyR3JvdXBXaXRoQ3VzdG9tZXJzUXVlcnlbJ2N1c3RvbWVyR3JvdXAnXT4pWydjdXN0b21lcnMnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQWRkQ3VzdG9tZXJzVG9Hcm91cCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQWRkQ3VzdG9tZXJzVG9Hcm91cE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQWRkQ3VzdG9tZXJzVG9Hcm91cE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIEFkZEN1c3RvbWVyc1RvR3JvdXAgPSAoTm9uTnVsbGFibGU8QWRkQ3VzdG9tZXJzVG9Hcm91cE11dGF0aW9uWydhZGRDdXN0b21lcnNUb0dyb3VwJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBSZW1vdmVDdXN0b21lcnNGcm9tR3JvdXAge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJlbW92ZUN1c3RvbWVyc0Zyb21Hcm91cE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gUmVtb3ZlQ3VzdG9tZXJzRnJvbUdyb3VwTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgUmVtb3ZlQ3VzdG9tZXJzRnJvbUdyb3VwID0gKE5vbk51bGxhYmxlPFJlbW92ZUN1c3RvbWVyc0Zyb21Hcm91cE11dGF0aW9uWydyZW1vdmVDdXN0b21lcnNGcm9tR3JvdXAnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldEN1c3RvbWVySGlzdG9yeSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q3VzdG9tZXJIaXN0b3J5UXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDdXN0b21lckhpc3RvcnlRdWVyeTtcclxuICBleHBvcnQgdHlwZSBDdXN0b21lciA9IChOb25OdWxsYWJsZTxHZXRDdXN0b21lckhpc3RvcnlRdWVyeVsnY3VzdG9tZXInXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEhpc3RvcnkgPSAoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldEN1c3RvbWVySGlzdG9yeVF1ZXJ5WydjdXN0b21lciddPilbJ2hpc3RvcnknXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0Q3VzdG9tZXJIaXN0b3J5UXVlcnlbJ2N1c3RvbWVyJ10+KVsnaGlzdG9yeSddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBBZG1pbmlzdHJhdG9yID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldEN1c3RvbWVySGlzdG9yeVF1ZXJ5WydjdXN0b21lciddPilbJ2hpc3RvcnknXT4pWydpdGVtcyddPilbbnVtYmVyXT5bJ2FkbWluaXN0cmF0b3InXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEFkZE5vdGVUb0N1c3RvbWVyIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBZGROb3RlVG9DdXN0b21lck11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQWRkTm90ZVRvQ3VzdG9tZXJNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBBZGROb3RlVG9DdXN0b21lciA9IChOb25OdWxsYWJsZTxBZGROb3RlVG9DdXN0b21lck11dGF0aW9uWydhZGROb3RlVG9DdXN0b21lciddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlQ3VzdG9tZXJOb3RlIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVDdXN0b21lck5vdGVNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZUN1c3RvbWVyTm90ZU11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFVwZGF0ZUN1c3RvbWVyTm90ZSA9IChOb25OdWxsYWJsZTxVcGRhdGVDdXN0b21lck5vdGVNdXRhdGlvblsndXBkYXRlQ3VzdG9tZXJOb3RlJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVDdXN0b21lck5vdGUge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZUN1c3RvbWVyTm90ZU11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlQ3VzdG9tZXJOb3RlTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgRGVsZXRlQ3VzdG9tZXJOb3RlID0gKE5vbk51bGxhYmxlPERlbGV0ZUN1c3RvbWVyTm90ZU11dGF0aW9uWydkZWxldGVDdXN0b21lck5vdGUnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEZhY2V0VmFsdWUge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gRmFjZXRWYWx1ZUZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIFRyYW5zbGF0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxGYWNldFZhbHVlRnJhZ21lbnRbJ3RyYW5zbGF0aW9ucyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgRmFjZXQgPSAoTm9uTnVsbGFibGU8RmFjZXRWYWx1ZUZyYWdtZW50WydmYWNldCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgRmFjZXRXaXRoVmFsdWVzIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEZhY2V0V2l0aFZhbHVlc0ZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIFRyYW5zbGF0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxGYWNldFdpdGhWYWx1ZXNGcmFnbWVudFsndHJhbnNsYXRpb25zJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBWYWx1ZXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8RmFjZXRXaXRoVmFsdWVzRnJhZ21lbnRbJ3ZhbHVlcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlRmFjZXQge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZUZhY2V0TXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVGYWNldE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIENyZWF0ZUZhY2V0ID0gKE5vbk51bGxhYmxlPENyZWF0ZUZhY2V0TXV0YXRpb25bJ2NyZWF0ZUZhY2V0J10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVGYWNldCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlRmFjZXRNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZUZhY2V0TXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlRmFjZXQgPSAoTm9uTnVsbGFibGU8VXBkYXRlRmFjZXRNdXRhdGlvblsndXBkYXRlRmFjZXQnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZUZhY2V0IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVGYWNldE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlRmFjZXRNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBEZWxldGVGYWNldCA9IChOb25OdWxsYWJsZTxEZWxldGVGYWNldE11dGF0aW9uWydkZWxldGVGYWNldCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlRmFjZXRzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVGYWNldHNNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZUZhY2V0c011dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIERlbGV0ZUZhY2V0cyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxEZWxldGVGYWNldHNNdXRhdGlvblsnZGVsZXRlRmFjZXRzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGVGYWNldFZhbHVlcyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlRmFjZXRWYWx1ZXNNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENyZWF0ZUZhY2V0VmFsdWVzTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQ3JlYXRlRmFjZXRWYWx1ZXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Q3JlYXRlRmFjZXRWYWx1ZXNNdXRhdGlvblsnY3JlYXRlRmFjZXRWYWx1ZXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZUZhY2V0VmFsdWVzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVGYWNldFZhbHVlc011dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlRmFjZXRWYWx1ZXNNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBVcGRhdGVGYWNldFZhbHVlcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxVcGRhdGVGYWNldFZhbHVlc011dGF0aW9uWyd1cGRhdGVGYWNldFZhbHVlcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlRmFjZXRWYWx1ZXMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZUZhY2V0VmFsdWVzTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVGYWNldFZhbHVlc011dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIERlbGV0ZUZhY2V0VmFsdWVzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPERlbGV0ZUZhY2V0VmFsdWVzTXV0YXRpb25bJ2RlbGV0ZUZhY2V0VmFsdWVzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRGYWNldExpc3Qge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEZhY2V0TGlzdFF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0RmFjZXRMaXN0UXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgRmFjZXRzID0gKE5vbk51bGxhYmxlPEdldEZhY2V0TGlzdFF1ZXJ5WydmYWNldHMnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRGYWNldExpc3RRdWVyeVsnZmFjZXRzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldEZhY2V0VmFsdWVMaXN0IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRGYWNldFZhbHVlTGlzdFF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0RmFjZXRWYWx1ZUxpc3RRdWVyeTtcclxuICBleHBvcnQgdHlwZSBGYWNldFZhbHVlcyA9IChOb25OdWxsYWJsZTxHZXRGYWNldFZhbHVlTGlzdFF1ZXJ5WydmYWNldFZhbHVlcyddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldEZhY2V0VmFsdWVMaXN0UXVlcnlbJ2ZhY2V0VmFsdWVzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldEZhY2V0V2l0aFZhbHVlcyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0RmFjZXRXaXRoVmFsdWVzUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRGYWNldFdpdGhWYWx1ZXNRdWVyeTtcclxuICBleHBvcnQgdHlwZSBGYWNldCA9IChOb25OdWxsYWJsZTxHZXRGYWNldFdpdGhWYWx1ZXNRdWVyeVsnZmFjZXQnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEFzc2lnbkZhY2V0c1RvQ2hhbm5lbCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQXNzaWduRmFjZXRzVG9DaGFubmVsTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBBc3NpZ25GYWNldHNUb0NoYW5uZWxNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBBc3NpZ25GYWNldHNUb0NoYW5uZWwgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8QXNzaWduRmFjZXRzVG9DaGFubmVsTXV0YXRpb25bJ2Fzc2lnbkZhY2V0c1RvQ2hhbm5lbCddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgUmVtb3ZlRmFjZXRzRnJvbUNoYW5uZWwge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJlbW92ZUZhY2V0c0Zyb21DaGFubmVsTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBSZW1vdmVGYWNldHNGcm9tQ2hhbm5lbE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFJlbW92ZUZhY2V0c0Zyb21DaGFubmVsID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFJlbW92ZUZhY2V0c0Zyb21DaGFubmVsTXV0YXRpb25bJ3JlbW92ZUZhY2V0c0Zyb21DaGFubmVsJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBGYWNldElubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxSZW1vdmVGYWNldHNGcm9tQ2hhbm5lbE11dGF0aW9uWydyZW1vdmVGYWNldHNGcm9tQ2hhbm5lbCddPilbbnVtYmVyXT4sIHsgX190eXBlbmFtZT86ICdGYWNldCcgfT4pO1xyXG4gIGV4cG9ydCB0eXBlIEZhY2V0SW5Vc2VFcnJvcklubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxSZW1vdmVGYWNldHNGcm9tQ2hhbm5lbE11dGF0aW9uWydyZW1vdmVGYWNldHNGcm9tQ2hhbm5lbCddPilbbnVtYmVyXT4sIHsgX190eXBlbmFtZT86ICdGYWNldEluVXNlRXJyb3InIH0+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBEaXNjb3VudCB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBEaXNjb3VudEZyYWdtZW50O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFBheW1lbnQge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gUGF5bWVudEZyYWdtZW50O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFJlZnVuZCB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBSZWZ1bmRGcmFnbWVudDtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBPcmRlckFkZHJlc3Mge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gT3JkZXJBZGRyZXNzRnJhZ21lbnQ7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgT3JkZXIge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gT3JkZXJGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBDdXN0b21lciA9IChOb25OdWxsYWJsZTxPcmRlckZyYWdtZW50WydjdXN0b21lciddPik7XHJcbiAgZXhwb3J0IHR5cGUgU2hpcHBpbmdMaW5lcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxPcmRlckZyYWdtZW50WydzaGlwcGluZ0xpbmVzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBTaGlwcGluZ01ldGhvZCA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8T3JkZXJGcmFnbWVudFsnc2hpcHBpbmdMaW5lcyddPilbbnVtYmVyXT5bJ3NoaXBwaW5nTWV0aG9kJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBGdWxmaWxsbWVudCB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBGdWxmaWxsbWVudEZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIFN1bW1hcnkgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8RnVsZmlsbG1lbnRGcmFnbWVudFsnc3VtbWFyeSddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgT3JkZXJMaW5lID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxGdWxmaWxsbWVudEZyYWdtZW50WydzdW1tYXJ5J10+KVtudW1iZXJdPlsnb3JkZXJMaW5lJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBPcmRlckxpbmUge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gT3JkZXJMaW5lRnJhZ21lbnQ7XHJcbiAgZXhwb3J0IHR5cGUgRmVhdHVyZWRBc3NldCA9IChOb25OdWxsYWJsZTxPcmRlckxpbmVGcmFnbWVudFsnZmVhdHVyZWRBc3NldCddPik7XHJcbiAgZXhwb3J0IHR5cGUgUHJvZHVjdFZhcmlhbnQgPSAoTm9uTnVsbGFibGU8T3JkZXJMaW5lRnJhZ21lbnRbJ3Byb2R1Y3RWYXJpYW50J10+KTtcclxuICBleHBvcnQgdHlwZSBEaXNjb3VudHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8T3JkZXJMaW5lRnJhZ21lbnRbJ2Rpc2NvdW50cyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgRnVsZmlsbG1lbnRzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyTGluZUZyYWdtZW50WydmdWxmaWxsbWVudHMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyTGluZUZyYWdtZW50WydpdGVtcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgT3JkZXJEZXRhaWwge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gT3JkZXJEZXRhaWxGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBDdXN0b21lciA9IChOb25OdWxsYWJsZTxPcmRlckRldGFpbEZyYWdtZW50WydjdXN0b21lciddPik7XHJcbiAgZXhwb3J0IHR5cGUgTGluZXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsnbGluZXMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFN1cmNoYXJnZXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsnc3VyY2hhcmdlcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgRGlzY291bnRzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ2Rpc2NvdW50cyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgUHJvbW90aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxPcmRlckRldGFpbEZyYWdtZW50Wydwcm9tb3Rpb25zJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBTaGlwcGluZ0xpbmVzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ3NoaXBwaW5nTGluZXMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFNoaXBwaW5nTWV0aG9kID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxPcmRlckRldGFpbEZyYWdtZW50WydzaGlwcGluZ0xpbmVzJ10+KVtudW1iZXJdPlsnc2hpcHBpbmdNZXRob2QnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIFRheFN1bW1hcnkgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsndGF4U3VtbWFyeSddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgU2hpcHBpbmdBZGRyZXNzID0gKE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ3NoaXBwaW5nQWRkcmVzcyddPik7XHJcbiAgZXhwb3J0IHR5cGUgQmlsbGluZ0FkZHJlc3MgPSAoTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsnYmlsbGluZ0FkZHJlc3MnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIFBheW1lbnRzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ3BheW1lbnRzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBSZWZ1bmRzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxPcmRlckRldGFpbEZyYWdtZW50WydwYXltZW50cyddPilbbnVtYmVyXT5bJ3JlZnVuZHMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIE9yZGVySXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxPcmRlckRldGFpbEZyYWdtZW50WydwYXltZW50cyddPilbbnVtYmVyXT5bJ3JlZnVuZHMnXT4pW251bWJlcl0+WydvcmRlckl0ZW1zJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBGdWxmaWxsbWVudHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsnZnVsZmlsbG1lbnRzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBNb2RpZmljYXRpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ21vZGlmaWNhdGlvbnMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFBheW1lbnQgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ21vZGlmaWNhdGlvbnMnXT4pW251bWJlcl0+WydwYXltZW50J10+KTtcclxuICBleHBvcnQgdHlwZSBfT3JkZXJJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsnbW9kaWZpY2F0aW9ucyddPilbbnVtYmVyXT5bJ29yZGVySXRlbXMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFJlZnVuZCA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsnbW9kaWZpY2F0aW9ucyddPilbbnVtYmVyXT5bJ3JlZnVuZCddPik7XHJcbiAgZXhwb3J0IHR5cGUgX1N1cmNoYXJnZXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ21vZGlmaWNhdGlvbnMnXT4pW251bWJlcl0+WydzdXJjaGFyZ2VzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRPcmRlckxpc3Qge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldE9yZGVyTGlzdFF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0T3JkZXJMaXN0UXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgT3JkZXJzID0gKE5vbk51bGxhYmxlPEdldE9yZGVyTGlzdFF1ZXJ5WydvcmRlcnMnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRPcmRlckxpc3RRdWVyeVsnb3JkZXJzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldE9yZGVyIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRPcmRlclF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0T3JkZXJRdWVyeTtcclxuICBleHBvcnQgdHlwZSBPcmRlciA9IChOb25OdWxsYWJsZTxHZXRPcmRlclF1ZXJ5WydvcmRlciddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgU2V0dGxlUGF5bWVudCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0dGxlUGF5bWVudE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0dGxlUGF5bWVudE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFNldHRsZVBheW1lbnQgPSAoTm9uTnVsbGFibGU8U2V0dGxlUGF5bWVudE11dGF0aW9uWydzZXR0bGVQYXltZW50J10+KTtcclxuICBleHBvcnQgdHlwZSBTZXR0bGVQYXltZW50RXJyb3JJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjwoTm9uTnVsbGFibGU8U2V0dGxlUGF5bWVudE11dGF0aW9uWydzZXR0bGVQYXltZW50J10+KSwgeyBfX3R5cGVuYW1lPzogJ1NldHRsZVBheW1lbnRFcnJvcicgfT4pO1xyXG4gIGV4cG9ydCB0eXBlIFBheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcklubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPChOb25OdWxsYWJsZTxTZXR0bGVQYXltZW50TXV0YXRpb25bJ3NldHRsZVBheW1lbnQnXT4pLCB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yJyB9Pik7XHJcbiAgZXhwb3J0IHR5cGUgT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcklubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPChOb25OdWxsYWJsZTxTZXR0bGVQYXltZW50TXV0YXRpb25bJ3NldHRsZVBheW1lbnQnXT4pLCB7IF9fdHlwZW5hbWU/OiAnT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcicgfT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIENhbmNlbFBheW1lbnQge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENhbmNlbFBheW1lbnRNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENhbmNlbFBheW1lbnRNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBDYW5jZWxQYXltZW50ID0gKE5vbk51bGxhYmxlPENhbmNlbFBheW1lbnRNdXRhdGlvblsnY2FuY2VsUGF5bWVudCddPik7XHJcbiAgZXhwb3J0IHR5cGUgQ2FuY2VsUGF5bWVudEVycm9ySW5saW5lRnJhZ21lbnQgPSAoRGlzY3JpbWluYXRlVW5pb248KE5vbk51bGxhYmxlPENhbmNlbFBheW1lbnRNdXRhdGlvblsnY2FuY2VsUGF5bWVudCddPiksIHsgX190eXBlbmFtZT86ICdDYW5jZWxQYXltZW50RXJyb3InIH0+KTtcclxuICBleHBvcnQgdHlwZSBQYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3JJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjwoTm9uTnVsbGFibGU8Q2FuY2VsUGF5bWVudE11dGF0aW9uWydjYW5jZWxQYXltZW50J10+KSwgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcicgfT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFRyYW5zaXRpb25QYXltZW50VG9TdGF0ZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVHJhbnNpdGlvblBheW1lbnRUb1N0YXRlTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBUcmFuc2l0aW9uUGF5bWVudFRvU3RhdGVNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBUcmFuc2l0aW9uUGF5bWVudFRvU3RhdGUgPSAoTm9uTnVsbGFibGU8VHJhbnNpdGlvblBheW1lbnRUb1N0YXRlTXV0YXRpb25bJ3RyYW5zaXRpb25QYXltZW50VG9TdGF0ZSddPik7XHJcbiAgZXhwb3J0IHR5cGUgUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9ySW5saW5lRnJhZ21lbnQgPSAoRGlzY3JpbWluYXRlVW5pb248KE5vbk51bGxhYmxlPFRyYW5zaXRpb25QYXltZW50VG9TdGF0ZU11dGF0aW9uWyd0cmFuc2l0aW9uUGF5bWVudFRvU3RhdGUnXT4pLCB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yJyB9Pik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlRnVsZmlsbG1lbnQge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZUZ1bGZpbGxtZW50TXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVGdWxmaWxsbWVudE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIEFkZEZ1bGZpbGxtZW50VG9PcmRlciA9IChOb25OdWxsYWJsZTxDcmVhdGVGdWxmaWxsbWVudE11dGF0aW9uWydhZGRGdWxmaWxsbWVudFRvT3JkZXInXT4pO1xyXG4gIGV4cG9ydCB0eXBlIENyZWF0ZUZ1bGZpbGxtZW50RXJyb3JJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjwoTm9uTnVsbGFibGU8Q3JlYXRlRnVsZmlsbG1lbnRNdXRhdGlvblsnYWRkRnVsZmlsbG1lbnRUb09yZGVyJ10+KSwgeyBfX3R5cGVuYW1lPzogJ0NyZWF0ZUZ1bGZpbGxtZW50RXJyb3InIH0+KTtcclxuICBleHBvcnQgdHlwZSBGdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9ySW5saW5lRnJhZ21lbnQgPSAoRGlzY3JpbWluYXRlVW5pb248KE5vbk51bGxhYmxlPENyZWF0ZUZ1bGZpbGxtZW50TXV0YXRpb25bJ2FkZEZ1bGZpbGxtZW50VG9PcmRlciddPiksIHsgX190eXBlbmFtZT86ICdGdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yJyB9Pik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ2FuY2VsT3JkZXIge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENhbmNlbE9yZGVyTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDYW5jZWxPcmRlck11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIENhbmNlbE9yZGVyID0gKE5vbk51bGxhYmxlPENhbmNlbE9yZGVyTXV0YXRpb25bJ2NhbmNlbE9yZGVyJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBSZWZ1bmRPcmRlciB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gUmVmdW5kT3JkZXJNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFJlZnVuZE9yZGVyTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgUmVmdW5kT3JkZXIgPSAoTm9uTnVsbGFibGU8UmVmdW5kT3JkZXJNdXRhdGlvblsncmVmdW5kT3JkZXInXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFNldHRsZVJlZnVuZCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0dGxlUmVmdW5kTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXR0bGVSZWZ1bmRNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBTZXR0bGVSZWZ1bmQgPSAoTm9uTnVsbGFibGU8U2V0dGxlUmVmdW5kTXV0YXRpb25bJ3NldHRsZVJlZnVuZCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0T3JkZXJIaXN0b3J5IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRPcmRlckhpc3RvcnlRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldE9yZGVySGlzdG9yeVF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIE9yZGVyID0gKE5vbk51bGxhYmxlPEdldE9yZGVySGlzdG9yeVF1ZXJ5WydvcmRlciddPik7XHJcbiAgZXhwb3J0IHR5cGUgSGlzdG9yeSA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0T3JkZXJIaXN0b3J5UXVlcnlbJ29yZGVyJ10+KVsnaGlzdG9yeSddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRPcmRlckhpc3RvcnlRdWVyeVsnb3JkZXInXT4pWydoaXN0b3J5J10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIEFkbWluaXN0cmF0b3IgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0T3JkZXJIaXN0b3J5UXVlcnlbJ29yZGVyJ10+KVsnaGlzdG9yeSddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsnYWRtaW5pc3RyYXRvciddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQWRkTm90ZVRvT3JkZXIge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEFkZE5vdGVUb09yZGVyTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBBZGROb3RlVG9PcmRlck11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIEFkZE5vdGVUb09yZGVyID0gKE5vbk51bGxhYmxlPEFkZE5vdGVUb09yZGVyTXV0YXRpb25bJ2FkZE5vdGVUb09yZGVyJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVPcmRlck5vdGUge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZU9yZGVyTm90ZU11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlT3JkZXJOb3RlTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlT3JkZXJOb3RlID0gKE5vbk51bGxhYmxlPFVwZGF0ZU9yZGVyTm90ZU11dGF0aW9uWyd1cGRhdGVPcmRlck5vdGUnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZU9yZGVyTm90ZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlT3JkZXJOb3RlTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVPcmRlck5vdGVNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBEZWxldGVPcmRlck5vdGUgPSAoTm9uTnVsbGFibGU8RGVsZXRlT3JkZXJOb3RlTXV0YXRpb25bJ2RlbGV0ZU9yZGVyTm90ZSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVHJhbnNpdGlvbk9yZGVyVG9TdGF0ZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVHJhbnNpdGlvbk9yZGVyVG9TdGF0ZU11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVHJhbnNpdGlvbk9yZGVyVG9TdGF0ZU11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFRyYW5zaXRpb25PcmRlclRvU3RhdGUgPSAoTm9uTnVsbGFibGU8VHJhbnNpdGlvbk9yZGVyVG9TdGF0ZU11dGF0aW9uWyd0cmFuc2l0aW9uT3JkZXJUb1N0YXRlJ10+KTtcclxuICBleHBvcnQgdHlwZSBPcmRlclN0YXRlVHJhbnNpdGlvbkVycm9ySW5saW5lRnJhZ21lbnQgPSAoRGlzY3JpbWluYXRlVW5pb248KE5vbk51bGxhYmxlPFRyYW5zaXRpb25PcmRlclRvU3RhdGVNdXRhdGlvblsndHJhbnNpdGlvbk9yZGVyVG9TdGF0ZSddPiksIHsgX190eXBlbmFtZT86ICdPcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yJyB9Pik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlT3JkZXJDdXN0b21GaWVsZHMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZU9yZGVyQ3VzdG9tRmllbGRzTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVPcmRlckN1c3RvbUZpZWxkc011dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFNldE9yZGVyQ3VzdG9tRmllbGRzID0gKE5vbk51bGxhYmxlPFVwZGF0ZU9yZGVyQ3VzdG9tRmllbGRzTXV0YXRpb25bJ3NldE9yZGVyQ3VzdG9tRmllbGRzJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBUcmFuc2l0aW9uRnVsZmlsbG1lbnRUb1N0YXRlIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBUcmFuc2l0aW9uRnVsZmlsbG1lbnRUb1N0YXRlTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBUcmFuc2l0aW9uRnVsZmlsbG1lbnRUb1N0YXRlTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVHJhbnNpdGlvbkZ1bGZpbGxtZW50VG9TdGF0ZSA9IChOb25OdWxsYWJsZTxUcmFuc2l0aW9uRnVsZmlsbG1lbnRUb1N0YXRlTXV0YXRpb25bJ3RyYW5zaXRpb25GdWxmaWxsbWVudFRvU3RhdGUnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEZ1bGZpbGxtZW50U3RhdGVUcmFuc2l0aW9uRXJyb3JJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjwoTm9uTnVsbGFibGU8VHJhbnNpdGlvbkZ1bGZpbGxtZW50VG9TdGF0ZU11dGF0aW9uWyd0cmFuc2l0aW9uRnVsZmlsbG1lbnRUb1N0YXRlJ10+KSwgeyBfX3R5cGVuYW1lPzogJ0Z1bGZpbGxtZW50U3RhdGVUcmFuc2l0aW9uRXJyb3InIH0+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRPcmRlclN1bW1hcnkge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldE9yZGVyU3VtbWFyeVF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0T3JkZXJTdW1tYXJ5UXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgT3JkZXJzID0gKE5vbk51bGxhYmxlPEdldE9yZGVyU3VtbWFyeVF1ZXJ5WydvcmRlcnMnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRPcmRlclN1bW1hcnlRdWVyeVsnb3JkZXJzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIE1vZGlmeU9yZGVyIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBNb2RpZnlPcmRlck11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gTW9kaWZ5T3JkZXJNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBNb2RpZnlPcmRlciA9IChOb25OdWxsYWJsZTxNb2RpZnlPcmRlck11dGF0aW9uWydtb2RpZnlPcmRlciddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQWRkTWFudWFsUGF5bWVudCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQWRkTWFudWFsUGF5bWVudE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQWRkTWFudWFsUGF5bWVudE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIEFkZE1hbnVhbFBheW1lbnRUb09yZGVyID0gKE5vbk51bGxhYmxlPEFkZE1hbnVhbFBheW1lbnRNdXRhdGlvblsnYWRkTWFudWFsUGF5bWVudFRvT3JkZXInXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZURyYWZ0T3JkZXIge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZURyYWZ0T3JkZXJNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENyZWF0ZURyYWZ0T3JkZXJNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBDcmVhdGVEcmFmdE9yZGVyID0gKE5vbk51bGxhYmxlPENyZWF0ZURyYWZ0T3JkZXJNdXRhdGlvblsnY3JlYXRlRHJhZnRPcmRlciddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlRHJhZnRPcmRlciB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlRHJhZnRPcmRlck11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlRHJhZnRPcmRlck11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIERlbGV0ZURyYWZ0T3JkZXIgPSAoTm9uTnVsbGFibGU8RGVsZXRlRHJhZnRPcmRlck11dGF0aW9uWydkZWxldGVEcmFmdE9yZGVyJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBBZGRJdGVtVG9EcmFmdE9yZGVyIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBZGRJdGVtVG9EcmFmdE9yZGVyTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBBZGRJdGVtVG9EcmFmdE9yZGVyTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQWRkSXRlbVRvRHJhZnRPcmRlciA9IChOb25OdWxsYWJsZTxBZGRJdGVtVG9EcmFmdE9yZGVyTXV0YXRpb25bJ2FkZEl0ZW1Ub0RyYWZ0T3JkZXInXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEFkanVzdERyYWZ0T3JkZXJMaW5lIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBZGp1c3REcmFmdE9yZGVyTGluZU11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQWRqdXN0RHJhZnRPcmRlckxpbmVNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBBZGp1c3REcmFmdE9yZGVyTGluZSA9IChOb25OdWxsYWJsZTxBZGp1c3REcmFmdE9yZGVyTGluZU11dGF0aW9uWydhZGp1c3REcmFmdE9yZGVyTGluZSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgUmVtb3ZlRHJhZnRPcmRlckxpbmUge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJlbW92ZURyYWZ0T3JkZXJMaW5lTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBSZW1vdmVEcmFmdE9yZGVyTGluZU11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFJlbW92ZURyYWZ0T3JkZXJMaW5lID0gKE5vbk51bGxhYmxlPFJlbW92ZURyYWZ0T3JkZXJMaW5lTXV0YXRpb25bJ3JlbW92ZURyYWZ0T3JkZXJMaW5lJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBTZXRDdXN0b21lckZvckRyYWZ0T3JkZXIge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldEN1c3RvbWVyRm9yRHJhZnRPcmRlck11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0Q3VzdG9tZXJGb3JEcmFmdE9yZGVyTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgU2V0Q3VzdG9tZXJGb3JEcmFmdE9yZGVyID0gKE5vbk51bGxhYmxlPFNldEN1c3RvbWVyRm9yRHJhZnRPcmRlck11dGF0aW9uWydzZXRDdXN0b21lckZvckRyYWZ0T3JkZXInXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFNldERyYWZ0T3JkZXJTaGlwcGluZ0FkZHJlc3Mge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldERyYWZ0T3JkZXJTaGlwcGluZ0FkZHJlc3NNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldERyYWZ0T3JkZXJTaGlwcGluZ0FkZHJlc3NNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBTZXREcmFmdE9yZGVyU2hpcHBpbmdBZGRyZXNzID0gKE5vbk51bGxhYmxlPFNldERyYWZ0T3JkZXJTaGlwcGluZ0FkZHJlc3NNdXRhdGlvblsnc2V0RHJhZnRPcmRlclNoaXBwaW5nQWRkcmVzcyddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgU2V0RHJhZnRPcmRlckJpbGxpbmdBZGRyZXNzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXREcmFmdE9yZGVyQmlsbGluZ0FkZHJlc3NNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldERyYWZ0T3JkZXJCaWxsaW5nQWRkcmVzc011dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFNldERyYWZ0T3JkZXJCaWxsaW5nQWRkcmVzcyA9IChOb25OdWxsYWJsZTxTZXREcmFmdE9yZGVyQmlsbGluZ0FkZHJlc3NNdXRhdGlvblsnc2V0RHJhZnRPcmRlckJpbGxpbmdBZGRyZXNzJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBBcHBseUNvdXBvbkNvZGVUb0RyYWZ0T3JkZXIge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEFwcGx5Q291cG9uQ29kZVRvRHJhZnRPcmRlck11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQXBwbHlDb3Vwb25Db2RlVG9EcmFmdE9yZGVyTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQXBwbHlDb3Vwb25Db2RlVG9EcmFmdE9yZGVyID0gKE5vbk51bGxhYmxlPEFwcGx5Q291cG9uQ29kZVRvRHJhZnRPcmRlck11dGF0aW9uWydhcHBseUNvdXBvbkNvZGVUb0RyYWZ0T3JkZXInXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFJlbW92ZUNvdXBvbkNvZGVGcm9tRHJhZnRPcmRlciB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gUmVtb3ZlQ291cG9uQ29kZUZyb21EcmFmdE9yZGVyTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBSZW1vdmVDb3Vwb25Db2RlRnJvbURyYWZ0T3JkZXJNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBSZW1vdmVDb3Vwb25Db2RlRnJvbURyYWZ0T3JkZXIgPSAoTm9uTnVsbGFibGU8UmVtb3ZlQ291cG9uQ29kZUZyb21EcmFmdE9yZGVyTXV0YXRpb25bJ3JlbW92ZUNvdXBvbkNvZGVGcm9tRHJhZnRPcmRlciddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgRHJhZnRPcmRlckVsaWdpYmxlU2hpcHBpbmdNZXRob2RzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEcmFmdE9yZGVyRWxpZ2libGVTaGlwcGluZ01ldGhvZHNRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IERyYWZ0T3JkZXJFbGlnaWJsZVNoaXBwaW5nTWV0aG9kc1F1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIEVsaWdpYmxlU2hpcHBpbmdNZXRob2RzRm9yRHJhZnRPcmRlciA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxEcmFmdE9yZGVyRWxpZ2libGVTaGlwcGluZ01ldGhvZHNRdWVyeVsnZWxpZ2libGVTaGlwcGluZ01ldGhvZHNGb3JEcmFmdE9yZGVyJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBTZXREcmFmdE9yZGVyU2hpcHBpbmdNZXRob2Qge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldERyYWZ0T3JkZXJTaGlwcGluZ01ldGhvZE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0RHJhZnRPcmRlclNoaXBwaW5nTWV0aG9kTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgU2V0RHJhZnRPcmRlclNoaXBwaW5nTWV0aG9kID0gKE5vbk51bGxhYmxlPFNldERyYWZ0T3JkZXJTaGlwcGluZ01ldGhvZE11dGF0aW9uWydzZXREcmFmdE9yZGVyU2hpcHBpbmdNZXRob2QnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEFzc2V0IHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEFzc2V0RnJhZ21lbnQ7XHJcbiAgZXhwb3J0IHR5cGUgRm9jYWxQb2ludCA9IChOb25OdWxsYWJsZTxBc3NldEZyYWdtZW50Wydmb2NhbFBvaW50J10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBUYWcge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gVGFnRnJhZ21lbnQ7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgUHJvZHVjdE9wdGlvbkdyb3VwIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFByb2R1Y3RPcHRpb25Hcm91cEZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIFRyYW5zbGF0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0T3B0aW9uR3JvdXBGcmFnbWVudFsndHJhbnNsYXRpb25zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBQcm9kdWN0T3B0aW9uIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFByb2R1Y3RPcHRpb25GcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBUcmFuc2xhdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdE9wdGlvbkZyYWdtZW50Wyd0cmFuc2xhdGlvbnMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFByb2R1Y3RWYXJpYW50IHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFByb2R1Y3RWYXJpYW50RnJhZ21lbnQ7XHJcbiAgZXhwb3J0IHR5cGUgVGF4UmF0ZUFwcGxpZWQgPSAoTm9uTnVsbGFibGU8UHJvZHVjdFZhcmlhbnRGcmFnbWVudFsndGF4UmF0ZUFwcGxpZWQnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIFRheENhdGVnb3J5ID0gKE5vbk51bGxhYmxlPFByb2R1Y3RWYXJpYW50RnJhZ21lbnRbJ3RheENhdGVnb3J5J10+KTtcclxuICBleHBvcnQgdHlwZSBPcHRpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3RWYXJpYW50RnJhZ21lbnRbJ29wdGlvbnMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIEZhY2V0VmFsdWVzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3RWYXJpYW50RnJhZ21lbnRbJ2ZhY2V0VmFsdWVzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBGYWNldCA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdFZhcmlhbnRGcmFnbWVudFsnZmFjZXRWYWx1ZXMnXT4pW251bWJlcl0+WydmYWNldCddPik7XHJcbiAgZXhwb3J0IHR5cGUgRmVhdHVyZWRBc3NldCA9IChOb25OdWxsYWJsZTxQcm9kdWN0VmFyaWFudEZyYWdtZW50WydmZWF0dXJlZEFzc2V0J10+KTtcclxuICBleHBvcnQgdHlwZSBBc3NldHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdFZhcmlhbnRGcmFnbWVudFsnYXNzZXRzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBUcmFuc2xhdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdFZhcmlhbnRGcmFnbWVudFsndHJhbnNsYXRpb25zJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBDaGFubmVscyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0VmFyaWFudEZyYWdtZW50WydjaGFubmVscyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgUHJvZHVjdERldGFpbCB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBQcm9kdWN0RGV0YWlsRnJhZ21lbnQ7XHJcbiAgZXhwb3J0IHR5cGUgRmVhdHVyZWRBc3NldCA9IChOb25OdWxsYWJsZTxQcm9kdWN0RGV0YWlsRnJhZ21lbnRbJ2ZlYXR1cmVkQXNzZXQnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEFzc2V0cyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0RGV0YWlsRnJhZ21lbnRbJ2Fzc2V0cyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgVHJhbnNsYXRpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3REZXRhaWxGcmFnbWVudFsndHJhbnNsYXRpb25zJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBPcHRpb25Hcm91cHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdERldGFpbEZyYWdtZW50WydvcHRpb25Hcm91cHMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIEZhY2V0VmFsdWVzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3REZXRhaWxGcmFnbWVudFsnZmFjZXRWYWx1ZXMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIEZhY2V0ID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0RGV0YWlsRnJhZ21lbnRbJ2ZhY2V0VmFsdWVzJ10+KVtudW1iZXJdPlsnZmFjZXQnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIENoYW5uZWxzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3REZXRhaWxGcmFnbWVudFsnY2hhbm5lbHMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFByb2R1Y3RPcHRpb25Hcm91cFdpdGhPcHRpb25zIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFByb2R1Y3RPcHRpb25Hcm91cFdpdGhPcHRpb25zRnJhZ21lbnQ7XHJcbiAgZXhwb3J0IHR5cGUgVHJhbnNsYXRpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3RPcHRpb25Hcm91cFdpdGhPcHRpb25zRnJhZ21lbnRbJ3RyYW5zbGF0aW9ucyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgT3B0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0T3B0aW9uR3JvdXBXaXRoT3B0aW9uc0ZyYWdtZW50WydvcHRpb25zJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBfVHJhbnNsYXRpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0T3B0aW9uR3JvdXBXaXRoT3B0aW9uc0ZyYWdtZW50WydvcHRpb25zJ10+KVtudW1iZXJdPlsndHJhbnNsYXRpb25zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVQcm9kdWN0IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVQcm9kdWN0TXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVQcm9kdWN0TXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlUHJvZHVjdCA9IChOb25OdWxsYWJsZTxVcGRhdGVQcm9kdWN0TXV0YXRpb25bJ3VwZGF0ZVByb2R1Y3QnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhbnRMaXN0ID0gKE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxVcGRhdGVQcm9kdWN0TXV0YXRpb25bJ3VwZGF0ZVByb2R1Y3QnXT4pWyd2YXJpYW50TGlzdCddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxVcGRhdGVQcm9kdWN0TXV0YXRpb25bJ3VwZGF0ZVByb2R1Y3QnXT4pWyd2YXJpYW50TGlzdCddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGVQcm9kdWN0IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVQcm9kdWN0TXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVQcm9kdWN0TXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQ3JlYXRlUHJvZHVjdCA9IChOb25OdWxsYWJsZTxDcmVhdGVQcm9kdWN0TXV0YXRpb25bJ2NyZWF0ZVByb2R1Y3QnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhbnRMaXN0ID0gKE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDcmVhdGVQcm9kdWN0TXV0YXRpb25bJ2NyZWF0ZVByb2R1Y3QnXT4pWyd2YXJpYW50TGlzdCddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDcmVhdGVQcm9kdWN0TXV0YXRpb25bJ2NyZWF0ZVByb2R1Y3QnXT4pWyd2YXJpYW50TGlzdCddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVQcm9kdWN0IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVQcm9kdWN0TXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVQcm9kdWN0TXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgRGVsZXRlUHJvZHVjdCA9IChOb25OdWxsYWJsZTxEZWxldGVQcm9kdWN0TXV0YXRpb25bJ2RlbGV0ZVByb2R1Y3QnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZVByb2R1Y3RzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVQcm9kdWN0c011dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlUHJvZHVjdHNNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBEZWxldGVQcm9kdWN0cyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxEZWxldGVQcm9kdWN0c011dGF0aW9uWydkZWxldGVQcm9kdWN0cyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlUHJvZHVjdFZhcmlhbnRzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVQcm9kdWN0VmFyaWFudHNNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENyZWF0ZVByb2R1Y3RWYXJpYW50c011dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIENyZWF0ZVByb2R1Y3RWYXJpYW50cyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDcmVhdGVQcm9kdWN0VmFyaWFudHNNdXRhdGlvblsnY3JlYXRlUHJvZHVjdFZhcmlhbnRzJ10+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+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVQcm9kdWN0T3B0aW9uR3JvdXAge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZVByb2R1Y3RPcHRpb25Hcm91cE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwID0gKE5vbk51bGxhYmxlPFVwZGF0ZVByb2R1Y3RPcHRpb25Hcm91cE11dGF0aW9uWyd1cGRhdGVQcm9kdWN0T3B0aW9uR3JvdXAnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZVByb2R1Y3RPcHRpb24ge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZVByb2R1Y3RPcHRpb25NdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZVByb2R1Y3RPcHRpb25NdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBVcGRhdGVQcm9kdWN0T3B0aW9uID0gKE5vbk51bGxhYmxlPFVwZGF0ZVByb2R1Y3RPcHRpb25NdXRhdGlvblsndXBkYXRlUHJvZHVjdE9wdGlvbiddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlUHJvZHVjdE9wdGlvbiB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlUHJvZHVjdE9wdGlvbk11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlUHJvZHVjdE9wdGlvbk11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIERlbGV0ZVByb2R1Y3RPcHRpb24gPSAoTm9uTnVsbGFibGU8RGVsZXRlUHJvZHVjdE9wdGlvbk11dGF0aW9uWydkZWxldGVQcm9kdWN0T3B0aW9uJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVQcm9kdWN0VmFyaWFudCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlUHJvZHVjdFZhcmlhbnRNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZVByb2R1Y3RWYXJpYW50TXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgRGVsZXRlUHJvZHVjdFZhcmlhbnQgPSAoTm9uTnVsbGFibGU8RGVsZXRlUHJvZHVjdFZhcmlhbnRNdXRhdGlvblsnZGVsZXRlUHJvZHVjdFZhcmlhbnQnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldFByb2R1Y3RWYXJpYW50T3B0aW9ucyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0UHJvZHVjdFZhcmlhbnRPcHRpb25zUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRQcm9kdWN0VmFyaWFudE9wdGlvbnNRdWVyeTtcclxuICBleHBvcnQgdHlwZSBQcm9kdWN0ID0gKE5vbk51bGxhYmxlPEdldFByb2R1Y3RWYXJpYW50T3B0aW9uc1F1ZXJ5Wydwcm9kdWN0J10+KTtcclxuICBleHBvcnQgdHlwZSBPcHRpb25Hcm91cHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RWYXJpYW50T3B0aW9uc1F1ZXJ5Wydwcm9kdWN0J10+KVsnb3B0aW9uR3JvdXBzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBPcHRpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0UHJvZHVjdFZhcmlhbnRPcHRpb25zUXVlcnlbJ3Byb2R1Y3QnXT4pWydvcHRpb25Hcm91cHMnXT4pW251bWJlcl0+WydvcHRpb25zJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBWYXJpYW50cyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0UHJvZHVjdFZhcmlhbnRPcHRpb25zUXVlcnlbJ3Byb2R1Y3QnXT4pWyd2YXJpYW50cyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgX09wdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9kdWN0VmFyaWFudE9wdGlvbnNRdWVyeVsncHJvZHVjdCddPilbJ3ZhcmlhbnRzJ10+KVtudW1iZXJdPlsnb3B0aW9ucyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQXNzaWduUHJvZHVjdHNUb0NoYW5uZWwge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEFzc2lnblByb2R1Y3RzVG9DaGFubmVsTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBBc3NpZ25Qcm9kdWN0c1RvQ2hhbm5lbE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIEFzc2lnblByb2R1Y3RzVG9DaGFubmVsID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEFzc2lnblByb2R1Y3RzVG9DaGFubmVsTXV0YXRpb25bJ2Fzc2lnblByb2R1Y3RzVG9DaGFubmVsJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBDaGFubmVscyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8QXNzaWduUHJvZHVjdHNUb0NoYW5uZWxNdXRhdGlvblsnYXNzaWduUHJvZHVjdHNUb0NoYW5uZWwnXT4pW251bWJlcl0+WydjaGFubmVscyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQXNzaWduVmFyaWFudHNUb0NoYW5uZWwge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEFzc2lnblZhcmlhbnRzVG9DaGFubmVsTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBBc3NpZ25WYXJpYW50c1RvQ2hhbm5lbE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIEFzc2lnblByb2R1Y3RWYXJpYW50c1RvQ2hhbm5lbCA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxBc3NpZ25WYXJpYW50c1RvQ2hhbm5lbE11dGF0aW9uWydhc3NpZ25Qcm9kdWN0VmFyaWFudHNUb0NoYW5uZWwnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIENoYW5uZWxzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxBc3NpZ25WYXJpYW50c1RvQ2hhbm5lbE11dGF0aW9uWydhc3NpZ25Qcm9kdWN0VmFyaWFudHNUb0NoYW5uZWwnXT4pW251bWJlcl0+WydjaGFubmVscyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgUmVtb3ZlUHJvZHVjdHNGcm9tQ2hhbm5lbCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gUmVtb3ZlUHJvZHVjdHNGcm9tQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gUmVtb3ZlUHJvZHVjdHNGcm9tQ2hhbm5lbE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWwgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UmVtb3ZlUHJvZHVjdHNGcm9tQ2hhbm5lbE11dGF0aW9uWydyZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBDaGFubmVscyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UmVtb3ZlUHJvZHVjdHNGcm9tQ2hhbm5lbE11dGF0aW9uWydyZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsJ10+KVtudW1iZXJdPlsnY2hhbm5lbHMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFJlbW92ZVZhcmlhbnRzRnJvbUNoYW5uZWwge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJlbW92ZVZhcmlhbnRzRnJvbUNoYW5uZWxNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFJlbW92ZVZhcmlhbnRzRnJvbUNoYW5uZWxNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBSZW1vdmVQcm9kdWN0VmFyaWFudHNGcm9tQ2hhbm5lbCA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxSZW1vdmVWYXJpYW50c0Zyb21DaGFubmVsTXV0YXRpb25bJ3JlbW92ZVByb2R1Y3RWYXJpYW50c0Zyb21DaGFubmVsJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBDaGFubmVscyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UmVtb3ZlVmFyaWFudHNGcm9tQ2hhbm5lbE11dGF0aW9uWydyZW1vdmVQcm9kdWN0VmFyaWFudHNGcm9tQ2hhbm5lbCddPilbbnVtYmVyXT5bJ2NoYW5uZWxzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRQcm9kdWN0VmFyaWFudCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0UHJvZHVjdFZhcmlhbnRRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFByb2R1Y3RWYXJpYW50UXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgUHJvZHVjdFZhcmlhbnQgPSAoTm9uTnVsbGFibGU8R2V0UHJvZHVjdFZhcmlhbnRRdWVyeVsncHJvZHVjdFZhcmlhbnQnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEZlYXR1cmVkQXNzZXQgPSAoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RWYXJpYW50UXVlcnlbJ3Byb2R1Y3RWYXJpYW50J10+KVsnZmVhdHVyZWRBc3NldCddPik7XHJcbiAgZXhwb3J0IHR5cGUgRm9jYWxQb2ludCA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RWYXJpYW50UXVlcnlbJ3Byb2R1Y3RWYXJpYW50J10+KVsnZmVhdHVyZWRBc3NldCddPilbJ2ZvY2FsUG9pbnQnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIFByb2R1Y3QgPSAoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RWYXJpYW50UXVlcnlbJ3Byb2R1Y3RWYXJpYW50J10+KVsncHJvZHVjdCddPik7XHJcbiAgZXhwb3J0IHR5cGUgX0ZlYXR1cmVkQXNzZXQgPSAoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9kdWN0VmFyaWFudFF1ZXJ5Wydwcm9kdWN0VmFyaWFudCddPilbJ3Byb2R1Y3QnXT4pWydmZWF0dXJlZEFzc2V0J10+KTtcclxuICBleHBvcnQgdHlwZSBfRm9jYWxQb2ludCA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9kdWN0VmFyaWFudFF1ZXJ5Wydwcm9kdWN0VmFyaWFudCddPilbJ3Byb2R1Y3QnXT4pWydmZWF0dXJlZEFzc2V0J10+KVsnZm9jYWxQb2ludCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0UHJvZHVjdFZhcmlhbnRMaXN0U2ltcGxlIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRQcm9kdWN0VmFyaWFudExpc3RTaW1wbGVRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFByb2R1Y3RWYXJpYW50TGlzdFNpbXBsZVF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFByb2R1Y3RWYXJpYW50cyA9IChOb25OdWxsYWJsZTxHZXRQcm9kdWN0VmFyaWFudExpc3RTaW1wbGVRdWVyeVsncHJvZHVjdFZhcmlhbnRzJ10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0UHJvZHVjdFZhcmlhbnRMaXN0U2ltcGxlUXVlcnlbJ3Byb2R1Y3RWYXJpYW50cyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBGZWF0dXJlZEFzc2V0ID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0UHJvZHVjdFZhcmlhbnRMaXN0U2ltcGxlUXVlcnlbJ3Byb2R1Y3RWYXJpYW50cyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsnZmVhdHVyZWRBc3NldCddPik7XHJcbiAgZXhwb3J0IHR5cGUgRm9jYWxQb2ludCA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9kdWN0VmFyaWFudExpc3RTaW1wbGVRdWVyeVsncHJvZHVjdFZhcmlhbnRzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+WydmZWF0dXJlZEFzc2V0J10+KVsnZm9jYWxQb2ludCddPik7XHJcbiAgZXhwb3J0IHR5cGUgUHJvZHVjdCA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RWYXJpYW50TGlzdFNpbXBsZVF1ZXJ5Wydwcm9kdWN0VmFyaWFudHMnXT4pWydpdGVtcyddPilbbnVtYmVyXT5bJ3Byb2R1Y3QnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIF9GZWF0dXJlZEFzc2V0ID0gKE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RWYXJpYW50TGlzdFNpbXBsZVF1ZXJ5Wydwcm9kdWN0VmFyaWFudHMnXT4pWydpdGVtcyddPilbbnVtYmVyXT5bJ3Byb2R1Y3QnXT4pWydmZWF0dXJlZEFzc2V0J10+KTtcclxuICBleHBvcnQgdHlwZSBfRm9jYWxQb2ludCA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0UHJvZHVjdFZhcmlhbnRMaXN0U2ltcGxlUXVlcnlbJ3Byb2R1Y3RWYXJpYW50cyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsncHJvZHVjdCddPilbJ2ZlYXR1cmVkQXNzZXQnXT4pWydmb2NhbFBvaW50J10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRQcm9kdWN0VmFyaWFudExpc3Qge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFByb2R1Y3RWYXJpYW50TGlzdFF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UHJvZHVjdFZhcmlhbnRMaXN0UXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgUHJvZHVjdFZhcmlhbnRzID0gKE5vbk51bGxhYmxlPEdldFByb2R1Y3RWYXJpYW50TGlzdFF1ZXJ5Wydwcm9kdWN0VmFyaWFudHMnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9kdWN0VmFyaWFudExpc3RRdWVyeVsncHJvZHVjdFZhcmlhbnRzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldFRhZ0xpc3Qge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFRhZ0xpc3RRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFRhZ0xpc3RRdWVyeTtcclxuICBleHBvcnQgdHlwZSBUYWdzID0gKE5vbk51bGxhYmxlPEdldFRhZ0xpc3RRdWVyeVsndGFncyddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFRhZ0xpc3RRdWVyeVsndGFncyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRUYWcge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFRhZ1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VGFnUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgVGFnID0gKE5vbk51bGxhYmxlPEdldFRhZ1F1ZXJ5Wyd0YWcnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZVRhZyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlVGFnTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVUYWdNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBDcmVhdGVUYWcgPSAoTm9uTnVsbGFibGU8Q3JlYXRlVGFnTXV0YXRpb25bJ2NyZWF0ZVRhZyddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlVGFnIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVUYWdNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZVRhZ011dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFVwZGF0ZVRhZyA9IChOb25OdWxsYWJsZTxVcGRhdGVUYWdNdXRhdGlvblsndXBkYXRlVGFnJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVUYWcge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZVRhZ011dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlVGFnTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgRGVsZXRlVGFnID0gKE5vbk51bGxhYmxlPERlbGV0ZVRhZ011dGF0aW9uWydkZWxldGVUYWcnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFByb21vdGlvbiB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBQcm9tb3Rpb25GcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBDb25kaXRpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb21vdGlvbkZyYWdtZW50Wydjb25kaXRpb25zJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBBY3Rpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb21vdGlvbkZyYWdtZW50WydhY3Rpb25zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRQcm9tb3Rpb25MaXN0IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRQcm9tb3Rpb25MaXN0UXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRQcm9tb3Rpb25MaXN0UXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgUHJvbW90aW9ucyA9IChOb25OdWxsYWJsZTxHZXRQcm9tb3Rpb25MaXN0UXVlcnlbJ3Byb21vdGlvbnMnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9tb3Rpb25MaXN0UXVlcnlbJ3Byb21vdGlvbnMnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0UHJvbW90aW9uIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRQcm9tb3Rpb25RdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFByb21vdGlvblF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFByb21vdGlvbiA9IChOb25OdWxsYWJsZTxHZXRQcm9tb3Rpb25RdWVyeVsncHJvbW90aW9uJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRBZGp1c3RtZW50T3BlcmF0aW9ucyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0QWRqdXN0bWVudE9wZXJhdGlvbnNRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEFkanVzdG1lbnRPcGVyYXRpb25zUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgUHJvbW90aW9uQ29uZGl0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRBZGp1c3RtZW50T3BlcmF0aW9uc1F1ZXJ5Wydwcm9tb3Rpb25Db25kaXRpb25zJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBQcm9tb3Rpb25BY3Rpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldEFkanVzdG1lbnRPcGVyYXRpb25zUXVlcnlbJ3Byb21vdGlvbkFjdGlvbnMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZVByb21vdGlvbiB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlUHJvbW90aW9uTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVQcm9tb3Rpb25NdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBDcmVhdGVQcm9tb3Rpb24gPSAoTm9uTnVsbGFibGU8Q3JlYXRlUHJvbW90aW9uTXV0YXRpb25bJ2NyZWF0ZVByb21vdGlvbiddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlUHJvbW90aW9uIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVQcm9tb3Rpb25NdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZVByb21vdGlvbk11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFVwZGF0ZVByb21vdGlvbiA9IChOb25OdWxsYWJsZTxVcGRhdGVQcm9tb3Rpb25NdXRhdGlvblsndXBkYXRlUHJvbW90aW9uJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVQcm9tb3Rpb24ge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZVByb21vdGlvbk11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlUHJvbW90aW9uTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgRGVsZXRlUHJvbW90aW9uID0gKE5vbk51bGxhYmxlPERlbGV0ZVByb21vdGlvbk11dGF0aW9uWydkZWxldGVQcm9tb3Rpb24nXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIENvdW50cnkge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gQ291bnRyeUZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIFRyYW5zbGF0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDb3VudHJ5RnJhZ21lbnRbJ3RyYW5zbGF0aW9ucyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q291bnRyeUxpc3Qge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldENvdW50cnlMaXN0UXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDb3VudHJ5TGlzdFF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIENvdW50cmllcyA9IChOb25OdWxsYWJsZTxHZXRDb3VudHJ5TGlzdFF1ZXJ5Wydjb3VudHJpZXMnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDb3VudHJ5TGlzdFF1ZXJ5Wydjb3VudHJpZXMnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0QXZhaWxhYmxlQ291bnRyaWVzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRBdmFpbGFibGVDb3VudHJpZXNRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEF2YWlsYWJsZUNvdW50cmllc1F1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIENvdW50cmllcyA9IChOb25OdWxsYWJsZTxHZXRBdmFpbGFibGVDb3VudHJpZXNRdWVyeVsnY291bnRyaWVzJ10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0QXZhaWxhYmxlQ291bnRyaWVzUXVlcnlbJ2NvdW50cmllcyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb3VudHJ5IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDb3VudHJ5UXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDb3VudHJ5UXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgQ291bnRyeSA9IChOb25OdWxsYWJsZTxHZXRDb3VudHJ5UXVlcnlbJ2NvdW50cnknXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZUNvdW50cnkge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZUNvdW50cnlNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENyZWF0ZUNvdW50cnlNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBDcmVhdGVDb3VudHJ5ID0gKE5vbk51bGxhYmxlPENyZWF0ZUNvdW50cnlNdXRhdGlvblsnY3JlYXRlQ291bnRyeSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlQ291bnRyeSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlQ291bnRyeU11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlQ291bnRyeU11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFVwZGF0ZUNvdW50cnkgPSAoTm9uTnVsbGFibGU8VXBkYXRlQ291bnRyeU11dGF0aW9uWyd1cGRhdGVDb3VudHJ5J10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVDb3VudHJ5IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVDb3VudHJ5TXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVDb3VudHJ5TXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgRGVsZXRlQ291bnRyeSA9IChOb25OdWxsYWJsZTxEZWxldGVDb3VudHJ5TXV0YXRpb25bJ2RlbGV0ZUNvdW50cnknXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFpvbmUge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gWm9uZUZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIE1lbWJlcnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Wm9uZUZyYWdtZW50WydtZW1iZXJzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRab25lcyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Wm9uZXNRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFpvbmVzUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgWm9uZXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0Wm9uZXNRdWVyeVsnem9uZXMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIE1lbWJlcnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFpvbmVzUXVlcnlbJ3pvbmVzJ10+KVtudW1iZXJdPlsnbWVtYmVycyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0Wm9uZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Wm9uZVF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Wm9uZVF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFpvbmUgPSAoTm9uTnVsbGFibGU8R2V0Wm9uZVF1ZXJ5Wyd6b25lJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGVab25lIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVab25lTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVab25lTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQ3JlYXRlWm9uZSA9IChOb25OdWxsYWJsZTxDcmVhdGVab25lTXV0YXRpb25bJ2NyZWF0ZVpvbmUnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZVpvbmUge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZVpvbmVNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZVpvbmVNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBVcGRhdGVab25lID0gKE5vbk51bGxhYmxlPFVwZGF0ZVpvbmVNdXRhdGlvblsndXBkYXRlWm9uZSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlWm9uZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlWm9uZU11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlWm9uZU11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIERlbGV0ZVpvbmUgPSAoTm9uTnVsbGFibGU8RGVsZXRlWm9uZU11dGF0aW9uWydkZWxldGVab25lJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBBZGRNZW1iZXJzVG9ab25lIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBZGRNZW1iZXJzVG9ab25lTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBBZGRNZW1iZXJzVG9ab25lTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQWRkTWVtYmVyc1RvWm9uZSA9IChOb25OdWxsYWJsZTxBZGRNZW1iZXJzVG9ab25lTXV0YXRpb25bJ2FkZE1lbWJlcnNUb1pvbmUnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFJlbW92ZU1lbWJlcnNGcm9tWm9uZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gUmVtb3ZlTWVtYmVyc0Zyb21ab25lTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBSZW1vdmVNZW1iZXJzRnJvbVpvbmVNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBSZW1vdmVNZW1iZXJzRnJvbVpvbmUgPSAoTm9uTnVsbGFibGU8UmVtb3ZlTWVtYmVyc0Zyb21ab25lTXV0YXRpb25bJ3JlbW92ZU1lbWJlcnNGcm9tWm9uZSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVGF4Q2F0ZWdvcnkge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gVGF4Q2F0ZWdvcnlGcmFnbWVudDtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRUYXhDYXRlZ29yaWVzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRUYXhDYXRlZ29yaWVzUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRUYXhDYXRlZ29yaWVzUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgVGF4Q2F0ZWdvcmllcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRUYXhDYXRlZ29yaWVzUXVlcnlbJ3RheENhdGVnb3JpZXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldFRheENhdGVnb3J5IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRUYXhDYXRlZ29yeVF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VGF4Q2F0ZWdvcnlRdWVyeTtcclxuICBleHBvcnQgdHlwZSBUYXhDYXRlZ29yeSA9IChOb25OdWxsYWJsZTxHZXRUYXhDYXRlZ29yeVF1ZXJ5Wyd0YXhDYXRlZ29yeSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlVGF4Q2F0ZWdvcnkge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZVRheENhdGVnb3J5TXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVUYXhDYXRlZ29yeU11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIENyZWF0ZVRheENhdGVnb3J5ID0gKE5vbk51bGxhYmxlPENyZWF0ZVRheENhdGVnb3J5TXV0YXRpb25bJ2NyZWF0ZVRheENhdGVnb3J5J10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVUYXhDYXRlZ29yeSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlVGF4Q2F0ZWdvcnlNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZVRheENhdGVnb3J5TXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlVGF4Q2F0ZWdvcnkgPSAoTm9uTnVsbGFibGU8VXBkYXRlVGF4Q2F0ZWdvcnlNdXRhdGlvblsndXBkYXRlVGF4Q2F0ZWdvcnknXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZVRheENhdGVnb3J5IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVUYXhDYXRlZ29yeU11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlVGF4Q2F0ZWdvcnlNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBEZWxldGVUYXhDYXRlZ29yeSA9IChOb25OdWxsYWJsZTxEZWxldGVUYXhDYXRlZ29yeU11dGF0aW9uWydkZWxldGVUYXhDYXRlZ29yeSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVGF4UmF0ZSB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBUYXhSYXRlRnJhZ21lbnQ7XHJcbiAgZXhwb3J0IHR5cGUgQ2F0ZWdvcnkgPSAoTm9uTnVsbGFibGU8VGF4UmF0ZUZyYWdtZW50WydjYXRlZ29yeSddPik7XHJcbiAgZXhwb3J0IHR5cGUgWm9uZSA9IChOb25OdWxsYWJsZTxUYXhSYXRlRnJhZ21lbnRbJ3pvbmUnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEN1c3RvbWVyR3JvdXAgPSAoTm9uTnVsbGFibGU8VGF4UmF0ZUZyYWdtZW50WydjdXN0b21lckdyb3VwJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRUYXhSYXRlTGlzdCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VGF4UmF0ZUxpc3RRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFRheFJhdGVMaXN0UXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgVGF4UmF0ZXMgPSAoTm9uTnVsbGFibGU8R2V0VGF4UmF0ZUxpc3RRdWVyeVsndGF4UmF0ZXMnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRUYXhSYXRlTGlzdFF1ZXJ5Wyd0YXhSYXRlcyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRUYXhSYXRlTGlzdFNpbXBsZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VGF4UmF0ZUxpc3RTaW1wbGVRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFRheFJhdGVMaXN0U2ltcGxlUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgVGF4UmF0ZXMgPSAoTm9uTnVsbGFibGU8R2V0VGF4UmF0ZUxpc3RTaW1wbGVRdWVyeVsndGF4UmF0ZXMnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRUYXhSYXRlTGlzdFNpbXBsZVF1ZXJ5Wyd0YXhSYXRlcyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBDYXRlZ29yeSA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFRheFJhdGVMaXN0U2ltcGxlUXVlcnlbJ3RheFJhdGVzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+WydjYXRlZ29yeSddPik7XHJcbiAgZXhwb3J0IHR5cGUgWm9uZSA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFRheFJhdGVMaXN0U2ltcGxlUXVlcnlbJ3RheFJhdGVzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+Wyd6b25lJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRUYXhSYXRlIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRUYXhSYXRlUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRUYXhSYXRlUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgVGF4UmF0ZSA9IChOb25OdWxsYWJsZTxHZXRUYXhSYXRlUXVlcnlbJ3RheFJhdGUnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZVRheFJhdGUge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZVRheFJhdGVNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENyZWF0ZVRheFJhdGVNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBDcmVhdGVUYXhSYXRlID0gKE5vbk51bGxhYmxlPENyZWF0ZVRheFJhdGVNdXRhdGlvblsnY3JlYXRlVGF4UmF0ZSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlVGF4UmF0ZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlVGF4UmF0ZU11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlVGF4UmF0ZU11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFVwZGF0ZVRheFJhdGUgPSAoTm9uTnVsbGFibGU8VXBkYXRlVGF4UmF0ZU11dGF0aW9uWyd1cGRhdGVUYXhSYXRlJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVUYXhSYXRlIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVUYXhSYXRlTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVUYXhSYXRlTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgRGVsZXRlVGF4UmF0ZSA9IChOb25OdWxsYWJsZTxEZWxldGVUYXhSYXRlTXV0YXRpb25bJ2RlbGV0ZVRheFJhdGUnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIENoYW5uZWwge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gQ2hhbm5lbEZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIERlZmF1bHRTaGlwcGluZ1pvbmUgPSAoTm9uTnVsbGFibGU8Q2hhbm5lbEZyYWdtZW50WydkZWZhdWx0U2hpcHBpbmdab25lJ10+KTtcclxuICBleHBvcnQgdHlwZSBEZWZhdWx0VGF4Wm9uZSA9IChOb25OdWxsYWJsZTxDaGFubmVsRnJhZ21lbnRbJ2RlZmF1bHRUYXhab25lJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDaGFubmVscyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q2hhbm5lbHNRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENoYW5uZWxzUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgQ2hhbm5lbHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0Q2hhbm5lbHNRdWVyeVsnY2hhbm5lbHMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldENoYW5uZWwge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldENoYW5uZWxRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENoYW5uZWxRdWVyeTtcclxuICBleHBvcnQgdHlwZSBDaGFubmVsID0gKE5vbk51bGxhYmxlPEdldENoYW5uZWxRdWVyeVsnY2hhbm5lbCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0QWN0aXZlQ2hhbm5lbCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0QWN0aXZlQ2hhbm5lbFF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0QWN0aXZlQ2hhbm5lbFF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIEFjdGl2ZUNoYW5uZWwgPSAoTm9uTnVsbGFibGU8R2V0QWN0aXZlQ2hhbm5lbFF1ZXJ5WydhY3RpdmVDaGFubmVsJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGVDaGFubmVsIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVDaGFubmVsTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVDaGFubmVsTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQ3JlYXRlQ2hhbm5lbCA9IChOb25OdWxsYWJsZTxDcmVhdGVDaGFubmVsTXV0YXRpb25bJ2NyZWF0ZUNoYW5uZWwnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZUNoYW5uZWwge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZUNoYW5uZWxNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZUNoYW5uZWxNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBVcGRhdGVDaGFubmVsID0gKE5vbk51bGxhYmxlPFVwZGF0ZUNoYW5uZWxNdXRhdGlvblsndXBkYXRlQ2hhbm5lbCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlQ2hhbm5lbCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlQ2hhbm5lbE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIERlbGV0ZUNoYW5uZWwgPSAoTm9uTnVsbGFibGU8RGVsZXRlQ2hhbm5lbE11dGF0aW9uWydkZWxldGVDaGFubmVsJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBQYXltZW50TWV0aG9kIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFBheW1lbnRNZXRob2RGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBDaGVja2VyID0gKE5vbk51bGxhYmxlPFBheW1lbnRNZXRob2RGcmFnbWVudFsnY2hlY2tlciddPik7XHJcbiAgZXhwb3J0IHR5cGUgSGFuZGxlciA9IChOb25OdWxsYWJsZTxQYXltZW50TWV0aG9kRnJhZ21lbnRbJ2hhbmRsZXInXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldFBheW1lbnRNZXRob2RMaXN0IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRQYXltZW50TWV0aG9kTGlzdFF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UGF5bWVudE1ldGhvZExpc3RRdWVyeTtcclxuICBleHBvcnQgdHlwZSBQYXltZW50TWV0aG9kcyA9IChOb25OdWxsYWJsZTxHZXRQYXltZW50TWV0aG9kTGlzdFF1ZXJ5WydwYXltZW50TWV0aG9kcyddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFBheW1lbnRNZXRob2RMaXN0UXVlcnlbJ3BheW1lbnRNZXRob2RzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldFBheW1lbnRNZXRob2RPcGVyYXRpb25zIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRQYXltZW50TWV0aG9kT3BlcmF0aW9uc1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UGF5bWVudE1ldGhvZE9wZXJhdGlvbnNRdWVyeTtcclxuICBleHBvcnQgdHlwZSBQYXltZW50TWV0aG9kRWxpZ2liaWxpdHlDaGVja2VycyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQYXltZW50TWV0aG9kT3BlcmF0aW9uc1F1ZXJ5WydwYXltZW50TWV0aG9kRWxpZ2liaWxpdHlDaGVja2VycyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgUGF5bWVudE1ldGhvZEhhbmRsZXJzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFBheW1lbnRNZXRob2RPcGVyYXRpb25zUXVlcnlbJ3BheW1lbnRNZXRob2RIYW5kbGVycyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0UGF5bWVudE1ldGhvZCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0UGF5bWVudE1ldGhvZFF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UGF5bWVudE1ldGhvZFF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFBheW1lbnRNZXRob2QgPSAoTm9uTnVsbGFibGU8R2V0UGF5bWVudE1ldGhvZFF1ZXJ5WydwYXltZW50TWV0aG9kJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGVQYXltZW50TWV0aG9kIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVQYXltZW50TWV0aG9kTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVQYXltZW50TWV0aG9kTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQ3JlYXRlUGF5bWVudE1ldGhvZCA9IChOb25OdWxsYWJsZTxDcmVhdGVQYXltZW50TWV0aG9kTXV0YXRpb25bJ2NyZWF0ZVBheW1lbnRNZXRob2QnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZVBheW1lbnRNZXRob2Qge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZVBheW1lbnRNZXRob2RNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZVBheW1lbnRNZXRob2RNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBVcGRhdGVQYXltZW50TWV0aG9kID0gKE5vbk51bGxhYmxlPFVwZGF0ZVBheW1lbnRNZXRob2RNdXRhdGlvblsndXBkYXRlUGF5bWVudE1ldGhvZCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlUGF5bWVudE1ldGhvZCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlUGF5bWVudE1ldGhvZE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlUGF5bWVudE1ldGhvZE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIERlbGV0ZVBheW1lbnRNZXRob2QgPSAoTm9uTnVsbGFibGU8RGVsZXRlUGF5bWVudE1ldGhvZE11dGF0aW9uWydkZWxldGVQYXltZW50TWV0aG9kJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHbG9iYWxTZXR0aW5ncyB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBHbG9iYWxTZXR0aW5nc0ZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIFNlcnZlckNvbmZpZyA9IChOb25OdWxsYWJsZTxHbG9iYWxTZXR0aW5nc0ZyYWdtZW50WydzZXJ2ZXJDb25maWcnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIFBlcm1pc3Npb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHbG9iYWxTZXR0aW5nc0ZyYWdtZW50WydzZXJ2ZXJDb25maWcnXT4pWydwZXJtaXNzaW9ucyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgT3JkZXJQcm9jZXNzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHbG9iYWxTZXR0aW5nc0ZyYWdtZW50WydzZXJ2ZXJDb25maWcnXT4pWydvcmRlclByb2Nlc3MnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldEdsb2JhbFNldHRpbmdzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRHbG9iYWxTZXR0aW5nc1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0R2xvYmFsU2V0dGluZ3NRdWVyeTtcclxuICBleHBvcnQgdHlwZSBHbG9iYWxTZXR0aW5ncyA9IChOb25OdWxsYWJsZTxHZXRHbG9iYWxTZXR0aW5nc1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlR2xvYmFsU2V0dGluZ3Mge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZUdsb2JhbFNldHRpbmdzTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVHbG9iYWxTZXR0aW5nc011dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFVwZGF0ZUdsb2JhbFNldHRpbmdzID0gKE5vbk51bGxhYmxlPFVwZGF0ZUdsb2JhbFNldHRpbmdzTXV0YXRpb25bJ3VwZGF0ZUdsb2JhbFNldHRpbmdzJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDdXN0b21GaWVsZENvbmZpZyB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBDdXN0b21GaWVsZENvbmZpZ0ZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIERlc2NyaXB0aW9uID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEN1c3RvbUZpZWxkQ29uZmlnRnJhZ21lbnRbJ2Rlc2NyaXB0aW9uJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBMYWJlbCA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDdXN0b21GaWVsZENvbmZpZ0ZyYWdtZW50WydsYWJlbCddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgU3RyaW5nQ3VzdG9tRmllbGQge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gU3RyaW5nQ3VzdG9tRmllbGRGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBPcHRpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFN0cmluZ0N1c3RvbUZpZWxkRnJhZ21lbnRbJ29wdGlvbnMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIExhYmVsID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxTdHJpbmdDdXN0b21GaWVsZEZyYWdtZW50WydvcHRpb25zJ10+KVtudW1iZXJdPlsnbGFiZWwnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIExvY2FsZVN0cmluZ0N1c3RvbUZpZWxkIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IExvY2FsZVN0cmluZ0N1c3RvbUZpZWxkRnJhZ21lbnQ7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVGV4dEN1c3RvbUZpZWxkIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFRleHRDdXN0b21GaWVsZEZyYWdtZW50O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEJvb2xlYW5DdXN0b21GaWVsZCB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBCb29sZWFuQ3VzdG9tRmllbGRGcmFnbWVudDtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBJbnRDdXN0b21GaWVsZCB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBJbnRDdXN0b21GaWVsZEZyYWdtZW50O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEZsb2F0Q3VzdG9tRmllbGQge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gRmxvYXRDdXN0b21GaWVsZEZyYWdtZW50O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIERhdGVUaW1lQ3VzdG9tRmllbGQge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gRGF0ZVRpbWVDdXN0b21GaWVsZEZyYWdtZW50O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFJlbGF0aW9uQ3VzdG9tRmllbGQge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gUmVsYXRpb25DdXN0b21GaWVsZEZyYWdtZW50O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEN1c3RvbUZpZWxkcyB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBDdXN0b21GaWVsZHNGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBTdHJpbmdDdXN0b21GaWVsZENvbmZpZ0lubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPEN1c3RvbUZpZWxkc0ZyYWdtZW50LCB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH0+KTtcclxuICBleHBvcnQgdHlwZSBMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ0lubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPEN1c3RvbUZpZWxkc0ZyYWdtZW50LCB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH0+KTtcclxuICBleHBvcnQgdHlwZSBUZXh0Q3VzdG9tRmllbGRDb25maWdJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjxDdXN0b21GaWVsZHNGcmFnbWVudCwgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfT4pO1xyXG4gIGV4cG9ydCB0eXBlIEJvb2xlYW5DdXN0b21GaWVsZENvbmZpZ0lubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPEN1c3RvbUZpZWxkc0ZyYWdtZW50LCB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9Pik7XHJcbiAgZXhwb3J0IHR5cGUgSW50Q3VzdG9tRmllbGRDb25maWdJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjxDdXN0b21GaWVsZHNGcmFnbWVudCwgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9Pik7XHJcbiAgZXhwb3J0IHR5cGUgRmxvYXRDdXN0b21GaWVsZENvbmZpZ0lubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPEN1c3RvbUZpZWxkc0ZyYWdtZW50LCB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfT4pO1xyXG4gIGV4cG9ydCB0eXBlIERhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjxDdXN0b21GaWVsZHNGcmFnbWVudCwgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH0+KTtcclxuICBleHBvcnQgdHlwZSBSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnSW5saW5lRnJhZ21lbnQgPSAoRGlzY3JpbWluYXRlVW5pb248Q3VzdG9tRmllbGRzRnJhZ21lbnQsIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9Pik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0U2VydmVyQ29uZmlnIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRTZXJ2ZXJDb25maWdRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFNlcnZlckNvbmZpZ1F1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIEdsb2JhbFNldHRpbmdzID0gKE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPik7XHJcbiAgZXhwb3J0IHR5cGUgU2VydmVyQ29uZmlnID0gKE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIE9yZGVyUHJvY2VzcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPilbJ3NlcnZlckNvbmZpZyddPilbJ29yZGVyUHJvY2VzcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgUGVybWlzc2lvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pWydwZXJtaXNzaW9ucyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgQ3VzdG9tRmllbGRDb25maWcgPSAoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pWydjdXN0b21GaWVsZENvbmZpZyddPik7XHJcbiAgZXhwb3J0IHR5cGUgQWRkcmVzcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pWydjdXN0b21GaWVsZENvbmZpZyddPilbJ0FkZHJlc3MnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIEFkbWluaXN0cmF0b3IgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydBZG1pbmlzdHJhdG9yJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBBc3NldCA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pWydjdXN0b21GaWVsZENvbmZpZyddPilbJ0Fzc2V0J10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBDaGFubmVsID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPilbJ3NlcnZlckNvbmZpZyddPilbJ2N1c3RvbUZpZWxkQ29uZmlnJ10+KVsnQ2hhbm5lbCddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgQ29sbGVjdGlvbiA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pWydjdXN0b21GaWVsZENvbmZpZyddPilbJ0NvbGxlY3Rpb24nXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIENvdW50cnkgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydDb3VudHJ5J10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBDdXN0b21lciA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pWydjdXN0b21GaWVsZENvbmZpZyddPilbJ0N1c3RvbWVyJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBDdXN0b21lckdyb3VwID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPilbJ3NlcnZlckNvbmZpZyddPilbJ2N1c3RvbUZpZWxkQ29uZmlnJ10+KVsnQ3VzdG9tZXJHcm91cCddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgRmFjZXQgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydGYWNldCddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgRmFjZXRWYWx1ZSA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pWydjdXN0b21GaWVsZENvbmZpZyddPilbJ0ZhY2V0VmFsdWUnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIEZ1bGZpbGxtZW50ID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPilbJ3NlcnZlckNvbmZpZyddPilbJ2N1c3RvbUZpZWxkQ29uZmlnJ10+KVsnRnVsZmlsbG1lbnQnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIF9HbG9iYWxTZXR0aW5ncyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pWydjdXN0b21GaWVsZENvbmZpZyddPilbJ0dsb2JhbFNldHRpbmdzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBPcmRlciA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pWydjdXN0b21GaWVsZENvbmZpZyddPilbJ09yZGVyJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBPcmRlckxpbmUgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydPcmRlckxpbmUnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFBheW1lbnRNZXRob2QgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydQYXltZW50TWV0aG9kJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBQcm9kdWN0ID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPilbJ3NlcnZlckNvbmZpZyddPilbJ2N1c3RvbUZpZWxkQ29uZmlnJ10+KVsnUHJvZHVjdCddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgUHJvZHVjdE9wdGlvbiA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pWydjdXN0b21GaWVsZENvbmZpZyddPilbJ1Byb2R1Y3RPcHRpb24nXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFByb2R1Y3RPcHRpb25Hcm91cCA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pWydjdXN0b21GaWVsZENvbmZpZyddPilbJ1Byb2R1Y3RPcHRpb25Hcm91cCddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgUHJvZHVjdFZhcmlhbnQgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydQcm9kdWN0VmFyaWFudCddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgUHJvbW90aW9uID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPilbJ3NlcnZlckNvbmZpZyddPilbJ2N1c3RvbUZpZWxkQ29uZmlnJ10+KVsnUHJvbW90aW9uJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBTaGlwcGluZ01ldGhvZCA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pWydjdXN0b21GaWVsZENvbmZpZyddPilbJ1NoaXBwaW5nTWV0aG9kJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBUYXhDYXRlZ29yeSA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pWydjdXN0b21GaWVsZENvbmZpZyddPilbJ1RheENhdGVnb3J5J10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBUYXhSYXRlID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPilbJ3NlcnZlckNvbmZpZyddPilbJ2N1c3RvbUZpZWxkQ29uZmlnJ10+KVsnVGF4UmF0ZSddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgVXNlciA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pWydjdXN0b21GaWVsZENvbmZpZyddPilbJ1VzZXInXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFpvbmUgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydab25lJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBKb2JJbmZvIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEpvYkluZm9GcmFnbWVudDtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRKb2JJbmZvIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRKb2JJbmZvUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRKb2JJbmZvUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgSm9iID0gKE5vbk51bGxhYmxlPEdldEpvYkluZm9RdWVyeVsnam9iJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRBbGxKb2JzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRBbGxKb2JzUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRBbGxKb2JzUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgSm9icyA9IChOb25OdWxsYWJsZTxHZXRBbGxKb2JzUXVlcnlbJ2pvYnMnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRBbGxKb2JzUXVlcnlbJ2pvYnMnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0Sm9ic0J5SWQge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEpvYnNCeUlkUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRKb2JzQnlJZFF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIEpvYnNCeUlkID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldEpvYnNCeUlkUXVlcnlbJ2pvYnNCeUlkJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRKb2JRdWV1ZUxpc3Qge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEpvYlF1ZXVlTGlzdFF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Sm9iUXVldWVMaXN0UXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgSm9iUXVldWVzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldEpvYlF1ZXVlTGlzdFF1ZXJ5Wydqb2JRdWV1ZXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIENhbmNlbEpvYiB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ2FuY2VsSm9iTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDYW5jZWxKb2JNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBDYW5jZWxKb2IgPSAoTm9uTnVsbGFibGU8Q2FuY2VsSm9iTXV0YXRpb25bJ2NhbmNlbEpvYiddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgUmVpbmRleCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gUmVpbmRleE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gUmVpbmRleE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFJlaW5kZXggPSAoTm9uTnVsbGFibGU8UmVpbmRleE11dGF0aW9uWydyZWluZGV4J10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRQZW5kaW5nU2VhcmNoSW5kZXhVcGRhdGVzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRQZW5kaW5nU2VhcmNoSW5kZXhVcGRhdGVzUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRQZW5kaW5nU2VhcmNoSW5kZXhVcGRhdGVzUXVlcnk7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgUnVuUGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlcyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gUnVuUGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlc011dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gUnVuUGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlc011dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFJ1blBlbmRpbmdTZWFyY2hJbmRleFVwZGF0ZXMgPSAoTm9uTnVsbGFibGU8UnVuUGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlc011dGF0aW9uWydydW5QZW5kaW5nU2VhcmNoSW5kZXhVcGRhdGVzJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDb25maWd1cmFibGVPcGVyYXRpb24ge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gQ29uZmlndXJhYmxlT3BlcmF0aW9uRnJhZ21lbnQ7XHJcbiAgZXhwb3J0IHR5cGUgQXJncyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDb25maWd1cmFibGVPcGVyYXRpb25GcmFnbWVudFsnYXJncyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZkZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIEFyZ3MgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Q29uZmlndXJhYmxlT3BlcmF0aW9uRGVmRnJhZ21lbnRbJ2FyZ3MnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEVycm9yUmVzdWx0IHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEVycm9yUmVzdWx0RnJhZ21lbnQ7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgU2hpcHBpbmdNZXRob2Qge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gU2hpcHBpbmdNZXRob2RGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBDaGVja2VyID0gKE5vbk51bGxhYmxlPFNoaXBwaW5nTWV0aG9kRnJhZ21lbnRbJ2NoZWNrZXInXT4pO1xyXG4gIGV4cG9ydCB0eXBlIENhbGN1bGF0b3IgPSAoTm9uTnVsbGFibGU8U2hpcHBpbmdNZXRob2RGcmFnbWVudFsnY2FsY3VsYXRvciddPik7XHJcbiAgZXhwb3J0IHR5cGUgVHJhbnNsYXRpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFNoaXBwaW5nTWV0aG9kRnJhZ21lbnRbJ3RyYW5zbGF0aW9ucyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0U2hpcHBpbmdNZXRob2RMaXN0IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRTaGlwcGluZ01ldGhvZExpc3RRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFNoaXBwaW5nTWV0aG9kTGlzdFF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFNoaXBwaW5nTWV0aG9kcyA9IChOb25OdWxsYWJsZTxHZXRTaGlwcGluZ01ldGhvZExpc3RRdWVyeVsnc2hpcHBpbmdNZXRob2RzJ10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2hpcHBpbmdNZXRob2RMaXN0UXVlcnlbJ3NoaXBwaW5nTWV0aG9kcyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRTaGlwcGluZ01ldGhvZCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0U2hpcHBpbmdNZXRob2RRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFNoaXBwaW5nTWV0aG9kUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgU2hpcHBpbmdNZXRob2QgPSAoTm9uTnVsbGFibGU8R2V0U2hpcHBpbmdNZXRob2RRdWVyeVsnc2hpcHBpbmdNZXRob2QnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldFNoaXBwaW5nTWV0aG9kT3BlcmF0aW9ucyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0U2hpcHBpbmdNZXRob2RPcGVyYXRpb25zUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRTaGlwcGluZ01ldGhvZE9wZXJhdGlvbnNRdWVyeTtcclxuICBleHBvcnQgdHlwZSBTaGlwcGluZ0VsaWdpYmlsaXR5Q2hlY2tlcnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2hpcHBpbmdNZXRob2RPcGVyYXRpb25zUXVlcnlbJ3NoaXBwaW5nRWxpZ2liaWxpdHlDaGVja2VycyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgU2hpcHBpbmdDYWxjdWxhdG9ycyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTaGlwcGluZ01ldGhvZE9wZXJhdGlvbnNRdWVyeVsnc2hpcHBpbmdDYWxjdWxhdG9ycyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgRnVsZmlsbG1lbnRIYW5kbGVycyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTaGlwcGluZ01ldGhvZE9wZXJhdGlvbnNRdWVyeVsnZnVsZmlsbG1lbnRIYW5kbGVycyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlU2hpcHBpbmdNZXRob2Qge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZVNoaXBwaW5nTWV0aG9kTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVTaGlwcGluZ01ldGhvZE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIENyZWF0ZVNoaXBwaW5nTWV0aG9kID0gKE5vbk51bGxhYmxlPENyZWF0ZVNoaXBwaW5nTWV0aG9kTXV0YXRpb25bJ2NyZWF0ZVNoaXBwaW5nTWV0aG9kJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVTaGlwcGluZ01ldGhvZCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlU2hpcHBpbmdNZXRob2RNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZVNoaXBwaW5nTWV0aG9kTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlU2hpcHBpbmdNZXRob2QgPSAoTm9uTnVsbGFibGU8VXBkYXRlU2hpcHBpbmdNZXRob2RNdXRhdGlvblsndXBkYXRlU2hpcHBpbmdNZXRob2QnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZVNoaXBwaW5nTWV0aG9kIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVTaGlwcGluZ01ldGhvZE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlU2hpcHBpbmdNZXRob2RNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBEZWxldGVTaGlwcGluZ01ldGhvZCA9IChOb25OdWxsYWJsZTxEZWxldGVTaGlwcGluZ01ldGhvZE11dGF0aW9uWydkZWxldGVTaGlwcGluZ01ldGhvZCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVGVzdFNoaXBwaW5nTWV0aG9kIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBUZXN0U2hpcHBpbmdNZXRob2RRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IFRlc3RTaGlwcGluZ01ldGhvZFF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFRlc3RTaGlwcGluZ01ldGhvZCA9IChOb25OdWxsYWJsZTxUZXN0U2hpcHBpbmdNZXRob2RRdWVyeVsndGVzdFNoaXBwaW5nTWV0aG9kJ10+KTtcclxuICBleHBvcnQgdHlwZSBRdW90ZSA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8VGVzdFNoaXBwaW5nTWV0aG9kUXVlcnlbJ3Rlc3RTaGlwcGluZ01ldGhvZCddPilbJ3F1b3RlJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBUZXN0RWxpZ2libGVTaGlwcGluZ01ldGhvZHMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFRlc3RFbGlnaWJsZVNoaXBwaW5nTWV0aG9kc1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gVGVzdEVsaWdpYmxlU2hpcHBpbmdNZXRob2RzUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgVGVzdEVsaWdpYmxlU2hpcHBpbmdNZXRob2RzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFRlc3RFbGlnaWJsZVNoaXBwaW5nTWV0aG9kc1F1ZXJ5Wyd0ZXN0RWxpZ2libGVTaGlwcGluZ01ldGhvZHMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldEN1c3RvbWVyQWRkcmVzc2VzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDdXN0b21lckFkZHJlc3Nlc1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q3VzdG9tZXJBZGRyZXNzZXNRdWVyeTtcclxuICBleHBvcnQgdHlwZSBDdXN0b21lciA9IChOb25OdWxsYWJsZTxHZXRDdXN0b21lckFkZHJlc3Nlc1F1ZXJ5WydjdXN0b21lciddPik7XHJcbiAgZXhwb3J0IHR5cGUgQWRkcmVzc2VzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDdXN0b21lckFkZHJlc3Nlc1F1ZXJ5WydjdXN0b21lciddPilbJ2FkZHJlc3NlcyddPilbbnVtYmVyXT47XHJcbn1cclxuIl19