@aws-amplify/graphql-api-construct 1.3.0-rds-5.0 → 1.4.0-construct-publish-test.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (520) hide show
  1. package/.jsii +774 -465
  2. package/API.md +67 -28
  3. package/CHANGELOG.md +19 -3
  4. package/README.md +1039 -401
  5. package/lib/amplify-dynamodb-table-wrapper.d.ts +128 -0
  6. package/lib/amplify-dynamodb-table-wrapper.js +102 -0
  7. package/lib/amplify-graphql-api.d.ts +4 -6
  8. package/lib/amplify-graphql-api.js +12 -61
  9. package/lib/amplify-graphql-definition.d.ts +19 -13
  10. package/lib/amplify-graphql-definition.js +58 -21
  11. package/lib/index.d.ts +2 -1
  12. package/lib/index.js +5 -2
  13. package/lib/internal/authorization-modes.js +20 -2
  14. package/lib/internal/construct-exports.js +8 -1
  15. package/lib/internal/data-source-config.d.ts +7 -0
  16. package/lib/internal/data-source-config.js +37 -0
  17. package/lib/internal/index.d.ts +1 -1
  18. package/lib/internal/index.js +2 -2
  19. package/lib/internal/model-type-name.d.ts +8 -0
  20. package/lib/internal/model-type-name.js +27 -0
  21. package/lib/types.d.ts +52 -102
  22. package/lib/types.js +1 -1
  23. package/node_modules/@aws-amplify/backend-output-schemas/lib/auth/index.js +8 -9
  24. package/node_modules/@aws-amplify/backend-output-schemas/lib/auth/v1.js +16 -18
  25. package/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/index.js +11 -16
  26. package/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/v1.js +23 -19
  27. package/node_modules/@aws-amplify/backend-output-schemas/lib/index.d.ts +12 -1
  28. package/node_modules/@aws-amplify/backend-output-schemas/lib/index.js +38 -60
  29. package/node_modules/@aws-amplify/backend-output-schemas/lib/platform/index.js +16 -14
  30. package/node_modules/@aws-amplify/backend-output-schemas/lib/platform/stack_metadata_schemas.js +7 -9
  31. package/node_modules/@aws-amplify/backend-output-schemas/lib/stack/index.d.ts +5 -0
  32. package/node_modules/@aws-amplify/backend-output-schemas/lib/stack/index.js +8 -9
  33. package/node_modules/@aws-amplify/backend-output-schemas/lib/stack/v1.d.ts +5 -0
  34. package/node_modules/@aws-amplify/backend-output-schemas/lib/stack/v1.js +10 -11
  35. package/node_modules/@aws-amplify/backend-output-schemas/lib/storage/index.js +8 -9
  36. package/node_modules/@aws-amplify/backend-output-schemas/lib/storage/v1.js +10 -12
  37. package/node_modules/@aws-amplify/backend-output-schemas/package.json +4 -23
  38. package/node_modules/@aws-amplify/backend-output-storage/lib/index.d.ts +1 -0
  39. package/node_modules/@aws-amplify/backend-output-storage/lib/index.js +17 -14
  40. package/node_modules/@aws-amplify/backend-output-storage/lib/stack_metadata_output_storage_strategy.js +28 -32
  41. package/node_modules/@aws-amplify/backend-output-storage/lib/store_attribution_metadata.d.ts +50 -0
  42. package/node_modules/@aws-amplify/backend-output-storage/lib/store_attribution_metadata.js +104 -0
  43. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/backend_deployment_type.d.ts +5 -0
  44. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/backend_deployment_type.js +9 -0
  45. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/cdk_context_key.d.ts +9 -0
  46. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/cdk_context_key.js +13 -0
  47. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/index.d.ts +4 -0
  48. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/index.js +22 -0
  49. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/unique_backend_identifier.d.ts +53 -0
  50. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/unique_backend_identifier.js +74 -0
  51. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/package.json +23 -0
  52. package/node_modules/@aws-amplify/backend-output-storage/package.json +6 -4
  53. package/node_modules/@aws-amplify/graphql-auth-transformer/API.md +1 -5
  54. package/node_modules/@aws-amplify/graphql-auth-transformer/CHANGELOG.md +4 -12
  55. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts +1 -3
  56. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts.map +1 -1
  57. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js +50 -64
  58. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js.map +1 -1
  59. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/field.d.ts +1 -1
  60. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/field.d.ts.map +1 -0
  61. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/field.js +1 -1
  62. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/field.js.map +1 -0
  63. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/helpers.d.ts +1 -1
  64. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/helpers.d.ts.map +1 -0
  65. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/helpers.js +1 -1
  66. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/helpers.js.map +1 -0
  67. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/index.d.ts.map +1 -0
  68. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/index.js.map +1 -0
  69. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/mutation.create.d.ts +1 -1
  70. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.create.d.ts.map +1 -0
  71. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/mutation.create.js +1 -1
  72. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.create.js.map +1 -0
  73. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/mutation.delete.d.ts +1 -1
  74. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.delete.d.ts.map +1 -0
  75. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/mutation.delete.js +1 -1
  76. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.delete.js.map +1 -0
  77. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/mutation.update.d.ts +1 -1
  78. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.update.d.ts.map +1 -0
  79. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/mutation.update.js +1 -1
  80. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.update.js.map +1 -0
  81. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.d.ts +6 -0
  82. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.d.ts.map +1 -0
  83. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/query.js +3 -28
  84. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.js.map +1 -0
  85. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/search.d.ts +1 -1
  86. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/search.d.ts.map +1 -0
  87. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/search.js +1 -1
  88. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/search.js.map +1 -0
  89. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/rds/resolvers/subscription.d.ts → resolvers/subscriptions.d.ts} +2 -2
  90. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/subscriptions.d.ts.map +1 -0
  91. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/subscriptions.js +1 -1
  92. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/subscriptions.js.map +1 -0
  93. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/index.d.ts.map +1 -1
  94. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/index.js +0 -3
  95. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/index.js.map +1 -1
  96. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/schema.d.ts.map +1 -1
  97. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/schema.js.map +1 -1
  98. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.d.ts +2 -3
  99. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.d.ts.map +1 -1
  100. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.js +1 -4
  101. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.js.map +1 -1
  102. package/node_modules/@aws-amplify/graphql-auth-transformer/package.json +11 -11
  103. package/node_modules/@aws-amplify/graphql-default-value-transformer/CHANGELOG.md +5 -3
  104. package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.d.ts.map +1 -1
  105. package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.js +1 -13
  106. package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.js.map +1 -1
  107. package/node_modules/@aws-amplify/graphql-default-value-transformer/package.json +8 -8
  108. package/node_modules/@aws-amplify/graphql-function-transformer/CHANGELOG.md +5 -1
  109. package/node_modules/@aws-amplify/graphql-function-transformer/package.json +7 -7
  110. package/node_modules/@aws-amplify/graphql-http-transformer/CHANGELOG.md +5 -1
  111. package/node_modules/@aws-amplify/graphql-http-transformer/package.json +7 -7
  112. package/node_modules/@aws-amplify/graphql-index-transformer/API.md +3 -0
  113. package/node_modules/@aws-amplify/graphql-index-transformer/CHANGELOG.md +6 -4
  114. package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-index-transformer.js +4 -0
  115. package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-index-transformer.js.map +1 -1
  116. package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.d.ts.map +1 -1
  117. package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.js +2 -2
  118. package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.js.map +1 -1
  119. package/node_modules/@aws-amplify/graphql-index-transformer/lib/index.d.ts +1 -1
  120. package/node_modules/@aws-amplify/graphql-index-transformer/lib/index.d.ts.map +1 -1
  121. package/node_modules/@aws-amplify/graphql-index-transformer/lib/index.js +2 -1
  122. package/node_modules/@aws-amplify/graphql-index-transformer/lib/index.js.map +1 -1
  123. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts.map +1 -1
  124. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.js +1 -4
  125. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.js.map +1 -1
  126. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.d.ts +5 -6
  127. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.d.ts.map +1 -1
  128. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.js +43 -26
  129. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.js.map +1 -1
  130. package/node_modules/@aws-amplify/graphql-index-transformer/package.json +8 -8
  131. package/node_modules/@aws-amplify/graphql-maps-to-transformer/API.md +0 -15
  132. package/node_modules/@aws-amplify/graphql-maps-to-transformer/CHANGELOG.md +4 -8
  133. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/assets/mapping-lambda.zip +0 -0
  134. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.d.ts +0 -1
  135. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.d.ts.map +1 -1
  136. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.js +1 -13
  137. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.js.map +1 -1
  138. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.d.ts +1 -2
  139. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.d.ts.map +1 -1
  140. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.js +33 -16
  141. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.js.map +1 -1
  142. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.d.ts +0 -1
  143. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.d.ts.map +1 -1
  144. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.js +1 -3
  145. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.js.map +1 -1
  146. package/node_modules/@aws-amplify/graphql-maps-to-transformer/package.json +13 -13
  147. package/node_modules/@aws-amplify/graphql-model-transformer/API.md +15 -15
  148. package/node_modules/@aws-amplify/graphql-model-transformer/CHANGELOG.md +5 -13
  149. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.d.ts +2 -1
  150. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.d.ts.map +1 -1
  151. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.js +58 -66
  152. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.js.map +1 -1
  153. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.d.ts.map +1 -1
  154. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.js +2 -9
  155. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.js.map +1 -1
  156. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-lambda.zip +0 -0
  157. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-notification-lambda.zip +0 -0
  158. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-patching-lambda.zip +0 -0
  159. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.d.ts +5 -6
  160. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.d.ts.map +1 -1
  161. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.js +5 -5
  162. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.js.map +1 -1
  163. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts +5 -6
  164. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts.map +1 -1
  165. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.js +11 -11
  166. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.js.map +1 -1
  167. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/vtl-generator.d.ts +5 -6
  168. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/vtl-generator.d.ts.map +1 -1
  169. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.d.ts +3 -4
  170. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.d.ts.map +1 -1
  171. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.js +55 -74
  172. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.js.map +1 -1
  173. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.d.ts +1 -2
  174. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.d.ts.map +1 -1
  175. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.js +2 -8
  176. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.js.map +1 -1
  177. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.d.ts +3 -10
  178. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.d.ts.map +1 -1
  179. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.js +42 -127
  180. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.js.map +1 -1
  181. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.d.ts +15 -0
  182. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.d.ts.map +1 -0
  183. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.js +169 -0
  184. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.js.map +1 -0
  185. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.d.ts +40 -0
  186. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.d.ts.map +1 -0
  187. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.js +242 -0
  188. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.js.map +1 -0
  189. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.d.ts +12 -0
  190. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.d.ts.map +1 -0
  191. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.js +663 -0
  192. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.js.map +1 -0
  193. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/dynamo-model-resource-generator.d.ts +5 -2
  194. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/dynamo-model-resource-generator.d.ts.map +1 -1
  195. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/dynamo-model-resource-generator.js +47 -60
  196. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/dynamo-model-resource-generator.js.map +1 -1
  197. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/model-resource-generator.js +5 -5
  198. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/model-resource-generator.js.map +1 -1
  199. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.d.ts +0 -1
  200. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.d.ts.map +1 -1
  201. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.js +1 -28
  202. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.js.map +1 -1
  203. package/node_modules/@aws-amplify/graphql-model-transformer/package.json +11 -9
  204. package/node_modules/@aws-amplify/graphql-predictions-transformer/CHANGELOG.md +5 -1
  205. package/node_modules/@aws-amplify/graphql-predictions-transformer/lib/predictionsLambdaFunction.zip +0 -0
  206. package/node_modules/@aws-amplify/graphql-predictions-transformer/package.json +7 -7
  207. package/node_modules/@aws-amplify/graphql-relational-transformer/CHANGELOG.md +6 -5
  208. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.d.ts.map +1 -1
  209. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.js +9 -41
  210. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.js.map +1 -1
  211. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.d.ts.map +1 -1
  212. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.js +8 -35
  213. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.js.map +1 -1
  214. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.d.ts.map +1 -1
  215. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.js +8 -30
  216. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.js.map +1 -1
  217. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.d.ts.map +1 -1
  218. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.js +2 -3
  219. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.js.map +1 -1
  220. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.d.ts +4 -4
  221. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.d.ts.map +1 -1
  222. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.js +164 -24
  223. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.js.map +1 -1
  224. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.d.ts.map +1 -1
  225. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.js +8 -14
  226. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.js.map +1 -1
  227. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/types.d.ts +0 -4
  228. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/types.d.ts.map +1 -1
  229. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.d.ts +0 -5
  230. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.d.ts.map +1 -1
  231. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.js +1 -85
  232. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.js.map +1 -1
  233. package/node_modules/@aws-amplify/graphql-relational-transformer/package.json +10 -10
  234. package/node_modules/@aws-amplify/graphql-searchable-transformer/CHANGELOG.md +5 -3
  235. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.d.ts.map +1 -1
  236. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.js +0 -3
  237. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.js.map +1 -1
  238. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/streaming-lambda.zip +0 -0
  239. package/node_modules/@aws-amplify/graphql-searchable-transformer/package.json +8 -8
  240. package/node_modules/@aws-amplify/graphql-transformer/API.md +2 -3
  241. package/node_modules/@aws-amplify/graphql-transformer/CHANGELOG.md +5 -8
  242. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts +3 -4
  243. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts.map +1 -1
  244. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js +1 -5
  245. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js.map +1 -1
  246. package/node_modules/@aws-amplify/graphql-transformer/package.json +14 -15
  247. package/node_modules/@aws-amplify/graphql-transformer/src/graphql-transformer.ts +5 -15
  248. package/node_modules/@aws-amplify/graphql-transformer-core/API.md +7 -39
  249. package/node_modules/@aws-amplify/graphql-transformer-core/CHANGELOG.md +7 -12
  250. package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/index.d.ts +0 -1
  251. package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/index.d.ts.map +1 -1
  252. package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/index.js.map +1 -1
  253. package/node_modules/@aws-amplify/graphql-transformer-core/lib/graphql-api.js +2 -1
  254. package/node_modules/@aws-amplify/graphql-transformer-core/lib/graphql-api.js.map +1 -1
  255. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts +4 -4
  256. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts.map +1 -1
  257. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js +3 -10
  258. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js.map +1 -1
  259. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.d.ts.map +1 -1
  260. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.js +1 -2
  261. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.js.map +1 -1
  262. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/index.d.ts +1 -0
  263. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/index.d.ts.map +1 -1
  264. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/index.js +3 -1
  265. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/index.js.map +1 -1
  266. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.d.ts +3 -2
  267. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.d.ts.map +1 -1
  268. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js +3 -2
  269. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js.map +1 -1
  270. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/types.d.ts +2 -4
  271. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/types.d.ts.map +1 -1
  272. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/utils.d.ts +2 -1
  273. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/utils.d.ts.map +1 -1
  274. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/utils.js +12 -1
  275. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/utils.js.map +1 -1
  276. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.d.ts +4 -6
  277. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.d.ts.map +1 -1
  278. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.js +1 -2
  279. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.js.map +1 -1
  280. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.d.ts +1 -4
  281. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.d.ts.map +1 -1
  282. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.js +2 -3
  283. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.js.map +1 -1
  284. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.d.ts +1 -1
  285. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.d.ts.map +1 -1
  286. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.js +1 -2
  287. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.js.map +1 -1
  288. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/authType.d.ts.map +1 -1
  289. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/authType.js +1 -0
  290. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/authType.js.map +1 -1
  291. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.d.ts +3 -3
  292. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.d.ts.map +1 -1
  293. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.js +5 -14
  294. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.js.map +1 -1
  295. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/provision-strategy-utils.d.ts +3 -0
  296. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/provision-strategy-utils.d.ts.map +1 -0
  297. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/provision-strategy-utils.js +15 -0
  298. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/provision-strategy-utils.js.map +1 -0
  299. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.d.ts +2 -0
  300. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.d.ts.map +1 -0
  301. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.js +25 -0
  302. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.js.map +1 -0
  303. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.d.ts +1 -3
  304. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.d.ts.map +1 -1
  305. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.js +1 -7
  306. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.js.map +1 -1
  307. package/node_modules/@aws-amplify/graphql-transformer-core/lib/wrappers/object-definition-wrapper.d.ts +1 -1
  308. package/node_modules/@aws-amplify/graphql-transformer-core/lib/wrappers/object-definition-wrapper.d.ts.map +1 -1
  309. package/node_modules/@aws-amplify/graphql-transformer-core/package.json +4 -4
  310. package/node_modules/@aws-amplify/graphql-transformer-interfaces/API.md +17 -12
  311. package/node_modules/@aws-amplify/graphql-transformer-interfaces/CHANGELOG.md +8 -5
  312. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.d.ts +2 -5
  313. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.d.ts.map +1 -1
  314. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.js.map +1 -1
  315. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.d.ts +1 -1
  316. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.d.ts.map +1 -1
  317. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.js.map +1 -1
  318. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.d.ts +1 -1
  319. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.d.ts.map +1 -1
  320. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.js +2 -1
  321. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.js.map +1 -1
  322. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-context-provider.d.ts +2 -3
  323. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-context-provider.d.ts.map +1 -1
  324. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.d.ts +8 -2
  325. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.d.ts.map +1 -1
  326. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.js +6 -1
  327. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.js.map +1 -1
  328. package/node_modules/@aws-amplify/graphql-transformer-interfaces/package.json +2 -2
  329. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/graphql-api-provider.ts +16 -17
  330. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/index.ts +0 -1
  331. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/index.ts +3 -1
  332. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transformer-context-provider.ts +2 -3
  333. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transformer-datasource-provider.ts +18 -10
  334. package/node_modules/@aws-amplify/graphql-transformer-interfaces/tsconfig.tsbuildinfo +1 -1
  335. package/node_modules/@aws-amplify/platform-core/lib/backend_deployment_type.d.ts +5 -0
  336. package/node_modules/@aws-amplify/platform-core/lib/backend_deployment_type.js +9 -0
  337. package/node_modules/@aws-amplify/platform-core/lib/cdk_context_key.d.ts +9 -0
  338. package/node_modules/@aws-amplify/platform-core/lib/cdk_context_key.js +13 -0
  339. package/node_modules/@aws-amplify/platform-core/lib/index.d.ts +4 -0
  340. package/node_modules/@aws-amplify/platform-core/lib/index.js +22 -0
  341. package/node_modules/@aws-amplify/platform-core/lib/unique_backend_identifier.d.ts +53 -0
  342. package/node_modules/@aws-amplify/platform-core/lib/unique_backend_identifier.js +74 -0
  343. package/node_modules/@aws-amplify/platform-core/package.json +24 -0
  344. package/node_modules/@aws-amplify/plugin-types/lib/amplify_function.d.ts +4 -0
  345. package/node_modules/@aws-amplify/plugin-types/lib/amplify_function.js +3 -0
  346. package/node_modules/@aws-amplify/plugin-types/lib/amplify_output_writer.d.ts +9 -0
  347. package/node_modules/@aws-amplify/plugin-types/lib/amplify_output_writer.js +3 -0
  348. package/node_modules/@aws-amplify/plugin-types/lib/auth_resources.d.ts +42 -0
  349. package/node_modules/@aws-amplify/plugin-types/lib/auth_resources.js +3 -0
  350. package/node_modules/@aws-amplify/plugin-types/lib/backend_output.d.ts +6 -0
  351. package/node_modules/@aws-amplify/plugin-types/lib/backend_output.js +3 -0
  352. package/node_modules/@aws-amplify/plugin-types/lib/backend_secret_resolver.d.ts +13 -0
  353. package/node_modules/@aws-amplify/plugin-types/lib/backend_secret_resolver.js +3 -0
  354. package/node_modules/@aws-amplify/plugin-types/lib/backend_stack_creator.d.ts +8 -0
  355. package/node_modules/@aws-amplify/plugin-types/lib/backend_stack_creator.js +3 -0
  356. package/node_modules/@aws-amplify/plugin-types/lib/backend_stack_resolver.d.ts +7 -0
  357. package/node_modules/@aws-amplify/plugin-types/lib/backend_stack_resolver.js +3 -0
  358. package/node_modules/@aws-amplify/plugin-types/lib/construct_container.d.ts +26 -0
  359. package/node_modules/@aws-amplify/plugin-types/lib/construct_container.js +3 -0
  360. package/node_modules/@aws-amplify/plugin-types/lib/construct_factory.d.ts +21 -0
  361. package/node_modules/@aws-amplify/plugin-types/lib/construct_factory.js +3 -0
  362. package/node_modules/@aws-amplify/plugin-types/lib/function_resources.d.ts +5 -0
  363. package/node_modules/@aws-amplify/plugin-types/lib/function_resources.js +3 -0
  364. package/node_modules/@aws-amplify/plugin-types/lib/import_path_verifier.d.ts +14 -0
  365. package/node_modules/@aws-amplify/plugin-types/lib/import_path_verifier.js +3 -0
  366. package/node_modules/@aws-amplify/plugin-types/lib/index.d.ts +16 -0
  367. package/node_modules/@aws-amplify/plugin-types/lib/index.js +32 -0
  368. package/node_modules/@aws-amplify/plugin-types/lib/output_retrieval_strategy.d.ts +11 -0
  369. package/node_modules/@aws-amplify/plugin-types/lib/output_retrieval_strategy.js +3 -0
  370. package/node_modules/@aws-amplify/plugin-types/lib/output_storage_strategy.d.ts +8 -0
  371. package/node_modules/@aws-amplify/plugin-types/lib/output_storage_strategy.js +3 -0
  372. package/node_modules/@aws-amplify/plugin-types/lib/resource_provider.d.ts +7 -0
  373. package/node_modules/@aws-amplify/plugin-types/lib/resource_provider.js +3 -0
  374. package/node_modules/@aws-amplify/plugin-types/lib/unique_backend_identifier.d.ts +25 -0
  375. package/node_modules/@aws-amplify/plugin-types/lib/unique_backend_identifier.js +3 -0
  376. package/node_modules/@aws-amplify/plugin-types/package.json +20 -0
  377. package/node_modules/graphql-mapping-template/CHANGELOG.md +0 -4
  378. package/node_modules/graphql-mapping-template/package.json +2 -3
  379. package/node_modules/graphql-transformer-common/API.md +3 -21
  380. package/node_modules/graphql-transformer-common/CHANGELOG.md +2 -7
  381. package/node_modules/graphql-transformer-common/lib/ResourceConstants.d.ts +3 -0
  382. package/node_modules/graphql-transformer-common/lib/ResourceConstants.d.ts.map +1 -1
  383. package/node_modules/graphql-transformer-common/lib/ResourceConstants.js +3 -0
  384. package/node_modules/graphql-transformer-common/lib/ResourceConstants.js.map +1 -1
  385. package/node_modules/graphql-transformer-common/lib/definition.d.ts +2 -9
  386. package/node_modules/graphql-transformer-common/lib/definition.d.ts.map +1 -1
  387. package/node_modules/graphql-transformer-common/lib/definition.js +1 -52
  388. package/node_modules/graphql-transformer-common/lib/definition.js.map +1 -1
  389. package/node_modules/graphql-transformer-common/lib/util.d.ts.map +1 -1
  390. package/node_modules/graphql-transformer-common/lib/util.js +1 -3
  391. package/node_modules/graphql-transformer-common/lib/util.js.map +1 -1
  392. package/node_modules/graphql-transformer-common/package.json +6 -6
  393. package/package.json +25 -27
  394. package/src/amplify-dynamodb-table-wrapper.ts +177 -0
  395. package/src/amplify-graphql-api.ts +14 -76
  396. package/src/amplify-graphql-definition.ts +60 -20
  397. package/src/index.ts +13 -6
  398. package/src/internal/authorization-modes.ts +22 -1
  399. package/src/internal/construct-exports.ts +7 -0
  400. package/src/internal/data-source-config.ts +39 -0
  401. package/src/internal/index.ts +1 -1
  402. package/src/internal/model-type-name.ts +30 -0
  403. package/src/types.ts +59 -118
  404. package/babel.config.js +0 -13
  405. package/lib/internal/amplify-metadata.d.ts +0 -6
  406. package/lib/internal/amplify-metadata.js +0 -58
  407. package/lib/sql-model-datasource-binding.d.ts +0 -20
  408. package/lib/sql-model-datasource-binding.js +0 -42
  409. package/node_modules/@aws-amplify/backend-output-schemas/lib/index.internal.d.ts +0 -3
  410. package/node_modules/@aws-amplify/backend-output-schemas/lib/index.internal.js +0 -27
  411. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.d.ts +0 -20
  412. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.d.ts.map +0 -1
  413. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.js +0 -24
  414. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.js.map +0 -1
  415. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/field.d.ts.map +0 -1
  416. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/field.js.map +0 -1
  417. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/helpers.d.ts.map +0 -1
  418. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/helpers.js.map +0 -1
  419. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/index.d.ts.map +0 -1
  420. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/index.js.map +0 -1
  421. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.create.d.ts.map +0 -1
  422. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.create.js.map +0 -1
  423. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.delete.d.ts.map +0 -1
  424. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.delete.js.map +0 -1
  425. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.update.d.ts.map +0 -1
  426. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.update.js.map +0 -1
  427. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.d.ts +0 -6
  428. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.d.ts.map +0 -1
  429. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.js.map +0 -1
  430. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/search.d.ts.map +0 -1
  431. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/search.js.map +0 -1
  432. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/subscriptions.d.ts +0 -3
  433. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/subscriptions.d.ts.map +0 -1
  434. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/subscriptions.js.map +0 -1
  435. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.d.ts +0 -20
  436. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.d.ts.map +0 -1
  437. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.js +0 -24
  438. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.js.map +0 -1
  439. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.d.ts +0 -13
  440. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.d.ts.map +0 -1
  441. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.js +0 -157
  442. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.js.map +0 -1
  443. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.d.ts +0 -5
  444. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.d.ts.map +0 -1
  445. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.js +0 -21
  446. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.js.map +0 -1
  447. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.d.ts +0 -8
  448. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.d.ts.map +0 -1
  449. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.js +0 -56
  450. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.js.map +0 -1
  451. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.d.ts +0 -8
  452. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.d.ts.map +0 -1
  453. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.js +0 -41
  454. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.js.map +0 -1
  455. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/subscription.d.ts.map +0 -1
  456. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/subscription.js +0 -18
  457. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/subscription.js.map +0 -1
  458. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.d.ts +0 -19
  459. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.d.ts.map +0 -1
  460. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.js +0 -3
  461. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.js.map +0 -1
  462. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.d.ts +0 -10
  463. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.d.ts.map +0 -1
  464. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.js +0 -102
  465. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.js.map +0 -1
  466. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.d.ts +0 -13
  467. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.d.ts.map +0 -1
  468. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.js +0 -81
  469. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.js.map +0 -1
  470. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.d.ts +0 -13
  471. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.d.ts.map +0 -1
  472. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.js +0 -171
  473. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.js.map +0 -1
  474. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.d.ts +0 -4
  475. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.d.ts.map +0 -1
  476. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.js +0 -18
  477. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.js.map +0 -1
  478. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.d.ts +0 -8
  479. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.d.ts.map +0 -1
  480. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.js +0 -7
  481. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.js.map +0 -1
  482. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.d.ts +0 -14
  483. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.d.ts.map +0 -1
  484. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.js +0 -115
  485. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.js.map +0 -1
  486. package/node_modules/@aws-amplify/graphql-sql-transformer/API.md +0 -26
  487. package/node_modules/@aws-amplify/graphql-sql-transformer/CHANGELOG.md +0 -10
  488. package/node_modules/@aws-amplify/graphql-sql-transformer/LICENSE +0 -201
  489. package/node_modules/@aws-amplify/graphql-sql-transformer/README.md +0 -13
  490. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.d.ts +0 -12
  491. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.d.ts.map +0 -1
  492. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.js +0 -132
  493. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.js.map +0 -1
  494. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.d.ts +0 -2
  495. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.d.ts.map +0 -1
  496. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.js +0 -6
  497. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.js.map +0 -1
  498. package/node_modules/@aws-amplify/graphql-sql-transformer/package.json +0 -71
  499. package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/project-config.d.ts +0 -6
  500. package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/project-config.d.ts.map +0 -1
  501. package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/project-config.js +0 -3
  502. package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/project-config.js.map +0 -1
  503. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.d.ts +0 -2
  504. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.d.ts.map +0 -1
  505. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.js +0 -5
  506. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.js.map +0 -1
  507. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.d.ts +0 -3
  508. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.d.ts.map +0 -1
  509. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.js +0 -19
  510. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.js.map +0 -1
  511. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.d.ts +0 -14
  512. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.d.ts.map +0 -1
  513. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.js +0 -82
  514. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.js.map +0 -1
  515. package/node_modules/graphql-mapping-template/LICENSE +0 -201
  516. package/remove-module-type-from-package-json.ts +0 -19
  517. package/src/internal/amplify-metadata.ts +0 -58
  518. package/src/sql-model-datasource-binding.ts +0 -45
  519. /package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/index.d.ts +0 -0
  520. /package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/index.js +0 -0
package/lib/types.d.ts CHANGED
@@ -5,7 +5,7 @@ import { IRole, CfnRole } from 'aws-cdk-lib/aws-iam';
5
5
  import { IUserPool } from 'aws-cdk-lib/aws-cognito';
6
6
  import { IFunction, CfnFunction } from 'aws-cdk-lib/aws-lambda';
7
7
  import { IBucket } from 'aws-cdk-lib/aws-s3';
8
- import { SQLDBType } from '@aws-amplify/graphql-transformer-core';
8
+ import { AmplifyDynamoDbTableWrapper } from './amplify-dynamodb-table-wrapper';
9
9
  /**
10
10
  * Configuration for IAM Authorization on the Graphql Api.
11
11
  * @struct - required since this interface begins with an 'I'
@@ -24,6 +24,12 @@ export interface IAMAuthorizationConfig {
24
24
  * Unauthenticated user role, applies to { provider: iam, allow: public } access.
25
25
  */
26
26
  readonly unauthenticatedUserRole: IRole;
27
+ /**
28
+ * A list of IAM roles which will be granted full read/write access to the generated model if IAM auth is enabled.
29
+ * If an IRole is provided, the role `name` will be used for matching.
30
+ * If a string is provided, the raw value will be used for matching.
31
+ */
32
+ readonly allowListedRoles?: (IRole | string)[];
27
33
  }
28
34
  /**
29
35
  * Configuration for Cognito UserPool Authorization on the Graphql Api.
@@ -125,6 +131,7 @@ export interface AuthorizationModes {
125
131
  readonly lambdaConfig?: LambdaAuthorizationConfig;
126
132
  /**
127
133
  * A list of roles granted full R/W access to the Api.
134
+ * @deprecated, use iamConfig.allowListedRoles instead.
128
135
  */
129
136
  readonly adminRoles?: IRole[];
130
137
  }
@@ -327,13 +334,6 @@ export interface TranslationBehavior {
327
334
  * @default true
328
335
  */
329
336
  readonly respectPrimaryKeyAttributesOnConnectionField: boolean;
330
- /**
331
- * If enabled, set nodeToNodeEncryption on the searchable domain (if one exists). Not recommended for use, prefer
332
- * to use `Object.values(resources.additionalResources['AWS::Elasticsearch::Domain']).forEach((domain: CfnDomain) => {
333
- * domain.NodeToNodeEncryptionOptions = { Enabled: True };
334
- * });
335
- * @default false
336
- */
337
337
  readonly enableSearchNodeToNodeEncryption: boolean;
338
338
  /**
339
339
  * When enabled, internal cfn outputs which existed in Amplify-generated apps will continue to be emitted.
@@ -423,9 +423,10 @@ export interface IAmplifyGraphqlDefinition {
423
423
  */
424
424
  readonly functionSlots: FunctionSlot[];
425
425
  /**
426
- * Return the DataSource binding information for models defined in `schema`.
426
+ * Retrieve the datasource definition mapping. The default strategy is to use DynamoDB from CloudFormation.
427
+ * @returns datasource definition mapping
427
428
  */
428
- readonly modelDataSourceBinding: ModelDataSourceBinding;
429
+ readonly dataSourceDefinition: Record<string, ModelDataSourceDefinition>;
429
430
  }
430
431
  /**
431
432
  * Entry representing the required output from the backend for codegen generate commands to work.
@@ -451,6 +452,43 @@ export interface IBackendOutputStorageStrategy {
451
452
  */
452
453
  addBackendOutputEntry(keyName: string, backendOutputEntry: IBackendOutputEntry): void;
453
454
  }
455
+ /**
456
+ * Defines a datasource for resolving GraphQL operations against `@model` types in a GraphQL schema.
457
+ * @experimental
458
+ */
459
+ export interface ModelDataSourceDefinition {
460
+ /**
461
+ * The name of the ModelDataSource. This will be used to name the AppSynce DataSource itself, plus any associated resources like resolver
462
+ * Lambdas, custom CDK resources. This name must be unique across all schema definitions in a GraphQL API.
463
+ */
464
+ readonly name: string;
465
+ /**
466
+ * The ModelDataSourceDefinitionStrategy.
467
+ */
468
+ readonly strategy: ModelDataSourceDefinitionStrategy;
469
+ }
470
+ /**
471
+ * All known ModelDataSourceDefinitionStrategies. Concrete strategies vary widely in their requirements and implementations.
472
+ * @experimental
473
+ */
474
+ export type ModelDataSourceDefinitionStrategy = DefaultDynamoDbModelDataSourceDefinitionStrategy | AmplifyDynamoDbModelDataSourceDefinitionStrategy;
475
+ export type ModelDataSourceDefinitionDbType = 'DYNAMODB';
476
+ /**
477
+ * Use default CloudFormation type 'AWS::DynamoDB::Table' to provision table.
478
+ * @experimental
479
+ */
480
+ export interface DefaultDynamoDbModelDataSourceDefinitionStrategy {
481
+ readonly dbType: 'DYNAMODB';
482
+ readonly provisionStrategy: 'DEFAULT';
483
+ }
484
+ /**
485
+ * Use custom resource type 'Custom::AmplifyDynamoDBTable' to provision table.
486
+ * @experimental
487
+ */
488
+ export interface AmplifyDynamoDbModelDataSourceDefinitionStrategy {
489
+ readonly dbType: 'DYNAMODB';
490
+ readonly provisionStrategy: 'AMPLIFY_TABLE';
491
+ }
454
492
  /**
455
493
  * Input props for the AmplifyGraphqlApi construct. Specifies what the input to transform into an Api, and configurations for
456
494
  * the transformation process.
@@ -575,6 +613,10 @@ export interface AmplifyGraphqlApiResources {
575
613
  * The Generated DynamoDB Table L2 Resources, keyed by logicalId.
576
614
  */
577
615
  readonly tables: Record<string, ITable>;
616
+ /**
617
+ * The Generated Amplify DynamoDb Table wrapped if produced, keyed by name.
618
+ */
619
+ readonly amplifyDynamoDbTables: Record<string, AmplifyDynamoDbTableWrapper>;
578
620
  /**
579
621
  * The Generated IAM Role L2 Resources, keyed by logicalId.
580
622
  */
@@ -636,95 +678,3 @@ export interface AddFunctionProps {
636
678
  */
637
679
  readonly code?: Code;
638
680
  }
639
- /**
640
- * Additional binding configurations used to resolve models in an AmplifyGraphqlDefinition with a data source. AmplifyGraphqlApiDefinitions
641
- * created with one of these data sources can use the `@model` directive to provision storage (DynamoDB only), define fine-grained
642
- * authorization rules, re-map GraphQL field names, define model-to-model relationships, and more. See
643
- * https://docs.amplify.aws/cli/graphql/directives-reference/.
644
- * @experimental
645
- */
646
- export type ModelDataSourceBinding = DynamoModelDataSourceBinding | SqlModelDataSourceBinding;
647
- /**
648
- * Binding type to specify a DyanamoDB data source.
649
- * @experimental
650
- */
651
- export interface DynamoModelDataSourceBinding {
652
- /**
653
- * The type of the data source used to process model operations for this definition.
654
- * @default 'DynamoDB'
655
- */
656
- readonly bindingType: 'DynamoDB';
657
- }
658
- /**
659
- * Additional binding configurations used to connect an AmplifyGraphqlApi to a SQL-based data source using a Lambda.
660
- *
661
- * The `bindingType` of this data source must be one of the values defined by `SqlModelDataSourceBindingType`.
662
- * @experimental
663
- */
664
- export interface SqlModelDataSourceBinding {
665
- /**
666
- * The type of the SQL database used to process model operations for this definition.
667
- */
668
- readonly bindingType: SQLDBType;
669
- /**
670
- * The configuration of the VPC into which to install the Lambda.
671
- */
672
- readonly vpcConfiguration: SqlModelDataSourceBindingVpcConfig;
673
- /**
674
- * Custom SQL statements. The key is the value of the `references` attribute of the `@sql` directive in the `schema`; the value is the SQL
675
- * to be executed.
676
- */
677
- readonly customSqlStatements?: Record<string, string>;
678
- /**
679
- * The parameters the Lambda data source will use to connect to the database.
680
- */
681
- readonly dbConnectionConfig: SqlModelDataSourceBindingDbConnectionConfig;
682
- }
683
- /**
684
- * Configuration of the VPC in which to install a Lambda to resolve queries against a SQL-based data source. The SQL Lambda will be deployed
685
- * into the specified VPC, subnets, and security groups. The specified subnets and security groups must be in the same VPC. The VPC must
686
- * have at least one subnet. The construct will also create VPC service endpoints in the specified subnets, as well as inbound security
687
- * rules, to allow traffic on port 443 within each security group. This allows the Lambda to read database connection information from
688
- * Secure Systems Manager.
689
- * @experimental
690
- */
691
- export interface SqlModelDataSourceBindingVpcConfig {
692
- /** The VPC to install the Lambda data source in. */
693
- readonly vpcId: string;
694
- /** The security groups to install the Lambda data source in. */
695
- readonly securityGroupIds: string[];
696
- /** The subnets to install the Lambda data source in, one per availability zone. */
697
- readonly subnetAvailabilityZones: SubnetAvailabilityZone[];
698
- }
699
- /**
700
- * Subnet configuration for VPC endpoints used by a Lambda resolver for a SQL-based data source. Although it is possible to create multiple
701
- * subnets in a single availability zone, VPC service endpoints may only be deployed to a single subnet in a given availability zone. This
702
- * structure ensures that the Lambda function and VPC service endpoints are mutually consistent.
703
- * @experimental
704
- */
705
- export interface SubnetAvailabilityZone {
706
- /** The subnet ID to install the Lambda data source in. */
707
- readonly subnetId: string;
708
- /** The availability zone of the subnet. */
709
- readonly availabilityZone: string;
710
- }
711
- /**
712
- * The Secure Systems Manager parameter paths the Lambda data source will use to connect to the database.
713
- *
714
- * These parameters are retrieved from Secure Systems Manager in the same region as the Lambda.
715
- * @experimental
716
- */
717
- export interface SqlModelDataSourceBindingDbConnectionConfig {
718
- /** The Secure Systems Manager parameter containing the hostname of the database. For RDS-based SQL data sources, this can be the hostname
719
- * of a database proxy, cluster, or instance.
720
- */
721
- readonly hostnameSsmPath: string;
722
- /** The Secure Systems Manager parameter containing the port number of the database proxy, cluster, or instance. */
723
- readonly portSsmPath: string;
724
- /** The Secure Systems Manager parameter containing the username to use when connecting to the database. */
725
- readonly usernameSsmPath: string;
726
- /** The Secure Systems Manager parameter containing the password to use when connecting to the database. */
727
- readonly passwordSsmPath: string;
728
- /** The Secure Systems Manager parameter containing the database name. */
729
- readonly databaseNameSsmPath: string;
730
- }
package/lib/types.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uLCBDZm5SZXNvdXJjZSwgTmVzdGVkU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQge1xuICBDZm5HcmFwaFFMQXBpLFxuICBDZm5HcmFwaFFMU2NoZW1hLFxuICBDZm5BcGlLZXksXG4gIENmblJlc29sdmVyLFxuICBDZm5GdW5jdGlvbkNvbmZpZ3VyYXRpb24sXG4gIENmbkRhdGFTb3VyY2UsXG4gIElHcmFwaHFsQXBpLFxuICBNYXBwaW5nVGVtcGxhdGUsXG4gIEJhc2VEYXRhU291cmNlLFxuICBDb2RlLFxuICBGdW5jdGlvblJ1bnRpbWUsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcHBzeW5jJztcbmltcG9ydCB7IENmblRhYmxlLCBJVGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGInO1xuaW1wb3J0IHsgSVJvbGUsIENmblJvbGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IElVc2VyUG9vbCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2duaXRvJztcbmltcG9ydCB7IElGdW5jdGlvbiwgQ2ZuRnVuY3Rpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IElCdWNrZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgU1FMREJUeXBlIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L2dyYXBocWwtdHJhbnNmb3JtZXItY29yZSc7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgSUFNIEF1dGhvcml6YXRpb24gb24gdGhlIEdyYXBocWwgQXBpLlxuICogQHN0cnVjdCAtIHJlcXVpcmVkIHNpbmNlIHRoaXMgaW50ZXJmYWNlIGJlZ2lucyB3aXRoIGFuICdJJ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElBTUF1dGhvcml6YXRpb25Db25maWcge1xuICAvKipcbiAgICogSUQgZm9yIHRoZSBDb2duaXRvIElkZW50aXR5IFBvb2wgdmVuZGluZyBhdXRoIGFuZCB1bmF1dGggcm9sZXMuXG4gICAqIEZvcm1hdDogYDxyZWdpb24+OjxpZCBzdHJpbmc+YFxuICAgKi9cbiAgcmVhZG9ubHkgaWRlbnRpdHlQb29sSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogQXV0aGVudGljYXRlZCB1c2VyIHJvbGUsIGFwcGxpZXMgdG8geyBwcm92aWRlcjogaWFtLCBhbGxvdzogcHJpdmF0ZSB9IGFjY2Vzcy5cbiAgICovXG4gIHJlYWRvbmx5IGF1dGhlbnRpY2F0ZWRVc2VyUm9sZTogSVJvbGU7XG5cbiAgLyoqXG4gICAqIFVuYXV0aGVudGljYXRlZCB1c2VyIHJvbGUsIGFwcGxpZXMgdG8geyBwcm92aWRlcjogaWFtLCBhbGxvdzogcHVibGljIH0gYWNjZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgdW5hdXRoZW50aWNhdGVkVXNlclJvbGU6IElSb2xlO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIENvZ25pdG8gVXNlclBvb2wgQXV0aG9yaXphdGlvbiBvbiB0aGUgR3JhcGhxbCBBcGkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclBvb2xBdXRob3JpemF0aW9uQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBDb2duaXRvIFVzZXIgUG9vbCB3aGljaCBpcyB1c2VkIHRvIGF1dGhlbnRpY2F0ZWQgSldUIHRva2VucywgYW5kIHZlbmRzIGdyb3VwIGFuZCB1c2VyIGluZm9ybWF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdXNlclBvb2w6IElVc2VyUG9vbDtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBPcGVuSWQgQ29ubmVjdCBBdXRob3JpemF0aW9uIG9uIHRoZSBHcmFwaHFsIEFwaS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPSURDQXV0aG9yaXphdGlvbkNvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgaXNzdWVyIGZvciB0aGUgT0lEQyBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgb2lkY1Byb3ZpZGVyTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBVcmwgZm9yIHRoZSBPSURDIHRva2VuIGlzc3Vlci5cbiAgICovXG4gIHJlYWRvbmx5IG9pZGNJc3N1ZXJVcmw6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNsaWVudCBpZGVudGlmaWVyIG9mIHRoZSBSZWx5aW5nIHBhcnR5IGF0IHRoZSBPcGVuSUQgaWRlbnRpdHkgcHJvdmlkZXIuXG4gICAqIEEgcmVndWxhciBleHByZXNzaW9uIGNhbiBiZSBzcGVjaWZpZWQgc28gQXBwU3luYyBjYW4gdmFsaWRhdGUgYWdhaW5zdCBtdWx0aXBsZSBjbGllbnQgaWRlbnRpZmllcnMgYXQgYSB0aW1lLiBFeGFtcGxlXG4gICAqL1xuICByZWFkb25seSBjbGllbnRJZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGR1cmF0aW9uIGFuIE9JREMgdG9rZW4gaXMgdmFsaWQgYWZ0ZXIgYmVpbmcgYXV0aGVudGljYXRlZCBieSBPSURDIHByb3ZpZGVyLlxuICAgKiBhdXRoX3RpbWUgY2xhaW0gaW4gT0lEQyB0b2tlbiBpcyByZXF1aXJlZCBmb3IgdGhpcyB2YWxpZGF0aW9uIHRvIHdvcmsuXG4gICAqL1xuICByZWFkb25seSB0b2tlbkV4cGlyeUZyb21BdXRoOiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIGR1cmF0aW9uIGFuIE9JREMgdG9rZW4gaXMgdmFsaWQgYWZ0ZXIgYmVpbmcgaXNzdWVkIHRvIGEgdXNlci5cbiAgICogVGhpcyB2YWxpZGF0aW9uIHVzZXMgaWF0IGNsYWltIG9mIE9JREMgdG9rZW4uXG4gICAqL1xuICByZWFkb25seSB0b2tlbkV4cGlyeUZyb21Jc3N1ZTogRHVyYXRpb247XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgQXBpIEtleXMgb24gdGhlIEdyYXBocWwgQXBpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwaUtleUF1dGhvcml6YXRpb25Db25maWcge1xuICAvKipcbiAgICogT3B0aW9uYWwgZGVzY3JpcHRpb24gZm9yIHRoZSBBcGkgS2V5IHRvIGF0dGFjaCB0byB0aGUgQXBpLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgZHVyYXRpb24gcmVwcmVzZW50aW5nIHRoZSB0aW1lIGZyb20gQ2xvdWRmb3JtYXRpb24gZGVwbG95IHVudGlsIGV4cGlyeS5cbiAgICovXG4gIHJlYWRvbmx5IGV4cGlyZXM6IER1cmF0aW9uO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIEN1c3RvbSBMYW1iZGEgYXV0aG9yaXphdGlvbiBvbiB0aGUgR3JhcGhxbCBBcGkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGFtYmRhQXV0aG9yaXphdGlvbkNvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgYXV0aG9yaXplciBsYW1iZGEgZnVuY3Rpb24uXG4gICAqL1xuICByZWFkb25seSBmdW5jdGlvbjogSUZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBIb3cgbG9uZyB0aGUgcmVzdWx0cyBhcmUgY2FjaGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdHRsOiBEdXJhdGlvbjtcbn1cblxuLyoqXG4gKiBBdXRob3JpemF0aW9uIE1vZGVzIHRvIGFwcGx5IHRvIHRoZSBBcGkuXG4gKiBBdCBsZWFzdCBvbmUgbW9kZXMgbXVzdCBiZSBwcm92aWRlZCwgYW5kIGlmIG1vcmUgdGhhbiBvbmUgYXJlIHByb3ZpZGVkIGEgZGVmYXVsdEF1dGhvcml6YXRpb25Nb2RlIG11c3QgYmUgc3BlY2lmaWVkLlxuICogRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gQW1wbGlmeSBBcGkgYXV0aCwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9ncmFwaHFsL2F1dGhvcml6YXRpb24tcnVsZXMvI2F1dGhvcml6YXRpb24tc3RyYXRlZ2llc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhvcml6YXRpb25Nb2RlcyB7XG4gIC8qKlxuICAgKiBEZWZhdWx0IGF1dGggbW9kZSB0byBwcm92aWRlIHRvIHRoZSBBcGksIHJlcXVpcmVkIGlmIG1vcmUgdGhhbiBvbmUgY29uZmlnIHR5cGUgaXMgc3BlY2lmaWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdEF1dGhvcml6YXRpb25Nb2RlPzogJ0FXU19JQU0nIHwgJ0FNQVpPTl9DT0dOSVRPX1VTRVJfUE9PTFMnIHwgJ09QRU5JRF9DT05ORUNUJyB8ICdBUElfS0VZJyB8ICdBV1NfTEFNQkRBJztcblxuICAvKipcbiAgICogSUFNIEF1dGggY29uZmlnLCByZXF1aXJlZCBpZiBhbiAnaWFtJyBhdXRoIHByb3ZpZGVyIGlzIHNwZWNpZmllZCBpbiB0aGUgQXBpLlxuICAgKiBBcHBsaWVzIHRvICdwdWJsaWMnIGFuZCAncHJpdmF0ZScgYXV0aCBzdHJhdGVnaWVzLlxuICAgKi9cbiAgcmVhZG9ubHkgaWFtQ29uZmlnPzogSUFNQXV0aG9yaXphdGlvbkNvbmZpZztcblxuICAvKipcbiAgICogQ29nbml0byBVc2VyUG9vbCBjb25maWcsIHJlcXVpcmVkIGlmIGEgJ3VzZXJQb29scycgYXV0aCBwcm92aWRlciBpcyBzcGVjaWZpZWQgaW4gdGhlIEFwaS5cbiAgICogQXBwbGllcyB0byAnb3duZXInLCAncHJpdmF0ZScsIGFuZCAnZ3JvdXAnIGF1dGggc3RyYXRlZ2llcy5cbiAgICovXG4gIHJlYWRvbmx5IHVzZXJQb29sQ29uZmlnPzogVXNlclBvb2xBdXRob3JpemF0aW9uQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBDb2duaXRvIE9JREMgY29uZmlnLCByZXF1aXJlZCBpZiBhICdvaWRjJyBhdXRoIHByb3ZpZGVyIGlzIHNwZWNpZmllZCBpbiB0aGUgQXBpLlxuICAgKiBBcHBsaWVzIHRvICdvd25lcicsICdwcml2YXRlJywgYW5kICdncm91cCcgYXV0aCBzdHJhdGVnaWVzLlxuICAgKi9cbiAgcmVhZG9ubHkgb2lkY0NvbmZpZz86IE9JRENBdXRob3JpemF0aW9uQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBBcHBTeW5jIEFwaSBLZXkgY29uZmlnLCByZXF1aXJlZCBpZiBhICdhcGlLZXknIGF1dGggcHJvdmlkZXIgaXMgc3BlY2lmaWVkIGluIHRoZSBBcGkuXG4gICAqIEFwcGxpZXMgdG8gJ3B1YmxpYycgYXV0aCBzdHJhdGVneS5cbiAgICovXG4gIHJlYWRvbmx5IGFwaUtleUNvbmZpZz86IEFwaUtleUF1dGhvcml6YXRpb25Db25maWc7XG5cbiAgLyoqXG4gICAqIExhbWJkYSBjb25maWcsIHJlcXVpcmVkIGlmIGEgJ2Z1bmN0aW9uJyBhdXRoIHByb3ZpZGVyIGlzIHNwZWNpZmllZCBpbiB0aGUgQXBpLlxuICAgKiBBcHBsaWVzIHRvICdjdXN0b20nIGF1dGggc3RyYXRlZ3kuXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFDb25maWc/OiBMYW1iZGFBdXRob3JpemF0aW9uQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2Ygcm9sZXMgZ3JhbnRlZCBmdWxsIFIvVyBhY2Nlc3MgdG8gdGhlIEFwaS5cbiAgICovXG4gIHJlYWRvbmx5IGFkbWluUm9sZXM/OiBJUm9sZVtdO1xufVxuXG4vKipcbiAqIFdoZXRoZXIgb3Igbm90IHRvIHVzZSBhIHZlcnNpb24gZmllbGQgdG8gdHJhY2sgY29uZmxpY3QgZGV0ZWN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBDb25mbGljdERldGVjdGlvblR5cGUgPSAnVkVSU0lPTicgfCAnTk9ORSc7XG5cbi8qKlxuICogQ29tbW9uIHBhcmFtZXRlcnMgZm9yIGNvbmZsaWN0IHJlc29sdXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3lCYXNlIHtcbiAgLyoqXG4gICAqIFRoZSBjb25mbGljdCBkZXRlY3Rpb24gdHlwZSB1c2VkIGZvciByZXNvbHV0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZGV0ZWN0aW9uVHlwZTogQ29uZmxpY3REZXRlY3Rpb25UeXBlO1xufVxuXG4vKipcbiAqIEVuYWJsZSBvcHRpbWlzdGljIGNvbmN1cnJlbmN5IG9uIHRoZSBwcm9qZWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9tZXJnZUNvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5IGV4dGVuZHMgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3lCYXNlIHtcbiAgLyoqXG4gICAqIFRoaXMgY29uZmxpY3QgcmVzb2x1dGlvbiBzdHJhdGVneSBleGVjdXRlcyBhbiBhdXRvLW1lcmdlLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwcHN5bmMvbGF0ZXN0L2Rldmd1aWRlL2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtc3luYy5odG1sI2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtcmVzb2x1dGlvblxuICAgKi9cbiAgcmVhZG9ubHkgaGFuZGxlclR5cGU6ICdBVVRPTUVSR0UnO1xufVxuXG4vKipcbiAqIEVuYWJsZSBhdXRvbWVyZ2Ugb24gdGhlIHByb2plY3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW1pc3RpY0NvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5IGV4dGVuZHMgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3lCYXNlIHtcbiAgLyoqXG4gICAqIFRoaXMgY29uZmxpY3QgcmVzb2x1dGlvbiBzdHJhdGVneSB0aGUgX3ZlcnNpb24gdG8gcGVyZm9ybSBvcHRpbWlzdGljIGNvbmN1cnJlbmN5LlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwcHN5bmMvbGF0ZXN0L2Rldmd1aWRlL2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtc3luYy5odG1sI2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtcmVzb2x1dGlvblxuICAgKi9cbiAgcmVhZG9ubHkgaGFuZGxlclR5cGU6ICdPUFRJTUlTVElDX0NPTkNVUlJFTkNZJztcbn1cblxuLyoqXG4gKiBFbmFibGUgY3VzdG9tIHN5bmMgb24gdGhlIHByb2plY3QsIHBvd2VyZWQgYnkgYSBsYW1iZGEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3kgZXh0ZW5kcyBDb25mbGljdFJlc29sdXRpb25TdHJhdGVneUJhc2Uge1xuICAvKipcbiAgICogVGhpcyBjb25mbGljdCByZXNvbHV0aW9uIHN0cmF0ZWd5IHVzZXMgYSBsYW1iZGEgaGFuZGxlciB0eXBlLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwcHN5bmMvbGF0ZXN0L2Rldmd1aWRlL2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtc3luYy5odG1sI2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtcmVzb2x1dGlvblxuXG4gICAqL1xuICByZWFkb25seSBoYW5kbGVyVHlwZTogJ0xBTUJEQSc7XG5cbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbiB3aGljaCB3aWxsIGJlIGludm9rZWQgZm9yIGNvbmZsaWN0IHJlc29sdXRpb24uXG4gICAqL1xuICByZWFkb25seSBjb25mbGljdEhhbmRsZXI6IElGdW5jdGlvbjtcbn1cblxuLyoqXG4gKiBDb25mbGljdCBSZXNvbHV0aW9uIFN0cmF0ZWd5IHRvIGFwcGx5IHRvIHRoZSBwcm9qZWN0IG9yIGEgcGFydGljdWxhciBtb2RlbC5cbiAqL1xuZXhwb3J0IHR5cGUgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3kgPVxuICB8IEF1dG9tZXJnZUNvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5XG4gIHwgT3B0aW1pc3RpY0NvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5XG4gIHwgQ3VzdG9tQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3k7XG5cbi8qKlxuICogUHJvamVjdCBsZXZlbCBjb25maWd1cmF0aW9uIGZvciBjb25mbGljdCByZXNvbHV0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZsaWN0UmVzb2x1dGlvbiB7XG4gIC8qKlxuICAgKiBQcm9qZWN0LXdpZGUgY29uZmlnIGZvciBjb25mbGljdCByZXNvbHV0aW9uLiBBcHBsaWVzIHRvIGFsbCBub24tb3ZlcnJpZGRlbiBtb2RlbHMuXG4gICAqL1xuICByZWFkb25seSBwcm9qZWN0PzogQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3k7XG5cbiAgLyoqXG4gICAqIE1vZGVsLXNwZWNpZmljIGNvbmZsaWN0IHJlc29sdXRpb24gb3ZlcnJpZGVzLlxuICAgKi9cbiAgcmVhZG9ubHkgbW9kZWxzPzogUmVjb3JkPHN0cmluZywgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3k+O1xufVxuXG4vKipcbiAqIFBhcmFtcyBleHBvc2VkIHRvIHN1cHBvcnQgY29uZmlndXJpbmcgYW5kIG92ZXJyaWRpbmcgcGlwZWxpbmVkIHNsb3RzLiBUaGlzIGFsbG93cyBjb25maWd1cmF0aW9uIG9mIHRoZSB1bmRlcmx5aW5nIGZ1bmN0aW9uLFxuICogaW5jbHVkaW5nIHRoZSByZXF1ZXN0IGFuZCByZXNwb25zZSBtYXBwaW5nIHRlbXBsYXRlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvblNsb3RPdmVycmlkZSB7XG4gIC8qKlxuICAgKiBPdmVycmlkZSByZXF1ZXN0IG1hcHBpbmcgdGVtcGxhdGUgZm9yIHRoZSBmdW5jdGlvbiBzbG90LiBFeGVjdXRlZCBiZWZvcmUgdGhlIGRhdGFzb3VyY2UgaXMgaW52b2tlZC5cbiAgICovXG4gIHJlYWRvbmx5IHJlcXVlc3RNYXBwaW5nVGVtcGxhdGU/OiBNYXBwaW5nVGVtcGxhdGU7XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIHJlc3BvbnNlIG1hcHBpbmcgdGVtcGxhdGUgZm9yIHRoZSBmdW5jdGlvbiBzbG90LiBFeGVjdXRlZCBhZnRlciB0aGUgZGF0YXNvdXJjZSBpcyBpbnZva2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzcG9uc2VNYXBwaW5nVGVtcGxhdGU/OiBNYXBwaW5nVGVtcGxhdGU7XG59XG5cbi8qKlxuICogQ29tbW9uIHNsb3QgcGFyYW1ldGVycy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvblNsb3RCYXNlIHtcbiAgLyoqXG4gICAqIFRoZSBmaWVsZCB0byBhdHRhY2ggdGhpcyBmdW5jdGlvbiB0byBvbiB0aGUgQXBpIGRlZmluaXRpb24uXG4gICAqL1xuICByZWFkb25seSBmaWVsZE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNsb3QgaW5kZXggdG8gdXNlIHRvIGluamVjdCB0aGlzIGludG8gdGhlIGV4ZWN1dGlvbiBwaXBlbGluZS5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gc2xvdHRpbmcsIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvZ3JhcGhxbC9jdXN0b20tYnVzaW5lc3MtbG9naWMvI2V4dGVuZC1hbXBsaWZ5LWdlbmVyYXRlZC1yZXNvbHZlcnNcbiAgICovXG4gIHJlYWRvbmx5IHNsb3RJbmRleDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgb3ZlcnJpZGRlbiBiZWhhdmlvciBmb3IgdGhpcyBzbG90LlxuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb246IEZ1bmN0aW9uU2xvdE92ZXJyaWRlO1xufVxuXG4vKipcbiAqIFNsb3QgdHlwZXMgZm9yIE11dGF0aW9uIFJlc29sdmVycy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNdXRhdGlvbkZ1bmN0aW9uU2xvdCBleHRlbmRzIEZ1bmN0aW9uU2xvdEJhc2Uge1xuICAvKipcbiAgICogVGhpcyBzbG90IHR5cGUgYXBwbGllcyB0byB0aGUgTXV0YXRpb24gdHlwZSBvbiB0aGUgQXBpIGRlZmluaXRpb24uXG4gICAqL1xuICByZWFkb25seSB0eXBlTmFtZTogJ011dGF0aW9uJztcblxuICAvKipcbiAgICogVGhlIHNsb3QgbmFtZSB0byBpbmplY3QgdGhpcyBiZWhhdmlvciBpbnRvLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBzbG90dGluZywgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9ncmFwaHFsL2N1c3RvbS1idXNpbmVzcy1sb2dpYy8jZXh0ZW5kLWFtcGxpZnktZ2VuZXJhdGVkLXJlc29sdmVyc1xuICAgKi9cbiAgcmVhZG9ubHkgc2xvdE5hbWU6ICdpbml0JyB8ICdwcmVBdXRoJyB8ICdhdXRoJyB8ICdwb3N0QXV0aCcgfCAncHJlVXBkYXRlJyB8ICdwb3N0VXBkYXRlJyB8ICdmaW5pc2gnO1xufVxuXG4vKipcbiAqIFNsb3QgdHlwZXMgZm9yIFF1ZXJ5IFJlc29sdmVycy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBRdWVyeUZ1bmN0aW9uU2xvdCBleHRlbmRzIEZ1bmN0aW9uU2xvdEJhc2Uge1xuICAvKipcbiAgICogVGhpcyBzbG90IHR5cGUgYXBwbGllcyB0byB0aGUgUXVlcnkgdHlwZSBvbiB0aGUgQXBpIGRlZmluaXRpb24uXG4gICAqL1xuICByZWFkb25seSB0eXBlTmFtZTogJ1F1ZXJ5JztcblxuICAvKipcbiAgICogVGhlIHNsb3QgbmFtZSB0byBpbmplY3QgdGhpcyBiZWhhdmlvciBpbnRvLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBzbG90dGluZywgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9ncmFwaHFsL2N1c3RvbS1idXNpbmVzcy1sb2dpYy8jZXh0ZW5kLWFtcGxpZnktZ2VuZXJhdGVkLXJlc29sdmVyc1xuICAgKi9cbiAgcmVhZG9ubHkgc2xvdE5hbWU6ICdpbml0JyB8ICdwcmVBdXRoJyB8ICdhdXRoJyB8ICdwb3N0QXV0aCcgfCAncHJlRGF0YUxvYWQnIHwgJ3Bvc3REYXRhTG9hZCcgfCAnZmluaXNoJztcbn1cblxuLyoqXG4gKiBTbG90IHR5cGVzIGZvciBTdWJzY3JpcHRpb24gUmVzb2x2ZXJzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN1YnNjcmlwdGlvbkZ1bmN0aW9uU2xvdCBleHRlbmRzIEZ1bmN0aW9uU2xvdEJhc2Uge1xuICAvKipcbiAgICogVGhpcyBzbG90IHR5cGUgYXBwbGllcyB0byB0aGUgU3Vic2NyaXB0aW9uIHR5cGUgb24gdGhlIEFwaSBkZWZpbml0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZU5hbWU6ICdTdWJzY3JpcHRpb24nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2xvdCBuYW1lIHRvIGluamVjdCB0aGlzIGJlaGF2aW9yIGludG8uXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHNsb3R0aW5nLCByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvY3VzdG9tLWJ1c2luZXNzLWxvZ2ljLyNleHRlbmQtYW1wbGlmeS1nZW5lcmF0ZWQtcmVzb2x2ZXJzXG4gICAqL1xuICByZWFkb25seSBzbG90TmFtZTogJ2luaXQnIHwgJ3ByZUF1dGgnIHwgJ2F1dGgnIHwgJ3Bvc3RBdXRoJyB8ICdwcmVTdWJzY3JpYmUnO1xufVxuXG4vKipcbiAqIElucHV0IHBhcmFtcyB0byB1bmlxdWVseSBpZGVudGlmeSB0aGUgc2xvdCB3aGljaCBpcyBiZWluZyBvdmVycmlkZGVuLlxuICovXG5leHBvcnQgdHlwZSBGdW5jdGlvblNsb3QgPSBNdXRhdGlvbkZ1bmN0aW9uU2xvdCB8IFF1ZXJ5RnVuY3Rpb25TbG90IHwgU3Vic2NyaXB0aW9uRnVuY3Rpb25TbG90O1xuXG4vKipcbiAqIFN0cm9uZ2x5IHR5cGVkIHNldCBvZiBzaGFyZWQgcGFyYW1ldGVycyBmb3IgYWxsIHRyYW5zZm9ybWVycywgYW5kIGNvcmUgbGF5ZXIuXG4gKiBUaGlzIGlzIGludGVuZGVkIHRvIHJlcGxhY2UgZmVhdHVyZSBmbGFncywgdG8gZW5zdXJlIHBhcmFtIGNvZXJjaW9uIGhhcHBlbnMgaW5cbiAqIGEgc2luZ2xlIGxvY2F0aW9uLCBhbmQgaXNuJ3Qgc3ByZWFkIGFyb3VuZCB0aGUgdHJhbnNmb3JtZXJzLCB3aGVyZSB0aGV5IGNhblxuICogaGF2ZSBkaWZmZXJlbnQgZGVmYXVsdCBiZWhhdmlvcnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNsYXRpb25CZWhhdmlvciB7XG4gIC8qKlxuICAgKiBSZXN0b3JlIHBhcml0eSB3LyBHUUx2MSBAbW9kZWwgcGFyYW1ldGVyIGJlaGF2aW9yLCB3aGVyZSBzZXR0aW5nIGEgc2luZ2xlIGZpZWxkIGRvZXNuJ3QgaW1wbGljaXRseSBzZXQgdGhlIG90aGVyIGZpZWxkcyB0byBudWxsLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBzaG91bGREZWVwTWVyZ2VEaXJlY3RpdmVDb25maWdEZWZhdWx0czogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGlzYWJsZSByZXNvbHZlciBkZWR1cGluZywgdGhpcyBjYW4gc29tZXRpbWVzIGNhdXNlIHByb2JsZW1zIGJlY2F1c2UgZGVkdXBlIG9yZGVyaW5nIGlzbid0IHN0YWJsZSB0b2RheSwgd2hpY2ggY2FuXG4gICAqIGxlYWQgdG8gY2lyY3VsYXIgZGVwZW5kZW5jaWVzIGFjcm9zcyBzdGFja3MgaWYgbW9kZWxzIGFyZSByZW9yZGVyZWQuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVSZXNvbHZlckRlZHVwaW5nOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGluZyBzYW5kYm94IG1vZGUgd2lsbCBlbmFibGUgYXBpIGtleSBhdXRoIG9uIGFsbCBtb2RlbHMgaW4gdGhlIHRyYW5zZm9ybWVkIHNjaGVtYS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHNhbmRib3hNb2RlRW5hYmxlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5zdXJlIHRoYXQgb2lkYyBhbmQgdXNlclBvb2wgYXV0aCB1c2UgdGhlIGBzdWJgIGZpZWxkIGluIHRoZSBmb3IgdGhlIHVzZXJuYW1lIGZpZWxkLCB3aGljaCBkaXNhbGxvd3MgbmV3IHVzZXJzIHdpdGggdGhlIHNhbWVcbiAgICogaWQgdG8gYWNjZXNzIGRhdGEgZnJvbSBhIGRlbGV0ZWQgdXNlciBpbiB0aGUgcG9vbC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlU3ViVXNlcm5hbWVGb3JEZWZhdWx0SWRlbnRpdHlDbGFpbTogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5zdXJlIHRoYXQgdGhlIG93bmVyIGZpZWxkIGlzIHN0aWxsIHBvcHVsYXRlZCBldmVuIGlmIGEgc3RhdGljIGlhbSBvciBncm91cCBhdXRob3JpemF0aW9uIGFwcGxpZXMuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHBvcHVsYXRlT3duZXJGaWVsZEZvclN0YXRpY0dyb3VwQXV0aDogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgZW5hYmxlZCwgZGlzYWJsZSBhcGkga2V5IHJlc291cmNlIGdlbmVyYXRpb24gZXZlbiBpZiBzcGVjaWZpZWQgYXMgYW4gYXV0aCBydWxlIG9uIHRoZSBjb25zdHJ1Y3QuXG4gICAqIFRoaXMgaXMgYSBsZWdhY3kgcGFyYW1ldGVyIGZyb20gdGhlIEdyYXBocWwgVHJhbnNmb3JtZXIgZXhpc3RpbmcgaW4gQW1wbGlmeSBDTEksIG5vdCByZWNvbW1lbmRlZCB0byBjaGFuZ2UuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc0FwaUtleUdlbmVyYXRpb246IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElmIGRpc2FibGVkLCBnZW5lcmF0ZWQgQGluZGV4IGFzIGFuIExTSSBpbnN0ZWFkIG9mIGEgR1NJLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBzZWNvbmRhcnlLZXlBc0dTSTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQXV0b21hdGUgZ2VuZXJhdGlvbiBvZiBxdWVyeSBuYW1lcywgYW5kIGFzIGEgcmVzdWx0IGF0dGFjaGluZyBhbGwgaW5kZXhlcyBhcyBxdWVyaWVzIHRvIHRoZSBnZW5lcmF0ZWQgQXBpLlxuICAgKiBJZiBlbmFibGVkLCBAaW5kZXggY2FuIGJlIHByb3ZpZGVkIGEgbnVsbCBuYW1lIGZpZWxkIHRvIGRpc2FibGUgdGhlIGdlbmVyYXRpb24gb2YgdGhlIHF1ZXJ5IG9uIHRoZSBBcGkuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUF1dG9JbmRleFF1ZXJ5TmFtZXM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBjdXN0b20gcHJpbWFyeSBrZXkgc3VwcG9ydCwgdGhlcmUncyBubyBnb29kIHJlYXNvbiB0byBkaXNhYmxlIHRoaXMgdW5sZXNzIHRyeWluZyBub3QgdG8gdXBkYXRlIGEgbGVnYWN5IGFwcC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVzcGVjdFByaW1hcnlLZXlBdHRyaWJ1dGVzT25Db25uZWN0aW9uRmllbGQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElmIGVuYWJsZWQsIHNldCBub2RlVG9Ob2RlRW5jcnlwdGlvbiBvbiB0aGUgc2VhcmNoYWJsZSBkb21haW4gKGlmIG9uZSBleGlzdHMpLiBOb3QgcmVjb21tZW5kZWQgZm9yIHVzZSwgcHJlZmVyXG4gICAqIHRvIHVzZSBgT2JqZWN0LnZhbHVlcyhyZXNvdXJjZXMuYWRkaXRpb25hbFJlc291cmNlc1snQVdTOjpFbGFzdGljc2VhcmNoOjpEb21haW4nXSkuZm9yRWFjaCgoZG9tYWluOiBDZm5Eb21haW4pID0+IHtcbiAgICogICBkb21haW4uTm9kZVRvTm9kZUVuY3J5cHRpb25PcHRpb25zID0geyBFbmFibGVkOiBUcnVlIH07XG4gICAqIH0pO1xuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlU2VhcmNoTm9kZVRvTm9kZUVuY3J5cHRpb246IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZW4gZW5hYmxlZCwgaW50ZXJuYWwgY2ZuIG91dHB1dHMgd2hpY2ggZXhpc3RlZCBpbiBBbXBsaWZ5LWdlbmVyYXRlZCBhcHBzIHdpbGwgY29udGludWUgdG8gYmUgZW1pdHRlZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZVRyYW5zZm9ybWVyQ2ZuT3V0cHV0czogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBBIHV0aWxpdHkgaW50ZXJmYWNlIGVxdWl2YWxlbnQgdG8gUGFydGlhbDxUcmFuc2xhdGlvbkJlaGF2aW9yPi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0aWFsVHJhbnNsYXRpb25CZWhhdmlvciB7XG4gIC8qKlxuICAgKiBSZXN0b3JlIHBhcml0eSB3LyBHUUx2MSBAbW9kZWwgcGFyYW1ldGVyIGJlaGF2aW9yLCB3aGVyZSBzZXR0aW5nIGEgc2luZ2xlIGZpZWxkIGRvZXNuJ3QgaW1wbGljaXRseSBzZXQgdGhlIG90aGVyIGZpZWxkcyB0byBudWxsLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBzaG91bGREZWVwTWVyZ2VEaXJlY3RpdmVDb25maWdEZWZhdWx0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERpc2FibGUgcmVzb2x2ZXIgZGVkdXBpbmcsIHRoaXMgY2FuIHNvbWV0aW1lcyBjYXVzZSBwcm9ibGVtcyBiZWNhdXNlIGRlZHVwZSBvcmRlcmluZyBpc24ndCBzdGFibGUgdG9kYXksIHdoaWNoIGNhblxuICAgKiBsZWFkIHRvIGNpcmN1bGFyIGRlcGVuZGVuY2llcyBhY3Jvc3Mgc3RhY2tzIGlmIG1vZGVscyBhcmUgcmVvcmRlcmVkLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBkaXNhYmxlUmVzb2x2ZXJEZWR1cGluZz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsaW5nIHNhbmRib3ggbW9kZSB3aWxsIGVuYWJsZSBhcGkga2V5IGF1dGggb24gYWxsIG1vZGVscyBpbiB0aGUgdHJhbnNmb3JtZWQgc2NoZW1hLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc2FuZGJveE1vZGVFbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5zdXJlIHRoYXQgb2lkYyBhbmQgdXNlclBvb2wgYXV0aCB1c2UgdGhlIGBzdWJgIGZpZWxkIGluIHRoZSBmb3IgdGhlIHVzZXJuYW1lIGZpZWxkLCB3aGljaCBkaXNhbGxvd3MgbmV3IHVzZXJzIHdpdGggdGhlIHNhbWVcbiAgICogaWQgdG8gYWNjZXNzIGRhdGEgZnJvbSBhIGRlbGV0ZWQgdXNlciBpbiB0aGUgcG9vbC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlU3ViVXNlcm5hbWVGb3JEZWZhdWx0SWRlbnRpdHlDbGFpbT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuc3VyZSB0aGF0IHRoZSBvd25lciBmaWVsZCBpcyBzdGlsbCBwb3B1bGF0ZWQgZXZlbiBpZiBhIHN0YXRpYyBpYW0gb3IgZ3JvdXAgYXV0aG9yaXphdGlvbiBhcHBsaWVzLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBwb3B1bGF0ZU93bmVyRmllbGRGb3JTdGF0aWNHcm91cEF1dGg/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJZiBlbmFibGVkLCBkaXNhYmxlIGFwaSBrZXkgcmVzb3VyY2UgZ2VuZXJhdGlvbiBldmVuIGlmIHNwZWNpZmllZCBhcyBhbiBhdXRoIHJ1bGUgb24gdGhlIGNvbnN0cnVjdC5cbiAgICogVGhpcyBpcyBhIGxlZ2FjeSBwYXJhbWV0ZXIgZnJvbSB0aGUgR3JhcGhxbCBUcmFuc2Zvcm1lciBleGlzdGluZyBpbiBBbXBsaWZ5IENMSSwgbm90IHJlY29tbWVuZGVkIHRvIGNoYW5nZS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHN1cHByZXNzQXBpS2V5R2VuZXJhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElmIGRpc2FibGVkLCBnZW5lcmF0ZWQgQGluZGV4IGFzIGFuIExTSSBpbnN0ZWFkIG9mIGEgR1NJLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBzZWNvbmRhcnlLZXlBc0dTST86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEF1dG9tYXRlIGdlbmVyYXRpb24gb2YgcXVlcnkgbmFtZXMsIGFuZCBhcyBhIHJlc3VsdCBhdHRhY2hpbmcgYWxsIGluZGV4ZXMgYXMgcXVlcmllcyB0byB0aGUgZ2VuZXJhdGVkIEFwaS5cbiAgICogSWYgZW5hYmxlZCwgQGluZGV4IGNhbiBiZSBwcm92aWRlZCBhIG51bGwgbmFtZSBmaWVsZCB0byBkaXNhYmxlIHRoZSBnZW5lcmF0aW9uIG9mIHRoZSBxdWVyeSBvbiB0aGUgQXBpLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVBdXRvSW5kZXhRdWVyeU5hbWVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxlIGN1c3RvbSBwcmltYXJ5IGtleSBzdXBwb3J0LCB0aGVyZSdzIG5vIGdvb2QgcmVhc29uIHRvIGRpc2FibGUgdGhpcyB1bmxlc3MgdHJ5aW5nIG5vdCB0byB1cGRhdGUgYSBsZWdhY3kgYXBwLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSByZXNwZWN0UHJpbWFyeUtleUF0dHJpYnV0ZXNPbkNvbm5lY3Rpb25GaWVsZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElmIGVuYWJsZWQsIHNldCBub2RlVG9Ob2RlRW5jcnlwdGlvbiBvbiB0aGUgc2VhcmNoYWJsZSBkb21haW4gKGlmIG9uZSBleGlzdHMpLiBOb3QgcmVjb21tZW5kZWQgZm9yIHVzZSwgcHJlZmVyXG4gICAqIHRvIHVzZSBgT2JqZWN0LnZhbHVlcyhyZXNvdXJjZXMuYWRkaXRpb25hbFJlc291cmNlc1snQVdTOjpFbGFzdGljc2VhcmNoOjpEb21haW4nXSkuZm9yRWFjaCgoZG9tYWluOiBDZm5Eb21haW4pID0+IHtcbiAgICogICBkb21haW4uTm9kZVRvTm9kZUVuY3J5cHRpb25PcHRpb25zID0geyBFbmFibGVkOiBUcnVlIH07XG4gICAqIH0pO1xuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlU2VhcmNoTm9kZVRvTm9kZUVuY3J5cHRpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGVuIGVuYWJsZWQsIGludGVybmFsIGNmbiBvdXRwdXRzIHdoaWNoIGV4aXN0ZWQgaW4gQW1wbGlmeS1nZW5lcmF0ZWQgYXBwcyB3aWxsIGNvbnRpbnVlIHRvIGJlIGVtaXR0ZWQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVUcmFuc2Zvcm1lckNmbk91dHB1dHM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEdyYXBocWwgQXBpIGRlZmluaXRpb24sIHdoaWNoIGNhbiBiZSBpbXBsZW1lbnRlZCBpbiBtdWx0aXBsZSB3YXlzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24ge1xuICAvKipcbiAgICogUmV0dXJuIHRoZSBzY2hlbWEgZGVmaW5pdGlvbiBhcyBhIGdyYXBocWwgc3RyaW5nLCB3aXRoIGFtcGxpZnkgZGlyZWN0aXZlcyBhbGxvd2VkLlxuICAgKiBAcmV0dXJucyB0aGUgcmVuZGVyZWQgc2NoZW1hLlxuICAgKi9cbiAgcmVhZG9ubHkgc2NoZW1hOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIGFueSBmdW5jdGlvbiBzbG90cyBkZWZpbmVkIGV4cGxpY2l0bHkgaW4gdGhlIEFwaSBkZWZpbml0aW9uLlxuICAgKiBAcmV0dXJucyBnZW5lcmF0ZWQgZnVuY3Rpb24gc2xvdHNcbiAgICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uU2xvdHM6IEZ1bmN0aW9uU2xvdFtdO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIERhdGFTb3VyY2UgYmluZGluZyBpbmZvcm1hdGlvbiBmb3IgbW9kZWxzIGRlZmluZWQgaW4gYHNjaGVtYWAuXG4gICAqL1xuICByZWFkb25seSBtb2RlbERhdGFTb3VyY2VCaW5kaW5nOiBNb2RlbERhdGFTb3VyY2VCaW5kaW5nO1xufVxuXG4vKipcbiAqIEVudHJ5IHJlcHJlc2VudGluZyB0aGUgcmVxdWlyZWQgb3V0cHV0IGZyb20gdGhlIGJhY2tlbmQgZm9yIGNvZGVnZW4gZ2VuZXJhdGUgY29tbWFuZHMgdG8gd29yay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQmFja2VuZE91dHB1dEVudHJ5IHtcbiAgLyoqXG4gICAqIFRoZSBwcm90b2NvbCB2ZXJzaW9uIGZvciB0aGlzIGJhY2tlbmQgb3V0cHV0LlxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RyaW5nLW1hcCBwYXlsb2FkIG9mIGdlbmVyYXRlZCBjb25maWcgdmFsdWVzLlxuICAgKi9cbiAgcmVhZG9ubHkgcGF5bG9hZDogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuLyoqXG4gKiBCYWNrZW5kIG91dHB1dCBzdHJhdGVneSB1c2VkIHRvIHdyaXRlIGNvbmZpZyByZXF1aXJlZCBmb3IgY29kZWdlbiB0YXNrcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQmFja2VuZE91dHB1dFN0b3JhZ2VTdHJhdGVneSB7XG4gIC8qKlxuICAgKiBBZGQgYW4gZW50cnkgdG8gYmFja2VuZCBvdXRwdXQuXG4gICAqIEBwYXJhbSBrZXlOYW1lIHRoZSBrZXlcbiAgICogQHBhcmFtIGJhY2tlbmRPdXRwdXRFbnRyeSB0aGUgcmVjb3JkIHRvIHN0b3JlIGluIHRoZSBiYWNrZW5kIG91dHB1dFxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZXRob2Qtc2lnbmF0dXJlLXN0eWxlXG4gIGFkZEJhY2tlbmRPdXRwdXRFbnRyeShrZXlOYW1lOiBzdHJpbmcsIGJhY2tlbmRPdXRwdXRFbnRyeTogSUJhY2tlbmRPdXRwdXRFbnRyeSk6IHZvaWQ7XG59XG5cbi8qKlxuICogSW5wdXQgcHJvcHMgZm9yIHRoZSBBbXBsaWZ5R3JhcGhxbEFwaSBjb25zdHJ1Y3QuIFNwZWNpZmllcyB3aGF0IHRoZSBpbnB1dCB0byB0cmFuc2Zvcm0gaW50byBhbiBBcGksIGFuZCBjb25maWd1cmF0aW9ucyBmb3JcbiAqIHRoZSB0cmFuc2Zvcm1hdGlvbiBwcm9jZXNzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFtcGxpZnlHcmFwaHFsQXBpUHJvcHMge1xuICAvKipcbiAgICogVGhlIGRlZmluaXRpb24gdG8gdHJhbnNmb3JtIGluIGEgZnVsbCBBcGkuXG4gICAqIENhbiBiZSBjb25zdHJ1Y3RlZCB2aWEgdGhlIEFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbiBjbGFzcy5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmluaXRpb246IElBbXBsaWZ5R3JhcGhxbERlZmluaXRpb247XG5cbiAgLyoqXG4gICAqIE5hbWUgdG8gYmUgdXNlZCBmb3IgdGhlIEFwcFN5bmMgQXBpLlxuICAgKiBEZWZhdWx0OiBjb25zdHJ1Y3QgaWQuXG4gICAqL1xuICByZWFkb25seSBhcGlOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZXF1aXJlZCBhdXRoIG1vZGVzIGZvciB0aGUgQXBpLiBUaGlzIG9iamVjdCBtdXN0IGJlIGEgc3VwZXJzZXQgb2YgdGhlIGNvbmZpZ3VyZWQgYXV0aCBwcm92aWRlcnMgaW4gdGhlIEFwaSBkZWZpbml0aW9uLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9ncmFwaHFsL2F1dGhvcml6YXRpb24tcnVsZXMvXG4gICAqL1xuICByZWFkb25seSBhdXRob3JpemF0aW9uTW9kZXM6IEF1dGhvcml6YXRpb25Nb2RlcztcblxuICAvKipcbiAgICogTGFtYmRhIGZ1bmN0aW9ucyByZWZlcmVuY2VkIGluIHRoZSBkZWZpbml0aW9ucydzIEBmdW5jdGlvbiBkaXJlY3RpdmVzLiBUaGUga2V5cyBvZiB0aGlzIG9iamVjdCBhcmUgZXhwZWN0ZWQgdG8gYmUgdGhlXG4gICAqIGZ1bmN0aW9uIG5hbWUgcHJvdmlkZWQgaW4gdGhlIGRlZmluaXRpb24sIGFuZCB2YWx1ZSBpcyB0aGUgZnVuY3Rpb24gdGhhdCBuYW1lIHJlZmVycyB0by4gSWYgYSBuYW1lIGlzIG5vdCBmb3VuZCBpbiB0aGlzXG4gICAqIG1hcCwgdGhlbiBpdCBpcyBpbnRlcnByZXRlZCBhcyB0aGUgYGZ1bmN0aW9uTmFtZWAsIGFuZCBhbiBhcm4gd2lsbCBiZSBjb25zdHJ1Y3RlZCB1c2luZyB0aGUgY3VycmVudCBhd3MgYWNjb3VudCBhbmQgcmVnaW9uXG4gICAqIChvciBvdmVycmlkZGVuIHZhbHVlcywgaWYgc2V0IGluIHRoZSBkaXJlY3RpdmUpLlxuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb25OYW1lTWFwPzogUmVjb3JkPHN0cmluZywgSUZ1bmN0aW9uPjtcblxuICAvKipcbiAgICogQ29uZmlndXJlIGNvbmZsaWN0IHJlc29sdXRpb24gb24gdGhlIEFwaSwgd2hpY2ggaXMgcmVxdWlyZWQgdG8gZW5hYmxlIERhdGFTdG9yZSBBcGkgZnVuY3Rpb25hbGl0eS5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24sIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9saWIvZGF0YXN0b3JlL2dldHRpbmctc3RhcnRlZC9xL3BsYXRmb3JtL2pzL1xuICAgKi9cbiAgcmVhZG9ubHkgY29uZmxpY3RSZXNvbHV0aW9uPzogQ29uZmxpY3RSZXNvbHV0aW9uO1xuXG4gIC8qKlxuICAgKiBTdGFja01hcHBpbmdzIG92ZXJyaWRlIHRoZSBhc3NpZ25lZCBuZXN0ZWQgc3RhY2sgb24gYSBwZXItcmVzb3VyY2UgYmFzaXMuIE9ubHkgYXBwbGllcyB0byByZXNvbHZlcnMsIGFuZCB0YWtlcyB0aGUgZm9ybVxuICAgKiB7IDxsb2dpY2FsSWQ+OiA8c3RhY2tOYW1lPiB9XG4gICAqIEl0IGlzIG5vdCByZWNvbW1lbmRlZCB0byB1c2UgdGhpcyBwYXJhbWV0ZXIgdW5sZXNzIHlvdSBhcmUgZW5jb3VudGVyaW5nIHN0YWNrIHJlc291cmNlIGNvdW50IGxpbWl0cywgYW5kIHdvcnRoIG5vdGluZyB0aGF0XG4gICAqIGFmdGVyIGluaXRpYWwgZGVwbG95bWVudCBBcHBTeW5jIHJlc29sdmVycyBjYW5ub3QgYmUgbW92ZWQgYmV0d2VlbiBuZXN0ZWQgc3RhY2tzLCB0aGV5IHdpbGwgbmVlZCB0byBiZSByZW1vdmVkIGZyb20gdGhlIGFwcCxcbiAgICogdGhlbiByZS1hZGRlZCBmcm9tIGEgbmV3IHN0YWNrLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tNYXBwaW5ncz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlcyBmb3IgYSBnaXZlbiBzbG90IGluIHRoZSBnZW5lcmF0ZWQgcmVzb2x2ZXIgcGlwZWxpbmVzLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB3aGF0IHNsb3RzIGFyZSBhdmFpbGFibGUsXG4gICAqIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvZ3JhcGhxbC9jdXN0b20tYnVzaW5lc3MtbG9naWMvI292ZXJyaWRlLWFtcGxpZnktZ2VuZXJhdGVkLXJlc29sdmVycy5cbiAgICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uU2xvdHM/OiBGdW5jdGlvblNsb3RbXTtcblxuICAvKipcbiAgICogUHJvdmlkZSBhIGxpc3Qgb2YgYWRkaXRpb25hbCBjdXN0b20gdHJhbnNmb3JtZXJzIHdoaWNoIGFyZSBpbmplY3RlZCBpbnRvIHRoZSB0cmFuc2Zvcm0gcHJvY2Vzcy5cbiAgICogVGhlc2UgY3VzdG9tIHRyYW5zZm9ybWVycyBtdXN0IGJlIGltcGxlbWVudGVkIHdpdGggYXdzLWNkay1saWIgPj0yLjgwLjAsIGFuZCBAYXdzLWFtcGxpZnkvZ3JhcGhxbC10cmFuc2Zvcm1lci1jb3JlID49IDIuMS4xXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zZm9ybWVyUGx1Z2lucz86IGFueVtdO1xuXG4gIC8qKlxuICAgKiBJZiB1c2luZyBwcmVkaWN0aW9ucywgYSBidWNrZXQgbXVzdCBiZSBwcm92aWRlZCB3aGljaCB3aWxsIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhc3NldHMuXG4gICAqL1xuICByZWFkb25seSBwcmVkaWN0aW9uc0J1Y2tldD86IElCdWNrZXQ7XG5cbiAgLyoqXG4gICAqIFRoaXMgcmVwbGFjZXMgZmVhdHVyZSBmbGFncyBmcm9tIHRoZSBBcGkgY29uc3RydWN0LCBmb3IgZ2VuZXJhbCBpbmZvcm1hdGlvbiBvbiB3aGF0IHRoZXNlIHBhcmFtZXRlcnMgZG8sXG4gICAqIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvcmVmZXJlbmNlL2ZlYXR1cmUtZmxhZ3MvI2dyYXBoUUxUcmFuc2Zvcm1lclxuICAgKi9cbiAgcmVhZG9ubHkgdHJhbnNsYXRpb25CZWhhdmlvcj86IFBhcnRpYWxUcmFuc2xhdGlvbkJlaGF2aW9yO1xuXG4gIC8qKlxuICAgKiBTdHJhdGVneSB0byBzdG9yZSBjb25zdHJ1Y3Qgb3V0cHV0cy4gSWYgbm8gb3V0cHV0U3RvcmFnZVN0cmF0ZWdleSBpcyBwcm92aWRlZCBhIGRlZmF1bHQgc3RyYXRlZ3kgd2lsbCBiZSB1c2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0U3RvcmFnZVN0cmF0ZWd5PzogSUJhY2tlbmRPdXRwdXRTdG9yYWdlU3RyYXRlZ3k7XG59XG5cbi8qKlxuICogTDEgQ0RLIHJlc291cmNlcyBmcm9tIHRoZSBBcGkgd2hpY2ggd2VyZSBnZW5lcmF0ZWQgYXMgcGFydCBvZiB0aGUgdHJhbnNmb3JtLlxuICogVGhlc2UgYXJlIHBvdGVudGlhbGx5IHN0b3JlZCB1bmRlciBuZXN0ZWQgc3RhY2tzLCBidXQgcHJlc2VudGVkIG9yZ2FuaXplZCBieSB0eXBlIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW1wbGlmeUdyYXBocWxBcGlDZm5SZXNvdXJjZXMge1xuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBBcHBTeW5jIEFwaSBMMSBSZXNvdXJjZVxuICAgKi9cbiAgcmVhZG9ubHkgY2ZuR3JhcGhxbEFwaTogQ2ZuR3JhcGhRTEFwaTtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBBcHBTeW5jIFNjaGVtYSBMMSBSZXNvdXJjZVxuICAgKi9cbiAgcmVhZG9ubHkgY2ZuR3JhcGhxbFNjaGVtYTogQ2ZuR3JhcGhRTFNjaGVtYTtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBBcHBTeW5jIEFwaSBLZXkgTDEgUmVzb3VyY2VcbiAgICovXG4gIHJlYWRvbmx5IGNmbkFwaUtleT86IENmbkFwaUtleTtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBBcHBTeW5jIFJlc29sdmVyIEwxIFJlc291cmNlcywga2V5ZWQgYnkgbG9naWNhbElkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2ZuUmVzb2x2ZXJzOiBSZWNvcmQ8c3RyaW5nLCBDZm5SZXNvbHZlcj47XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgQXBwU3luYyBGdW5jdGlvbiBMMSBSZXNvdXJjZXMsIGtleWVkIGJ5IGxvZ2ljYWxJZC5cbiAgICovXG4gIHJlYWRvbmx5IGNmbkZ1bmN0aW9uQ29uZmlndXJhdGlvbnM6IFJlY29yZDxzdHJpbmcsIENmbkZ1bmN0aW9uQ29uZmlndXJhdGlvbj47XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgQXBwU3luYyBEYXRhU291cmNlIEwxIFJlc291cmNlcywga2V5ZWQgYnkgbG9naWNhbElkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2ZuRGF0YVNvdXJjZXM6IFJlY29yZDxzdHJpbmcsIENmbkRhdGFTb3VyY2U+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIER5bmFtb0RCIFRhYmxlIEwxIFJlc291cmNlcywga2V5ZWQgYnkgbG9naWNhbElkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2ZuVGFibGVzOiBSZWNvcmQ8c3RyaW5nLCBDZm5UYWJsZT47XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgSUFNIFJvbGUgTDEgUmVzb3VyY2VzLCBrZXllZCBieSBsb2dpY2FsSWQuXG4gICAqL1xuICByZWFkb25seSBjZm5Sb2xlczogUmVjb3JkPHN0cmluZywgQ2ZuUm9sZT47XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgTGFtYmRhIEZ1bmN0aW9uIEwxIFJlc291cmNlcywga2V5ZWQgYnkgZnVuY3Rpb24gbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IGNmbkZ1bmN0aW9uczogUmVjb3JkPHN0cmluZywgQ2ZuRnVuY3Rpb24+O1xuXG4gIC8qKlxuICAgKiBSZW1haW5pbmcgTDEgcmVzb3VyY2VzIGdlbmVyYXRlZCwga2V5ZWQgYnkgbG9naWNhbElkLlxuICAgKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbENmblJlc291cmNlczogUmVjb3JkPHN0cmluZywgQ2ZuUmVzb3VyY2U+O1xufVxuXG4vKipcbiAqIEFjY2Vzc2libGUgcmVzb3VyY2VzIGZyb20gdGhlIEFwaSB3aGljaCB3ZXJlIGdlbmVyYXRlZCBhcyBwYXJ0IG9mIHRoZSB0cmFuc2Zvcm0uXG4gKiBUaGVzZSBhcmUgcG90ZW50aWFsbHkgc3RvcmVkIHVuZGVyIG5lc3RlZCBzdGFja3MsIGJ1dCBwcmVzZW50ZWQgb3JnYW5pemVkIGJ5IHR5cGUgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbXBsaWZ5R3JhcGhxbEFwaVJlc291cmNlcyB7XG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIEFwcFN5bmMgQXBpIEwyIFJlc291cmNlLCBpbmNsdWRlcyB0aGUgU2NoZW1hLlxuICAgKi9cbiAgcmVhZG9ubHkgZ3JhcGhxbEFwaTogSUdyYXBocWxBcGk7XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgRHluYW1vREIgVGFibGUgTDIgUmVzb3VyY2VzLCBrZXllZCBieSBsb2dpY2FsSWQuXG4gICAqL1xuICByZWFkb25seSB0YWJsZXM6IFJlY29yZDxzdHJpbmcsIElUYWJsZT47XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgSUFNIFJvbGUgTDIgUmVzb3VyY2VzLCBrZXllZCBieSBsb2dpY2FsSWQuXG4gICAqL1xuICByZWFkb25seSByb2xlczogUmVjb3JkPHN0cmluZywgSVJvbGU+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIExhbWJkYSBGdW5jdGlvbiBMMSBSZXNvdXJjZXMsIGtleWVkIGJ5IGZ1bmN0aW9uIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBmdW5jdGlvbnM6IFJlY29yZDxzdHJpbmcsIElGdW5jdGlvbj47XG5cbiAgLyoqXG4gICAqIEwxIENmbiBSZXNvdXJjZXMsIGZvciB3aGVuIGRpcHBpbmcgZG93biBhIGxldmVsIG9mIGFic3RyYWN0aW9uIGlzIGRlc2lyYWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IGNmblJlc291cmNlczogQW1wbGlmeUdyYXBocWxBcGlDZm5SZXNvdXJjZXM7XG5cbiAgLyoqXG4gICAqIE5lc3RlZCBTdGFja3MgZ2VuZXJhdGVkIGJ5IHRoZSBBcGkgQ29uc3RydWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgbmVzdGVkU3RhY2tzOiBSZWNvcmQ8c3RyaW5nLCBOZXN0ZWRTdGFjaz47XG59XG5cbi8qKlxuICogSW5wdXQgdHlwZSBwcm9wZXJ0aWVzIHdoZW4gYWRkaW5nIGEgbmV3IGFwcHN5bmMuQXBwc3luY0Z1bmN0aW9uIHRvIHRoZSBnZW5lcmF0ZWQgQVBJLlxuICogVGhpcyBpcyBlcXVpdmFsZW50IHRvIHRoZSBPbWl0PGFwcHN5bmMuQXBwc3luY0Z1bmN0aW9uUHJvcHMsICdhcGknPi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBZGRGdW5jdGlvblByb3BzIHtcbiAgLyoqXG4gICAqIHRoZSBkYXRhIHNvdXJjZSBsaW5rZWQgdG8gdGhpcyBBcHBTeW5jIEZ1bmN0aW9uXG4gICAqL1xuICByZWFkb25seSBkYXRhU291cmNlOiBCYXNlRGF0YVNvdXJjZTtcblxuICAvKipcbiAgICogdGhlIG5hbWUgb2YgdGhlIEFwcFN5bmMgRnVuY3Rpb25cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogdGhlIGRlc2NyaXB0aW9uIGZvciB0aGlzIEFwcFN5bmMgRnVuY3Rpb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBkZXNjcmlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIHRoZSByZXF1ZXN0IG1hcHBpbmcgdGVtcGxhdGUgZm9yIHRoZSBBcHBTeW5jIEZ1bmN0aW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcmVxdWVzdCBtYXBwaW5nIHRlbXBsYXRlXG4gICAqL1xuICByZWFkb25seSByZXF1ZXN0TWFwcGluZ1RlbXBsYXRlPzogTWFwcGluZ1RlbXBsYXRlO1xuXG4gIC8qKlxuICAgKiB0aGUgcmVzcG9uc2UgbWFwcGluZyB0ZW1wbGF0ZSBmb3IgdGhlIEFwcFN5bmMgRnVuY3Rpb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyByZXNwb25zZSBtYXBwaW5nIHRlbXBsYXRlXG4gICAqL1xuICByZWFkb25seSByZXNwb25zZU1hcHBpbmdUZW1wbGF0ZT86IE1hcHBpbmdUZW1wbGF0ZTtcblxuICAvKipcbiAgICogVGhlIGZ1bmN0aW9ucyBydW50aW1lXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZnVuY3Rpb24gcnVudGltZSwgVlRMIG1hcHBpbmcgdGVtcGxhdGVzIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IHJ1bnRpbWU/OiBGdW5jdGlvblJ1bnRpbWU7XG5cbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbiBjb2RlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gY29kZSBpcyB1c2VkXG4gICAqL1xuICByZWFkb25seSBjb2RlPzogQ29kZTtcbn1cblxuLyoqXG4gKiBBZGRpdGlvbmFsIGJpbmRpbmcgY29uZmlndXJhdGlvbnMgdXNlZCB0byByZXNvbHZlIG1vZGVscyBpbiBhbiBBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24gd2l0aCBhIGRhdGEgc291cmNlLiBBbXBsaWZ5R3JhcGhxbEFwaURlZmluaXRpb25zXG4gKiBjcmVhdGVkIHdpdGggb25lIG9mIHRoZXNlIGRhdGEgc291cmNlcyBjYW4gdXNlIHRoZSBgQG1vZGVsYCBkaXJlY3RpdmUgdG8gcHJvdmlzaW9uIHN0b3JhZ2UgKER5bmFtb0RCIG9ubHkpLCBkZWZpbmUgZmluZS1ncmFpbmVkXG4gKiBhdXRob3JpemF0aW9uIHJ1bGVzLCByZS1tYXAgR3JhcGhRTCBmaWVsZCBuYW1lcywgZGVmaW5lIG1vZGVsLXRvLW1vZGVsIHJlbGF0aW9uc2hpcHMsIGFuZCBtb3JlLiBTZWVcbiAqIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvZ3JhcGhxbC9kaXJlY3RpdmVzLXJlZmVyZW5jZS8uXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCB0eXBlIE1vZGVsRGF0YVNvdXJjZUJpbmRpbmcgPSBEeW5hbW9Nb2RlbERhdGFTb3VyY2VCaW5kaW5nIHwgU3FsTW9kZWxEYXRhU291cmNlQmluZGluZztcblxuLyoqXG4gKiBCaW5kaW5nIHR5cGUgdG8gc3BlY2lmeSBhIER5YW5hbW9EQiBkYXRhIHNvdXJjZS5cbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEeW5hbW9Nb2RlbERhdGFTb3VyY2VCaW5kaW5nIHtcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHRoZSBkYXRhIHNvdXJjZSB1c2VkIHRvIHByb2Nlc3MgbW9kZWwgb3BlcmF0aW9ucyBmb3IgdGhpcyBkZWZpbml0aW9uLlxuICAgKiBAZGVmYXVsdCAnRHluYW1vREInXG4gICAqL1xuICByZWFkb25seSBiaW5kaW5nVHlwZTogJ0R5bmFtb0RCJztcbn1cblxuLyoqXG4gKiBBZGRpdGlvbmFsIGJpbmRpbmcgY29uZmlndXJhdGlvbnMgdXNlZCB0byBjb25uZWN0IGFuIEFtcGxpZnlHcmFwaHFsQXBpIHRvIGEgU1FMLWJhc2VkIGRhdGEgc291cmNlIHVzaW5nIGEgTGFtYmRhLlxuICpcbiAqIFRoZSBgYmluZGluZ1R5cGVgIG9mIHRoaXMgZGF0YSBzb3VyY2UgbXVzdCBiZSBvbmUgb2YgdGhlIHZhbHVlcyBkZWZpbmVkIGJ5IGBTcWxNb2RlbERhdGFTb3VyY2VCaW5kaW5nVHlwZWAuXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3FsTW9kZWxEYXRhU291cmNlQmluZGluZyB7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiB0aGUgU1FMIGRhdGFiYXNlIHVzZWQgdG8gcHJvY2VzcyBtb2RlbCBvcGVyYXRpb25zIGZvciB0aGlzIGRlZmluaXRpb24uXG4gICAqL1xuICByZWFkb25seSBiaW5kaW5nVHlwZTogU1FMREJUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgY29uZmlndXJhdGlvbiBvZiB0aGUgVlBDIGludG8gd2hpY2ggdG8gaW5zdGFsbCB0aGUgTGFtYmRhLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjQ29uZmlndXJhdGlvbjogU3FsTW9kZWxEYXRhU291cmNlQmluZGluZ1ZwY0NvbmZpZztcblxuICAvKipcbiAgICogQ3VzdG9tIFNRTCBzdGF0ZW1lbnRzLiBUaGUga2V5IGlzIHRoZSB2YWx1ZSBvZiB0aGUgYHJlZmVyZW5jZXNgIGF0dHJpYnV0ZSBvZiB0aGUgYEBzcWxgIGRpcmVjdGl2ZSBpbiB0aGUgYHNjaGVtYWA7IHRoZSB2YWx1ZSBpcyB0aGUgU1FMXG4gICAqIHRvIGJlIGV4ZWN1dGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tU3FsU3RhdGVtZW50cz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJhbWV0ZXJzIHRoZSBMYW1iZGEgZGF0YSBzb3VyY2Ugd2lsbCB1c2UgdG8gY29ubmVjdCB0byB0aGUgZGF0YWJhc2UuXG4gICAqL1xuICByZWFkb25seSBkYkNvbm5lY3Rpb25Db25maWc6IFNxbE1vZGVsRGF0YVNvdXJjZUJpbmRpbmdEYkNvbm5lY3Rpb25Db25maWc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBvZiB0aGUgVlBDIGluIHdoaWNoIHRvIGluc3RhbGwgYSBMYW1iZGEgdG8gcmVzb2x2ZSBxdWVyaWVzIGFnYWluc3QgYSBTUUwtYmFzZWQgZGF0YSBzb3VyY2UuIFRoZSBTUUwgTGFtYmRhIHdpbGwgYmUgZGVwbG95ZWRcbiAqIGludG8gdGhlIHNwZWNpZmllZCBWUEMsIHN1Ym5ldHMsIGFuZCBzZWN1cml0eSBncm91cHMuIFRoZSBzcGVjaWZpZWQgc3VibmV0cyBhbmQgc2VjdXJpdHkgZ3JvdXBzIG11c3QgYmUgaW4gdGhlIHNhbWUgVlBDLiBUaGUgVlBDIG11c3RcbiAqIGhhdmUgYXQgbGVhc3Qgb25lIHN1Ym5ldC4gVGhlIGNvbnN0cnVjdCB3aWxsIGFsc28gY3JlYXRlIFZQQyBzZXJ2aWNlIGVuZHBvaW50cyBpbiB0aGUgc3BlY2lmaWVkIHN1Ym5ldHMsIGFzIHdlbGwgYXMgaW5ib3VuZCBzZWN1cml0eVxuICogcnVsZXMsIHRvIGFsbG93IHRyYWZmaWMgb24gcG9ydCA0NDMgd2l0aGluIGVhY2ggc2VjdXJpdHkgZ3JvdXAuIFRoaXMgYWxsb3dzIHRoZSBMYW1iZGEgdG8gcmVhZCBkYXRhYmFzZSBjb25uZWN0aW9uIGluZm9ybWF0aW9uIGZyb21cbiAqIFNlY3VyZSBTeXN0ZW1zIE1hbmFnZXIuXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3FsTW9kZWxEYXRhU291cmNlQmluZGluZ1ZwY0NvbmZpZyB7XG4gIC8qKiBUaGUgVlBDIHRvIGluc3RhbGwgdGhlIExhbWJkYSBkYXRhIHNvdXJjZSBpbi4gKi9cbiAgcmVhZG9ubHkgdnBjSWQ6IHN0cmluZztcblxuICAvKiogVGhlIHNlY3VyaXR5IGdyb3VwcyB0byBpbnN0YWxsIHRoZSBMYW1iZGEgZGF0YSBzb3VyY2UgaW4uICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXBJZHM6IHN0cmluZ1tdO1xuXG4gIC8qKiBUaGUgc3VibmV0cyB0byBpbnN0YWxsIHRoZSBMYW1iZGEgZGF0YSBzb3VyY2UgaW4sIG9uZSBwZXIgYXZhaWxhYmlsaXR5IHpvbmUuICovXG4gIHJlYWRvbmx5IHN1Ym5ldEF2YWlsYWJpbGl0eVpvbmVzOiBTdWJuZXRBdmFpbGFiaWxpdHlab25lW107XG59XG5cbi8qKlxuICogU3VibmV0IGNvbmZpZ3VyYXRpb24gZm9yIFZQQyBlbmRwb2ludHMgdXNlZCBieSBhIExhbWJkYSByZXNvbHZlciBmb3IgYSBTUUwtYmFzZWQgZGF0YSBzb3VyY2UuIEFsdGhvdWdoIGl0IGlzIHBvc3NpYmxlIHRvIGNyZWF0ZSBtdWx0aXBsZVxuICogc3VibmV0cyBpbiBhIHNpbmdsZSBhdmFpbGFiaWxpdHkgem9uZSwgVlBDIHNlcnZpY2UgZW5kcG9pbnRzIG1heSBvbmx5IGJlIGRlcGxveWVkIHRvIGEgc2luZ2xlIHN1Ym5ldCBpbiBhIGdpdmVuIGF2YWlsYWJpbGl0eSB6b25lLiBUaGlzXG4gKiBzdHJ1Y3R1cmUgZW5zdXJlcyB0aGF0IHRoZSBMYW1iZGEgZnVuY3Rpb24gYW5kIFZQQyBzZXJ2aWNlIGVuZHBvaW50cyBhcmUgbXV0dWFsbHkgY29uc2lzdGVudC5cbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdWJuZXRBdmFpbGFiaWxpdHlab25lIHtcbiAgLyoqIFRoZSBzdWJuZXQgSUQgdG8gaW5zdGFsbCB0aGUgTGFtYmRhIGRhdGEgc291cmNlIGluLiAqL1xuICByZWFkb25seSBzdWJuZXRJZDogc3RyaW5nO1xuXG4gIC8qKiBUaGUgYXZhaWxhYmlsaXR5IHpvbmUgb2YgdGhlIHN1Ym5ldC4gKi9cbiAgcmVhZG9ubHkgYXZhaWxhYmlsaXR5Wm9uZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSBTZWN1cmUgU3lzdGVtcyBNYW5hZ2VyIHBhcmFtZXRlciBwYXRocyB0aGUgTGFtYmRhIGRhdGEgc291cmNlIHdpbGwgdXNlIHRvIGNvbm5lY3QgdG8gdGhlIGRhdGFiYXNlLlxuICpcbiAqIFRoZXNlIHBhcmFtZXRlcnMgYXJlIHJldHJpZXZlZCBmcm9tIFNlY3VyZSBTeXN0ZW1zIE1hbmFnZXIgaW4gdGhlIHNhbWUgcmVnaW9uIGFzIHRoZSBMYW1iZGEuXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3FsTW9kZWxEYXRhU291cmNlQmluZGluZ0RiQ29ubmVjdGlvbkNvbmZpZyB7XG4gIC8qKiBUaGUgU2VjdXJlIFN5c3RlbXMgTWFuYWdlciBwYXJhbWV0ZXIgY29udGFpbmluZyB0aGUgaG9zdG5hbWUgb2YgdGhlIGRhdGFiYXNlLiBGb3IgUkRTLWJhc2VkIFNRTCBkYXRhIHNvdXJjZXMsIHRoaXMgY2FuIGJlIHRoZSBob3N0bmFtZVxuICAgKiBvZiBhIGRhdGFiYXNlIHByb3h5LCBjbHVzdGVyLCBvciBpbnN0YW5jZS5cbiAgICovXG4gIHJlYWRvbmx5IGhvc3RuYW1lU3NtUGF0aDogc3RyaW5nO1xuXG4gIC8qKiBUaGUgU2VjdXJlIFN5c3RlbXMgTWFuYWdlciBwYXJhbWV0ZXIgY29udGFpbmluZyB0aGUgcG9ydCBudW1iZXIgb2YgdGhlIGRhdGFiYXNlIHByb3h5LCBjbHVzdGVyLCBvciBpbnN0YW5jZS4gKi9cbiAgcmVhZG9ubHkgcG9ydFNzbVBhdGg6IHN0cmluZztcblxuICAvKiogVGhlIFNlY3VyZSBTeXN0ZW1zIE1hbmFnZXIgcGFyYW1ldGVyIGNvbnRhaW5pbmcgdGhlIHVzZXJuYW1lIHRvIHVzZSB3aGVuIGNvbm5lY3RpbmcgdG8gdGhlIGRhdGFiYXNlLiAqL1xuICByZWFkb25seSB1c2VybmFtZVNzbVBhdGg6IHN0cmluZztcblxuICAvKiogVGhlIFNlY3VyZSBTeXN0ZW1zIE1hbmFnZXIgcGFyYW1ldGVyIGNvbnRhaW5pbmcgdGhlIHBhc3N3b3JkIHRvIHVzZSB3aGVuIGNvbm5lY3RpbmcgdG8gdGhlIGRhdGFiYXNlLiAqL1xuICByZWFkb25seSBwYXNzd29yZFNzbVBhdGg6IHN0cmluZztcblxuICAvKiogVGhlIFNlY3VyZSBTeXN0ZW1zIE1hbmFnZXIgcGFyYW1ldGVyIGNvbnRhaW5pbmcgdGhlIGRhdGFiYXNlIG5hbWUuICovXG4gIHJlYWRvbmx5IGRhdGFiYXNlTmFtZVNzbVBhdGg6IHN0cmluZztcbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uLCBDZm5SZXNvdXJjZSwgTmVzdGVkU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQge1xuICBDZm5HcmFwaFFMQXBpLFxuICBDZm5HcmFwaFFMU2NoZW1hLFxuICBDZm5BcGlLZXksXG4gIENmblJlc29sdmVyLFxuICBDZm5GdW5jdGlvbkNvbmZpZ3VyYXRpb24sXG4gIENmbkRhdGFTb3VyY2UsXG4gIElHcmFwaHFsQXBpLFxuICBNYXBwaW5nVGVtcGxhdGUsXG4gIEJhc2VEYXRhU291cmNlLFxuICBDb2RlLFxuICBGdW5jdGlvblJ1bnRpbWUsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcHBzeW5jJztcbmltcG9ydCB7IENmblRhYmxlLCBJVGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGInO1xuaW1wb3J0IHsgSVJvbGUsIENmblJvbGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IElVc2VyUG9vbCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2duaXRvJztcbmltcG9ydCB7IElGdW5jdGlvbiwgQ2ZuRnVuY3Rpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IElCdWNrZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgQW1wbGlmeUR5bmFtb0RiVGFibGVXcmFwcGVyIH0gZnJvbSAnLi9hbXBsaWZ5LWR5bmFtb2RiLXRhYmxlLXdyYXBwZXInO1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIElBTSBBdXRob3JpemF0aW9uIG9uIHRoZSBHcmFwaHFsIEFwaS5cbiAqIEBzdHJ1Y3QgLSByZXF1aXJlZCBzaW5jZSB0aGlzIGludGVyZmFjZSBiZWdpbnMgd2l0aCBhbiAnSSdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQU1BdXRob3JpemF0aW9uQ29uZmlnIHtcbiAgLyoqXG4gICAqIElEIGZvciB0aGUgQ29nbml0byBJZGVudGl0eSBQb29sIHZlbmRpbmcgYXV0aCBhbmQgdW5hdXRoIHJvbGVzLlxuICAgKiBGb3JtYXQ6IGA8cmVnaW9uPjo8aWQgc3RyaW5nPmBcbiAgICovXG4gIHJlYWRvbmx5IGlkZW50aXR5UG9vbElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEF1dGhlbnRpY2F0ZWQgdXNlciByb2xlLCBhcHBsaWVzIHRvIHsgcHJvdmlkZXI6IGlhbSwgYWxsb3c6IHByaXZhdGUgfSBhY2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBhdXRoZW50aWNhdGVkVXNlclJvbGU6IElSb2xlO1xuXG4gIC8qKlxuICAgKiBVbmF1dGhlbnRpY2F0ZWQgdXNlciByb2xlLCBhcHBsaWVzIHRvIHsgcHJvdmlkZXI6IGlhbSwgYWxsb3c6IHB1YmxpYyB9IGFjY2Vzcy5cbiAgICovXG4gIHJlYWRvbmx5IHVuYXV0aGVudGljYXRlZFVzZXJSb2xlOiBJUm9sZTtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIElBTSByb2xlcyB3aGljaCB3aWxsIGJlIGdyYW50ZWQgZnVsbCByZWFkL3dyaXRlIGFjY2VzcyB0byB0aGUgZ2VuZXJhdGVkIG1vZGVsIGlmIElBTSBhdXRoIGlzIGVuYWJsZWQuXG4gICAqIElmIGFuIElSb2xlIGlzIHByb3ZpZGVkLCB0aGUgcm9sZSBgbmFtZWAgd2lsbCBiZSB1c2VkIGZvciBtYXRjaGluZy5cbiAgICogSWYgYSBzdHJpbmcgaXMgcHJvdmlkZWQsIHRoZSByYXcgdmFsdWUgd2lsbCBiZSB1c2VkIGZvciBtYXRjaGluZy5cbiAgICovXG4gIHJlYWRvbmx5IGFsbG93TGlzdGVkUm9sZXM/OiAoSVJvbGUgfCBzdHJpbmcpW107XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgQ29nbml0byBVc2VyUG9vbCBBdXRob3JpemF0aW9uIG9uIHRoZSBHcmFwaHFsIEFwaS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVc2VyUG9vbEF1dGhvcml6YXRpb25Db25maWcge1xuICAvKipcbiAgICogVGhlIENvZ25pdG8gVXNlciBQb29sIHdoaWNoIGlzIHVzZWQgdG8gYXV0aGVudGljYXRlZCBKV1QgdG9rZW5zLCBhbmQgdmVuZHMgZ3JvdXAgYW5kIHVzZXIgaW5mb3JtYXRpb24uXG4gICAqL1xuICByZWFkb25seSB1c2VyUG9vbDogSVVzZXJQb29sO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIE9wZW5JZCBDb25uZWN0IEF1dGhvcml6YXRpb24gb24gdGhlIEdyYXBocWwgQXBpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9JRENBdXRob3JpemF0aW9uQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBpc3N1ZXIgZm9yIHRoZSBPSURDIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICByZWFkb25seSBvaWRjUHJvdmlkZXJOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVybCBmb3IgdGhlIE9JREMgdG9rZW4gaXNzdWVyLlxuICAgKi9cbiAgcmVhZG9ubHkgb2lkY0lzc3VlclVybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY2xpZW50IGlkZW50aWZpZXIgb2YgdGhlIFJlbHlpbmcgcGFydHkgYXQgdGhlIE9wZW5JRCBpZGVudGl0eSBwcm92aWRlci5cbiAgICogQSByZWd1bGFyIGV4cHJlc3Npb24gY2FuIGJlIHNwZWNpZmllZCBzbyBBcHBTeW5jIGNhbiB2YWxpZGF0ZSBhZ2FpbnN0IG11bHRpcGxlIGNsaWVudCBpZGVudGlmaWVycyBhdCBhIHRpbWUuIEV4YW1wbGVcbiAgICovXG4gIHJlYWRvbmx5IGNsaWVudElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZHVyYXRpb24gYW4gT0lEQyB0b2tlbiBpcyB2YWxpZCBhZnRlciBiZWluZyBhdXRoZW50aWNhdGVkIGJ5IE9JREMgcHJvdmlkZXIuXG4gICAqIGF1dGhfdGltZSBjbGFpbSBpbiBPSURDIHRva2VuIGlzIHJlcXVpcmVkIGZvciB0aGlzIHZhbGlkYXRpb24gdG8gd29yay5cbiAgICovXG4gIHJlYWRvbmx5IHRva2VuRXhwaXJ5RnJvbUF1dGg6IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgZHVyYXRpb24gYW4gT0lEQyB0b2tlbiBpcyB2YWxpZCBhZnRlciBiZWluZyBpc3N1ZWQgdG8gYSB1c2VyLlxuICAgKiBUaGlzIHZhbGlkYXRpb24gdXNlcyBpYXQgY2xhaW0gb2YgT0lEQyB0b2tlbi5cbiAgICovXG4gIHJlYWRvbmx5IHRva2VuRXhwaXJ5RnJvbUlzc3VlOiBEdXJhdGlvbjtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBBcGkgS2V5cyBvbiB0aGUgR3JhcGhxbCBBcGkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBpS2V5QXV0aG9yaXphdGlvbkNvbmZpZyB7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBkZXNjcmlwdGlvbiBmb3IgdGhlIEFwaSBLZXkgdG8gYXR0YWNoIHRvIHRoZSBBcGkuXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQSBkdXJhdGlvbiByZXByZXNlbnRpbmcgdGhlIHRpbWUgZnJvbSBDbG91ZGZvcm1hdGlvbiBkZXBsb3kgdW50aWwgZXhwaXJ5LlxuICAgKi9cbiAgcmVhZG9ubHkgZXhwaXJlczogRHVyYXRpb247XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgQ3VzdG9tIExhbWJkYSBhdXRob3JpemF0aW9uIG9uIHRoZSBHcmFwaHFsIEFwaS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMYW1iZGFBdXRob3JpemF0aW9uQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBhdXRob3JpemVyIGxhbWJkYSBmdW5jdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uOiBJRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIEhvdyBsb25nIHRoZSByZXN1bHRzIGFyZSBjYWNoZWQuXG4gICAqL1xuICByZWFkb25seSB0dGw6IER1cmF0aW9uO1xufVxuXG4vKipcbiAqIEF1dGhvcml6YXRpb24gTW9kZXMgdG8gYXBwbHkgdG8gdGhlIEFwaS5cbiAqIEF0IGxlYXN0IG9uZSBtb2RlcyBtdXN0IGJlIHByb3ZpZGVkLCBhbmQgaWYgbW9yZSB0aGFuIG9uZSBhcmUgcHJvdmlkZWQgYSBkZWZhdWx0QXV0aG9yaXphdGlvbk1vZGUgbXVzdCBiZSBzcGVjaWZpZWQuXG4gKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBBbXBsaWZ5IEFwaSBhdXRoLCByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvYXV0aG9yaXphdGlvbi1ydWxlcy8jYXV0aG9yaXphdGlvbi1zdHJhdGVnaWVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aG9yaXphdGlvbk1vZGVzIHtcbiAgLyoqXG4gICAqIERlZmF1bHQgYXV0aCBtb2RlIHRvIHByb3ZpZGUgdG8gdGhlIEFwaSwgcmVxdWlyZWQgaWYgbW9yZSB0aGFuIG9uZSBjb25maWcgdHlwZSBpcyBzcGVjaWZpZWQuXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0QXV0aG9yaXphdGlvbk1vZGU/OiAnQVdTX0lBTScgfCAnQU1BWk9OX0NPR05JVE9fVVNFUl9QT09MUycgfCAnT1BFTklEX0NPTk5FQ1QnIHwgJ0FQSV9LRVknIHwgJ0FXU19MQU1CREEnO1xuXG4gIC8qKlxuICAgKiBJQU0gQXV0aCBjb25maWcsIHJlcXVpcmVkIGlmIGFuICdpYW0nIGF1dGggcHJvdmlkZXIgaXMgc3BlY2lmaWVkIGluIHRoZSBBcGkuXG4gICAqIEFwcGxpZXMgdG8gJ3B1YmxpYycgYW5kICdwcml2YXRlJyBhdXRoIHN0cmF0ZWdpZXMuXG4gICAqL1xuICByZWFkb25seSBpYW1Db25maWc/OiBJQU1BdXRob3JpemF0aW9uQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBDb2duaXRvIFVzZXJQb29sIGNvbmZpZywgcmVxdWlyZWQgaWYgYSAndXNlclBvb2xzJyBhdXRoIHByb3ZpZGVyIGlzIHNwZWNpZmllZCBpbiB0aGUgQXBpLlxuICAgKiBBcHBsaWVzIHRvICdvd25lcicsICdwcml2YXRlJywgYW5kICdncm91cCcgYXV0aCBzdHJhdGVnaWVzLlxuICAgKi9cbiAgcmVhZG9ubHkgdXNlclBvb2xDb25maWc/OiBVc2VyUG9vbEF1dGhvcml6YXRpb25Db25maWc7XG5cbiAgLyoqXG4gICAqIENvZ25pdG8gT0lEQyBjb25maWcsIHJlcXVpcmVkIGlmIGEgJ29pZGMnIGF1dGggcHJvdmlkZXIgaXMgc3BlY2lmaWVkIGluIHRoZSBBcGkuXG4gICAqIEFwcGxpZXMgdG8gJ293bmVyJywgJ3ByaXZhdGUnLCBhbmQgJ2dyb3VwJyBhdXRoIHN0cmF0ZWdpZXMuXG4gICAqL1xuICByZWFkb25seSBvaWRjQ29uZmlnPzogT0lEQ0F1dGhvcml6YXRpb25Db25maWc7XG5cbiAgLyoqXG4gICAqIEFwcFN5bmMgQXBpIEtleSBjb25maWcsIHJlcXVpcmVkIGlmIGEgJ2FwaUtleScgYXV0aCBwcm92aWRlciBpcyBzcGVjaWZpZWQgaW4gdGhlIEFwaS5cbiAgICogQXBwbGllcyB0byAncHVibGljJyBhdXRoIHN0cmF0ZWd5LlxuICAgKi9cbiAgcmVhZG9ubHkgYXBpS2V5Q29uZmlnPzogQXBpS2V5QXV0aG9yaXphdGlvbkNvbmZpZztcblxuICAvKipcbiAgICogTGFtYmRhIGNvbmZpZywgcmVxdWlyZWQgaWYgYSAnZnVuY3Rpb24nIGF1dGggcHJvdmlkZXIgaXMgc3BlY2lmaWVkIGluIHRoZSBBcGkuXG4gICAqIEFwcGxpZXMgdG8gJ2N1c3RvbScgYXV0aCBzdHJhdGVneS5cbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYUNvbmZpZz86IExhbWJkYUF1dGhvcml6YXRpb25Db25maWc7XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiByb2xlcyBncmFudGVkIGZ1bGwgUi9XIGFjY2VzcyB0byB0aGUgQXBpLlxuICAgKiBAZGVwcmVjYXRlZCwgdXNlIGlhbUNvbmZpZy5hbGxvd0xpc3RlZFJvbGVzIGluc3RlYWQuXG4gICAqL1xuICByZWFkb25seSBhZG1pblJvbGVzPzogSVJvbGVbXTtcbn1cblxuLyoqXG4gKiBXaGV0aGVyIG9yIG5vdCB0byB1c2UgYSB2ZXJzaW9uIGZpZWxkIHRvIHRyYWNrIGNvbmZsaWN0IGRldGVjdGlvbi5cbiAqL1xuZXhwb3J0IHR5cGUgQ29uZmxpY3REZXRlY3Rpb25UeXBlID0gJ1ZFUlNJT04nIHwgJ05PTkUnO1xuXG4vKipcbiAqIENvbW1vbiBwYXJhbWV0ZXJzIGZvciBjb25mbGljdCByZXNvbHV0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5QmFzZSB7XG4gIC8qKlxuICAgKiBUaGUgY29uZmxpY3QgZGV0ZWN0aW9uIHR5cGUgdXNlZCBmb3IgcmVzb2x1dGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGRldGVjdGlvblR5cGU6IENvbmZsaWN0RGV0ZWN0aW9uVHlwZTtcbn1cblxuLyoqXG4gKiBFbmFibGUgb3B0aW1pc3RpYyBjb25jdXJyZW5jeSBvbiB0aGUgcHJvamVjdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdXRvbWVyZ2VDb25mbGljdFJlc29sdXRpb25TdHJhdGVneSBleHRlbmRzIENvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5QmFzZSB7XG4gIC8qKlxuICAgKiBUaGlzIGNvbmZsaWN0IHJlc29sdXRpb24gc3RyYXRlZ3kgZXhlY3V0ZXMgYW4gYXV0by1tZXJnZS5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24sIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hcHBzeW5jL2xhdGVzdC9kZXZndWlkZS9jb25mbGljdC1kZXRlY3Rpb24tYW5kLXN5bmMuaHRtbCNjb25mbGljdC1kZXRlY3Rpb24tYW5kLXJlc29sdXRpb25cbiAgICovXG4gIHJlYWRvbmx5IGhhbmRsZXJUeXBlOiAnQVVUT01FUkdFJztcbn1cblxuLyoqXG4gKiBFbmFibGUgYXV0b21lcmdlIG9uIHRoZSBwcm9qZWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9wdGltaXN0aWNDb25mbGljdFJlc29sdXRpb25TdHJhdGVneSBleHRlbmRzIENvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5QmFzZSB7XG4gIC8qKlxuICAgKiBUaGlzIGNvbmZsaWN0IHJlc29sdXRpb24gc3RyYXRlZ3kgdGhlIF92ZXJzaW9uIHRvIHBlcmZvcm0gb3B0aW1pc3RpYyBjb25jdXJyZW5jeS5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24sIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hcHBzeW5jL2xhdGVzdC9kZXZndWlkZS9jb25mbGljdC1kZXRlY3Rpb24tYW5kLXN5bmMuaHRtbCNjb25mbGljdC1kZXRlY3Rpb24tYW5kLXJlc29sdXRpb25cbiAgICovXG4gIHJlYWRvbmx5IGhhbmRsZXJUeXBlOiAnT1BUSU1JU1RJQ19DT05DVVJSRU5DWSc7XG59XG5cbi8qKlxuICogRW5hYmxlIGN1c3RvbSBzeW5jIG9uIHRoZSBwcm9qZWN0LCBwb3dlcmVkIGJ5IGEgbGFtYmRhLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbUNvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5IGV4dGVuZHMgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3lCYXNlIHtcbiAgLyoqXG4gICAqIFRoaXMgY29uZmxpY3QgcmVzb2x1dGlvbiBzdHJhdGVneSB1c2VzIGEgbGFtYmRhIGhhbmRsZXIgdHlwZS5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24sIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hcHBzeW5jL2xhdGVzdC9kZXZndWlkZS9jb25mbGljdC1kZXRlY3Rpb24tYW5kLXN5bmMuaHRtbCNjb25mbGljdC1kZXRlY3Rpb24tYW5kLXJlc29sdXRpb25cblxuICAgKi9cbiAgcmVhZG9ubHkgaGFuZGxlclR5cGU6ICdMQU1CREEnO1xuXG4gIC8qKlxuICAgKiBUaGUgZnVuY3Rpb24gd2hpY2ggd2lsbCBiZSBpbnZva2VkIGZvciBjb25mbGljdCByZXNvbHV0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgY29uZmxpY3RIYW5kbGVyOiBJRnVuY3Rpb247XG59XG5cbi8qKlxuICogQ29uZmxpY3QgUmVzb2x1dGlvbiBTdHJhdGVneSB0byBhcHBseSB0byB0aGUgcHJvamVjdCBvciBhIHBhcnRpY3VsYXIgbW9kZWwuXG4gKi9cbmV4cG9ydCB0eXBlIENvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5ID1cbiAgfCBBdXRvbWVyZ2VDb25mbGljdFJlc29sdXRpb25TdHJhdGVneVxuICB8IE9wdGltaXN0aWNDb25mbGljdFJlc29sdXRpb25TdHJhdGVneVxuICB8IEN1c3RvbUNvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5O1xuXG4vKipcbiAqIFByb2plY3QgbGV2ZWwgY29uZmlndXJhdGlvbiBmb3IgY29uZmxpY3QgcmVzb2x1dGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25mbGljdFJlc29sdXRpb24ge1xuICAvKipcbiAgICogUHJvamVjdC13aWRlIGNvbmZpZyBmb3IgY29uZmxpY3QgcmVzb2x1dGlvbi4gQXBwbGllcyB0byBhbGwgbm9uLW92ZXJyaWRkZW4gbW9kZWxzLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVjdD86IENvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5O1xuXG4gIC8qKlxuICAgKiBNb2RlbC1zcGVjaWZpYyBjb25mbGljdCByZXNvbHV0aW9uIG92ZXJyaWRlcy5cbiAgICovXG4gIHJlYWRvbmx5IG1vZGVscz86IFJlY29yZDxzdHJpbmcsIENvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5Pjtcbn1cblxuLyoqXG4gKiBQYXJhbXMgZXhwb3NlZCB0byBzdXBwb3J0IGNvbmZpZ3VyaW5nIGFuZCBvdmVycmlkaW5nIHBpcGVsaW5lZCBzbG90cy4gVGhpcyBhbGxvd3MgY29uZmlndXJhdGlvbiBvZiB0aGUgdW5kZXJseWluZyBmdW5jdGlvbixcbiAqIGluY2x1ZGluZyB0aGUgcmVxdWVzdCBhbmQgcmVzcG9uc2UgbWFwcGluZyB0ZW1wbGF0ZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb25TbG90T3ZlcnJpZGUge1xuICAvKipcbiAgICogT3ZlcnJpZGUgcmVxdWVzdCBtYXBwaW5nIHRlbXBsYXRlIGZvciB0aGUgZnVuY3Rpb24gc2xvdC4gRXhlY3V0ZWQgYmVmb3JlIHRoZSBkYXRhc291cmNlIGlzIGludm9rZWQuXG4gICAqL1xuICByZWFkb25seSByZXF1ZXN0TWFwcGluZ1RlbXBsYXRlPzogTWFwcGluZ1RlbXBsYXRlO1xuXG4gIC8qKlxuICAgKiBPdmVycmlkZSByZXNwb25zZSBtYXBwaW5nIHRlbXBsYXRlIGZvciB0aGUgZnVuY3Rpb24gc2xvdC4gRXhlY3V0ZWQgYWZ0ZXIgdGhlIGRhdGFzb3VyY2UgaXMgaW52b2tlZC5cbiAgICovXG4gIHJlYWRvbmx5IHJlc3BvbnNlTWFwcGluZ1RlbXBsYXRlPzogTWFwcGluZ1RlbXBsYXRlO1xufVxuXG4vKipcbiAqIENvbW1vbiBzbG90IHBhcmFtZXRlcnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb25TbG90QmFzZSB7XG4gIC8qKlxuICAgKiBUaGUgZmllbGQgdG8gYXR0YWNoIHRoaXMgZnVuY3Rpb24gdG8gb24gdGhlIEFwaSBkZWZpbml0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZmllbGROYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzbG90IGluZGV4IHRvIHVzZSB0byBpbmplY3QgdGhpcyBpbnRvIHRoZSBleGVjdXRpb24gcGlwZWxpbmUuXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHNsb3R0aW5nLCByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvY3VzdG9tLWJ1c2luZXNzLWxvZ2ljLyNleHRlbmQtYW1wbGlmeS1nZW5lcmF0ZWQtcmVzb2x2ZXJzXG4gICAqL1xuICByZWFkb25seSBzbG90SW5kZXg6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG92ZXJyaWRkZW4gYmVoYXZpb3IgZm9yIHRoaXMgc2xvdC5cbiAgICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uOiBGdW5jdGlvblNsb3RPdmVycmlkZTtcbn1cblxuLyoqXG4gKiBTbG90IHR5cGVzIGZvciBNdXRhdGlvbiBSZXNvbHZlcnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTXV0YXRpb25GdW5jdGlvblNsb3QgZXh0ZW5kcyBGdW5jdGlvblNsb3RCYXNlIHtcbiAgLyoqXG4gICAqIFRoaXMgc2xvdCB0eXBlIGFwcGxpZXMgdG8gdGhlIE11dGF0aW9uIHR5cGUgb24gdGhlIEFwaSBkZWZpbml0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZU5hbWU6ICdNdXRhdGlvbic7XG5cbiAgLyoqXG4gICAqIFRoZSBzbG90IG5hbWUgdG8gaW5qZWN0IHRoaXMgYmVoYXZpb3IgaW50by5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gc2xvdHRpbmcsIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvZ3JhcGhxbC9jdXN0b20tYnVzaW5lc3MtbG9naWMvI2V4dGVuZC1hbXBsaWZ5LWdlbmVyYXRlZC1yZXNvbHZlcnNcbiAgICovXG4gIHJlYWRvbmx5IHNsb3ROYW1lOiAnaW5pdCcgfCAncHJlQXV0aCcgfCAnYXV0aCcgfCAncG9zdEF1dGgnIHwgJ3ByZVVwZGF0ZScgfCAncG9zdFVwZGF0ZScgfCAnZmluaXNoJztcbn1cblxuLyoqXG4gKiBTbG90IHR5cGVzIGZvciBRdWVyeSBSZXNvbHZlcnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlGdW5jdGlvblNsb3QgZXh0ZW5kcyBGdW5jdGlvblNsb3RCYXNlIHtcbiAgLyoqXG4gICAqIFRoaXMgc2xvdCB0eXBlIGFwcGxpZXMgdG8gdGhlIFF1ZXJ5IHR5cGUgb24gdGhlIEFwaSBkZWZpbml0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZU5hbWU6ICdRdWVyeSc7XG5cbiAgLyoqXG4gICAqIFRoZSBzbG90IG5hbWUgdG8gaW5qZWN0IHRoaXMgYmVoYXZpb3IgaW50by5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gc2xvdHRpbmcsIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvZ3JhcGhxbC9jdXN0b20tYnVzaW5lc3MtbG9naWMvI2V4dGVuZC1hbXBsaWZ5LWdlbmVyYXRlZC1yZXNvbHZlcnNcbiAgICovXG4gIHJlYWRvbmx5IHNsb3ROYW1lOiAnaW5pdCcgfCAncHJlQXV0aCcgfCAnYXV0aCcgfCAncG9zdEF1dGgnIHwgJ3ByZURhdGFMb2FkJyB8ICdwb3N0RGF0YUxvYWQnIHwgJ2ZpbmlzaCc7XG59XG5cbi8qKlxuICogU2xvdCB0eXBlcyBmb3IgU3Vic2NyaXB0aW9uIFJlc29sdmVycy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdWJzY3JpcHRpb25GdW5jdGlvblNsb3QgZXh0ZW5kcyBGdW5jdGlvblNsb3RCYXNlIHtcbiAgLyoqXG4gICAqIFRoaXMgc2xvdCB0eXBlIGFwcGxpZXMgdG8gdGhlIFN1YnNjcmlwdGlvbiB0eXBlIG9uIHRoZSBBcGkgZGVmaW5pdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHR5cGVOYW1lOiAnU3Vic2NyaXB0aW9uJztcblxuICAvKipcbiAgICogVGhlIHNsb3QgbmFtZSB0byBpbmplY3QgdGhpcyBiZWhhdmlvciBpbnRvLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBzbG90dGluZywgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9ncmFwaHFsL2N1c3RvbS1idXNpbmVzcy1sb2dpYy8jZXh0ZW5kLWFtcGxpZnktZ2VuZXJhdGVkLXJlc29sdmVyc1xuICAgKi9cbiAgcmVhZG9ubHkgc2xvdE5hbWU6ICdpbml0JyB8ICdwcmVBdXRoJyB8ICdhdXRoJyB8ICdwb3N0QXV0aCcgfCAncHJlU3Vic2NyaWJlJztcbn1cblxuLyoqXG4gKiBJbnB1dCBwYXJhbXMgdG8gdW5pcXVlbHkgaWRlbnRpZnkgdGhlIHNsb3Qgd2hpY2ggaXMgYmVpbmcgb3ZlcnJpZGRlbi5cbiAqL1xuZXhwb3J0IHR5cGUgRnVuY3Rpb25TbG90ID0gTXV0YXRpb25GdW5jdGlvblNsb3QgfCBRdWVyeUZ1bmN0aW9uU2xvdCB8IFN1YnNjcmlwdGlvbkZ1bmN0aW9uU2xvdDtcblxuLyoqXG4gKiBTdHJvbmdseSB0eXBlZCBzZXQgb2Ygc2hhcmVkIHBhcmFtZXRlcnMgZm9yIGFsbCB0cmFuc2Zvcm1lcnMsIGFuZCBjb3JlIGxheWVyLlxuICogVGhpcyBpcyBpbnRlbmRlZCB0byByZXBsYWNlIGZlYXR1cmUgZmxhZ3MsIHRvIGVuc3VyZSBwYXJhbSBjb2VyY2lvbiBoYXBwZW5zIGluXG4gKiBhIHNpbmdsZSBsb2NhdGlvbiwgYW5kIGlzbid0IHNwcmVhZCBhcm91bmQgdGhlIHRyYW5zZm9ybWVycywgd2hlcmUgdGhleSBjYW5cbiAqIGhhdmUgZGlmZmVyZW50IGRlZmF1bHQgYmVoYXZpb3JzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zbGF0aW9uQmVoYXZpb3Ige1xuICAvKipcbiAgICogUmVzdG9yZSBwYXJpdHkgdy8gR1FMdjEgQG1vZGVsIHBhcmFtZXRlciBiZWhhdmlvciwgd2hlcmUgc2V0dGluZyBhIHNpbmdsZSBmaWVsZCBkb2Vzbid0IGltcGxpY2l0bHkgc2V0IHRoZSBvdGhlciBmaWVsZHMgdG8gbnVsbC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkRGVlcE1lcmdlRGlyZWN0aXZlQ29uZmlnRGVmYXVsdHM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERpc2FibGUgcmVzb2x2ZXIgZGVkdXBpbmcsIHRoaXMgY2FuIHNvbWV0aW1lcyBjYXVzZSBwcm9ibGVtcyBiZWNhdXNlIGRlZHVwZSBvcmRlcmluZyBpc24ndCBzdGFibGUgdG9kYXksIHdoaWNoIGNhblxuICAgKiBsZWFkIHRvIGNpcmN1bGFyIGRlcGVuZGVuY2llcyBhY3Jvc3Mgc3RhY2tzIGlmIG1vZGVscyBhcmUgcmVvcmRlcmVkLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBkaXNhYmxlUmVzb2x2ZXJEZWR1cGluZzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxpbmcgc2FuZGJveCBtb2RlIHdpbGwgZW5hYmxlIGFwaSBrZXkgYXV0aCBvbiBhbGwgbW9kZWxzIGluIHRoZSB0cmFuc2Zvcm1lZCBzY2hlbWEuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzYW5kYm94TW9kZUVuYWJsZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuc3VyZSB0aGF0IG9pZGMgYW5kIHVzZXJQb29sIGF1dGggdXNlIHRoZSBgc3ViYCBmaWVsZCBpbiB0aGUgZm9yIHRoZSB1c2VybmFtZSBmaWVsZCwgd2hpY2ggZGlzYWxsb3dzIG5ldyB1c2VycyB3aXRoIHRoZSBzYW1lXG4gICAqIGlkIHRvIGFjY2VzcyBkYXRhIGZyb20gYSBkZWxldGVkIHVzZXIgaW4gdGhlIHBvb2wuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHVzZVN1YlVzZXJuYW1lRm9yRGVmYXVsdElkZW50aXR5Q2xhaW06IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuc3VyZSB0aGF0IHRoZSBvd25lciBmaWVsZCBpcyBzdGlsbCBwb3B1bGF0ZWQgZXZlbiBpZiBhIHN0YXRpYyBpYW0gb3IgZ3JvdXAgYXV0aG9yaXphdGlvbiBhcHBsaWVzLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBwb3B1bGF0ZU93bmVyRmllbGRGb3JTdGF0aWNHcm91cEF1dGg6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElmIGVuYWJsZWQsIGRpc2FibGUgYXBpIGtleSByZXNvdXJjZSBnZW5lcmF0aW9uIGV2ZW4gaWYgc3BlY2lmaWVkIGFzIGFuIGF1dGggcnVsZSBvbiB0aGUgY29uc3RydWN0LlxuICAgKiBUaGlzIGlzIGEgbGVnYWN5IHBhcmFtZXRlciBmcm9tIHRoZSBHcmFwaHFsIFRyYW5zZm9ybWVyIGV4aXN0aW5nIGluIEFtcGxpZnkgQ0xJLCBub3QgcmVjb21tZW5kZWQgdG8gY2hhbmdlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3VwcHJlc3NBcGlLZXlHZW5lcmF0aW9uOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJZiBkaXNhYmxlZCwgZ2VuZXJhdGVkIEBpbmRleCBhcyBhbiBMU0kgaW5zdGVhZCBvZiBhIEdTSS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgc2Vjb25kYXJ5S2V5QXNHU0k6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEF1dG9tYXRlIGdlbmVyYXRpb24gb2YgcXVlcnkgbmFtZXMsIGFuZCBhcyBhIHJlc3VsdCBhdHRhY2hpbmcgYWxsIGluZGV4ZXMgYXMgcXVlcmllcyB0byB0aGUgZ2VuZXJhdGVkIEFwaS5cbiAgICogSWYgZW5hYmxlZCwgQGluZGV4IGNhbiBiZSBwcm92aWRlZCBhIG51bGwgbmFtZSBmaWVsZCB0byBkaXNhYmxlIHRoZSBnZW5lcmF0aW9uIG9mIHRoZSBxdWVyeSBvbiB0aGUgQXBpLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVBdXRvSW5kZXhRdWVyeU5hbWVzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgY3VzdG9tIHByaW1hcnkga2V5IHN1cHBvcnQsIHRoZXJlJ3Mgbm8gZ29vZCByZWFzb24gdG8gZGlzYWJsZSB0aGlzIHVubGVzcyB0cnlpbmcgbm90IHRvIHVwZGF0ZSBhIGxlZ2FjeSBhcHAuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHJlc3BlY3RQcmltYXJ5S2V5QXR0cmlidXRlc09uQ29ubmVjdGlvbkZpZWxkOiBib29sZWFuO1xuXG4gIHJlYWRvbmx5IGVuYWJsZVNlYXJjaE5vZGVUb05vZGVFbmNyeXB0aW9uOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGVuIGVuYWJsZWQsIGludGVybmFsIGNmbiBvdXRwdXRzIHdoaWNoIGV4aXN0ZWQgaW4gQW1wbGlmeS1nZW5lcmF0ZWQgYXBwcyB3aWxsIGNvbnRpbnVlIHRvIGJlIGVtaXR0ZWQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVUcmFuc2Zvcm1lckNmbk91dHB1dHM6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQSB1dGlsaXR5IGludGVyZmFjZSBlcXVpdmFsZW50IHRvIFBhcnRpYWw8VHJhbnNsYXRpb25CZWhhdmlvcj4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydGlhbFRyYW5zbGF0aW9uQmVoYXZpb3Ige1xuICAvKipcbiAgICogUmVzdG9yZSBwYXJpdHkgdy8gR1FMdjEgQG1vZGVsIHBhcmFtZXRlciBiZWhhdmlvciwgd2hlcmUgc2V0dGluZyBhIHNpbmdsZSBmaWVsZCBkb2Vzbid0IGltcGxpY2l0bHkgc2V0IHRoZSBvdGhlciBmaWVsZHMgdG8gbnVsbC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkRGVlcE1lcmdlRGlyZWN0aXZlQ29uZmlnRGVmYXVsdHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEaXNhYmxlIHJlc29sdmVyIGRlZHVwaW5nLCB0aGlzIGNhbiBzb21ldGltZXMgY2F1c2UgcHJvYmxlbXMgYmVjYXVzZSBkZWR1cGUgb3JkZXJpbmcgaXNuJ3Qgc3RhYmxlIHRvZGF5LCB3aGljaCBjYW5cbiAgICogbGVhZCB0byBjaXJjdWxhciBkZXBlbmRlbmNpZXMgYWNyb3NzIHN0YWNrcyBpZiBtb2RlbHMgYXJlIHJlb3JkZXJlZC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZVJlc29sdmVyRGVkdXBpbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGluZyBzYW5kYm94IG1vZGUgd2lsbCBlbmFibGUgYXBpIGtleSBhdXRoIG9uIGFsbCBtb2RlbHMgaW4gdGhlIHRyYW5zZm9ybWVkIHNjaGVtYS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHNhbmRib3hNb2RlRW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuc3VyZSB0aGF0IG9pZGMgYW5kIHVzZXJQb29sIGF1dGggdXNlIHRoZSBgc3ViYCBmaWVsZCBpbiB0aGUgZm9yIHRoZSB1c2VybmFtZSBmaWVsZCwgd2hpY2ggZGlzYWxsb3dzIG5ldyB1c2VycyB3aXRoIHRoZSBzYW1lXG4gICAqIGlkIHRvIGFjY2VzcyBkYXRhIGZyb20gYSBkZWxldGVkIHVzZXIgaW4gdGhlIHBvb2wuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHVzZVN1YlVzZXJuYW1lRm9yRGVmYXVsdElkZW50aXR5Q2xhaW0/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbnN1cmUgdGhhdCB0aGUgb3duZXIgZmllbGQgaXMgc3RpbGwgcG9wdWxhdGVkIGV2ZW4gaWYgYSBzdGF0aWMgaWFtIG9yIGdyb3VwIGF1dGhvcml6YXRpb24gYXBwbGllcy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcG9wdWxhdGVPd25lckZpZWxkRm9yU3RhdGljR3JvdXBBdXRoPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgZW5hYmxlZCwgZGlzYWJsZSBhcGkga2V5IHJlc291cmNlIGdlbmVyYXRpb24gZXZlbiBpZiBzcGVjaWZpZWQgYXMgYW4gYXV0aCBydWxlIG9uIHRoZSBjb25zdHJ1Y3QuXG4gICAqIFRoaXMgaXMgYSBsZWdhY3kgcGFyYW1ldGVyIGZyb20gdGhlIEdyYXBocWwgVHJhbnNmb3JtZXIgZXhpc3RpbmcgaW4gQW1wbGlmeSBDTEksIG5vdCByZWNvbW1lbmRlZCB0byBjaGFuZ2UuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc0FwaUtleUdlbmVyYXRpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJZiBkaXNhYmxlZCwgZ2VuZXJhdGVkIEBpbmRleCBhcyBhbiBMU0kgaW5zdGVhZCBvZiBhIEdTSS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgc2Vjb25kYXJ5S2V5QXNHU0k/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBdXRvbWF0ZSBnZW5lcmF0aW9uIG9mIHF1ZXJ5IG5hbWVzLCBhbmQgYXMgYSByZXN1bHQgYXR0YWNoaW5nIGFsbCBpbmRleGVzIGFzIHF1ZXJpZXMgdG8gdGhlIGdlbmVyYXRlZCBBcGkuXG4gICAqIElmIGVuYWJsZWQsIEBpbmRleCBjYW4gYmUgcHJvdmlkZWQgYSBudWxsIG5hbWUgZmllbGQgdG8gZGlzYWJsZSB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgcXVlcnkgb24gdGhlIEFwaS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlQXV0b0luZGV4UXVlcnlOYW1lcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBjdXN0b20gcHJpbWFyeSBrZXkgc3VwcG9ydCwgdGhlcmUncyBubyBnb29kIHJlYXNvbiB0byBkaXNhYmxlIHRoaXMgdW5sZXNzIHRyeWluZyBub3QgdG8gdXBkYXRlIGEgbGVnYWN5IGFwcC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVzcGVjdFByaW1hcnlLZXlBdHRyaWJ1dGVzT25Db25uZWN0aW9uRmllbGQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJZiBlbmFibGVkLCBzZXQgbm9kZVRvTm9kZUVuY3J5cHRpb24gb24gdGhlIHNlYXJjaGFibGUgZG9tYWluIChpZiBvbmUgZXhpc3RzKS4gTm90IHJlY29tbWVuZGVkIGZvciB1c2UsIHByZWZlclxuICAgKiB0byB1c2UgYE9iamVjdC52YWx1ZXMocmVzb3VyY2VzLmFkZGl0aW9uYWxSZXNvdXJjZXNbJ0FXUzo6RWxhc3RpY3NlYXJjaDo6RG9tYWluJ10pLmZvckVhY2goKGRvbWFpbjogQ2ZuRG9tYWluKSA9PiB7XG4gICAqICAgZG9tYWluLk5vZGVUb05vZGVFbmNyeXB0aW9uT3B0aW9ucyA9IHsgRW5hYmxlZDogVHJ1ZSB9O1xuICAgKiB9KTtcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZVNlYXJjaE5vZGVUb05vZGVFbmNyeXB0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hlbiBlbmFibGVkLCBpbnRlcm5hbCBjZm4gb3V0cHV0cyB3aGljaCBleGlzdGVkIGluIEFtcGxpZnktZ2VuZXJhdGVkIGFwcHMgd2lsbCBjb250aW51ZSB0byBiZSBlbWl0dGVkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlVHJhbnNmb3JtZXJDZm5PdXRwdXRzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBHcmFwaHFsIEFwaSBkZWZpbml0aW9uLCB3aGljaCBjYW4gYmUgaW1wbGVtZW50ZWQgaW4gbXVsdGlwbGUgd2F5cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uIHtcbiAgLyoqXG4gICAqIFJldHVybiB0aGUgc2NoZW1hIGRlZmluaXRpb24gYXMgYSBncmFwaHFsIHN0cmluZywgd2l0aCBhbXBsaWZ5IGRpcmVjdGl2ZXMgYWxsb3dlZC5cbiAgICogQHJldHVybnMgdGhlIHJlbmRlcmVkIHNjaGVtYS5cbiAgICovXG4gIHJlYWRvbmx5IHNjaGVtYTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSBhbnkgZnVuY3Rpb24gc2xvdHMgZGVmaW5lZCBleHBsaWNpdGx5IGluIHRoZSBBcGkgZGVmaW5pdGlvbi5cbiAgICogQHJldHVybnMgZ2VuZXJhdGVkIGZ1bmN0aW9uIHNsb3RzXG4gICAqL1xuICByZWFkb25seSBmdW5jdGlvblNsb3RzOiBGdW5jdGlvblNsb3RbXTtcblxuICAvKipcbiAgICogUmV0cmlldmUgdGhlIGRhdGFzb3VyY2UgZGVmaW5pdGlvbiBtYXBwaW5nLiBUaGUgZGVmYXVsdCBzdHJhdGVneSBpcyB0byB1c2UgRHluYW1vREIgZnJvbSBDbG91ZEZvcm1hdGlvbi5cbiAgICogQHJldHVybnMgZGF0YXNvdXJjZSBkZWZpbml0aW9uIG1hcHBpbmdcbiAgICovXG4gIHJlYWRvbmx5IGRhdGFTb3VyY2VEZWZpbml0aW9uOiBSZWNvcmQ8c3RyaW5nLCBNb2RlbERhdGFTb3VyY2VEZWZpbml0aW9uPjtcbn1cblxuLyoqXG4gKiBFbnRyeSByZXByZXNlbnRpbmcgdGhlIHJlcXVpcmVkIG91dHB1dCBmcm9tIHRoZSBiYWNrZW5kIGZvciBjb2RlZ2VuIGdlbmVyYXRlIGNvbW1hbmRzIHRvIHdvcmsuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUJhY2tlbmRPdXRwdXRFbnRyeSB7XG4gIC8qKlxuICAgKiBUaGUgcHJvdG9jb2wgdmVyc2lvbiBmb3IgdGhpcyBiYWNrZW5kIG91dHB1dC5cbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN0cmluZy1tYXAgcGF5bG9hZCBvZiBnZW5lcmF0ZWQgY29uZmlnIHZhbHVlcy5cbiAgICovXG4gIHJlYWRvbmx5IHBheWxvYWQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG5cbi8qKlxuICogQmFja2VuZCBvdXRwdXQgc3RyYXRlZ3kgdXNlZCB0byB3cml0ZSBjb25maWcgcmVxdWlyZWQgZm9yIGNvZGVnZW4gdGFza3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUJhY2tlbmRPdXRwdXRTdG9yYWdlU3RyYXRlZ3kge1xuICAvKipcbiAgICogQWRkIGFuIGVudHJ5IHRvIGJhY2tlbmQgb3V0cHV0LlxuICAgKiBAcGFyYW0ga2V5TmFtZSB0aGUga2V5XG4gICAqIEBwYXJhbSBiYWNrZW5kT3V0cHV0RW50cnkgdGhlIHJlY29yZCB0byBzdG9yZSBpbiB0aGUgYmFja2VuZCBvdXRwdXRcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWV0aG9kLXNpZ25hdHVyZS1zdHlsZVxuICBhZGRCYWNrZW5kT3V0cHV0RW50cnkoa2V5TmFtZTogc3RyaW5nLCBiYWNrZW5kT3V0cHV0RW50cnk6IElCYWNrZW5kT3V0cHV0RW50cnkpOiB2b2lkO1xufVxuXG4vKipcbiAqIERlZmluZXMgYSBkYXRhc291cmNlIGZvciByZXNvbHZpbmcgR3JhcGhRTCBvcGVyYXRpb25zIGFnYWluc3QgYEBtb2RlbGAgdHlwZXMgaW4gYSBHcmFwaFFMIHNjaGVtYS5cbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNb2RlbERhdGFTb3VyY2VEZWZpbml0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBNb2RlbERhdGFTb3VyY2UuIFRoaXMgd2lsbCBiZSB1c2VkIHRvIG5hbWUgdGhlIEFwcFN5bmNlIERhdGFTb3VyY2UgaXRzZWxmLCBwbHVzIGFueSBhc3NvY2lhdGVkIHJlc291cmNlcyBsaWtlIHJlc29sdmVyXG4gICAqIExhbWJkYXMsIGN1c3RvbSBDREsgcmVzb3VyY2VzLiBUaGlzIG5hbWUgbXVzdCBiZSB1bmlxdWUgYWNyb3NzIGFsbCBzY2hlbWEgZGVmaW5pdGlvbnMgaW4gYSBHcmFwaFFMIEFQSS5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBNb2RlbERhdGFTb3VyY2VEZWZpbml0aW9uU3RyYXRlZ3kuXG4gICAqL1xuICByZWFkb25seSBzdHJhdGVneTogTW9kZWxEYXRhU291cmNlRGVmaW5pdGlvblN0cmF0ZWd5O1xufVxuLyoqXG4gKiBBbGwga25vd24gTW9kZWxEYXRhU291cmNlRGVmaW5pdGlvblN0cmF0ZWdpZXMuIENvbmNyZXRlIHN0cmF0ZWdpZXMgdmFyeSB3aWRlbHkgaW4gdGhlaXIgcmVxdWlyZW1lbnRzIGFuZCBpbXBsZW1lbnRhdGlvbnMuXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCB0eXBlIE1vZGVsRGF0YVNvdXJjZURlZmluaXRpb25TdHJhdGVneSA9XG4gIHwgRGVmYXVsdER5bmFtb0RiTW9kZWxEYXRhU291cmNlRGVmaW5pdGlvblN0cmF0ZWd5XG4gIHwgQW1wbGlmeUR5bmFtb0RiTW9kZWxEYXRhU291cmNlRGVmaW5pdGlvblN0cmF0ZWd5O1xuXG5leHBvcnQgdHlwZSBNb2RlbERhdGFTb3VyY2VEZWZpbml0aW9uRGJUeXBlID0gJ0RZTkFNT0RCJztcblxuLyoqXG4gKiBVc2UgZGVmYXVsdCBDbG91ZEZvcm1hdGlvbiB0eXBlICdBV1M6OkR5bmFtb0RCOjpUYWJsZScgdG8gcHJvdmlzaW9uIHRhYmxlLlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlZmF1bHREeW5hbW9EYk1vZGVsRGF0YVNvdXJjZURlZmluaXRpb25TdHJhdGVneSB7XG4gIHJlYWRvbmx5IGRiVHlwZTogJ0RZTkFNT0RCJztcbiAgcmVhZG9ubHkgcHJvdmlzaW9uU3RyYXRlZ3k6ICdERUZBVUxUJztcbn1cbi8qKlxuICogVXNlIGN1c3RvbSByZXNvdXJjZSB0eXBlICdDdXN0b206OkFtcGxpZnlEeW5hbW9EQlRhYmxlJyB0byBwcm92aXNpb24gdGFibGUuXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW1wbGlmeUR5bmFtb0RiTW9kZWxEYXRhU291cmNlRGVmaW5pdGlvblN0cmF0ZWd5IHtcbiAgcmVhZG9ubHkgZGJUeXBlOiAnRFlOQU1PREInO1xuICByZWFkb25seSBwcm92aXNpb25TdHJhdGVneTogJ0FNUExJRllfVEFCTEUnO1xufVxuXG4vKipcbiAqIElucHV0IHByb3BzIGZvciB0aGUgQW1wbGlmeUdyYXBocWxBcGkgY29uc3RydWN0LiBTcGVjaWZpZXMgd2hhdCB0aGUgaW5wdXQgdG8gdHJhbnNmb3JtIGludG8gYW4gQXBpLCBhbmQgY29uZmlndXJhdGlvbnMgZm9yXG4gKiB0aGUgdHJhbnNmb3JtYXRpb24gcHJvY2Vzcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbXBsaWZ5R3JhcGhxbEFwaVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBkZWZpbml0aW9uIHRvIHRyYW5zZm9ybSBpbiBhIGZ1bGwgQXBpLlxuICAgKiBDYW4gYmUgY29uc3RydWN0ZWQgdmlhIHRoZSBBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24gY2xhc3MuXG4gICAqL1xuICByZWFkb25seSBkZWZpbml0aW9uOiBJQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uO1xuXG4gIC8qKlxuICAgKiBOYW1lIHRvIGJlIHVzZWQgZm9yIHRoZSBBcHBTeW5jIEFwaS5cbiAgICogRGVmYXVsdDogY29uc3RydWN0IGlkLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBpTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogUmVxdWlyZWQgYXV0aCBtb2RlcyBmb3IgdGhlIEFwaS4gVGhpcyBvYmplY3QgbXVzdCBiZSBhIHN1cGVyc2V0IG9mIHRoZSBjb25maWd1cmVkIGF1dGggcHJvdmlkZXJzIGluIHRoZSBBcGkgZGVmaW5pdGlvbi5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24sIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvZ3JhcGhxbC9hdXRob3JpemF0aW9uLXJ1bGVzL1xuICAgKi9cbiAgcmVhZG9ubHkgYXV0aG9yaXphdGlvbk1vZGVzOiBBdXRob3JpemF0aW9uTW9kZXM7XG5cbiAgLyoqXG4gICAqIExhbWJkYSBmdW5jdGlvbnMgcmVmZXJlbmNlZCBpbiB0aGUgZGVmaW5pdGlvbnMncyBAZnVuY3Rpb24gZGlyZWN0aXZlcy4gVGhlIGtleXMgb2YgdGhpcyBvYmplY3QgYXJlIGV4cGVjdGVkIHRvIGJlIHRoZVxuICAgKiBmdW5jdGlvbiBuYW1lIHByb3ZpZGVkIGluIHRoZSBkZWZpbml0aW9uLCBhbmQgdmFsdWUgaXMgdGhlIGZ1bmN0aW9uIHRoYXQgbmFtZSByZWZlcnMgdG8uIElmIGEgbmFtZSBpcyBub3QgZm91bmQgaW4gdGhpc1xuICAgKiBtYXAsIHRoZW4gaXQgaXMgaW50ZXJwcmV0ZWQgYXMgdGhlIGBmdW5jdGlvbk5hbWVgLCBhbmQgYW4gYXJuIHdpbGwgYmUgY29uc3RydWN0ZWQgdXNpbmcgdGhlIGN1cnJlbnQgYXdzIGFjY291bnQgYW5kIHJlZ2lvblxuICAgKiAob3Igb3ZlcnJpZGRlbiB2YWx1ZXMsIGlmIHNldCBpbiB0aGUgZGlyZWN0aXZlKS5cbiAgICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uTmFtZU1hcD86IFJlY29yZDxzdHJpbmcsIElGdW5jdGlvbj47XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyZSBjb25mbGljdCByZXNvbHV0aW9uIG9uIHRoZSBBcGksIHdoaWNoIGlzIHJlcXVpcmVkIHRvIGVuYWJsZSBEYXRhU3RvcmUgQXBpIGZ1bmN0aW9uYWxpdHkuXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvbGliL2RhdGFzdG9yZS9nZXR0aW5nLXN0YXJ0ZWQvcS9wbGF0Zm9ybS9qcy9cbiAgICovXG4gIHJlYWRvbmx5IGNvbmZsaWN0UmVzb2x1dGlvbj86IENvbmZsaWN0UmVzb2x1dGlvbjtcblxuICAvKipcbiAgICogU3RhY2tNYXBwaW5ncyBvdmVycmlkZSB0aGUgYXNzaWduZWQgbmVzdGVkIHN0YWNrIG9uIGEgcGVyLXJlc291cmNlIGJhc2lzLiBPbmx5IGFwcGxpZXMgdG8gcmVzb2x2ZXJzLCBhbmQgdGFrZXMgdGhlIGZvcm1cbiAgICogeyA8bG9naWNhbElkPjogPHN0YWNrTmFtZT4gfVxuICAgKiBJdCBpcyBub3QgcmVjb21tZW5kZWQgdG8gdXNlIHRoaXMgcGFyYW1ldGVyIHVubGVzcyB5b3UgYXJlIGVuY291bnRlcmluZyBzdGFjayByZXNvdXJjZSBjb3VudCBsaW1pdHMsIGFuZCB3b3J0aCBub3RpbmcgdGhhdFxuICAgKiBhZnRlciBpbml0aWFsIGRlcGxveW1lbnQgQXBwU3luYyByZXNvbHZlcnMgY2Fubm90IGJlIG1vdmVkIGJldHdlZW4gbmVzdGVkIHN0YWNrcywgdGhleSB3aWxsIG5lZWQgdG8gYmUgcmVtb3ZlZCBmcm9tIHRoZSBhcHAsXG4gICAqIHRoZW4gcmUtYWRkZWQgZnJvbSBhIG5ldyBzdGFjay5cbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrTWFwcGluZ3M/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBPdmVycmlkZXMgZm9yIGEgZ2l2ZW4gc2xvdCBpbiB0aGUgZ2VuZXJhdGVkIHJlc29sdmVyIHBpcGVsaW5lcy4gRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgd2hhdCBzbG90cyBhcmUgYXZhaWxhYmxlLFxuICAgKiByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvY3VzdG9tLWJ1c2luZXNzLWxvZ2ljLyNvdmVycmlkZS1hbXBsaWZ5LWdlbmVyYXRlZC1yZXNvbHZlcnMuXG4gICAqL1xuICByZWFkb25seSBmdW5jdGlvblNsb3RzPzogRnVuY3Rpb25TbG90W107XG5cbiAgLyoqXG4gICAqIFByb3ZpZGUgYSBsaXN0IG9mIGFkZGl0aW9uYWwgY3VzdG9tIHRyYW5zZm9ybWVycyB3aGljaCBhcmUgaW5qZWN0ZWQgaW50byB0aGUgdHJhbnNmb3JtIHByb2Nlc3MuXG4gICAqIFRoZXNlIGN1c3RvbSB0cmFuc2Zvcm1lcnMgbXVzdCBiZSBpbXBsZW1lbnRlZCB3aXRoIGF3cy1jZGstbGliID49Mi44MC4wLCBhbmQgQGF3cy1hbXBsaWZ5L2dyYXBocWwtdHJhbnNmb3JtZXItY29yZSA+PSAyLjEuMVxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSB0cmFuc2Zvcm1lclBsdWdpbnM/OiBhbnlbXTtcblxuICAvKipcbiAgICogSWYgdXNpbmcgcHJlZGljdGlvbnMsIGEgYnVja2V0IG11c3QgYmUgcHJvdmlkZWQgd2hpY2ggd2lsbCBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYXNzZXRzLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJlZGljdGlvbnNCdWNrZXQ/OiBJQnVja2V0O1xuXG4gIC8qKlxuICAgKiBUaGlzIHJlcGxhY2VzIGZlYXR1cmUgZmxhZ3MgZnJvbSB0aGUgQXBpIGNvbnN0cnVjdCwgZm9yIGdlbmVyYWwgaW5mb3JtYXRpb24gb24gd2hhdCB0aGVzZSBwYXJhbWV0ZXJzIGRvLFxuICAgKiByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL3JlZmVyZW5jZS9mZWF0dXJlLWZsYWdzLyNncmFwaFFMVHJhbnNmb3JtZXJcbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zbGF0aW9uQmVoYXZpb3I/OiBQYXJ0aWFsVHJhbnNsYXRpb25CZWhhdmlvcjtcblxuICAvKipcbiAgICogU3RyYXRlZ3kgdG8gc3RvcmUgY29uc3RydWN0IG91dHB1dHMuIElmIG5vIG91dHB1dFN0b3JhZ2VTdHJhdGVnZXkgaXMgcHJvdmlkZWQgYSBkZWZhdWx0IHN0cmF0ZWd5IHdpbGwgYmUgdXNlZC5cbiAgICovXG4gIHJlYWRvbmx5IG91dHB1dFN0b3JhZ2VTdHJhdGVneT86IElCYWNrZW5kT3V0cHV0U3RvcmFnZVN0cmF0ZWd5O1xufVxuXG4vKipcbiAqIEwxIENESyByZXNvdXJjZXMgZnJvbSB0aGUgQXBpIHdoaWNoIHdlcmUgZ2VuZXJhdGVkIGFzIHBhcnQgb2YgdGhlIHRyYW5zZm9ybS5cbiAqIFRoZXNlIGFyZSBwb3RlbnRpYWxseSBzdG9yZWQgdW5kZXIgbmVzdGVkIHN0YWNrcywgYnV0IHByZXNlbnRlZCBvcmdhbml6ZWQgYnkgdHlwZSBpbnN0ZWFkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFtcGxpZnlHcmFwaHFsQXBpQ2ZuUmVzb3VyY2VzIHtcbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgQXBwU3luYyBBcGkgTDEgUmVzb3VyY2VcbiAgICovXG4gIHJlYWRvbmx5IGNmbkdyYXBocWxBcGk6IENmbkdyYXBoUUxBcGk7XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgQXBwU3luYyBTY2hlbWEgTDEgUmVzb3VyY2VcbiAgICovXG4gIHJlYWRvbmx5IGNmbkdyYXBocWxTY2hlbWE6IENmbkdyYXBoUUxTY2hlbWE7XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgQXBwU3luYyBBcGkgS2V5IEwxIFJlc291cmNlXG4gICAqL1xuICByZWFkb25seSBjZm5BcGlLZXk/OiBDZm5BcGlLZXk7XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgQXBwU3luYyBSZXNvbHZlciBMMSBSZXNvdXJjZXMsIGtleWVkIGJ5IGxvZ2ljYWxJZC5cbiAgICovXG4gIHJlYWRvbmx5IGNmblJlc29sdmVyczogUmVjb3JkPHN0cmluZywgQ2ZuUmVzb2x2ZXI+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIEFwcFN5bmMgRnVuY3Rpb24gTDEgUmVzb3VyY2VzLCBrZXllZCBieSBsb2dpY2FsSWQuXG4gICAqL1xuICByZWFkb25seSBjZm5GdW5jdGlvbkNvbmZpZ3VyYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBDZm5GdW5jdGlvbkNvbmZpZ3VyYXRpb24+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIEFwcFN5bmMgRGF0YVNvdXJjZSBMMSBSZXNvdXJjZXMsIGtleWVkIGJ5IGxvZ2ljYWxJZC5cbiAgICovXG4gIHJlYWRvbmx5IGNmbkRhdGFTb3VyY2VzOiBSZWNvcmQ8c3RyaW5nLCBDZm5EYXRhU291cmNlPjtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBEeW5hbW9EQiBUYWJsZSBMMSBSZXNvdXJjZXMsIGtleWVkIGJ5IGxvZ2ljYWxJZC5cbiAgICovXG4gIHJlYWRvbmx5IGNmblRhYmxlczogUmVjb3JkPHN0cmluZywgQ2ZuVGFibGU+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIElBTSBSb2xlIEwxIFJlc291cmNlcywga2V5ZWQgYnkgbG9naWNhbElkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2ZuUm9sZXM6IFJlY29yZDxzdHJpbmcsIENmblJvbGU+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIExhbWJkYSBGdW5jdGlvbiBMMSBSZXNvdXJjZXMsIGtleWVkIGJ5IGZ1bmN0aW9uIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBjZm5GdW5jdGlvbnM6IFJlY29yZDxzdHJpbmcsIENmbkZ1bmN0aW9uPjtcblxuICAvKipcbiAgICogUmVtYWluaW5nIEwxIHJlc291cmNlcyBnZW5lcmF0ZWQsIGtleWVkIGJ5IGxvZ2ljYWxJZC5cbiAgICovXG4gIHJlYWRvbmx5IGFkZGl0aW9uYWxDZm5SZXNvdXJjZXM6IFJlY29yZDxzdHJpbmcsIENmblJlc291cmNlPjtcbn1cblxuLyoqXG4gKiBBY2Nlc3NpYmxlIHJlc291cmNlcyBmcm9tIHRoZSBBcGkgd2hpY2ggd2VyZSBnZW5lcmF0ZWQgYXMgcGFydCBvZiB0aGUgdHJhbnNmb3JtLlxuICogVGhlc2UgYXJlIHBvdGVudGlhbGx5IHN0b3JlZCB1bmRlciBuZXN0ZWQgc3RhY2tzLCBidXQgcHJlc2VudGVkIG9yZ2FuaXplZCBieSB0eXBlIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW1wbGlmeUdyYXBocWxBcGlSZXNvdXJjZXMge1xuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBBcHBTeW5jIEFwaSBMMiBSZXNvdXJjZSwgaW5jbHVkZXMgdGhlIFNjaGVtYS5cbiAgICovXG4gIHJlYWRvbmx5IGdyYXBocWxBcGk6IElHcmFwaHFsQXBpO1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIER5bmFtb0RCIFRhYmxlIEwyIFJlc291cmNlcywga2V5ZWQgYnkgbG9naWNhbElkLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFibGVzOiBSZWNvcmQ8c3RyaW5nLCBJVGFibGU+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIEFtcGxpZnkgRHluYW1vRGIgVGFibGUgd3JhcHBlZCBpZiBwcm9kdWNlZCwga2V5ZWQgYnkgbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IGFtcGxpZnlEeW5hbW9EYlRhYmxlczogUmVjb3JkPHN0cmluZywgQW1wbGlmeUR5bmFtb0RiVGFibGVXcmFwcGVyPjtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBJQU0gUm9sZSBMMiBSZXNvdXJjZXMsIGtleWVkIGJ5IGxvZ2ljYWxJZC5cbiAgICovXG4gIHJlYWRvbmx5IHJvbGVzOiBSZWNvcmQ8c3RyaW5nLCBJUm9sZT47XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgTGFtYmRhIEZ1bmN0aW9uIEwxIFJlc291cmNlcywga2V5ZWQgYnkgZnVuY3Rpb24gbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uczogUmVjb3JkPHN0cmluZywgSUZ1bmN0aW9uPjtcblxuICAvKipcbiAgICogTDEgQ2ZuIFJlc291cmNlcywgZm9yIHdoZW4gZGlwcGluZyBkb3duIGEgbGV2ZWwgb2YgYWJzdHJhY3Rpb24gaXMgZGVzaXJhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgY2ZuUmVzb3VyY2VzOiBBbXBsaWZ5R3JhcGhxbEFwaUNmblJlc291cmNlcztcblxuICAvKipcbiAgICogTmVzdGVkIFN0YWNrcyBnZW5lcmF0ZWQgYnkgdGhlIEFwaSBDb25zdHJ1Y3QuXG4gICAqL1xuICByZWFkb25seSBuZXN0ZWRTdGFja3M6IFJlY29yZDxzdHJpbmcsIE5lc3RlZFN0YWNrPjtcbn1cblxuLyoqXG4gKiBJbnB1dCB0eXBlIHByb3BlcnRpZXMgd2hlbiBhZGRpbmcgYSBuZXcgYXBwc3luYy5BcHBzeW5jRnVuY3Rpb24gdG8gdGhlIGdlbmVyYXRlZCBBUEkuXG4gKiBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gdGhlIE9taXQ8YXBwc3luYy5BcHBzeW5jRnVuY3Rpb25Qcm9wcywgJ2FwaSc+LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFkZEZ1bmN0aW9uUHJvcHMge1xuICAvKipcbiAgICogdGhlIGRhdGEgc291cmNlIGxpbmtlZCB0byB0aGlzIEFwcFN5bmMgRnVuY3Rpb25cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFTb3VyY2U6IEJhc2VEYXRhU291cmNlO1xuXG4gIC8qKlxuICAgKiB0aGUgbmFtZSBvZiB0aGUgQXBwU3luYyBGdW5jdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiB0aGUgZGVzY3JpcHRpb24gZm9yIHRoaXMgQXBwU3luYyBGdW5jdGlvblxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGRlc2NyaXB0aW9uXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogdGhlIHJlcXVlc3QgbWFwcGluZyB0ZW1wbGF0ZSBmb3IgdGhlIEFwcFN5bmMgRnVuY3Rpb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyByZXF1ZXN0IG1hcHBpbmcgdGVtcGxhdGVcbiAgICovXG4gIHJlYWRvbmx5IHJlcXVlc3RNYXBwaW5nVGVtcGxhdGU/OiBNYXBwaW5nVGVtcGxhdGU7XG5cbiAgLyoqXG4gICAqIHRoZSByZXNwb25zZSBtYXBwaW5nIHRlbXBsYXRlIGZvciB0aGUgQXBwU3luYyBGdW5jdGlvblxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHJlc3BvbnNlIG1hcHBpbmcgdGVtcGxhdGVcbiAgICovXG4gIHJlYWRvbmx5IHJlc3BvbnNlTWFwcGluZ1RlbXBsYXRlPzogTWFwcGluZ1RlbXBsYXRlO1xuXG4gIC8qKlxuICAgKiBUaGUgZnVuY3Rpb25zIHJ1bnRpbWVcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBmdW5jdGlvbiBydW50aW1lLCBWVEwgbWFwcGluZyB0ZW1wbGF0ZXMgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgcnVudGltZT86IEZ1bmN0aW9uUnVudGltZTtcblxuICAvKipcbiAgICogVGhlIGZ1bmN0aW9uIGNvZGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBjb2RlIGlzIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IGNvZGU/OiBDb2RlO1xufVxuIl19
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
2
+ Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.versionedAuthOutputSchema = void 0;
7
- var _zod = require("zod");
8
- var _v = require("./v1.js");
9
- const versionedAuthOutputSchema = exports.versionedAuthOutputSchema = _zod.z.discriminatedUnion('version', [_v.authOutputSchema
10
- // this is where additional auth major version schemas would go
11
- ]);
4
+ const zod_1 = require("zod");
5
+ const v1_js_1 = require("./v1.js");
6
+ exports.versionedAuthOutputSchema = zod_1.z.discriminatedUnion('version', [
7
+ v1_js_1.authOutputSchema,
8
+ // this is where additional auth major version schemas would go
9
+ ]);
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXV0aC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBd0I7QUFDeEIsbUNBQWlFO0FBRXBELFFBQUEseUJBQXlCLEdBQUcsT0FBQyxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRTtJQUN2RSx3QkFBa0I7SUFDbEIsK0RBQStEO0NBQ2hFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuaW1wb3J0IHsgYXV0aE91dHB1dFNjaGVtYSBhcyBhdXRoT3V0cHV0U2NoZW1hVjEgfSBmcm9tICcuL3YxLmpzJztcblxuZXhwb3J0IGNvbnN0IHZlcnNpb25lZEF1dGhPdXRwdXRTY2hlbWEgPSB6LmRpc2NyaW1pbmF0ZWRVbmlvbigndmVyc2lvbicsIFtcbiAgYXV0aE91dHB1dFNjaGVtYVYxLFxuICAvLyB0aGlzIGlzIHdoZXJlIGFkZGl0aW9uYWwgYXV0aCBtYWpvciB2ZXJzaW9uIHNjaGVtYXMgd291bGQgZ29cbl0pO1xuXG5leHBvcnQgdHlwZSBBdXRoT3V0cHV0ID0gei5pbmZlcjx0eXBlb2YgdmVyc2lvbmVkQXV0aE91dHB1dFNjaGVtYT47XG4iXX0=
@@ -1,20 +1,18 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
2
+ Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.authOutputSchema = void 0;
7
- var _zod = require("zod");
8
- const authOutputSchema = exports.authOutputSchema = _zod.z.object({
9
- version: _zod.z.literal('1'),
10
- payload: _zod.z.object({
11
- userPoolId: _zod.z.string(),
12
- webClientId: _zod.z.string(),
13
- identityPoolId: _zod.z.string(),
14
- amazonClientId: _zod.z.optional(_zod.z.string()),
15
- appleClientId: _zod.z.optional(_zod.z.string()),
16
- facebookClientId: _zod.z.optional(_zod.z.string()),
17
- googleClientId: _zod.z.optional(_zod.z.string()),
18
- authRegion: _zod.z.string()
19
- })
20
- });
4
+ const zod_1 = require("zod");
5
+ exports.authOutputSchema = zod_1.z.object({
6
+ version: zod_1.z.literal('1'),
7
+ payload: zod_1.z.object({
8
+ userPoolId: zod_1.z.string(),
9
+ webClientId: zod_1.z.string(),
10
+ identityPoolId: zod_1.z.string(),
11
+ amazonClientId: zod_1.z.optional(zod_1.z.string()),
12
+ appleClientId: zod_1.z.optional(zod_1.z.string()),
13
+ facebookClientId: zod_1.z.optional(zod_1.z.string()),
14
+ googleClientId: zod_1.z.optional(zod_1.z.string()),
15
+ authRegion: zod_1.z.string(),
16
+ }),
17
+ });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXV0aC92MS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBd0I7QUFFWCxRQUFBLGdCQUFnQixHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDdkMsT0FBTyxFQUFFLE9BQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO0lBQ3ZCLE9BQU8sRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2hCLFVBQVUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO1FBQ3RCLFdBQVcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO1FBQ3ZCLGNBQWMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO1FBQzFCLGNBQWMsRUFBRSxPQUFDLENBQUMsUUFBUSxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0QyxhQUFhLEVBQUUsT0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckMsZ0JBQWdCLEVBQUUsT0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDeEMsY0FBYyxFQUFFLE9BQUMsQ0FBQyxRQUFRLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3RDLFVBQVUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0tBQ3ZCLENBQUM7Q0FDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB6IH0gZnJvbSAnem9kJztcblxuZXhwb3J0IGNvbnN0IGF1dGhPdXRwdXRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHZlcnNpb246IHoubGl0ZXJhbCgnMScpLFxuICBwYXlsb2FkOiB6Lm9iamVjdCh7XG4gICAgdXNlclBvb2xJZDogei5zdHJpbmcoKSxcbiAgICB3ZWJDbGllbnRJZDogei5zdHJpbmcoKSxcbiAgICBpZGVudGl0eVBvb2xJZDogei5zdHJpbmcoKSxcbiAgICBhbWF6b25DbGllbnRJZDogei5vcHRpb25hbCh6LnN0cmluZygpKSxcbiAgICBhcHBsZUNsaWVudElkOiB6Lm9wdGlvbmFsKHouc3RyaW5nKCkpLFxuICAgIGZhY2Vib29rQ2xpZW50SWQ6IHoub3B0aW9uYWwoei5zdHJpbmcoKSksXG4gICAgZ29vZ2xlQ2xpZW50SWQ6IHoub3B0aW9uYWwoei5zdHJpbmcoKSksXG4gICAgYXV0aFJlZ2lvbjogei5zdHJpbmcoKSxcbiAgfSksXG59KTtcbiJdfQ==
@@ -1,17 +1,12 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "AwsAppsyncAuthenticationZodEnum", {
7
- enumerable: true,
8
- get: function () {
9
- return _v.AwsAppsyncAuthenticationZodEnum;
10
- }
11
- });
12
- exports.versionedGraphqlOutputSchema = void 0;
13
- var _zod = require("zod");
14
- var _v = require("./v1.js");
15
- const versionedGraphqlOutputSchema = exports.versionedGraphqlOutputSchema = _zod.z.discriminatedUnion('version', [_v.graphqlOutputSchema
16
- // this is where additional graphql major version schemas would go
17
- ]);
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.versionedGraphqlOutputSchema = exports.AwsAppsyncAuthenticationZodEnum = void 0;
4
+ const zod_1 = require("zod");
5
+ const v1_js_1 = require("./v1.js");
6
+ var v1_js_2 = require("./v1.js");
7
+ Object.defineProperty(exports, "AwsAppsyncAuthenticationZodEnum", { enumerable: true, get: function () { return v1_js_2.AwsAppsyncAuthenticationZodEnum; } });
8
+ exports.versionedGraphqlOutputSchema = zod_1.z.discriminatedUnion('version', [
9
+ v1_js_1.graphqlOutputSchema,
10
+ // this is where additional graphql major version schemas would go
11
+ ]);
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ3JhcGhxbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBd0I7QUFDeEIsbUNBQXVFO0FBRXZFLGlDQUdpQjtBQURmLHdIQUFBLCtCQUErQixPQUFBO0FBR3BCLFFBQUEsNEJBQTRCLEdBQUcsT0FBQyxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRTtJQUMxRSwyQkFBcUI7SUFDckIsa0VBQWtFO0NBQ25FLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuaW1wb3J0IHsgZ3JhcGhxbE91dHB1dFNjaGVtYSBhcyBncmFwaHFsT3V0cHV0U2NoZW1hVjEgfSBmcm9tICcuL3YxLmpzJztcblxuZXhwb3J0IHtcbiAgQXdzQXBwc3luY0F1dGhlbnRpY2F0aW9uVHlwZSxcbiAgQXdzQXBwc3luY0F1dGhlbnRpY2F0aW9uWm9kRW51bSxcbn0gZnJvbSAnLi92MS5qcyc7XG5cbmV4cG9ydCBjb25zdCB2ZXJzaW9uZWRHcmFwaHFsT3V0cHV0U2NoZW1hID0gei5kaXNjcmltaW5hdGVkVW5pb24oJ3ZlcnNpb24nLCBbXG4gIGdyYXBocWxPdXRwdXRTY2hlbWFWMSxcbiAgLy8gdGhpcyBpcyB3aGVyZSBhZGRpdGlvbmFsIGdyYXBocWwgbWFqb3IgdmVyc2lvbiBzY2hlbWFzIHdvdWxkIGdvXG5dKTtcblxuZXhwb3J0IHR5cGUgR3JhcGhxbE91dHB1dCA9IHouaW5mZXI8dHlwZW9mIHZlcnNpb25lZEdyYXBocWxPdXRwdXRTY2hlbWE+O1xuIl19
@@ -1,21 +1,25 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
2
+ Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.graphqlOutputSchema = exports.AwsAppsyncAuthenticationZodEnum = void 0;
7
- var _zod = require("zod");
8
- const AwsAppsyncAuthenticationZodEnum = exports.AwsAppsyncAuthenticationZodEnum = _zod.z.enum(['API_KEY', 'AWS_LAMBDA', 'AWS_IAM', 'OPENID_CONNECT', 'AMAZON_COGNITO_USER_POOLS']);
9
- const graphqlOutputSchema = exports.graphqlOutputSchema = _zod.z.object({
10
- version: _zod.z.literal('1'),
11
- payload: _zod.z.object({
12
- awsAppsyncRegion: _zod.z.string(),
13
- awsAppsyncApiEndpoint: _zod.z.string(),
14
- awsAppsyncAuthenticationType: AwsAppsyncAuthenticationZodEnum,
15
- awsAppsyncAdditionalAuthenticationTypes: _zod.z.string().optional(),
16
- awsAppsyncConflictResolutionMode: _zod.z.string().optional(),
17
- awsAppsyncApiKey: _zod.z.string().optional(),
18
- awsAppsyncApiId: _zod.z.string(),
19
- amplifyApiModelSchemaS3Uri: _zod.z.string()
20
- })
21
- });
4
+ const zod_1 = require("zod");
5
+ exports.AwsAppsyncAuthenticationZodEnum = zod_1.z.enum([
6
+ 'API_KEY',
7
+ 'AWS_LAMBDA',
8
+ 'AWS_IAM',
9
+ 'OPENID_CONNECT',
10
+ 'AMAZON_COGNITO_USER_POOLS',
11
+ ]);
12
+ exports.graphqlOutputSchema = zod_1.z.object({
13
+ version: zod_1.z.literal('1'),
14
+ payload: zod_1.z.object({
15
+ awsAppsyncRegion: zod_1.z.string(),
16
+ awsAppsyncApiEndpoint: zod_1.z.string(),
17
+ awsAppsyncAuthenticationType: exports.AwsAppsyncAuthenticationZodEnum,
18
+ awsAppsyncAdditionalAuthenticationTypes: zod_1.z.string().optional(),
19
+ awsAppsyncConflictResolutionMode: zod_1.z.string().optional(),
20
+ awsAppsyncApiKey: zod_1.z.string().optional(),
21
+ awsAppsyncApiId: zod_1.z.string(),
22
+ amplifyApiModelSchemaS3Uri: zod_1.z.string(),
23
+ }),
24
+ });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ3JhcGhxbC92MS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBd0I7QUFFWCxRQUFBLCtCQUErQixHQUFHLE9BQUMsQ0FBQyxJQUFJLENBQUM7SUFDcEQsU0FBUztJQUNULFlBQVk7SUFDWixTQUFTO0lBQ1QsZ0JBQWdCO0lBQ2hCLDJCQUEyQjtDQUM1QixDQUFDLENBQUM7QUFLVSxRQUFBLG1CQUFtQixHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDMUMsT0FBTyxFQUFFLE9BQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO0lBQ3ZCLE9BQU8sRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2hCLGdCQUFnQixFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7UUFDNUIscUJBQXFCLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtRQUNqQyw0QkFBNEIsRUFBRSx1Q0FBK0I7UUFDN0QsdUNBQXVDLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtRQUM5RCxnQ0FBZ0MsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO1FBQ3ZELGdCQUFnQixFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7UUFDdkMsZUFBZSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7UUFDM0IsMEJBQTBCLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtLQUN2QyxDQUFDO0NBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgeiB9IGZyb20gJ3pvZCc7XG5cbmV4cG9ydCBjb25zdCBBd3NBcHBzeW5jQXV0aGVudGljYXRpb25ab2RFbnVtID0gei5lbnVtKFtcbiAgJ0FQSV9LRVknLFxuICAnQVdTX0xBTUJEQScsXG4gICdBV1NfSUFNJyxcbiAgJ09QRU5JRF9DT05ORUNUJyxcbiAgJ0FNQVpPTl9DT0dOSVRPX1VTRVJfUE9PTFMnLFxuXSk7XG5leHBvcnQgdHlwZSBBd3NBcHBzeW5jQXV0aGVudGljYXRpb25UeXBlID0gei5pbmZlcjxcbiAgdHlwZW9mIEF3c0FwcHN5bmNBdXRoZW50aWNhdGlvblpvZEVudW1cbj47XG5cbmV4cG9ydCBjb25zdCBncmFwaHFsT3V0cHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICB2ZXJzaW9uOiB6LmxpdGVyYWwoJzEnKSxcbiAgcGF5bG9hZDogei5vYmplY3Qoe1xuICAgIGF3c0FwcHN5bmNSZWdpb246IHouc3RyaW5nKCksXG4gICAgYXdzQXBwc3luY0FwaUVuZHBvaW50OiB6LnN0cmluZygpLFxuICAgIGF3c0FwcHN5bmNBdXRoZW50aWNhdGlvblR5cGU6IEF3c0FwcHN5bmNBdXRoZW50aWNhdGlvblpvZEVudW0sXG4gICAgYXdzQXBwc3luY0FkZGl0aW9uYWxBdXRoZW50aWNhdGlvblR5cGVzOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgYXdzQXBwc3luY0NvbmZsaWN0UmVzb2x1dGlvbk1vZGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBhd3NBcHBzeW5jQXBpS2V5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgYXdzQXBwc3luY0FwaUlkOiB6LnN0cmluZygpLFxuICAgIGFtcGxpZnlBcGlNb2RlbFNjaGVtYVMzVXJpOiB6LnN0cmluZygpLFxuICB9KSxcbn0pO1xuIl19
@@ -7,7 +7,7 @@ import { z } from 'zod';
7
7
  /**
8
8
  * ---------- Auth exports ----------
9
9
  */
10
- export declare const stackOutputKey = "AWS::Amplify::Platform";
10
+ export declare const platformOutputKey = "AWS::Amplify::Platform";
11
11
  /**
12
12
  * re-export the auth output schema
13
13
  */
@@ -50,20 +50,25 @@ export declare const unifiedBackendOutputSchema: z.ZodObject<{
50
50
  version: z.ZodLiteral<"1">;
51
51
  payload: z.ZodObject<{
52
52
  deploymentType: z.ZodString;
53
+ region: z.ZodString;
53
54
  }, "strip", z.ZodTypeAny, {
54
55
  deploymentType: string;
56
+ region: string;
55
57
  }, {
56
58
  deploymentType: string;
59
+ region: string;
57
60
  }>;
58
61
  }, "strip", z.ZodTypeAny, {
59
62
  version: "1";
60
63
  payload: {
61
64
  deploymentType: string;
65
+ region: string;
62
66
  };
63
67
  }, {
64
68
  version: "1";
65
69
  payload: {
66
70
  deploymentType: string;
71
+ region: string;
67
72
  };
68
73
  }>]>>;
69
74
  "AWS::Amplify::Auth": z.ZodOptional<z.ZodDiscriminatedUnion<"version", [z.ZodObject<{
@@ -209,6 +214,7 @@ export declare const unifiedBackendOutputSchema: z.ZodObject<{
209
214
  version: "1";
210
215
  payload: {
211
216
  deploymentType: string;
217
+ region: string;
212
218
  };
213
219
  } | undefined;
214
220
  "AWS::Amplify::Auth"?: {
@@ -249,6 +255,7 @@ export declare const unifiedBackendOutputSchema: z.ZodObject<{
249
255
  version: "1";
250
256
  payload: {
251
257
  deploymentType: string;
258
+ region: string;
252
259
  };
253
260
  } | undefined;
254
261
  "AWS::Amplify::Auth"?: {
@@ -290,4 +297,8 @@ export declare const unifiedBackendOutputSchema: z.ZodObject<{
290
297
  * It represents BackendOutput that has been validated against the schema of known output values
291
298
  */
292
299
  export type UnifiedBackendOutput = z.infer<typeof unifiedBackendOutputSchema>;
300
+ /**
301
+ * ---------- Platform exports ----------
302
+ */
303
+ export * from './platform/index.js';
293
304
  //# sourceMappingURL=index.d.ts.map