@vendure/admin-ui 1.6.4 → 1.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/bundles/vendure-admin-ui-catalog.umd.js +196 -20
  2. package/bundles/vendure-admin-ui-catalog.umd.js.map +1 -1
  3. package/bundles/vendure-admin-ui-core.umd.js +292 -323
  4. package/bundles/vendure-admin-ui-core.umd.js.map +1 -1
  5. package/bundles/vendure-admin-ui-customer.umd.js +39 -18
  6. package/bundles/vendure-admin-ui-customer.umd.js.map +1 -1
  7. package/bundles/vendure-admin-ui-order.umd.js +141 -119
  8. package/bundles/vendure-admin-ui-order.umd.js.map +1 -1
  9. package/catalog/components/generate-product-variants/generate-product-variants.component.d.ts +3 -3
  10. package/catalog/components/option-value-input/option-value-input.component.d.ts +20 -8
  11. package/catalog/components/product-variants-editor/product-variants-editor.component.d.ts +10 -3
  12. package/catalog/vendure-admin-ui-catalog.metadata.json +1 -1
  13. package/core/common/generated-types.d.ts +89 -19
  14. package/core/common/utilities/configurable-operation-utils.d.ts +4 -2
  15. package/core/common/version.d.ts +1 -1
  16. package/core/data/definitions/order-definitions.d.ts +2 -0
  17. package/core/data/definitions/product-definitions.d.ts +1 -0
  18. package/core/data/providers/order-data.service.d.ts +1 -0
  19. package/core/data/providers/product-data.service.d.ts +1 -0
  20. package/core/shared/components/custom-field-control/custom-field-control.component.d.ts +6 -2
  21. package/core/shared/components/data-table/data-table.component.d.ts +5 -2
  22. package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +2 -1
  23. package/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.d.ts +10 -2
  24. package/core/shared/pipes/custom-field-label.pipe.d.ts +4 -10
  25. package/core/vendure-admin-ui-core.metadata.json +1 -1
  26. package/customer/components/customer-group-list/customer-group-list.component.d.ts +6 -4
  27. package/customer/vendure-admin-ui-customer.metadata.json +1 -1
  28. package/esm2015/catalog/components/generate-product-variants/generate-product-variants.component.js +12 -5
  29. package/esm2015/catalog/components/option-value-input/option-value-input.component.js +62 -12
  30. package/esm2015/catalog/components/product-variants-editor/product-variants-editor.component.js +109 -11
  31. package/esm2015/core/common/generated-types.js +2 -1
  32. package/esm2015/core/common/introspection-result.js +191 -255
  33. package/esm2015/core/common/utilities/configurable-operation-utils.js +11 -8
  34. package/esm2015/core/common/version.js +2 -2
  35. package/esm2015/core/components/app-shell/app-shell.component.js +1 -1
  36. package/esm2015/core/components/main-nav/main-nav.component.js +1 -1
  37. package/esm2015/core/data/definitions/order-definitions.js +39 -25
  38. package/esm2015/core/data/definitions/product-definitions.js +743 -735
  39. package/esm2015/core/data/providers/order-data.service.js +7 -2
  40. package/esm2015/core/data/providers/product-data.service.js +5 -2
  41. package/esm2015/core/shared/components/custom-field-control/custom-field-control.component.js +9 -3
  42. package/esm2015/core/shared/components/data-table/data-table.component.js +9 -2
  43. package/esm2015/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.js +15 -2
  44. package/esm2015/core/shared/pipes/custom-field-label.pipe.js +4 -19
  45. package/esm2015/customer/components/customer-group-list/customer-group-list.component.js +25 -12
  46. package/esm2015/order/components/fulfill-order-dialog/fulfill-order-dialog.component.js +3 -2
  47. package/esm2015/order/components/fulfillment-detail/fulfillment-detail.component.js +9 -18
  48. package/esm2015/order/components/line-fulfillment/line-fulfillment.component.js +10 -21
  49. package/esm2015/order/components/order-custom-fields-card/order-custom-fields-card.component.js +30 -4
  50. package/esm2015/order/components/order-detail/order-detail.component.js +49 -20
  51. package/esm2015/order/components/order-list/order-list.component.js +22 -15
  52. package/esm2015/order/components/order-payment-card/order-payment-card.component.js +2 -2
  53. package/esm2015/order/components/order-table/order-table.component.js +1 -1
  54. package/fesm2015/vendure-admin-ui-catalog.js +177 -22
  55. package/fesm2015/vendure-admin-ui-catalog.js.map +1 -1
  56. package/fesm2015/vendure-admin-ui-core.js +975 -995
  57. package/fesm2015/vendure-admin-ui-core.js.map +1 -1
  58. package/fesm2015/vendure-admin-ui-customer.js +23 -11
  59. package/fesm2015/vendure-admin-ui-customer.js.map +1 -1
  60. package/fesm2015/vendure-admin-ui-order.js +116 -75
  61. package/fesm2015/vendure-admin-ui-order.js.map +1 -1
  62. package/order/components/line-fulfillment/line-fulfillment.component.d.ts +2 -2
  63. package/order/components/modification-detail/modification-detail.component.d.ts +1 -1
  64. package/order/components/order-custom-fields-card/order-custom-fields-card.component.d.ts +4 -2
  65. package/order/components/order-list/order-list.component.d.ts +1 -0
  66. package/order/vendure-admin-ui-order.metadata.json +1 -1
  67. package/package.json +2 -2
  68. package/static/i18n-messages/cs.json +6 -2
  69. package/static/i18n-messages/de.json +6 -2
  70. package/static/i18n-messages/en.json +8 -3
  71. package/static/i18n-messages/es.json +6 -2
  72. package/static/i18n-messages/fr.json +6 -2
  73. package/static/i18n-messages/it.json +6 -2
  74. package/static/i18n-messages/pl.json +6 -2
  75. package/static/i18n-messages/pt_BR.json +6 -2
  76. package/static/i18n-messages/pt_PT.json +6 -2
  77. package/static/i18n-messages/ru.json +6 -2
  78. package/static/i18n-messages/uk.json +6 -2
  79. package/static/i18n-messages/zh_Hans.json +6 -2
  80. package/static/i18n-messages/zh_Hant.json +6 -2
  81. package/static/styles/_variables.scss +3 -0
  82. package/static/styles/global/_sass-overrides.scss +3 -0
  83. package/static/styles/global/_utilities.scss +1 -0
  84. package/static/styles/styles.scss +1 -0
  85. package/static/styles/ui-extension-theme.scss +1 -0
  86. package/static/theme.min.css +1 -1
@@ -9,6 +9,16 @@ export const DISCOUNT_FRAGMENT = gql `
9
9
  type
10
10
  }
11
11
  `;
12
+ export const PAYMENT_FRAGMENT = gql `
13
+ fragment Payment on Payment {
14
+ id
15
+ transactionId
16
+ amount
17
+ method
18
+ state
19
+ metadata
20
+ }
21
+ `;
12
22
  export const REFUND_FRAGMENT = gql `
13
23
  fragment Refund on Refund {
14
24
  id
@@ -66,8 +76,11 @@ export const FULFILLMENT_FRAGMENT = gql `
66
76
  createdAt
67
77
  updatedAt
68
78
  method
69
- orderItems {
70
- id
79
+ summary {
80
+ orderLine {
81
+ id
82
+ }
83
+ quantity
71
84
  }
72
85
  trackingCode
73
86
  }
@@ -88,6 +101,9 @@ export const ORDER_LINE_FRAGMENT = gql `
88
101
  discounts {
89
102
  ...Discount
90
103
  }
104
+ fulfillments {
105
+ ...Fulfillment
106
+ }
91
107
  unitPrice
92
108
  unitPriceWithTax
93
109
  proratedUnitPrice
@@ -95,14 +111,8 @@ export const ORDER_LINE_FRAGMENT = gql `
95
111
  quantity
96
112
  items {
97
113
  id
98
- unitPrice
99
- unitPriceWithTax
100
- taxRate
101
114
  refundId
102
115
  cancelled
103
- fulfillment {
104
- ...Fulfillment
105
- }
106
116
  }
107
117
  linePrice
108
118
  lineTax
@@ -252,14 +262,7 @@ export const GET_ORDER = gql `
252
262
  export const SETTLE_PAYMENT = gql `
253
263
  mutation SettlePayment($id: ID!) {
254
264
  settlePayment(id: $id) {
255
- ... on Payment {
256
- id
257
- transactionId
258
- amount
259
- method
260
- state
261
- metadata
262
- }
265
+ ...Payment
263
266
  ...ErrorResult
264
267
  ... on SettlePaymentError {
265
268
  paymentErrorMessage
@@ -273,24 +276,35 @@ export const SETTLE_PAYMENT = gql `
273
276
  }
274
277
  }
275
278
  ${ERROR_RESULT_FRAGMENT}
279
+ ${PAYMENT_FRAGMENT}
280
+ `;
281
+ export const CANCEL_PAYMENT = gql `
282
+ mutation CancelPayment($id: ID!) {
283
+ cancelPayment(id: $id) {
284
+ ...Payment
285
+ ...ErrorResult
286
+ ... on CancelPaymentError {
287
+ paymentErrorMessage
288
+ }
289
+ ... on PaymentStateTransitionError {
290
+ transitionError
291
+ }
292
+ }
293
+ }
294
+ ${ERROR_RESULT_FRAGMENT}
295
+ ${PAYMENT_FRAGMENT}
276
296
  `;
277
297
  export const TRANSITION_PAYMENT_TO_STATE = gql `
278
298
  mutation TransitionPaymentToState($id: ID!, $state: String!) {
279
299
  transitionPaymentToState(id: $id, state: $state) {
280
- ... on Payment {
281
- id
282
- transactionId
283
- amount
284
- method
285
- state
286
- metadata
287
- }
300
+ ...Payment
288
301
  ...ErrorResult
289
302
  ... on PaymentStateTransitionError {
290
303
  transitionError
291
304
  }
292
305
  }
293
306
  }
307
+ ${PAYMENT_FRAGMENT}
294
308
  ${ERROR_RESULT_FRAGMENT}
295
309
  `;
296
310
  export const CREATE_FULFILLMENT = gql `
@@ -455,4 +469,4 @@ export const ADD_MANUAL_PAYMENT_TO_ORDER = gql `
455
469
  ${ORDER_DETAIL_FRAGMENT}
456
470
  ${ERROR_RESULT_FRAGMENT}
457
471
  `;
458
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvZGVmaW5pdGlvbnMvb3JkZXItZGVmaW5pdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Q0FRbkMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Q0FVakMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7OztDQWF4QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0F1QmhDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Q0FhdEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FzQ3JDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQWtIbEMsaUJBQWlCO01BQ2pCLHNCQUFzQjtNQUN0QixvQkFBb0I7TUFDcEIsbUJBQW1CO0NBQ3hCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7TUFTNUIsY0FBYztDQUNuQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQTs7Ozs7O01BTXRCLHFCQUFxQjtDQUMxQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUF1QjNCLHFCQUFxQjtDQUMxQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztNQWlCeEMscUJBQXFCO0NBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O01BaUIvQixvQkFBb0I7TUFDcEIscUJBQXFCO0NBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFBOzs7Ozs7O01BT3pCLHFCQUFxQjtNQUNyQixxQkFBcUI7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUE7Ozs7Ozs7TUFPekIsZUFBZTtNQUNmLHFCQUFxQjtDQUMxQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQTs7Ozs7OztNQU8xQixlQUFlO01BQ2YscUJBQXFCO0NBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXFCbkMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQTs7Ozs7O0NBTW5DLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7O0NBUW5DLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Q0FPbkMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7OztNQVV0QyxjQUFjO01BQ2QscUJBQXFCO0NBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLENBQUE7Ozs7OztNQU12QyxjQUFjO0NBQ25CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7TUFVNUMsb0JBQW9CO01BQ3BCLHFCQUFxQjtDQUMxQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7OztDQVduQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQTs7Ozs7OztNQU96QixxQkFBcUI7TUFDckIscUJBQXFCO0NBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7TUFPeEMscUJBQXFCO01BQ3JCLHFCQUFxQjtDQUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ3FsIH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xuXG5pbXBvcnQgeyBFUlJPUl9SRVNVTFRfRlJBR01FTlQgfSBmcm9tICcuL3NoYXJlZC1kZWZpbml0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBESVNDT1VOVF9GUkFHTUVOVCA9IGdxbGBcbiAgICBmcmFnbWVudCBEaXNjb3VudCBvbiBEaXNjb3VudCB7XG4gICAgICAgIGFkanVzdG1lbnRTb3VyY2VcbiAgICAgICAgYW1vdW50XG4gICAgICAgIGFtb3VudFdpdGhUYXhcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgdHlwZVxuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBSRUZVTkRfRlJBR01FTlQgPSBncWxgXG4gICAgZnJhZ21lbnQgUmVmdW5kIG9uIFJlZnVuZCB7XG4gICAgICAgIGlkXG4gICAgICAgIHN0YXRlXG4gICAgICAgIGl0ZW1zXG4gICAgICAgIHNoaXBwaW5nXG4gICAgICAgIGFkanVzdG1lbnRcbiAgICAgICAgdHJhbnNhY3Rpb25JZFxuICAgICAgICBwYXltZW50SWRcbiAgICB9XG5gO1xuXG5leHBvcnQgY29uc3QgT1JERVJfQUREUkVTU19GUkFHTUVOVCA9IGdxbGBcbiAgICBmcmFnbWVudCBPcmRlckFkZHJlc3Mgb24gT3JkZXJBZGRyZXNzIHtcbiAgICAgICAgZnVsbE5hbWVcbiAgICAgICAgY29tcGFueVxuICAgICAgICBzdHJlZXRMaW5lMVxuICAgICAgICBzdHJlZXRMaW5lMlxuICAgICAgICBjaXR5XG4gICAgICAgIHByb3ZpbmNlXG4gICAgICAgIHBvc3RhbENvZGVcbiAgICAgICAgY291bnRyeVxuICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICBwaG9uZU51bWJlclxuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBPUkRFUl9GUkFHTUVOVCA9IGdxbGBcbiAgICBmcmFnbWVudCBPcmRlciBvbiBPcmRlciB7XG4gICAgICAgIGlkXG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgb3JkZXJQbGFjZWRBdFxuICAgICAgICBjb2RlXG4gICAgICAgIHN0YXRlXG4gICAgICAgIG5leHRTdGF0ZXNcbiAgICAgICAgdG90YWxcbiAgICAgICAgdG90YWxXaXRoVGF4XG4gICAgICAgIGN1cnJlbmN5Q29kZVxuICAgICAgICBjdXN0b21lciB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZmlyc3ROYW1lXG4gICAgICAgICAgICBsYXN0TmFtZVxuICAgICAgICB9XG4gICAgICAgIHNoaXBwaW5nTGluZXMge1xuICAgICAgICAgICAgc2hpcHBpbmdNZXRob2Qge1xuICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBGVUxGSUxMTUVOVF9GUkFHTUVOVCA9IGdxbGBcbiAgICBmcmFnbWVudCBGdWxmaWxsbWVudCBvbiBGdWxmaWxsbWVudCB7XG4gICAgICAgIGlkXG4gICAgICAgIHN0YXRlXG4gICAgICAgIG5leHRTdGF0ZXNcbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICBtZXRob2RcbiAgICAgICAgb3JkZXJJdGVtcyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICB9XG4gICAgICAgIHRyYWNraW5nQ29kZVxuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBPUkRFUl9MSU5FX0ZSQUdNRU5UID0gZ3FsYFxuICAgIGZyYWdtZW50IE9yZGVyTGluZSBvbiBPcmRlckxpbmUge1xuICAgICAgICBpZFxuICAgICAgICBmZWF0dXJlZEFzc2V0IHtcbiAgICAgICAgICAgIHByZXZpZXdcbiAgICAgICAgfVxuICAgICAgICBwcm9kdWN0VmFyaWFudCB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgc2t1XG4gICAgICAgICAgICB0cmFja0ludmVudG9yeVxuICAgICAgICAgICAgc3RvY2tPbkhhbmRcbiAgICAgICAgfVxuICAgICAgICBkaXNjb3VudHMge1xuICAgICAgICAgICAgLi4uRGlzY291bnRcbiAgICAgICAgfVxuICAgICAgICB1bml0UHJpY2VcbiAgICAgICAgdW5pdFByaWNlV2l0aFRheFxuICAgICAgICBwcm9yYXRlZFVuaXRQcmljZVxuICAgICAgICBwcm9yYXRlZFVuaXRQcmljZVdpdGhUYXhcbiAgICAgICAgcXVhbnRpdHlcbiAgICAgICAgaXRlbXMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIHVuaXRQcmljZVxuICAgICAgICAgICAgdW5pdFByaWNlV2l0aFRheFxuICAgICAgICAgICAgdGF4UmF0ZVxuICAgICAgICAgICAgcmVmdW5kSWRcbiAgICAgICAgICAgIGNhbmNlbGxlZFxuICAgICAgICAgICAgZnVsZmlsbG1lbnQge1xuICAgICAgICAgICAgICAgIC4uLkZ1bGZpbGxtZW50XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbGluZVByaWNlXG4gICAgICAgIGxpbmVUYXhcbiAgICAgICAgbGluZVByaWNlV2l0aFRheFxuICAgICAgICBkaXNjb3VudGVkTGluZVByaWNlXG4gICAgICAgIGRpc2NvdW50ZWRMaW5lUHJpY2VXaXRoVGF4XG4gICAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IE9SREVSX0RFVEFJTF9GUkFHTUVOVCA9IGdxbGBcbiAgICBmcmFnbWVudCBPcmRlckRldGFpbCBvbiBPcmRlciB7XG4gICAgICAgIGlkXG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgY29kZVxuICAgICAgICBzdGF0ZVxuICAgICAgICBuZXh0U3RhdGVzXG4gICAgICAgIGFjdGl2ZVxuICAgICAgICBjb3Vwb25Db2Rlc1xuICAgICAgICBjdXN0b21lciB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZmlyc3ROYW1lXG4gICAgICAgICAgICBsYXN0TmFtZVxuICAgICAgICB9XG4gICAgICAgIGxpbmVzIHtcbiAgICAgICAgICAgIC4uLk9yZGVyTGluZVxuICAgICAgICB9XG4gICAgICAgIHN1cmNoYXJnZXMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIHNrdVxuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICBwcmljZVdpdGhUYXhcbiAgICAgICAgICAgIHRheFJhdGVcbiAgICAgICAgfVxuICAgICAgICBkaXNjb3VudHMge1xuICAgICAgICAgICAgLi4uRGlzY291bnRcbiAgICAgICAgfVxuICAgICAgICBwcm9tb3Rpb25zIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBjb3Vwb25Db2RlXG4gICAgICAgIH1cbiAgICAgICAgc3ViVG90YWxcbiAgICAgICAgc3ViVG90YWxXaXRoVGF4XG4gICAgICAgIHRvdGFsXG4gICAgICAgIHRvdGFsV2l0aFRheFxuICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgc2hpcHBpbmdcbiAgICAgICAgc2hpcHBpbmdXaXRoVGF4XG4gICAgICAgIHNoaXBwaW5nTGluZXMge1xuICAgICAgICAgICAgc2hpcHBpbmdNZXRob2Qge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgY29kZVxuICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICBmdWxmaWxsbWVudEhhbmRsZXJDb2RlXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0YXhTdW1tYXJ5IHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICB0YXhCYXNlXG4gICAgICAgICAgICB0YXhSYXRlXG4gICAgICAgICAgICB0YXhUb3RhbFxuICAgICAgICB9XG4gICAgICAgIHNoaXBwaW5nQWRkcmVzcyB7XG4gICAgICAgICAgICAuLi5PcmRlckFkZHJlc3NcbiAgICAgICAgfVxuICAgICAgICBiaWxsaW5nQWRkcmVzcyB7XG4gICAgICAgICAgICAuLi5PcmRlckFkZHJlc3NcbiAgICAgICAgfVxuICAgICAgICBwYXltZW50cyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICB0cmFuc2FjdGlvbklkXG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIG1ldGhvZFxuICAgICAgICAgICAgc3RhdGVcbiAgICAgICAgICAgIG5leHRTdGF0ZXNcbiAgICAgICAgICAgIGVycm9yTWVzc2FnZVxuICAgICAgICAgICAgbWV0YWRhdGFcbiAgICAgICAgICAgIHJlZnVuZHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICAgICAgc3RhdGVcbiAgICAgICAgICAgICAgICBpdGVtc1xuICAgICAgICAgICAgICAgIGFkanVzdG1lbnRcbiAgICAgICAgICAgICAgICB0b3RhbFxuICAgICAgICAgICAgICAgIHBheW1lbnRJZFxuICAgICAgICAgICAgICAgIHJlYXNvblxuICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRcbiAgICAgICAgICAgICAgICBtZXRob2RcbiAgICAgICAgICAgICAgICBtZXRhZGF0YVxuICAgICAgICAgICAgICAgIG9yZGVySXRlbXMge1xuICAgICAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmdWxmaWxsbWVudHMge1xuICAgICAgICAgICAgLi4uRnVsZmlsbG1lbnRcbiAgICAgICAgfVxuICAgICAgICBtb2RpZmljYXRpb25zIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgIGlzU2V0dGxlZFxuICAgICAgICAgICAgcHJpY2VDaGFuZ2VcbiAgICAgICAgICAgIG5vdGVcbiAgICAgICAgICAgIHBheW1lbnQge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvcmRlckl0ZW1zIHtcbiAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVmdW5kIHtcbiAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgIHBheW1lbnRJZFxuICAgICAgICAgICAgICAgIHRvdGFsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdXJjaGFyZ2VzIHtcbiAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICR7RElTQ09VTlRfRlJBR01FTlR9XG4gICAgJHtPUkRFUl9BRERSRVNTX0ZSQUdNRU5UfVxuICAgICR7RlVMRklMTE1FTlRfRlJBR01FTlR9XG4gICAgJHtPUkRFUl9MSU5FX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IEdFVF9PUkRFUlNfTElTVCA9IGdxbGBcbiAgICBxdWVyeSBHZXRPcmRlckxpc3QoJG9wdGlvbnM6IE9yZGVyTGlzdE9wdGlvbnMpIHtcbiAgICAgICAgb3JkZXJzKG9wdGlvbnM6ICRvcHRpb25zKSB7XG4gICAgICAgICAgICBpdGVtcyB7XG4gICAgICAgICAgICAgICAgLi4uT3JkZXJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRvdGFsSXRlbXNcbiAgICAgICAgfVxuICAgIH1cbiAgICAke09SREVSX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IEdFVF9PUkRFUiA9IGdxbGBcbiAgICBxdWVyeSBHZXRPcmRlcigkaWQ6IElEISkge1xuICAgICAgICBvcmRlcihpZDogJGlkKSB7XG4gICAgICAgICAgICAuLi5PcmRlckRldGFpbFxuICAgICAgICB9XG4gICAgfVxuICAgICR7T1JERVJfREVUQUlMX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IFNFVFRMRV9QQVlNRU5UID0gZ3FsYFxuICAgIG11dGF0aW9uIFNldHRsZVBheW1lbnQoJGlkOiBJRCEpIHtcbiAgICAgICAgc2V0dGxlUGF5bWVudChpZDogJGlkKSB7XG4gICAgICAgICAgICAuLi4gb24gUGF5bWVudCB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICB0cmFuc2FjdGlvbklkXG4gICAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgICAgbWV0aG9kXG4gICAgICAgICAgICAgICAgc3RhdGVcbiAgICAgICAgICAgICAgICBtZXRhZGF0YVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcbiAgICAgICAgICAgIC4uLiBvbiBTZXR0bGVQYXltZW50RXJyb3Ige1xuICAgICAgICAgICAgICAgIHBheW1lbnRFcnJvck1lc3NhZ2VcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC4uLiBvbiBQYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3Ige1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb25FcnJvclxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLi4uIG9uIE9yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3Ige1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb25FcnJvclxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IFRSQU5TSVRJT05fUEFZTUVOVF9UT19TVEFURSA9IGdxbGBcbiAgICBtdXRhdGlvbiBUcmFuc2l0aW9uUGF5bWVudFRvU3RhdGUoJGlkOiBJRCEsICRzdGF0ZTogU3RyaW5nISkge1xuICAgICAgICB0cmFuc2l0aW9uUGF5bWVudFRvU3RhdGUoaWQ6ICRpZCwgc3RhdGU6ICRzdGF0ZSkge1xuICAgICAgICAgICAgLi4uIG9uIFBheW1lbnQge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZFxuICAgICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICAgIG1ldGhvZFxuICAgICAgICAgICAgICAgIHN0YXRlXG4gICAgICAgICAgICAgICAgbWV0YWRhdGFcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC4uLkVycm9yUmVzdWx0XG4gICAgICAgICAgICAuLi4gb24gUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uRXJyb3JcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBDUkVBVEVfRlVMRklMTE1FTlQgPSBncWxgXG4gICAgbXV0YXRpb24gQ3JlYXRlRnVsZmlsbG1lbnQoJGlucHV0OiBGdWxmaWxsT3JkZXJJbnB1dCEpIHtcbiAgICAgICAgYWRkRnVsZmlsbG1lbnRUb09yZGVyKGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIC4uLkZ1bGZpbGxtZW50XG4gICAgICAgICAgICAuLi4gb24gQ3JlYXRlRnVsZmlsbG1lbnRFcnJvciB7XG4gICAgICAgICAgICAgICAgZXJyb3JDb2RlXG4gICAgICAgICAgICAgICAgbWVzc2FnZVxuICAgICAgICAgICAgICAgIGZ1bGZpbGxtZW50SGFuZGxlckVycm9yXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuLi4gb24gRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvciB7XG4gICAgICAgICAgICAgICAgZXJyb3JDb2RlXG4gICAgICAgICAgICAgICAgbWVzc2FnZVxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb25FcnJvclxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcbiAgICAgICAgfVxuICAgIH1cbiAgICAke0ZVTEZJTExNRU5UX0ZSQUdNRU5UfVxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IENBTkNFTF9PUkRFUiA9IGdxbGBcbiAgICBtdXRhdGlvbiBDYW5jZWxPcmRlcigkaW5wdXQ6IENhbmNlbE9yZGVySW5wdXQhKSB7XG4gICAgICAgIGNhbmNlbE9yZGVyKGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIC4uLk9yZGVyRGV0YWlsXG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxuICAgICAgICB9XG4gICAgfVxuICAgICR7T1JERVJfREVUQUlMX0ZSQUdNRU5UfVxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IFJFRlVORF9PUkRFUiA9IGdxbGBcbiAgICBtdXRhdGlvbiBSZWZ1bmRPcmRlcigkaW5wdXQ6IFJlZnVuZE9yZGVySW5wdXQhKSB7XG4gICAgICAgIHJlZnVuZE9yZGVyKGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIC4uLlJlZnVuZFxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcbiAgICAgICAgfVxuICAgIH1cbiAgICAke1JFRlVORF9GUkFHTUVOVH1cbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTRVRUTEVfUkVGVU5EID0gZ3FsYFxuICAgIG11dGF0aW9uIFNldHRsZVJlZnVuZCgkaW5wdXQ6IFNldHRsZVJlZnVuZElucHV0ISkge1xuICAgICAgICBzZXR0bGVSZWZ1bmQoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgICAgICAgLi4uUmVmdW5kXG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxuICAgICAgICB9XG4gICAgfVxuICAgICR7UkVGVU5EX0ZSQUdNRU5UfVxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IEdFVF9PUkRFUl9ISVNUT1JZID0gZ3FsYFxuICAgIHF1ZXJ5IEdldE9yZGVySGlzdG9yeSgkaWQ6IElEISwgJG9wdGlvbnM6IEhpc3RvcnlFbnRyeUxpc3RPcHRpb25zKSB7XG4gICAgICAgIG9yZGVyKGlkOiAkaWQpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBoaXN0b3J5KG9wdGlvbnM6ICRvcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgdG90YWxJdGVtc1xuICAgICAgICAgICAgICAgIGl0ZW1zIHtcbiAgICAgICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgICAgICAgICAgaXNQdWJsaWNcbiAgICAgICAgICAgICAgICAgICAgYWRtaW5pc3RyYXRvciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3ROYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICBsYXN0TmFtZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGRhdGFcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5leHBvcnQgY29uc3QgQUREX05PVEVfVE9fT1JERVIgPSBncWxgXG4gICAgbXV0YXRpb24gQWRkTm90ZVRvT3JkZXIoJGlucHV0OiBBZGROb3RlVG9PcmRlcklucHV0ISkge1xuICAgICAgICBhZGROb3RlVG9PcmRlcihpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICB9XG4gICAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFVQREFURV9PUkRFUl9OT1RFID0gZ3FsYFxuICAgIG11dGF0aW9uIFVwZGF0ZU9yZGVyTm90ZSgkaW5wdXQ6IFVwZGF0ZU9yZGVyTm90ZUlucHV0ISkge1xuICAgICAgICB1cGRhdGVPcmRlck5vdGUoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGRhdGFcbiAgICAgICAgICAgIGlzUHVibGljXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5leHBvcnQgY29uc3QgREVMRVRFX09SREVSX05PVEUgPSBncWxgXG4gICAgbXV0YXRpb24gRGVsZXRlT3JkZXJOb3RlKCRpZDogSUQhKSB7XG4gICAgICAgIGRlbGV0ZU9yZGVyTm90ZShpZDogJGlkKSB7XG4gICAgICAgICAgICByZXN1bHRcbiAgICAgICAgICAgIG1lc3NhZ2VcbiAgICAgICAgfVxuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBUUkFOU0lUSU9OX09SREVSX1RPX1NUQVRFID0gZ3FsYFxuICAgIG11dGF0aW9uIFRyYW5zaXRpb25PcmRlclRvU3RhdGUoJGlkOiBJRCEsICRzdGF0ZTogU3RyaW5nISkge1xuICAgICAgICB0cmFuc2l0aW9uT3JkZXJUb1N0YXRlKGlkOiAkaWQsIHN0YXRlOiAkc3RhdGUpIHtcbiAgICAgICAgICAgIC4uLk9yZGVyXG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxuICAgICAgICAgICAgLi4uIG9uIE9yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3Ige1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb25FcnJvclxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICR7T1JERVJfRlJBR01FTlR9XG4gICAgJHtFUlJPUl9SRVNVTFRfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgVVBEQVRFX09SREVSX0NVU1RPTV9GSUVMRFMgPSBncWxgXG4gICAgbXV0YXRpb24gVXBkYXRlT3JkZXJDdXN0b21GaWVsZHMoJGlucHV0OiBVcGRhdGVPcmRlcklucHV0ISkge1xuICAgICAgICBzZXRPcmRlckN1c3RvbUZpZWxkcyhpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICAuLi5PcmRlclxuICAgICAgICB9XG4gICAgfVxuICAgICR7T1JERVJfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgVFJBTlNJVElPTl9GVUxGSUxMTUVOVF9UT19TVEFURSA9IGdxbGBcbiAgICBtdXRhdGlvbiBUcmFuc2l0aW9uRnVsZmlsbG1lbnRUb1N0YXRlKCRpZDogSUQhLCAkc3RhdGU6IFN0cmluZyEpIHtcbiAgICAgICAgdHJhbnNpdGlvbkZ1bGZpbGxtZW50VG9TdGF0ZShpZDogJGlkLCBzdGF0ZTogJHN0YXRlKSB7XG4gICAgICAgICAgICAuLi5GdWxmaWxsbWVudFxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcbiAgICAgICAgICAgIC4uLiBvbiBGdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uRXJyb3JcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAke0ZVTEZJTExNRU5UX0ZSQUdNRU5UfVxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IEdFVF9PUkRFUl9TVU1NQVJZID0gZ3FsYFxuICAgIHF1ZXJ5IEdldE9yZGVyU3VtbWFyeSgkc3RhcnQ6IERhdGVUaW1lISwgJGVuZDogRGF0ZVRpbWUhKSB7XG4gICAgICAgIG9yZGVycyhvcHRpb25zOiB7IGZpbHRlcjogeyBvcmRlclBsYWNlZEF0OiB7IGJldHdlZW46IHsgc3RhcnQ6ICRzdGFydCwgZW5kOiAkZW5kIH0gfSB9IH0pIHtcbiAgICAgICAgICAgIHRvdGFsSXRlbXNcbiAgICAgICAgICAgIGl0ZW1zIHtcbiAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgIHRvdGFsXG4gICAgICAgICAgICAgICAgY3VycmVuY3lDb2RlXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5leHBvcnQgY29uc3QgTU9ESUZZX09SREVSID0gZ3FsYFxuICAgIG11dGF0aW9uIE1vZGlmeU9yZGVyKCRpbnB1dDogTW9kaWZ5T3JkZXJJbnB1dCEpIHtcbiAgICAgICAgbW9kaWZ5T3JkZXIoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgICAgICAgLi4uT3JkZXJEZXRhaWxcbiAgICAgICAgICAgIC4uLkVycm9yUmVzdWx0XG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtPUkRFUl9ERVRBSUxfRlJBR01FTlR9XG4gICAgJHtFUlJPUl9SRVNVTFRfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgQUREX01BTlVBTF9QQVlNRU5UX1RPX09SREVSID0gZ3FsYFxuICAgIG11dGF0aW9uIEFkZE1hbnVhbFBheW1lbnQoJGlucHV0OiBNYW51YWxQYXltZW50SW5wdXQhKSB7XG4gICAgICAgIGFkZE1hbnVhbFBheW1lbnRUb09yZGVyKGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIC4uLk9yZGVyRGV0YWlsXG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxuICAgICAgICB9XG4gICAgfVxuICAgICR7T1JERVJfREVUQUlMX0ZSQUdNRU5UfVxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxuYDtcbiJdfQ==
472
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvZGVmaW5pdGlvbnMvb3JkZXItZGVmaW5pdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Q0FRbkMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7O0NBU2xDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7O0NBVWpDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Q0FheEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBdUJoQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7O0NBZ0J0QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQW1DckMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01Ba0hsQyxpQkFBaUI7TUFDakIsc0JBQXNCO01BQ3RCLG9CQUFvQjtNQUNwQixtQkFBbUI7Q0FDeEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7OztNQVM1QixjQUFjO0NBQ25CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFBOzs7Ozs7TUFNdEIscUJBQXFCO0NBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7O01BZ0IzQixxQkFBcUI7TUFDckIsZ0JBQWdCO0NBQ3JCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7O01BYTNCLHFCQUFxQjtNQUNyQixnQkFBZ0I7Q0FDckIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7OztNQVV4QyxnQkFBZ0I7TUFDaEIscUJBQXFCO0NBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O01BaUIvQixvQkFBb0I7TUFDcEIscUJBQXFCO0NBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFBOzs7Ozs7O01BT3pCLHFCQUFxQjtNQUNyQixxQkFBcUI7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUE7Ozs7Ozs7TUFPekIsZUFBZTtNQUNmLHFCQUFxQjtDQUMxQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQTs7Ozs7OztNQU8xQixlQUFlO01BQ2YscUJBQXFCO0NBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXFCbkMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQTs7Ozs7O0NBTW5DLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7O0NBUW5DLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Q0FPbkMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7OztNQVV0QyxjQUFjO01BQ2QscUJBQXFCO0NBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLENBQUE7Ozs7OztNQU12QyxjQUFjO0NBQ25CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7TUFVNUMsb0JBQW9CO01BQ3BCLHFCQUFxQjtDQUMxQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7OztDQVduQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQTs7Ozs7OztNQU96QixxQkFBcUI7TUFDckIscUJBQXFCO0NBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7TUFPeEMscUJBQXFCO01BQ3JCLHFCQUFxQjtDQUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ3FsIH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xuXG5pbXBvcnQgeyBFUlJPUl9SRVNVTFRfRlJBR01FTlQgfSBmcm9tICcuL3NoYXJlZC1kZWZpbml0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBESVNDT1VOVF9GUkFHTUVOVCA9IGdxbGBcbiAgICBmcmFnbWVudCBEaXNjb3VudCBvbiBEaXNjb3VudCB7XG4gICAgICAgIGFkanVzdG1lbnRTb3VyY2VcbiAgICAgICAgYW1vdW50XG4gICAgICAgIGFtb3VudFdpdGhUYXhcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgdHlwZVxuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBQQVlNRU5UX0ZSQUdNRU5UID0gZ3FsYFxuICAgIGZyYWdtZW50IFBheW1lbnQgb24gUGF5bWVudCB7XG4gICAgICAgIGlkXG4gICAgICAgIHRyYW5zYWN0aW9uSWRcbiAgICAgICAgYW1vdW50XG4gICAgICAgIG1ldGhvZFxuICAgICAgICBzdGF0ZVxuICAgICAgICBtZXRhZGF0YVxuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBSRUZVTkRfRlJBR01FTlQgPSBncWxgXG4gICAgZnJhZ21lbnQgUmVmdW5kIG9uIFJlZnVuZCB7XG4gICAgICAgIGlkXG4gICAgICAgIHN0YXRlXG4gICAgICAgIGl0ZW1zXG4gICAgICAgIHNoaXBwaW5nXG4gICAgICAgIGFkanVzdG1lbnRcbiAgICAgICAgdHJhbnNhY3Rpb25JZFxuICAgICAgICBwYXltZW50SWRcbiAgICB9XG5gO1xuXG5leHBvcnQgY29uc3QgT1JERVJfQUREUkVTU19GUkFHTUVOVCA9IGdxbGBcbiAgICBmcmFnbWVudCBPcmRlckFkZHJlc3Mgb24gT3JkZXJBZGRyZXNzIHtcbiAgICAgICAgZnVsbE5hbWVcbiAgICAgICAgY29tcGFueVxuICAgICAgICBzdHJlZXRMaW5lMVxuICAgICAgICBzdHJlZXRMaW5lMlxuICAgICAgICBjaXR5XG4gICAgICAgIHByb3ZpbmNlXG4gICAgICAgIHBvc3RhbENvZGVcbiAgICAgICAgY291bnRyeVxuICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICBwaG9uZU51bWJlclxuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBPUkRFUl9GUkFHTUVOVCA9IGdxbGBcbiAgICBmcmFnbWVudCBPcmRlciBvbiBPcmRlciB7XG4gICAgICAgIGlkXG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgb3JkZXJQbGFjZWRBdFxuICAgICAgICBjb2RlXG4gICAgICAgIHN0YXRlXG4gICAgICAgIG5leHRTdGF0ZXNcbiAgICAgICAgdG90YWxcbiAgICAgICAgdG90YWxXaXRoVGF4XG4gICAgICAgIGN1cnJlbmN5Q29kZVxuICAgICAgICBjdXN0b21lciB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZmlyc3ROYW1lXG4gICAgICAgICAgICBsYXN0TmFtZVxuICAgICAgICB9XG4gICAgICAgIHNoaXBwaW5nTGluZXMge1xuICAgICAgICAgICAgc2hpcHBpbmdNZXRob2Qge1xuICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBGVUxGSUxMTUVOVF9GUkFHTUVOVCA9IGdxbGBcbiAgICBmcmFnbWVudCBGdWxmaWxsbWVudCBvbiBGdWxmaWxsbWVudCB7XG4gICAgICAgIGlkXG4gICAgICAgIHN0YXRlXG4gICAgICAgIG5leHRTdGF0ZXNcbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICBtZXRob2RcbiAgICAgICAgc3VtbWFyeSB7XG4gICAgICAgICAgICBvcmRlckxpbmUge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBxdWFudGl0eVxuICAgICAgICB9XG4gICAgICAgIHRyYWNraW5nQ29kZVxuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBPUkRFUl9MSU5FX0ZSQUdNRU5UID0gZ3FsYFxuICAgIGZyYWdtZW50IE9yZGVyTGluZSBvbiBPcmRlckxpbmUge1xuICAgICAgICBpZFxuICAgICAgICBmZWF0dXJlZEFzc2V0IHtcbiAgICAgICAgICAgIHByZXZpZXdcbiAgICAgICAgfVxuICAgICAgICBwcm9kdWN0VmFyaWFudCB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgc2t1XG4gICAgICAgICAgICB0cmFja0ludmVudG9yeVxuICAgICAgICAgICAgc3RvY2tPbkhhbmRcbiAgICAgICAgfVxuICAgICAgICBkaXNjb3VudHMge1xuICAgICAgICAgICAgLi4uRGlzY291bnRcbiAgICAgICAgfVxuICAgICAgICBmdWxmaWxsbWVudHMge1xuICAgICAgICAgICAgLi4uRnVsZmlsbG1lbnRcbiAgICAgICAgfVxuICAgICAgICB1bml0UHJpY2VcbiAgICAgICAgdW5pdFByaWNlV2l0aFRheFxuICAgICAgICBwcm9yYXRlZFVuaXRQcmljZVxuICAgICAgICBwcm9yYXRlZFVuaXRQcmljZVdpdGhUYXhcbiAgICAgICAgcXVhbnRpdHlcbiAgICAgICAgaXRlbXMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIHJlZnVuZElkXG4gICAgICAgICAgICBjYW5jZWxsZWRcbiAgICAgICAgfVxuICAgICAgICBsaW5lUHJpY2VcbiAgICAgICAgbGluZVRheFxuICAgICAgICBsaW5lUHJpY2VXaXRoVGF4XG4gICAgICAgIGRpc2NvdW50ZWRMaW5lUHJpY2VcbiAgICAgICAgZGlzY291bnRlZExpbmVQcmljZVdpdGhUYXhcbiAgICB9XG5gO1xuXG5leHBvcnQgY29uc3QgT1JERVJfREVUQUlMX0ZSQUdNRU5UID0gZ3FsYFxuICAgIGZyYWdtZW50IE9yZGVyRGV0YWlsIG9uIE9yZGVyIHtcbiAgICAgICAgaWRcbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICBjb2RlXG4gICAgICAgIHN0YXRlXG4gICAgICAgIG5leHRTdGF0ZXNcbiAgICAgICAgYWN0aXZlXG4gICAgICAgIGNvdXBvbkNvZGVzXG4gICAgICAgIGN1c3RvbWVyIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBmaXJzdE5hbWVcbiAgICAgICAgICAgIGxhc3ROYW1lXG4gICAgICAgIH1cbiAgICAgICAgbGluZXMge1xuICAgICAgICAgICAgLi4uT3JkZXJMaW5lXG4gICAgICAgIH1cbiAgICAgICAgc3VyY2hhcmdlcyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgc2t1XG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHByaWNlV2l0aFRheFxuICAgICAgICAgICAgdGF4UmF0ZVxuICAgICAgICB9XG4gICAgICAgIGRpc2NvdW50cyB7XG4gICAgICAgICAgICAuLi5EaXNjb3VudFxuICAgICAgICB9XG4gICAgICAgIHByb21vdGlvbnMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGNvdXBvbkNvZGVcbiAgICAgICAgfVxuICAgICAgICBzdWJUb3RhbFxuICAgICAgICBzdWJUb3RhbFdpdGhUYXhcbiAgICAgICAgdG90YWxcbiAgICAgICAgdG90YWxXaXRoVGF4XG4gICAgICAgIGN1cnJlbmN5Q29kZVxuICAgICAgICBzaGlwcGluZ1xuICAgICAgICBzaGlwcGluZ1dpdGhUYXhcbiAgICAgICAgc2hpcHBpbmdMaW5lcyB7XG4gICAgICAgICAgICBzaGlwcGluZ01ldGhvZCB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBjb2RlXG4gICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgIGZ1bGZpbGxtZW50SGFuZGxlckNvZGVcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRheFN1bW1hcnkge1xuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIHRheEJhc2VcbiAgICAgICAgICAgIHRheFJhdGVcbiAgICAgICAgICAgIHRheFRvdGFsXG4gICAgICAgIH1cbiAgICAgICAgc2hpcHBpbmdBZGRyZXNzIHtcbiAgICAgICAgICAgIC4uLk9yZGVyQWRkcmVzc1xuICAgICAgICB9XG4gICAgICAgIGJpbGxpbmdBZGRyZXNzIHtcbiAgICAgICAgICAgIC4uLk9yZGVyQWRkcmVzc1xuICAgICAgICB9XG4gICAgICAgIHBheW1lbnRzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgbWV0aG9kXG4gICAgICAgICAgICBzdGF0ZVxuICAgICAgICAgICAgbmV4dFN0YXRlc1xuICAgICAgICAgICAgZXJyb3JNZXNzYWdlXG4gICAgICAgICAgICBtZXRhZGF0YVxuICAgICAgICAgICAgcmVmdW5kcyB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgICAgICBzdGF0ZVxuICAgICAgICAgICAgICAgIGl0ZW1zXG4gICAgICAgICAgICAgICAgYWRqdXN0bWVudFxuICAgICAgICAgICAgICAgIHRvdGFsXG4gICAgICAgICAgICAgICAgcGF5bWVudElkXG4gICAgICAgICAgICAgICAgcmVhc29uXG4gICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZFxuICAgICAgICAgICAgICAgIG1ldGhvZFxuICAgICAgICAgICAgICAgIG1ldGFkYXRhXG4gICAgICAgICAgICAgICAgb3JkZXJJdGVtcyB7XG4gICAgICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZ1bGZpbGxtZW50cyB7XG4gICAgICAgICAgICAuLi5GdWxmaWxsbWVudFxuICAgICAgICB9XG4gICAgICAgIG1vZGlmaWNhdGlvbnMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgICAgaXNTZXR0bGVkXG4gICAgICAgICAgICBwcmljZUNoYW5nZVxuICAgICAgICAgICAgbm90ZVxuICAgICAgICAgICAgcGF5bWVudCB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9yZGVySXRlbXMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZWZ1bmQge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgcGF5bWVudElkXG4gICAgICAgICAgICAgICAgdG90YWxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN1cmNoYXJnZXMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtESVNDT1VOVF9GUkFHTUVOVH1cbiAgICAke09SREVSX0FERFJFU1NfRlJBR01FTlR9XG4gICAgJHtGVUxGSUxMTUVOVF9GUkFHTUVOVH1cbiAgICAke09SREVSX0xJTkVfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgR0VUX09SREVSU19MSVNUID0gZ3FsYFxuICAgIHF1ZXJ5IEdldE9yZGVyTGlzdCgkb3B0aW9uczogT3JkZXJMaXN0T3B0aW9ucykge1xuICAgICAgICBvcmRlcnMob3B0aW9uczogJG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGl0ZW1zIHtcbiAgICAgICAgICAgICAgICAuLi5PcmRlclxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdG90YWxJdGVtc1xuICAgICAgICB9XG4gICAgfVxuICAgICR7T1JERVJfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgR0VUX09SREVSID0gZ3FsYFxuICAgIHF1ZXJ5IEdldE9yZGVyKCRpZDogSUQhKSB7XG4gICAgICAgIG9yZGVyKGlkOiAkaWQpIHtcbiAgICAgICAgICAgIC4uLk9yZGVyRGV0YWlsXG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtPUkRFUl9ERVRBSUxfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgU0VUVExFX1BBWU1FTlQgPSBncWxgXG4gICAgbXV0YXRpb24gU2V0dGxlUGF5bWVudCgkaWQ6IElEISkge1xuICAgICAgICBzZXR0bGVQYXltZW50KGlkOiAkaWQpIHtcbiAgICAgICAgICAgIC4uLlBheW1lbnRcbiAgICAgICAgICAgIC4uLkVycm9yUmVzdWx0XG4gICAgICAgICAgICAuLi4gb24gU2V0dGxlUGF5bWVudEVycm9yIHtcbiAgICAgICAgICAgICAgICBwYXltZW50RXJyb3JNZXNzYWdlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuLi4gb24gUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uRXJyb3JcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC4uLiBvbiBPcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uRXJyb3JcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cbiAgICAke1BBWU1FTlRfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgQ0FOQ0VMX1BBWU1FTlQgPSBncWxgXG4gICAgbXV0YXRpb24gQ2FuY2VsUGF5bWVudCgkaWQ6IElEISkge1xuICAgICAgICBjYW5jZWxQYXltZW50KGlkOiAkaWQpIHtcbiAgICAgICAgICAgIC4uLlBheW1lbnRcbiAgICAgICAgICAgIC4uLkVycm9yUmVzdWx0XG4gICAgICAgICAgICAuLi4gb24gQ2FuY2VsUGF5bWVudEVycm9yIHtcbiAgICAgICAgICAgICAgICBwYXltZW50RXJyb3JNZXNzYWdlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuLi4gb24gUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uRXJyb3JcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cbiAgICAke1BBWU1FTlRfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgVFJBTlNJVElPTl9QQVlNRU5UX1RPX1NUQVRFID0gZ3FsYFxuICAgIG11dGF0aW9uIFRyYW5zaXRpb25QYXltZW50VG9TdGF0ZSgkaWQ6IElEISwgJHN0YXRlOiBTdHJpbmchKSB7XG4gICAgICAgIHRyYW5zaXRpb25QYXltZW50VG9TdGF0ZShpZDogJGlkLCBzdGF0ZTogJHN0YXRlKSB7XG4gICAgICAgICAgICAuLi5QYXltZW50XG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxuICAgICAgICAgICAgLi4uIG9uIFBheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvciB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbkVycm9yXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtQQVlNRU5UX0ZSQUdNRU5UfVxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IENSRUFURV9GVUxGSUxMTUVOVCA9IGdxbGBcbiAgICBtdXRhdGlvbiBDcmVhdGVGdWxmaWxsbWVudCgkaW5wdXQ6IEZ1bGZpbGxPcmRlcklucHV0ISkge1xuICAgICAgICBhZGRGdWxmaWxsbWVudFRvT3JkZXIoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgICAgICAgLi4uRnVsZmlsbG1lbnRcbiAgICAgICAgICAgIC4uLiBvbiBDcmVhdGVGdWxmaWxsbWVudEVycm9yIHtcbiAgICAgICAgICAgICAgICBlcnJvckNvZGVcbiAgICAgICAgICAgICAgICBtZXNzYWdlXG4gICAgICAgICAgICAgICAgZnVsZmlsbG1lbnRIYW5kbGVyRXJyb3JcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC4uLiBvbiBGdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yIHtcbiAgICAgICAgICAgICAgICBlcnJvckNvZGVcbiAgICAgICAgICAgICAgICBtZXNzYWdlXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbkVycm9yXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxuICAgICAgICB9XG4gICAgfVxuICAgICR7RlVMRklMTE1FTlRfRlJBR01FTlR9XG4gICAgJHtFUlJPUl9SRVNVTFRfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgQ0FOQ0VMX09SREVSID0gZ3FsYFxuICAgIG11dGF0aW9uIENhbmNlbE9yZGVyKCRpbnB1dDogQ2FuY2VsT3JkZXJJbnB1dCEpIHtcbiAgICAgICAgY2FuY2VsT3JkZXIoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgICAgICAgLi4uT3JkZXJEZXRhaWxcbiAgICAgICAgICAgIC4uLkVycm9yUmVzdWx0XG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtPUkRFUl9ERVRBSUxfRlJBR01FTlR9XG4gICAgJHtFUlJPUl9SRVNVTFRfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgUkVGVU5EX09SREVSID0gZ3FsYFxuICAgIG11dGF0aW9uIFJlZnVuZE9yZGVyKCRpbnB1dDogUmVmdW5kT3JkZXJJbnB1dCEpIHtcbiAgICAgICAgcmVmdW5kT3JkZXIoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgICAgICAgLi4uUmVmdW5kXG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxuICAgICAgICB9XG4gICAgfVxuICAgICR7UkVGVU5EX0ZSQUdNRU5UfVxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IFNFVFRMRV9SRUZVTkQgPSBncWxgXG4gICAgbXV0YXRpb24gU2V0dGxlUmVmdW5kKCRpbnB1dDogU2V0dGxlUmVmdW5kSW5wdXQhKSB7XG4gICAgICAgIHNldHRsZVJlZnVuZChpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICAuLi5SZWZ1bmRcbiAgICAgICAgICAgIC4uLkVycm9yUmVzdWx0XG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtSRUZVTkRfRlJBR01FTlR9XG4gICAgJHtFUlJPUl9SRVNVTFRfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgR0VUX09SREVSX0hJU1RPUlkgPSBncWxgXG4gICAgcXVlcnkgR2V0T3JkZXJIaXN0b3J5KCRpZDogSUQhLCAkb3B0aW9uczogSGlzdG9yeUVudHJ5TGlzdE9wdGlvbnMpIHtcbiAgICAgICAgb3JkZXIoaWQ6ICRpZCkge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGhpc3Rvcnkob3B0aW9uczogJG9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICB0b3RhbEl0ZW1zXG4gICAgICAgICAgICAgICAgaXRlbXMge1xuICAgICAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgICAgICAgICAgICBpc1B1YmxpY1xuICAgICAgICAgICAgICAgICAgICBhZG1pbmlzdHJhdG9yIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgICAgICAgICBmaXJzdE5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhc3ROYW1lXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZGF0YVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBBRERfTk9URV9UT19PUkRFUiA9IGdxbGBcbiAgICBtdXRhdGlvbiBBZGROb3RlVG9PcmRlcigkaW5wdXQ6IEFkZE5vdGVUb09yZGVySW5wdXQhKSB7XG4gICAgICAgIGFkZE5vdGVUb09yZGVyKGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5leHBvcnQgY29uc3QgVVBEQVRFX09SREVSX05PVEUgPSBncWxgXG4gICAgbXV0YXRpb24gVXBkYXRlT3JkZXJOb3RlKCRpbnB1dDogVXBkYXRlT3JkZXJOb3RlSW5wdXQhKSB7XG4gICAgICAgIHVwZGF0ZU9yZGVyTm90ZShpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZGF0YVxuICAgICAgICAgICAgaXNQdWJsaWNcbiAgICAgICAgfVxuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBERUxFVEVfT1JERVJfTk9URSA9IGdxbGBcbiAgICBtdXRhdGlvbiBEZWxldGVPcmRlck5vdGUoJGlkOiBJRCEpIHtcbiAgICAgICAgZGVsZXRlT3JkZXJOb3RlKGlkOiAkaWQpIHtcbiAgICAgICAgICAgIHJlc3VsdFxuICAgICAgICAgICAgbWVzc2FnZVxuICAgICAgICB9XG4gICAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFRSQU5TSVRJT05fT1JERVJfVE9fU1RBVEUgPSBncWxgXG4gICAgbXV0YXRpb24gVHJhbnNpdGlvbk9yZGVyVG9TdGF0ZSgkaWQ6IElEISwgJHN0YXRlOiBTdHJpbmchKSB7XG4gICAgICAgIHRyYW5zaXRpb25PcmRlclRvU3RhdGUoaWQ6ICRpZCwgc3RhdGU6ICRzdGF0ZSkge1xuICAgICAgICAgICAgLi4uT3JkZXJcbiAgICAgICAgICAgIC4uLkVycm9yUmVzdWx0XG4gICAgICAgICAgICAuLi4gb24gT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvciB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbkVycm9yXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtPUkRFUl9GUkFHTUVOVH1cbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBVUERBVEVfT1JERVJfQ1VTVE9NX0ZJRUxEUyA9IGdxbGBcbiAgICBtdXRhdGlvbiBVcGRhdGVPcmRlckN1c3RvbUZpZWxkcygkaW5wdXQ6IFVwZGF0ZU9yZGVySW5wdXQhKSB7XG4gICAgICAgIHNldE9yZGVyQ3VzdG9tRmllbGRzKGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIC4uLk9yZGVyXG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtPUkRFUl9GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBUUkFOU0lUSU9OX0ZVTEZJTExNRU5UX1RPX1NUQVRFID0gZ3FsYFxuICAgIG11dGF0aW9uIFRyYW5zaXRpb25GdWxmaWxsbWVudFRvU3RhdGUoJGlkOiBJRCEsICRzdGF0ZTogU3RyaW5nISkge1xuICAgICAgICB0cmFuc2l0aW9uRnVsZmlsbG1lbnRUb1N0YXRlKGlkOiAkaWQsIHN0YXRlOiAkc3RhdGUpIHtcbiAgICAgICAgICAgIC4uLkZ1bGZpbGxtZW50XG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxuICAgICAgICAgICAgLi4uIG9uIEZ1bGZpbGxtZW50U3RhdGVUcmFuc2l0aW9uRXJyb3Ige1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb25FcnJvclxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICR7RlVMRklMTE1FTlRfRlJBR01FTlR9XG4gICAgJHtFUlJPUl9SRVNVTFRfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgR0VUX09SREVSX1NVTU1BUlkgPSBncWxgXG4gICAgcXVlcnkgR2V0T3JkZXJTdW1tYXJ5KCRzdGFydDogRGF0ZVRpbWUhLCAkZW5kOiBEYXRlVGltZSEpIHtcbiAgICAgICAgb3JkZXJzKG9wdGlvbnM6IHsgZmlsdGVyOiB7IG9yZGVyUGxhY2VkQXQ6IHsgYmV0d2VlbjogeyBzdGFydDogJHN0YXJ0LCBlbmQ6ICRlbmQgfSB9IH0gfSkge1xuICAgICAgICAgICAgdG90YWxJdGVtc1xuICAgICAgICAgICAgaXRlbXMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgdG90YWxcbiAgICAgICAgICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBNT0RJRllfT1JERVIgPSBncWxgXG4gICAgbXV0YXRpb24gTW9kaWZ5T3JkZXIoJGlucHV0OiBNb2RpZnlPcmRlcklucHV0ISkge1xuICAgICAgICBtb2RpZnlPcmRlcihpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICAuLi5PcmRlckRldGFpbFxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcbiAgICAgICAgfVxuICAgIH1cbiAgICAke09SREVSX0RFVEFJTF9GUkFHTUVOVH1cbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBBRERfTUFOVUFMX1BBWU1FTlRfVE9fT1JERVIgPSBncWxgXG4gICAgbXV0YXRpb24gQWRkTWFudWFsUGF5bWVudCgkaW5wdXQ6IE1hbnVhbFBheW1lbnRJbnB1dCEpIHtcbiAgICAgICAgYWRkTWFudWFsUGF5bWVudFRvT3JkZXIoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgICAgICAgLi4uT3JkZXJEZXRhaWxcbiAgICAgICAgICAgIC4uLkVycm9yUmVzdWx0XG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtPUkRFUl9ERVRBSUxfRlJBR01FTlR9XG4gICAgJHtFUlJPUl9SRVNVTFRfRlJBR01FTlR9XG5gO1xuIl19