@vendure/admin-ui 2.0.0-next.0 → 2.0.0-next.3

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 (95) hide show
  1. package/catalog/components/collection-contents/collection-contents.component.d.ts +8 -2
  2. package/catalog/components/collection-detail/collection-detail.component.d.ts +11 -4
  3. package/catalog/components/collection-list/collection-list.component.d.ts +2 -0
  4. package/catalog/components/collection-tree/array-to-tree.d.ts +1 -1
  5. package/catalog/components/collection-tree/collection-tree-node.component.d.ts +6 -2
  6. package/catalog/components/collection-tree/collection-tree.component.d.ts +2 -1
  7. package/catalog/components/product-variants-list/product-variants-list.component.d.ts +1 -0
  8. package/core/common/generated-types.d.ts +131 -2
  9. package/core/common/version.d.ts +1 -1
  10. package/core/data/definitions/collection-definitions.d.ts +1 -0
  11. package/core/data/providers/collection-data.service.d.ts +4 -0
  12. package/core/data/providers/promotion-data.service.d.ts +1 -1
  13. package/core/providers/local-storage/local-storage.service.d.ts +1 -0
  14. package/core/public_api.d.ts +2 -1
  15. package/core/shared/components/object-tree/object-tree.component.d.ts +3 -3
  16. package/core/shared/components/{product-selector/product-selector.component.d.ts → product-variant-selector/product-variant-selector.component.d.ts} +4 -4
  17. package/core/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.d.ts +18 -0
  18. package/core/shared/shared.module.d.ts +15 -14
  19. package/esm2020/catalog/components/assets/assets.component.mjs +2 -2
  20. package/esm2020/catalog/components/collection-contents/collection-contents.component.mjs +53 -13
  21. package/esm2020/catalog/components/collection-detail/collection-detail.component.mjs +57 -32
  22. package/esm2020/catalog/components/collection-list/collection-list.component.mjs +30 -5
  23. package/esm2020/catalog/components/collection-tree/array-to-tree.mjs +3 -3
  24. package/esm2020/catalog/components/collection-tree/collection-tree-node.component.mjs +29 -10
  25. package/esm2020/catalog/components/collection-tree/collection-tree.component.mjs +6 -3
  26. package/esm2020/catalog/components/facet-detail/facet-detail.component.mjs +2 -2
  27. package/esm2020/catalog/components/product-variants-list/product-variants-list.component.mjs +9 -3
  28. package/esm2020/catalog/providers/routing/collection-resolver.mjs +2 -1
  29. package/esm2020/core/app.component.module.mjs +1 -1
  30. package/esm2020/core/common/base-detail.component.mjs +1 -1
  31. package/esm2020/core/common/deactivate-aware.mjs +1 -1
  32. package/esm2020/core/common/generated-types.mjs +29 -1
  33. package/esm2020/core/common/introspection-result.mjs +255 -183
  34. package/esm2020/core/common/utilities/configurable-operation-utils.mjs +21 -2
  35. package/esm2020/core/common/version.mjs +2 -2
  36. package/esm2020/core/core.module.mjs +1 -1
  37. package/esm2020/core/data/definitions/collection-definitions.mjs +19 -1
  38. package/esm2020/core/data/definitions/customer-definitions.mjs +241 -241
  39. package/esm2020/core/data/definitions/order-definitions.mjs +2 -1
  40. package/esm2020/core/data/definitions/shared-definitions.mjs +29 -28
  41. package/esm2020/core/data/providers/collection-data.service.mjs +7 -2
  42. package/esm2020/core/data/providers/promotion-data.service.mjs +3 -2
  43. package/esm2020/core/providers/local-storage/local-storage.service.mjs +1 -1
  44. package/esm2020/core/public_api.mjs +3 -2
  45. package/esm2020/core/shared/components/asset-preview/asset-preview.component.mjs +4 -4
  46. package/esm2020/core/shared/components/configurable-input/configurable-input.component.mjs +10 -9
  47. package/esm2020/core/shared/components/help-tooltip/help-tooltip.component.mjs +2 -2
  48. package/esm2020/core/shared/components/object-tree/object-tree.component.mjs +4 -4
  49. package/esm2020/core/shared/components/product-variant-selector/product-variant-selector.component.mjs +62 -0
  50. package/esm2020/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.mjs +4 -4
  51. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.mjs +54 -0
  52. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.mjs +5 -4
  53. package/esm2020/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.mjs +1 -1
  54. package/esm2020/core/shared/shared.module.mjs +9 -5
  55. package/esm2020/order/components/cancel-order-dialog/cancel-order-dialog.component.mjs +8 -4
  56. package/esm2020/order/components/order-editor/order-editor.component.mjs +26 -10
  57. package/esm2020/order/components/order-table/order-table.component.mjs +2 -2
  58. package/esm2020/order/components/refund-order-dialog/refund-order-dialog.component.mjs +8 -4
  59. package/esm2020/settings/components/test-order-builder/test-order-builder.component.mjs +3 -3
  60. package/fesm2015/vendure-admin-ui-catalog.mjs +180 -57
  61. package/fesm2015/vendure-admin-ui-catalog.mjs.map +1 -1
  62. package/fesm2015/vendure-admin-ui-core.mjs +772 -584
  63. package/fesm2015/vendure-admin-ui-core.mjs.map +1 -1
  64. package/fesm2015/vendure-admin-ui-order.mjs +38 -16
  65. package/fesm2015/vendure-admin-ui-order.mjs.map +1 -1
  66. package/fesm2015/vendure-admin-ui-settings.mjs +2 -2
  67. package/fesm2015/vendure-admin-ui-settings.mjs.map +1 -1
  68. package/fesm2020/vendure-admin-ui-catalog.mjs +178 -59
  69. package/fesm2020/vendure-admin-ui-catalog.mjs.map +1 -1
  70. package/fesm2020/vendure-admin-ui-core.mjs +770 -581
  71. package/fesm2020/vendure-admin-ui-core.mjs.map +1 -1
  72. package/fesm2020/vendure-admin-ui-order.mjs +36 -15
  73. package/fesm2020/vendure-admin-ui-order.mjs.map +1 -1
  74. package/fesm2020/vendure-admin-ui-settings.mjs +2 -2
  75. package/fesm2020/vendure-admin-ui-settings.mjs.map +1 -1
  76. package/order/components/order-editor/order-editor.component.d.ts +8 -2
  77. package/package.json +2 -2
  78. package/static/i18n-messages/cs.json +6 -1
  79. package/static/i18n-messages/de.json +4 -1
  80. package/static/i18n-messages/en.json +6 -1
  81. package/static/i18n-messages/es.json +6 -1
  82. package/static/i18n-messages/fr.json +6 -1
  83. package/static/i18n-messages/it.json +6 -1
  84. package/static/i18n-messages/pl.json +6 -1
  85. package/static/i18n-messages/pt_BR.json +6 -1
  86. package/static/i18n-messages/pt_PT.json +6 -1
  87. package/static/i18n-messages/ru.json +6 -1
  88. package/static/i18n-messages/uk.json +6 -1
  89. package/static/i18n-messages/zh_Hans.json +6 -1
  90. package/static/i18n-messages/zh_Hant.json +6 -1
  91. package/static/styles/global/_forms.scss +3 -4
  92. package/static/styles/global/_overrides.scss +6 -0
  93. package/static/theme.min.css +1 -1
  94. package/static/vendure-ui-config.json +25 -10
  95. package/esm2020/core/shared/components/product-selector/product-selector.component.mjs +0 -62
@@ -1,265 +1,265 @@
1
1
  import { gql } from 'apollo-angular';
2
2
  import { ERROR_RESULT_FRAGMENT } from './shared-definitions';
3
- export const ADDRESS_FRAGMENT = gql `
4
- fragment Address on Address {
5
- id
6
- createdAt
7
- updatedAt
8
- fullName
9
- company
10
- streetLine1
11
- streetLine2
12
- city
13
- province
14
- postalCode
15
- country {
16
- id
17
- code
18
- name
19
- }
20
- phoneNumber
21
- defaultShippingAddress
22
- defaultBillingAddress
23
- }
3
+ export const ADDRESS_FRAGMENT = gql `
4
+ fragment Address on Address {
5
+ id
6
+ createdAt
7
+ updatedAt
8
+ fullName
9
+ company
10
+ streetLine1
11
+ streetLine2
12
+ city
13
+ province
14
+ postalCode
15
+ country {
16
+ id
17
+ code
18
+ name
19
+ }
20
+ phoneNumber
21
+ defaultShippingAddress
22
+ defaultBillingAddress
23
+ }
24
24
  `;
25
- export const CUSTOMER_FRAGMENT = gql `
26
- fragment Customer on Customer {
27
- id
28
- createdAt
29
- updatedAt
30
- title
31
- firstName
32
- lastName
33
- phoneNumber
34
- emailAddress
35
- user {
36
- id
37
- identifier
38
- verified
39
- lastLogin
40
- }
41
- addresses {
42
- ...Address
43
- }
44
- }
45
- ${ADDRESS_FRAGMENT}
25
+ export const CUSTOMER_FRAGMENT = gql `
26
+ fragment Customer on Customer {
27
+ id
28
+ createdAt
29
+ updatedAt
30
+ title
31
+ firstName
32
+ lastName
33
+ phoneNumber
34
+ emailAddress
35
+ user {
36
+ id
37
+ identifier
38
+ verified
39
+ lastLogin
40
+ }
41
+ addresses {
42
+ ...Address
43
+ }
44
+ }
45
+ ${ADDRESS_FRAGMENT}
46
46
  `;
47
- export const CUSTOMER_GROUP_FRAGMENT = gql `
48
- fragment CustomerGroup on CustomerGroup {
49
- id
50
- createdAt
51
- updatedAt
52
- name
53
- }
47
+ export const CUSTOMER_GROUP_FRAGMENT = gql `
48
+ fragment CustomerGroup on CustomerGroup {
49
+ id
50
+ createdAt
51
+ updatedAt
52
+ name
53
+ }
54
54
  `;
55
- export const GET_CUSTOMER_LIST = gql `
56
- query GetCustomerList($options: CustomerListOptions) {
57
- customers(options: $options) {
58
- items {
59
- id
60
- createdAt
61
- updatedAt
62
- title
63
- firstName
64
- lastName
65
- emailAddress
66
- user {
67
- id
68
- verified
69
- }
70
- }
71
- totalItems
72
- }
73
- }
55
+ export const GET_CUSTOMER_LIST = gql `
56
+ query GetCustomerList($options: CustomerListOptions) {
57
+ customers(options: $options) {
58
+ items {
59
+ id
60
+ createdAt
61
+ updatedAt
62
+ title
63
+ firstName
64
+ lastName
65
+ emailAddress
66
+ user {
67
+ id
68
+ verified
69
+ }
70
+ }
71
+ totalItems
72
+ }
73
+ }
74
74
  `;
75
- export const GET_CUSTOMER = gql `
76
- query GetCustomer($id: ID!, $orderListOptions: OrderListOptions) {
77
- customer(id: $id) {
78
- ...Customer
79
- groups {
80
- id
81
- name
82
- }
83
- orders(options: $orderListOptions) {
84
- items {
85
- id
86
- code
87
- state
88
- totalWithTax
89
- currencyCode
90
- updatedAt
91
- }
92
- totalItems
93
- }
94
- }
95
- }
96
- ${CUSTOMER_FRAGMENT}
75
+ export const GET_CUSTOMER = gql `
76
+ query GetCustomer($id: ID!, $orderListOptions: OrderListOptions) {
77
+ customer(id: $id) {
78
+ ...Customer
79
+ groups {
80
+ id
81
+ name
82
+ }
83
+ orders(options: $orderListOptions) {
84
+ items {
85
+ id
86
+ code
87
+ state
88
+ totalWithTax
89
+ currencyCode
90
+ updatedAt
91
+ }
92
+ totalItems
93
+ }
94
+ }
95
+ }
96
+ ${CUSTOMER_FRAGMENT}
97
97
  `;
98
- export const CREATE_CUSTOMER = gql `
99
- mutation CreateCustomer($input: CreateCustomerInput!, $password: String) {
100
- createCustomer(input: $input, password: $password) {
101
- ...Customer
102
- ...ErrorResult
103
- }
104
- }
105
- ${CUSTOMER_FRAGMENT}
106
- ${ERROR_RESULT_FRAGMENT}
98
+ export const CREATE_CUSTOMER = gql `
99
+ mutation CreateCustomer($input: CreateCustomerInput!, $password: String) {
100
+ createCustomer(input: $input, password: $password) {
101
+ ...Customer
102
+ ...ErrorResult
103
+ }
104
+ }
105
+ ${CUSTOMER_FRAGMENT}
106
+ ${ERROR_RESULT_FRAGMENT}
107
107
  `;
108
- export const UPDATE_CUSTOMER = gql `
109
- mutation UpdateCustomer($input: UpdateCustomerInput!) {
110
- updateCustomer(input: $input) {
111
- ...Customer
112
- ...ErrorResult
113
- }
114
- }
115
- ${CUSTOMER_FRAGMENT}
116
- ${ERROR_RESULT_FRAGMENT}
108
+ export const UPDATE_CUSTOMER = gql `
109
+ mutation UpdateCustomer($input: UpdateCustomerInput!) {
110
+ updateCustomer(input: $input) {
111
+ ...Customer
112
+ ...ErrorResult
113
+ }
114
+ }
115
+ ${CUSTOMER_FRAGMENT}
116
+ ${ERROR_RESULT_FRAGMENT}
117
117
  `;
118
- export const DELETE_CUSTOMER = gql `
119
- mutation DeleteCustomer($id: ID!) {
120
- deleteCustomer(id: $id) {
121
- result
122
- message
123
- }
124
- }
118
+ export const DELETE_CUSTOMER = gql `
119
+ mutation DeleteCustomer($id: ID!) {
120
+ deleteCustomer(id: $id) {
121
+ result
122
+ message
123
+ }
124
+ }
125
125
  `;
126
- export const CREATE_CUSTOMER_ADDRESS = gql `
127
- mutation CreateCustomerAddress($customerId: ID!, $input: CreateAddressInput!) {
128
- createCustomerAddress(customerId: $customerId, input: $input) {
129
- ...Address
130
- }
131
- }
132
- ${ADDRESS_FRAGMENT}
126
+ export const CREATE_CUSTOMER_ADDRESS = gql `
127
+ mutation CreateCustomerAddress($customerId: ID!, $input: CreateAddressInput!) {
128
+ createCustomerAddress(customerId: $customerId, input: $input) {
129
+ ...Address
130
+ }
131
+ }
132
+ ${ADDRESS_FRAGMENT}
133
133
  `;
134
- export const UPDATE_CUSTOMER_ADDRESS = gql `
135
- mutation UpdateCustomerAddress($input: UpdateAddressInput!) {
136
- updateCustomerAddress(input: $input) {
137
- ...Address
138
- }
139
- }
140
- ${ADDRESS_FRAGMENT}
134
+ export const UPDATE_CUSTOMER_ADDRESS = gql `
135
+ mutation UpdateCustomerAddress($input: UpdateAddressInput!) {
136
+ updateCustomerAddress(input: $input) {
137
+ ...Address
138
+ }
139
+ }
140
+ ${ADDRESS_FRAGMENT}
141
141
  `;
142
- export const DELETE_CUSTOMER_ADDRESS = gql `
143
- mutation DeleteCustomerAddress($id: ID!) {
144
- deleteCustomerAddress(id: $id) {
145
- success
146
- }
147
- }
142
+ export const DELETE_CUSTOMER_ADDRESS = gql `
143
+ mutation DeleteCustomerAddress($id: ID!) {
144
+ deleteCustomerAddress(id: $id) {
145
+ success
146
+ }
147
+ }
148
148
  `;
149
- export const CREATE_CUSTOMER_GROUP = gql `
150
- mutation CreateCustomerGroup($input: CreateCustomerGroupInput!) {
151
- createCustomerGroup(input: $input) {
152
- ...CustomerGroup
153
- }
154
- }
155
- ${CUSTOMER_GROUP_FRAGMENT}
149
+ export const CREATE_CUSTOMER_GROUP = gql `
150
+ mutation CreateCustomerGroup($input: CreateCustomerGroupInput!) {
151
+ createCustomerGroup(input: $input) {
152
+ ...CustomerGroup
153
+ }
154
+ }
155
+ ${CUSTOMER_GROUP_FRAGMENT}
156
156
  `;
157
- export const UPDATE_CUSTOMER_GROUP = gql `
158
- mutation UpdateCustomerGroup($input: UpdateCustomerGroupInput!) {
159
- updateCustomerGroup(input: $input) {
160
- ...CustomerGroup
161
- }
162
- }
163
- ${CUSTOMER_GROUP_FRAGMENT}
157
+ export const UPDATE_CUSTOMER_GROUP = gql `
158
+ mutation UpdateCustomerGroup($input: UpdateCustomerGroupInput!) {
159
+ updateCustomerGroup(input: $input) {
160
+ ...CustomerGroup
161
+ }
162
+ }
163
+ ${CUSTOMER_GROUP_FRAGMENT}
164
164
  `;
165
- export const DELETE_CUSTOMER_GROUP = gql `
166
- mutation DeleteCustomerGroup($id: ID!) {
167
- deleteCustomerGroup(id: $id) {
168
- result
169
- message
170
- }
171
- }
165
+ export const DELETE_CUSTOMER_GROUP = gql `
166
+ mutation DeleteCustomerGroup($id: ID!) {
167
+ deleteCustomerGroup(id: $id) {
168
+ result
169
+ message
170
+ }
171
+ }
172
172
  `;
173
- export const GET_CUSTOMER_GROUPS = gql `
174
- query GetCustomerGroups($options: CustomerGroupListOptions) {
175
- customerGroups(options: $options) {
176
- items {
177
- ...CustomerGroup
178
- }
179
- totalItems
180
- }
181
- }
182
- ${CUSTOMER_GROUP_FRAGMENT}
173
+ export const GET_CUSTOMER_GROUPS = gql `
174
+ query GetCustomerGroups($options: CustomerGroupListOptions) {
175
+ customerGroups(options: $options) {
176
+ items {
177
+ ...CustomerGroup
178
+ }
179
+ totalItems
180
+ }
181
+ }
182
+ ${CUSTOMER_GROUP_FRAGMENT}
183
183
  `;
184
- export const GET_CUSTOMER_GROUP_WITH_CUSTOMERS = gql `
185
- query GetCustomerGroupWithCustomers($id: ID!, $options: CustomerListOptions) {
186
- customerGroup(id: $id) {
187
- ...CustomerGroup
188
- customers(options: $options) {
189
- items {
190
- id
191
- createdAt
192
- updatedAt
193
- emailAddress
194
- firstName
195
- lastName
196
- }
197
- totalItems
198
- }
199
- }
200
- }
201
- ${CUSTOMER_GROUP_FRAGMENT}
184
+ export const GET_CUSTOMER_GROUP_WITH_CUSTOMERS = gql `
185
+ query GetCustomerGroupWithCustomers($id: ID!, $options: CustomerListOptions) {
186
+ customerGroup(id: $id) {
187
+ ...CustomerGroup
188
+ customers(options: $options) {
189
+ items {
190
+ id
191
+ createdAt
192
+ updatedAt
193
+ emailAddress
194
+ firstName
195
+ lastName
196
+ }
197
+ totalItems
198
+ }
199
+ }
200
+ }
201
+ ${CUSTOMER_GROUP_FRAGMENT}
202
202
  `;
203
- export const ADD_CUSTOMERS_TO_GROUP = gql `
204
- mutation AddCustomersToGroup($groupId: ID!, $customerIds: [ID!]!) {
205
- addCustomersToGroup(customerGroupId: $groupId, customerIds: $customerIds) {
206
- ...CustomerGroup
207
- }
208
- }
209
- ${CUSTOMER_GROUP_FRAGMENT}
203
+ export const ADD_CUSTOMERS_TO_GROUP = gql `
204
+ mutation AddCustomersToGroup($groupId: ID!, $customerIds: [ID!]!) {
205
+ addCustomersToGroup(customerGroupId: $groupId, customerIds: $customerIds) {
206
+ ...CustomerGroup
207
+ }
208
+ }
209
+ ${CUSTOMER_GROUP_FRAGMENT}
210
210
  `;
211
- export const REMOVE_CUSTOMERS_FROM_GROUP = gql `
212
- mutation RemoveCustomersFromGroup($groupId: ID!, $customerIds: [ID!]!) {
213
- removeCustomersFromGroup(customerGroupId: $groupId, customerIds: $customerIds) {
214
- ...CustomerGroup
215
- }
216
- }
217
- ${CUSTOMER_GROUP_FRAGMENT}
211
+ export const REMOVE_CUSTOMERS_FROM_GROUP = gql `
212
+ mutation RemoveCustomersFromGroup($groupId: ID!, $customerIds: [ID!]!) {
213
+ removeCustomersFromGroup(customerGroupId: $groupId, customerIds: $customerIds) {
214
+ ...CustomerGroup
215
+ }
216
+ }
217
+ ${CUSTOMER_GROUP_FRAGMENT}
218
218
  `;
219
- export const GET_CUSTOMER_HISTORY = gql `
220
- query GetCustomerHistory($id: ID!, $options: HistoryEntryListOptions) {
221
- customer(id: $id) {
222
- id
223
- history(options: $options) {
224
- totalItems
225
- items {
226
- id
227
- type
228
- createdAt
229
- isPublic
230
- administrator {
231
- id
232
- firstName
233
- lastName
234
- }
235
- data
236
- }
237
- }
238
- }
239
- }
219
+ export const GET_CUSTOMER_HISTORY = gql `
220
+ query GetCustomerHistory($id: ID!, $options: HistoryEntryListOptions) {
221
+ customer(id: $id) {
222
+ id
223
+ history(options: $options) {
224
+ totalItems
225
+ items {
226
+ id
227
+ type
228
+ createdAt
229
+ isPublic
230
+ administrator {
231
+ id
232
+ firstName
233
+ lastName
234
+ }
235
+ data
236
+ }
237
+ }
238
+ }
239
+ }
240
240
  `;
241
- export const ADD_NOTE_TO_CUSTOMER = gql `
242
- mutation AddNoteToCustomer($input: AddNoteToCustomerInput!) {
243
- addNoteToCustomer(input: $input) {
244
- id
245
- }
246
- }
241
+ export const ADD_NOTE_TO_CUSTOMER = gql `
242
+ mutation AddNoteToCustomer($input: AddNoteToCustomerInput!) {
243
+ addNoteToCustomer(input: $input) {
244
+ id
245
+ }
246
+ }
247
247
  `;
248
- export const UPDATE_CUSTOMER_NOTE = gql `
249
- mutation UpdateCustomerNote($input: UpdateCustomerNoteInput!) {
250
- updateCustomerNote(input: $input) {
251
- id
252
- data
253
- isPublic
254
- }
255
- }
248
+ export const UPDATE_CUSTOMER_NOTE = gql `
249
+ mutation UpdateCustomerNote($input: UpdateCustomerNoteInput!) {
250
+ updateCustomerNote(input: $input) {
251
+ id
252
+ data
253
+ isPublic
254
+ }
255
+ }
256
256
  `;
257
- export const DELETE_CUSTOMER_NOTE = gql `
258
- mutation DeleteCustomerNote($id: ID!) {
259
- deleteCustomerNote(id: $id) {
260
- result
261
- message
262
- }
263
- }
257
+ export const DELETE_CUSTOMER_NOTE = gql `
258
+ mutation DeleteCustomerNote($id: ID!) {
259
+ deleteCustomerNote(id: $id) {
260
+ result
261
+ message
262
+ }
263
+ }
264
264
  `;
265
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvZGVmaW5pdGlvbnMvY3VzdG9tZXItZGVmaW5pdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBcUJsQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQW9COUIsZ0JBQWdCO0NBQ3JCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Q0FPekMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQW1CbkMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQXFCekIsaUJBQWlCO0NBQ3RCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFBOzs7Ozs7O01BTzVCLGlCQUFpQjtNQUNqQixxQkFBcUI7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7TUFPNUIsaUJBQWlCO01BQ2pCLHFCQUFxQjtDQUMxQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQTs7Ozs7OztDQU9qQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7TUFNcEMsZ0JBQWdCO0NBQ3JCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxHQUFHLENBQUE7Ozs7OztNQU1wQyxnQkFBZ0I7Q0FDckIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLEdBQUcsQ0FBQTs7Ozs7O0NBTXpDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLENBQUE7Ozs7OztNQU1sQyx1QkFBdUI7Q0FDNUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQTs7Ozs7O01BTWxDLHVCQUF1QjtDQUM1QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7O0NBT3ZDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7OztNQVNoQyx1QkFBdUI7Q0FDNUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFpQjlDLHVCQUF1QjtDQUM1QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7TUFNbkMsdUJBQXVCO0NBQzVCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxHQUFHLENBQUE7Ozs7OztNQU14Qyx1QkFBdUI7Q0FDNUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBcUJ0QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Q0FNdEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Q0FRdEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQTs7Ozs7OztDQU90QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ3FsIH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xuXG5pbXBvcnQgeyBFUlJPUl9SRVNVTFRfRlJBR01FTlQgfSBmcm9tICcuL3NoYXJlZC1kZWZpbml0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBBRERSRVNTX0ZSQUdNRU5UID0gZ3FsYFxuICAgIGZyYWdtZW50IEFkZHJlc3Mgb24gQWRkcmVzcyB7XG4gICAgICAgIGlkXG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgZnVsbE5hbWVcbiAgICAgICAgY29tcGFueVxuICAgICAgICBzdHJlZXRMaW5lMVxuICAgICAgICBzdHJlZXRMaW5lMlxuICAgICAgICBjaXR5XG4gICAgICAgIHByb3ZpbmNlXG4gICAgICAgIHBvc3RhbENvZGVcbiAgICAgICAgY291bnRyeSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgY29kZVxuICAgICAgICAgICAgbmFtZVxuICAgICAgICB9XG4gICAgICAgIHBob25lTnVtYmVyXG4gICAgICAgIGRlZmF1bHRTaGlwcGluZ0FkZHJlc3NcbiAgICAgICAgZGVmYXVsdEJpbGxpbmdBZGRyZXNzXG4gICAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IENVU1RPTUVSX0ZSQUdNRU5UID0gZ3FsYFxuICAgIGZyYWdtZW50IEN1c3RvbWVyIG9uIEN1c3RvbWVyIHtcbiAgICAgICAgaWRcbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICB0aXRsZVxuICAgICAgICBmaXJzdE5hbWVcbiAgICAgICAgbGFzdE5hbWVcbiAgICAgICAgcGhvbmVOdW1iZXJcbiAgICAgICAgZW1haWxBZGRyZXNzXG4gICAgICAgIHVzZXIge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGlkZW50aWZpZXJcbiAgICAgICAgICAgIHZlcmlmaWVkXG4gICAgICAgICAgICBsYXN0TG9naW5cbiAgICAgICAgfVxuICAgICAgICBhZGRyZXNzZXMge1xuICAgICAgICAgICAgLi4uQWRkcmVzc1xuICAgICAgICB9XG4gICAgfVxuICAgICR7QUREUkVTU19GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBDVVNUT01FUl9HUk9VUF9GUkFHTUVOVCA9IGdxbGBcbiAgICBmcmFnbWVudCBDdXN0b21lckdyb3VwIG9uIEN1c3RvbWVyR3JvdXAge1xuICAgICAgICBpZFxuICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgIG5hbWVcbiAgICB9XG5gO1xuXG5leHBvcnQgY29uc3QgR0VUX0NVU1RPTUVSX0xJU1QgPSBncWxgXG4gICAgcXVlcnkgR2V0Q3VzdG9tZXJMaXN0KCRvcHRpb25zOiBDdXN0b21lckxpc3RPcHRpb25zKSB7XG4gICAgICAgIGN1c3RvbWVycyhvcHRpb25zOiAkb3B0aW9ucykge1xuICAgICAgICAgICAgaXRlbXMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgICAgICAgdGl0bGVcbiAgICAgICAgICAgICAgICBmaXJzdE5hbWVcbiAgICAgICAgICAgICAgICBsYXN0TmFtZVxuICAgICAgICAgICAgICAgIGVtYWlsQWRkcmVzc1xuICAgICAgICAgICAgICAgIHVzZXIge1xuICAgICAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgICAgICB2ZXJpZmllZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRvdGFsSXRlbXNcbiAgICAgICAgfVxuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBHRVRfQ1VTVE9NRVIgPSBncWxgXG4gICAgcXVlcnkgR2V0Q3VzdG9tZXIoJGlkOiBJRCEsICRvcmRlckxpc3RPcHRpb25zOiBPcmRlckxpc3RPcHRpb25zKSB7XG4gICAgICAgIGN1c3RvbWVyKGlkOiAkaWQpIHtcbiAgICAgICAgICAgIC4uLkN1c3RvbWVyXG4gICAgICAgICAgICBncm91cHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb3JkZXJzKG9wdGlvbnM6ICRvcmRlckxpc3RPcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgaXRlbXMge1xuICAgICAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgICAgICBjb2RlXG4gICAgICAgICAgICAgICAgICAgIHN0YXRlXG4gICAgICAgICAgICAgICAgICAgIHRvdGFsV2l0aFRheFxuICAgICAgICAgICAgICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRvdGFsSXRlbXNcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAke0NVU1RPTUVSX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IENSRUFURV9DVVNUT01FUiA9IGdxbGBcbiAgICBtdXRhdGlvbiBDcmVhdGVDdXN0b21lcigkaW5wdXQ6IENyZWF0ZUN1c3RvbWVySW5wdXQhLCAkcGFzc3dvcmQ6IFN0cmluZykge1xuICAgICAgICBjcmVhdGVDdXN0b21lcihpbnB1dDogJGlucHV0LCBwYXNzd29yZDogJHBhc3N3b3JkKSB7XG4gICAgICAgICAgICAuLi5DdXN0b21lclxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcbiAgICAgICAgfVxuICAgIH1cbiAgICAke0NVU1RPTUVSX0ZSQUdNRU5UfVxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IFVQREFURV9DVVNUT01FUiA9IGdxbGBcbiAgICBtdXRhdGlvbiBVcGRhdGVDdXN0b21lcigkaW5wdXQ6IFVwZGF0ZUN1c3RvbWVySW5wdXQhKSB7XG4gICAgICAgIHVwZGF0ZUN1c3RvbWVyKGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIC4uLkN1c3RvbWVyXG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxuICAgICAgICB9XG4gICAgfVxuICAgICR7Q1VTVE9NRVJfRlJBR01FTlR9XG4gICAgJHtFUlJPUl9SRVNVTFRfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgREVMRVRFX0NVU1RPTUVSID0gZ3FsYFxuICAgIG11dGF0aW9uIERlbGV0ZUN1c3RvbWVyKCRpZDogSUQhKSB7XG4gICAgICAgIGRlbGV0ZUN1c3RvbWVyKGlkOiAkaWQpIHtcbiAgICAgICAgICAgIHJlc3VsdFxuICAgICAgICAgICAgbWVzc2FnZVxuICAgICAgICB9XG4gICAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IENSRUFURV9DVVNUT01FUl9BRERSRVNTID0gZ3FsYFxuICAgIG11dGF0aW9uIENyZWF0ZUN1c3RvbWVyQWRkcmVzcygkY3VzdG9tZXJJZDogSUQhLCAkaW5wdXQ6IENyZWF0ZUFkZHJlc3NJbnB1dCEpIHtcbiAgICAgICAgY3JlYXRlQ3VzdG9tZXJBZGRyZXNzKGN1c3RvbWVySWQ6ICRjdXN0b21lcklkLCBpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICAuLi5BZGRyZXNzXG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtBRERSRVNTX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IFVQREFURV9DVVNUT01FUl9BRERSRVNTID0gZ3FsYFxuICAgIG11dGF0aW9uIFVwZGF0ZUN1c3RvbWVyQWRkcmVzcygkaW5wdXQ6IFVwZGF0ZUFkZHJlc3NJbnB1dCEpIHtcbiAgICAgICAgdXBkYXRlQ3VzdG9tZXJBZGRyZXNzKGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIC4uLkFkZHJlc3NcbiAgICAgICAgfVxuICAgIH1cbiAgICAke0FERFJFU1NfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgREVMRVRFX0NVU1RPTUVSX0FERFJFU1MgPSBncWxgXG4gICAgbXV0YXRpb24gRGVsZXRlQ3VzdG9tZXJBZGRyZXNzKCRpZDogSUQhKSB7XG4gICAgICAgIGRlbGV0ZUN1c3RvbWVyQWRkcmVzcyhpZDogJGlkKSB7XG4gICAgICAgICAgICBzdWNjZXNzXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5leHBvcnQgY29uc3QgQ1JFQVRFX0NVU1RPTUVSX0dST1VQID0gZ3FsYFxuICAgIG11dGF0aW9uIENyZWF0ZUN1c3RvbWVyR3JvdXAoJGlucHV0OiBDcmVhdGVDdXN0b21lckdyb3VwSW5wdXQhKSB7XG4gICAgICAgIGNyZWF0ZUN1c3RvbWVyR3JvdXAoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgICAgICAgLi4uQ3VzdG9tZXJHcm91cFxuICAgICAgICB9XG4gICAgfVxuICAgICR7Q1VTVE9NRVJfR1JPVVBfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgVVBEQVRFX0NVU1RPTUVSX0dST1VQID0gZ3FsYFxuICAgIG11dGF0aW9uIFVwZGF0ZUN1c3RvbWVyR3JvdXAoJGlucHV0OiBVcGRhdGVDdXN0b21lckdyb3VwSW5wdXQhKSB7XG4gICAgICAgIHVwZGF0ZUN1c3RvbWVyR3JvdXAoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgICAgICAgLi4uQ3VzdG9tZXJHcm91cFxuICAgICAgICB9XG4gICAgfVxuICAgICR7Q1VTVE9NRVJfR1JPVVBfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgREVMRVRFX0NVU1RPTUVSX0dST1VQID0gZ3FsYFxuICAgIG11dGF0aW9uIERlbGV0ZUN1c3RvbWVyR3JvdXAoJGlkOiBJRCEpIHtcbiAgICAgICAgZGVsZXRlQ3VzdG9tZXJHcm91cChpZDogJGlkKSB7XG4gICAgICAgICAgICByZXN1bHRcbiAgICAgICAgICAgIG1lc3NhZ2VcbiAgICAgICAgfVxuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBHRVRfQ1VTVE9NRVJfR1JPVVBTID0gZ3FsYFxuICAgIHF1ZXJ5IEdldEN1c3RvbWVyR3JvdXBzKCRvcHRpb25zOiBDdXN0b21lckdyb3VwTGlzdE9wdGlvbnMpIHtcbiAgICAgICAgY3VzdG9tZXJHcm91cHMob3B0aW9uczogJG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGl0ZW1zIHtcbiAgICAgICAgICAgICAgICAuLi5DdXN0b21lckdyb3VwXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0b3RhbEl0ZW1zXG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtDVVNUT01FUl9HUk9VUF9GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBHRVRfQ1VTVE9NRVJfR1JPVVBfV0lUSF9DVVNUT01FUlMgPSBncWxgXG4gICAgcXVlcnkgR2V0Q3VzdG9tZXJHcm91cFdpdGhDdXN0b21lcnMoJGlkOiBJRCEsICRvcHRpb25zOiBDdXN0b21lckxpc3RPcHRpb25zKSB7XG4gICAgICAgIGN1c3RvbWVyR3JvdXAoaWQ6ICRpZCkge1xuICAgICAgICAgICAgLi4uQ3VzdG9tZXJHcm91cFxuICAgICAgICAgICAgY3VzdG9tZXJzKG9wdGlvbnM6ICRvcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgaXRlbXMge1xuICAgICAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgICAgICAgICAgIGVtYWlsQWRkcmVzc1xuICAgICAgICAgICAgICAgICAgICBmaXJzdE5hbWVcbiAgICAgICAgICAgICAgICAgICAgbGFzdE5hbWVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdG90YWxJdGVtc1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICR7Q1VTVE9NRVJfR1JPVVBfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgQUREX0NVU1RPTUVSU19UT19HUk9VUCA9IGdxbGBcbiAgICBtdXRhdGlvbiBBZGRDdXN0b21lcnNUb0dyb3VwKCRncm91cElkOiBJRCEsICRjdXN0b21lcklkczogW0lEIV0hKSB7XG4gICAgICAgIGFkZEN1c3RvbWVyc1RvR3JvdXAoY3VzdG9tZXJHcm91cElkOiAkZ3JvdXBJZCwgY3VzdG9tZXJJZHM6ICRjdXN0b21lcklkcykge1xuICAgICAgICAgICAgLi4uQ3VzdG9tZXJHcm91cFxuICAgICAgICB9XG4gICAgfVxuICAgICR7Q1VTVE9NRVJfR1JPVVBfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgUkVNT1ZFX0NVU1RPTUVSU19GUk9NX0dST1VQID0gZ3FsYFxuICAgIG11dGF0aW9uIFJlbW92ZUN1c3RvbWVyc0Zyb21Hcm91cCgkZ3JvdXBJZDogSUQhLCAkY3VzdG9tZXJJZHM6IFtJRCFdISkge1xuICAgICAgICByZW1vdmVDdXN0b21lcnNGcm9tR3JvdXAoY3VzdG9tZXJHcm91cElkOiAkZ3JvdXBJZCwgY3VzdG9tZXJJZHM6ICRjdXN0b21lcklkcykge1xuICAgICAgICAgICAgLi4uQ3VzdG9tZXJHcm91cFxuICAgICAgICB9XG4gICAgfVxuICAgICR7Q1VTVE9NRVJfR1JPVVBfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgR0VUX0NVU1RPTUVSX0hJU1RPUlkgPSBncWxgXG4gICAgcXVlcnkgR2V0Q3VzdG9tZXJIaXN0b3J5KCRpZDogSUQhLCAkb3B0aW9uczogSGlzdG9yeUVudHJ5TGlzdE9wdGlvbnMpIHtcbiAgICAgICAgY3VzdG9tZXIoaWQ6ICRpZCkge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGhpc3Rvcnkob3B0aW9uczogJG9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICB0b3RhbEl0ZW1zXG4gICAgICAgICAgICAgICAgaXRlbXMge1xuICAgICAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgICAgICAgICAgICBpc1B1YmxpY1xuICAgICAgICAgICAgICAgICAgICBhZG1pbmlzdHJhdG9yIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgICAgICAgICBmaXJzdE5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhc3ROYW1lXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZGF0YVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBBRERfTk9URV9UT19DVVNUT01FUiA9IGdxbGBcbiAgICBtdXRhdGlvbiBBZGROb3RlVG9DdXN0b21lcigkaW5wdXQ6IEFkZE5vdGVUb0N1c3RvbWVySW5wdXQhKSB7XG4gICAgICAgIGFkZE5vdGVUb0N1c3RvbWVyKGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5leHBvcnQgY29uc3QgVVBEQVRFX0NVU1RPTUVSX05PVEUgPSBncWxgXG4gICAgbXV0YXRpb24gVXBkYXRlQ3VzdG9tZXJOb3RlKCRpbnB1dDogVXBkYXRlQ3VzdG9tZXJOb3RlSW5wdXQhKSB7XG4gICAgICAgIHVwZGF0ZUN1c3RvbWVyTm90ZShpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZGF0YVxuICAgICAgICAgICAgaXNQdWJsaWNcbiAgICAgICAgfVxuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBERUxFVEVfQ1VTVE9NRVJfTk9URSA9IGdxbGBcbiAgICBtdXRhdGlvbiBEZWxldGVDdXN0b21lck5vdGUoJGlkOiBJRCEpIHtcbiAgICAgICAgZGVsZXRlQ3VzdG9tZXJOb3RlKGlkOiAkaWQpIHtcbiAgICAgICAgICAgIHJlc3VsdFxuICAgICAgICAgICAgbWVzc2FnZVxuICAgICAgICB9XG4gICAgfVxuYDtcbiJdfQ==
265
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvZGVmaW5pdGlvbnMvY3VzdG9tZXItZGVmaW5pdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBcUJsQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQW9COUIsZ0JBQWdCO0NBQ3JCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Q0FPekMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQW1CbkMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQXFCekIsaUJBQWlCO0NBQ3RCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFBOzs7Ozs7O01BTzVCLGlCQUFpQjtNQUNqQixxQkFBcUI7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7TUFPNUIsaUJBQWlCO01BQ2pCLHFCQUFxQjtDQUMxQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQTs7Ozs7OztDQU9qQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7TUFNcEMsZ0JBQWdCO0NBQ3JCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxHQUFHLENBQUE7Ozs7OztNQU1wQyxnQkFBZ0I7Q0FDckIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLEdBQUcsQ0FBQTs7Ozs7O0NBTXpDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLENBQUE7Ozs7OztNQU1sQyx1QkFBdUI7Q0FDNUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQTs7Ozs7O01BTWxDLHVCQUF1QjtDQUM1QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7O0NBT3ZDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7OztNQVNoQyx1QkFBdUI7Q0FDNUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFpQjlDLHVCQUF1QjtDQUM1QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7TUFNbkMsdUJBQXVCO0NBQzVCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxHQUFHLENBQUE7Ozs7OztNQU14Qyx1QkFBdUI7Q0FDNUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBcUJ0QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Q0FNdEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Q0FRdEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQTs7Ozs7OztDQU90QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ3FsIH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xyXG5cclxuaW1wb3J0IHsgRVJST1JfUkVTVUxUX0ZSQUdNRU5UIH0gZnJvbSAnLi9zaGFyZWQtZGVmaW5pdGlvbnMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IEFERFJFU1NfRlJBR01FTlQgPSBncWxgXHJcbiAgICBmcmFnbWVudCBBZGRyZXNzIG9uIEFkZHJlc3Mge1xyXG4gICAgICAgIGlkXHJcbiAgICAgICAgY3JlYXRlZEF0XHJcbiAgICAgICAgdXBkYXRlZEF0XHJcbiAgICAgICAgZnVsbE5hbWVcclxuICAgICAgICBjb21wYW55XHJcbiAgICAgICAgc3RyZWV0TGluZTFcclxuICAgICAgICBzdHJlZXRMaW5lMlxyXG4gICAgICAgIGNpdHlcclxuICAgICAgICBwcm92aW5jZVxyXG4gICAgICAgIHBvc3RhbENvZGVcclxuICAgICAgICBjb3VudHJ5IHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgY29kZVxyXG4gICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHBob25lTnVtYmVyXHJcbiAgICAgICAgZGVmYXVsdFNoaXBwaW5nQWRkcmVzc1xyXG4gICAgICAgIGRlZmF1bHRCaWxsaW5nQWRkcmVzc1xyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENVU1RPTUVSX0ZSQUdNRU5UID0gZ3FsYFxyXG4gICAgZnJhZ21lbnQgQ3VzdG9tZXIgb24gQ3VzdG9tZXIge1xyXG4gICAgICAgIGlkXHJcbiAgICAgICAgY3JlYXRlZEF0XHJcbiAgICAgICAgdXBkYXRlZEF0XHJcbiAgICAgICAgdGl0bGVcclxuICAgICAgICBmaXJzdE5hbWVcclxuICAgICAgICBsYXN0TmFtZVxyXG4gICAgICAgIHBob25lTnVtYmVyXHJcbiAgICAgICAgZW1haWxBZGRyZXNzXHJcbiAgICAgICAgdXNlciB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIGlkZW50aWZpZXJcclxuICAgICAgICAgICAgdmVyaWZpZWRcclxuICAgICAgICAgICAgbGFzdExvZ2luXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGFkZHJlc3NlcyB7XHJcbiAgICAgICAgICAgIC4uLkFkZHJlc3NcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke0FERFJFU1NfRlJBR01FTlR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgQ1VTVE9NRVJfR1JPVVBfRlJBR01FTlQgPSBncWxgXHJcbiAgICBmcmFnbWVudCBDdXN0b21lckdyb3VwIG9uIEN1c3RvbWVyR3JvdXAge1xyXG4gICAgICAgIGlkXHJcbiAgICAgICAgY3JlYXRlZEF0XHJcbiAgICAgICAgdXBkYXRlZEF0XHJcbiAgICAgICAgbmFtZVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEdFVF9DVVNUT01FUl9MSVNUID0gZ3FsYFxyXG4gICAgcXVlcnkgR2V0Q3VzdG9tZXJMaXN0KCRvcHRpb25zOiBDdXN0b21lckxpc3RPcHRpb25zKSB7XHJcbiAgICAgICAgY3VzdG9tZXJzKG9wdGlvbnM6ICRvcHRpb25zKSB7XHJcbiAgICAgICAgICAgIGl0ZW1zIHtcclxuICAgICAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICAgICAgICAgIHVwZGF0ZWRBdFxyXG4gICAgICAgICAgICAgICAgdGl0bGVcclxuICAgICAgICAgICAgICAgIGZpcnN0TmFtZVxyXG4gICAgICAgICAgICAgICAgbGFzdE5hbWVcclxuICAgICAgICAgICAgICAgIGVtYWlsQWRkcmVzc1xyXG4gICAgICAgICAgICAgICAgdXNlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgICAgICB2ZXJpZmllZFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRvdGFsSXRlbXNcclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgR0VUX0NVU1RPTUVSID0gZ3FsYFxyXG4gICAgcXVlcnkgR2V0Q3VzdG9tZXIoJGlkOiBJRCEsICRvcmRlckxpc3RPcHRpb25zOiBPcmRlckxpc3RPcHRpb25zKSB7XHJcbiAgICAgICAgY3VzdG9tZXIoaWQ6ICRpZCkge1xyXG4gICAgICAgICAgICAuLi5DdXN0b21lclxyXG4gICAgICAgICAgICBncm91cHMge1xyXG4gICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgIG5hbWVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBvcmRlcnMob3B0aW9uczogJG9yZGVyTGlzdE9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGl0ZW1zIHtcclxuICAgICAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgICAgIGNvZGVcclxuICAgICAgICAgICAgICAgICAgICBzdGF0ZVxyXG4gICAgICAgICAgICAgICAgICAgIHRvdGFsV2l0aFRheFxyXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5Q29kZVxyXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZWRBdFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdG90YWxJdGVtc1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtDVVNUT01FUl9GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBDUkVBVEVfQ1VTVE9NRVIgPSBncWxgXHJcbiAgICBtdXRhdGlvbiBDcmVhdGVDdXN0b21lcigkaW5wdXQ6IENyZWF0ZUN1c3RvbWVySW5wdXQhLCAkcGFzc3dvcmQ6IFN0cmluZykge1xyXG4gICAgICAgIGNyZWF0ZUN1c3RvbWVyKGlucHV0OiAkaW5wdXQsIHBhc3N3b3JkOiAkcGFzc3dvcmQpIHtcclxuICAgICAgICAgICAgLi4uQ3VzdG9tZXJcclxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke0NVU1RPTUVSX0ZSQUdNRU5UfVxyXG4gICAgJHtFUlJPUl9SRVNVTFRfRlJBR01FTlR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgVVBEQVRFX0NVU1RPTUVSID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gVXBkYXRlQ3VzdG9tZXIoJGlucHV0OiBVcGRhdGVDdXN0b21lcklucHV0ISkge1xyXG4gICAgICAgIHVwZGF0ZUN1c3RvbWVyKGlucHV0OiAkaW5wdXQpIHtcclxuICAgICAgICAgICAgLi4uQ3VzdG9tZXJcclxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke0NVU1RPTUVSX0ZSQUdNRU5UfVxyXG4gICAgJHtFUlJPUl9SRVNVTFRfRlJBR01FTlR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgREVMRVRFX0NVU1RPTUVSID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gRGVsZXRlQ3VzdG9tZXIoJGlkOiBJRCEpIHtcclxuICAgICAgICBkZWxldGVDdXN0b21lcihpZDogJGlkKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdFxyXG4gICAgICAgICAgICBtZXNzYWdlXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENSRUFURV9DVVNUT01FUl9BRERSRVNTID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gQ3JlYXRlQ3VzdG9tZXJBZGRyZXNzKCRjdXN0b21lcklkOiBJRCEsICRpbnB1dDogQ3JlYXRlQWRkcmVzc0lucHV0ISkge1xyXG4gICAgICAgIGNyZWF0ZUN1c3RvbWVyQWRkcmVzcyhjdXN0b21lcklkOiAkY3VzdG9tZXJJZCwgaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICAgICAgICAuLi5BZGRyZXNzXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtBRERSRVNTX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFVQREFURV9DVVNUT01FUl9BRERSRVNTID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gVXBkYXRlQ3VzdG9tZXJBZGRyZXNzKCRpbnB1dDogVXBkYXRlQWRkcmVzc0lucHV0ISkge1xyXG4gICAgICAgIHVwZGF0ZUN1c3RvbWVyQWRkcmVzcyhpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgICAgICAgIC4uLkFkZHJlc3NcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke0FERFJFU1NfRlJBR01FTlR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgREVMRVRFX0NVU1RPTUVSX0FERFJFU1MgPSBncWxgXHJcbiAgICBtdXRhdGlvbiBEZWxldGVDdXN0b21lckFkZHJlc3MoJGlkOiBJRCEpIHtcclxuICAgICAgICBkZWxldGVDdXN0b21lckFkZHJlc3MoaWQ6ICRpZCkge1xyXG4gICAgICAgICAgICBzdWNjZXNzXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENSRUFURV9DVVNUT01FUl9HUk9VUCA9IGdxbGBcclxuICAgIG11dGF0aW9uIENyZWF0ZUN1c3RvbWVyR3JvdXAoJGlucHV0OiBDcmVhdGVDdXN0b21lckdyb3VwSW5wdXQhKSB7XHJcbiAgICAgICAgY3JlYXRlQ3VzdG9tZXJHcm91cChpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgICAgICAgIC4uLkN1c3RvbWVyR3JvdXBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke0NVU1RPTUVSX0dST1VQX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFVQREFURV9DVVNUT01FUl9HUk9VUCA9IGdxbGBcclxuICAgIG11dGF0aW9uIFVwZGF0ZUN1c3RvbWVyR3JvdXAoJGlucHV0OiBVcGRhdGVDdXN0b21lckdyb3VwSW5wdXQhKSB7XHJcbiAgICAgICAgdXBkYXRlQ3VzdG9tZXJHcm91cChpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgICAgICAgIC4uLkN1c3RvbWVyR3JvdXBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke0NVU1RPTUVSX0dST1VQX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IERFTEVURV9DVVNUT01FUl9HUk9VUCA9IGdxbGBcclxuICAgIG11dGF0aW9uIERlbGV0ZUN1c3RvbWVyR3JvdXAoJGlkOiBJRCEpIHtcclxuICAgICAgICBkZWxldGVDdXN0b21lckdyb3VwKGlkOiAkaWQpIHtcclxuICAgICAgICAgICAgcmVzdWx0XHJcbiAgICAgICAgICAgIG1lc3NhZ2VcclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgR0VUX0NVU1RPTUVSX0dST1VQUyA9IGdxbGBcclxuICAgIHF1ZXJ5IEdldEN1c3RvbWVyR3JvdXBzKCRvcHRpb25zOiBDdXN0b21lckdyb3VwTGlzdE9wdGlvbnMpIHtcclxuICAgICAgICBjdXN0b21lckdyb3VwcyhvcHRpb25zOiAkb3B0aW9ucykge1xyXG4gICAgICAgICAgICBpdGVtcyB7XHJcbiAgICAgICAgICAgICAgICAuLi5DdXN0b21lckdyb3VwXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdG90YWxJdGVtc1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICR7Q1VTVE9NRVJfR1JPVVBfRlJBR01FTlR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgR0VUX0NVU1RPTUVSX0dST1VQX1dJVEhfQ1VTVE9NRVJTID0gZ3FsYFxyXG4gICAgcXVlcnkgR2V0Q3VzdG9tZXJHcm91cFdpdGhDdXN0b21lcnMoJGlkOiBJRCEsICRvcHRpb25zOiBDdXN0b21lckxpc3RPcHRpb25zKSB7XHJcbiAgICAgICAgY3VzdG9tZXJHcm91cChpZDogJGlkKSB7XHJcbiAgICAgICAgICAgIC4uLkN1c3RvbWVyR3JvdXBcclxuICAgICAgICAgICAgY3VzdG9tZXJzKG9wdGlvbnM6ICRvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBpdGVtcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICAgICAgICAgICAgICBlbWFpbEFkZHJlc3NcclxuICAgICAgICAgICAgICAgICAgICBmaXJzdE5hbWVcclxuICAgICAgICAgICAgICAgICAgICBsYXN0TmFtZVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdG90YWxJdGVtc1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtDVVNUT01FUl9HUk9VUF9GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBBRERfQ1VTVE9NRVJTX1RPX0dST1VQID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gQWRkQ3VzdG9tZXJzVG9Hcm91cCgkZ3JvdXBJZDogSUQhLCAkY3VzdG9tZXJJZHM6IFtJRCFdISkge1xyXG4gICAgICAgIGFkZEN1c3RvbWVyc1RvR3JvdXAoY3VzdG9tZXJHcm91cElkOiAkZ3JvdXBJZCwgY3VzdG9tZXJJZHM6ICRjdXN0b21lcklkcykge1xyXG4gICAgICAgICAgICAuLi5DdXN0b21lckdyb3VwXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtDVVNUT01FUl9HUk9VUF9GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBSRU1PVkVfQ1VTVE9NRVJTX0ZST01fR1JPVVAgPSBncWxgXHJcbiAgICBtdXRhdGlvbiBSZW1vdmVDdXN0b21lcnNGcm9tR3JvdXAoJGdyb3VwSWQ6IElEISwgJGN1c3RvbWVySWRzOiBbSUQhXSEpIHtcclxuICAgICAgICByZW1vdmVDdXN0b21lcnNGcm9tR3JvdXAoY3VzdG9tZXJHcm91cElkOiAkZ3JvdXBJZCwgY3VzdG9tZXJJZHM6ICRjdXN0b21lcklkcykge1xyXG4gICAgICAgICAgICAuLi5DdXN0b21lckdyb3VwXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtDVVNUT01FUl9HUk9VUF9GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBHRVRfQ1VTVE9NRVJfSElTVE9SWSA9IGdxbGBcclxuICAgIHF1ZXJ5IEdldEN1c3RvbWVySGlzdG9yeSgkaWQ6IElEISwgJG9wdGlvbnM6IEhpc3RvcnlFbnRyeUxpc3RPcHRpb25zKSB7XHJcbiAgICAgICAgY3VzdG9tZXIoaWQ6ICRpZCkge1xyXG4gICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICBoaXN0b3J5KG9wdGlvbnM6ICRvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICB0b3RhbEl0ZW1zXHJcbiAgICAgICAgICAgICAgICBpdGVtcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgICAgICB0eXBlXHJcbiAgICAgICAgICAgICAgICAgICAgY3JlYXRlZEF0XHJcbiAgICAgICAgICAgICAgICAgICAgaXNQdWJsaWNcclxuICAgICAgICAgICAgICAgICAgICBhZG1pbmlzdHJhdG9yIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3ROYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhc3ROYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGFcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBBRERfTk9URV9UT19DVVNUT01FUiA9IGdxbGBcclxuICAgIG11dGF0aW9uIEFkZE5vdGVUb0N1c3RvbWVyKCRpbnB1dDogQWRkTm90ZVRvQ3VzdG9tZXJJbnB1dCEpIHtcclxuICAgICAgICBhZGROb3RlVG9DdXN0b21lcihpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFVQREFURV9DVVNUT01FUl9OT1RFID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gVXBkYXRlQ3VzdG9tZXJOb3RlKCRpbnB1dDogVXBkYXRlQ3VzdG9tZXJOb3RlSW5wdXQhKSB7XHJcbiAgICAgICAgdXBkYXRlQ3VzdG9tZXJOb3RlKGlucHV0OiAkaW5wdXQpIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgZGF0YVxyXG4gICAgICAgICAgICBpc1B1YmxpY1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBERUxFVEVfQ1VTVE9NRVJfTk9URSA9IGdxbGBcclxuICAgIG11dGF0aW9uIERlbGV0ZUN1c3RvbWVyTm90ZSgkaWQ6IElEISkge1xyXG4gICAgICAgIGRlbGV0ZUN1c3RvbWVyTm90ZShpZDogJGlkKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdFxyXG4gICAgICAgICAgICBtZXNzYWdlXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5gO1xyXG4iXX0=
@@ -119,6 +119,7 @@ export const ORDER_DETAIL_FRAGMENT = gql `
119
119
  state
120
120
  nextStates
121
121
  active
122
+ couponCodes
122
123
  customer {
123
124
  id
124
125
  firstName
@@ -453,4 +454,4 @@ export const ADD_MANUAL_PAYMENT_TO_ORDER = gql `
453
454
  ${ORDER_DETAIL_FRAGMENT}
454
455
  ${ERROR_RESULT_FRAGMENT}
455
456
  `;
456
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvZGVmaW5pdGlvbnMvb3JkZXItZGVmaW5pdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Q0FRbkMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Q0FVakMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7OztDQWF4QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXNCaEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7OztDQWF0QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXNDckMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFpSGxDLGlCQUFpQjtNQUNqQixzQkFBc0I7TUFDdEIsb0JBQW9CO01BQ3BCLG1CQUFtQjtDQUN4QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7O01BUzVCLGNBQWM7Q0FDbkIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUE7Ozs7OztNQU10QixxQkFBcUI7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BdUIzQixxQkFBcUI7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFpQnhDLHFCQUFxQjtDQUMxQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztNQWlCL0Isb0JBQW9CO01BQ3BCLHFCQUFxQjtDQUMxQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQTs7Ozs7OztNQU96QixxQkFBcUI7TUFDckIscUJBQXFCO0NBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFBOzs7Ozs7O01BT3pCLGVBQWU7TUFDZixxQkFBcUI7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7TUFPMUIsZUFBZTtNQUNmLHFCQUFxQjtDQUMxQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FxQm5DLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUE7Ozs7OztDQU1uQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7OztDQVFuQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7O0NBT25DLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7TUFVdEMsY0FBYztNQUNkLHFCQUFxQjtDQUMxQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7TUFNdkMsY0FBYztDQUNuQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7O01BVTVDLG9CQUFvQjtNQUNwQixxQkFBcUI7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Q0FXbkMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUE7Ozs7Ozs7TUFPekIscUJBQXFCO01BQ3JCLHFCQUFxQjtDQUMxQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7O01BT3hDLHFCQUFxQjtNQUNyQixxQkFBcUI7Q0FDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdxbCB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcclxuXHJcbmltcG9ydCB7IEVSUk9SX1JFU1VMVF9GUkFHTUVOVCB9IGZyb20gJy4vc2hhcmVkLWRlZmluaXRpb25zJztcclxuXHJcbmV4cG9ydCBjb25zdCBESVNDT1VOVF9GUkFHTUVOVCA9IGdxbGBcclxuICAgIGZyYWdtZW50IERpc2NvdW50IG9uIERpc2NvdW50IHtcclxuICAgICAgICBhZGp1c3RtZW50U291cmNlXHJcbiAgICAgICAgYW1vdW50XHJcbiAgICAgICAgYW1vdW50V2l0aFRheFxyXG4gICAgICAgIGRlc2NyaXB0aW9uXHJcbiAgICAgICAgdHlwZVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFJFRlVORF9GUkFHTUVOVCA9IGdxbGBcclxuICAgIGZyYWdtZW50IFJlZnVuZCBvbiBSZWZ1bmQge1xyXG4gICAgICAgIGlkXHJcbiAgICAgICAgc3RhdGVcclxuICAgICAgICBpdGVtc1xyXG4gICAgICAgIHNoaXBwaW5nXHJcbiAgICAgICAgYWRqdXN0bWVudFxyXG4gICAgICAgIHRyYW5zYWN0aW9uSWRcclxuICAgICAgICBwYXltZW50SWRcclxuICAgIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBPUkRFUl9BRERSRVNTX0ZSQUdNRU5UID0gZ3FsYFxyXG4gICAgZnJhZ21lbnQgT3JkZXJBZGRyZXNzIG9uIE9yZGVyQWRkcmVzcyB7XHJcbiAgICAgICAgZnVsbE5hbWVcclxuICAgICAgICBjb21wYW55XHJcbiAgICAgICAgc3RyZWV0TGluZTFcclxuICAgICAgICBzdHJlZXRMaW5lMlxyXG4gICAgICAgIGNpdHlcclxuICAgICAgICBwcm92aW5jZVxyXG4gICAgICAgIHBvc3RhbENvZGVcclxuICAgICAgICBjb3VudHJ5XHJcbiAgICAgICAgY291bnRyeUNvZGVcclxuICAgICAgICBwaG9uZU51bWJlclxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IE9SREVSX0ZSQUdNRU5UID0gZ3FsYFxyXG4gICAgZnJhZ21lbnQgT3JkZXIgb24gT3JkZXIge1xyXG4gICAgICAgIGlkXHJcbiAgICAgICAgY3JlYXRlZEF0XHJcbiAgICAgICAgdXBkYXRlZEF0XHJcbiAgICAgICAgb3JkZXJQbGFjZWRBdFxyXG4gICAgICAgIGNvZGVcclxuICAgICAgICBzdGF0ZVxyXG4gICAgICAgIG5leHRTdGF0ZXNcclxuICAgICAgICB0b3RhbFxyXG4gICAgICAgIGN1cnJlbmN5Q29kZVxyXG4gICAgICAgIGN1c3RvbWVyIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgZmlyc3ROYW1lXHJcbiAgICAgICAgICAgIGxhc3ROYW1lXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNoaXBwaW5nTGluZXMge1xyXG4gICAgICAgICAgICBzaGlwcGluZ01ldGhvZCB7XHJcbiAgICAgICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgRlVMRklMTE1FTlRfRlJBR01FTlQgPSBncWxgXHJcbiAgICBmcmFnbWVudCBGdWxmaWxsbWVudCBvbiBGdWxmaWxsbWVudCB7XHJcbiAgICAgICAgaWRcclxuICAgICAgICBzdGF0ZVxyXG4gICAgICAgIG5leHRTdGF0ZXNcclxuICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICBtZXRob2RcclxuICAgICAgICBvcmRlckl0ZW1zIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJhY2tpbmdDb2RlXHJcbiAgICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgT1JERVJfTElORV9GUkFHTUVOVCA9IGdxbGBcclxuICAgIGZyYWdtZW50IE9yZGVyTGluZSBvbiBPcmRlckxpbmUge1xyXG4gICAgICAgIGlkXHJcbiAgICAgICAgZmVhdHVyZWRBc3NldCB7XHJcbiAgICAgICAgICAgIHByZXZpZXdcclxuICAgICAgICB9XHJcbiAgICAgICAgcHJvZHVjdFZhcmlhbnQge1xyXG4gICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgICAgIHNrdVxyXG4gICAgICAgICAgICB0cmFja0ludmVudG9yeVxyXG4gICAgICAgICAgICBzdG9ja09uSGFuZFxyXG4gICAgICAgIH1cclxuICAgICAgICBkaXNjb3VudHMge1xyXG4gICAgICAgICAgICAuLi5EaXNjb3VudFxyXG4gICAgICAgIH1cclxuICAgICAgICB1bml0UHJpY2VcclxuICAgICAgICB1bml0UHJpY2VXaXRoVGF4XHJcbiAgICAgICAgcHJvcmF0ZWRVbml0UHJpY2VcclxuICAgICAgICBwcm9yYXRlZFVuaXRQcmljZVdpdGhUYXhcclxuICAgICAgICBxdWFudGl0eVxyXG4gICAgICAgIGl0ZW1zIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgdW5pdFByaWNlXHJcbiAgICAgICAgICAgIHVuaXRQcmljZVdpdGhUYXhcclxuICAgICAgICAgICAgdGF4UmF0ZVxyXG4gICAgICAgICAgICByZWZ1bmRJZFxyXG4gICAgICAgICAgICBjYW5jZWxsZWRcclxuICAgICAgICAgICAgZnVsZmlsbG1lbnQge1xyXG4gICAgICAgICAgICAgICAgLi4uRnVsZmlsbG1lbnRcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBsaW5lUHJpY2VcclxuICAgICAgICBsaW5lVGF4XHJcbiAgICAgICAgbGluZVByaWNlV2l0aFRheFxyXG4gICAgICAgIGRpc2NvdW50ZWRMaW5lUHJpY2VcclxuICAgICAgICBkaXNjb3VudGVkTGluZVByaWNlV2l0aFRheFxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IE9SREVSX0RFVEFJTF9GUkFHTUVOVCA9IGdxbGBcclxuICAgIGZyYWdtZW50IE9yZGVyRGV0YWlsIG9uIE9yZGVyIHtcclxuICAgICAgICBpZFxyXG4gICAgICAgIGNyZWF0ZWRBdFxyXG4gICAgICAgIHVwZGF0ZWRBdFxyXG4gICAgICAgIGNvZGVcclxuICAgICAgICBzdGF0ZVxyXG4gICAgICAgIG5leHRTdGF0ZXNcclxuICAgICAgICBhY3RpdmVcclxuICAgICAgICBjdXN0b21lciB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIGZpcnN0TmFtZVxyXG4gICAgICAgICAgICBsYXN0TmFtZVxyXG4gICAgICAgIH1cclxuICAgICAgICBsaW5lcyB7XHJcbiAgICAgICAgICAgIC4uLk9yZGVyTGluZVxyXG4gICAgICAgIH1cclxuICAgICAgICBzdXJjaGFyZ2VzIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgc2t1XHJcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uXHJcbiAgICAgICAgICAgIHByaWNlXHJcbiAgICAgICAgICAgIHByaWNlV2l0aFRheFxyXG4gICAgICAgICAgICB0YXhSYXRlXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRpc2NvdW50cyB7XHJcbiAgICAgICAgICAgIC4uLkRpc2NvdW50XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHByb21vdGlvbnMge1xyXG4gICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICBjb3Vwb25Db2RlXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN1YlRvdGFsXHJcbiAgICAgICAgc3ViVG90YWxXaXRoVGF4XHJcbiAgICAgICAgdG90YWxcclxuICAgICAgICB0b3RhbFdpdGhUYXhcclxuICAgICAgICBjdXJyZW5jeUNvZGVcclxuICAgICAgICBzaGlwcGluZ1xyXG4gICAgICAgIHNoaXBwaW5nV2l0aFRheFxyXG4gICAgICAgIHNoaXBwaW5nTGluZXMge1xyXG4gICAgICAgICAgICBzaGlwcGluZ01ldGhvZCB7XHJcbiAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgY29kZVxyXG4gICAgICAgICAgICAgICAgbmFtZVxyXG4gICAgICAgICAgICAgICAgZnVsZmlsbG1lbnRIYW5kbGVyQ29kZVxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb25cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0YXhTdW1tYXJ5IHtcclxuICAgICAgICAgICAgZGVzY3JpcHRpb25cclxuICAgICAgICAgICAgdGF4QmFzZVxyXG4gICAgICAgICAgICB0YXhSYXRlXHJcbiAgICAgICAgICAgIHRheFRvdGFsXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNoaXBwaW5nQWRkcmVzcyB7XHJcbiAgICAgICAgICAgIC4uLk9yZGVyQWRkcmVzc1xyXG4gICAgICAgIH1cclxuICAgICAgICBiaWxsaW5nQWRkcmVzcyB7XHJcbiAgICAgICAgICAgIC4uLk9yZGVyQWRkcmVzc1xyXG4gICAgICAgIH1cclxuICAgICAgICBwYXltZW50cyB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIGNyZWF0ZWRBdFxyXG4gICAgICAgICAgICB0cmFuc2FjdGlvbklkXHJcbiAgICAgICAgICAgIGFtb3VudFxyXG4gICAgICAgICAgICBtZXRob2RcclxuICAgICAgICAgICAgc3RhdGVcclxuICAgICAgICAgICAgbmV4dFN0YXRlc1xyXG4gICAgICAgICAgICBlcnJvck1lc3NhZ2VcclxuICAgICAgICAgICAgbWV0YWRhdGFcclxuICAgICAgICAgICAgcmVmdW5kcyB7XHJcbiAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgY3JlYXRlZEF0XHJcbiAgICAgICAgICAgICAgICBzdGF0ZVxyXG4gICAgICAgICAgICAgICAgaXRlbXNcclxuICAgICAgICAgICAgICAgIGFkanVzdG1lbnRcclxuICAgICAgICAgICAgICAgIHRvdGFsXHJcbiAgICAgICAgICAgICAgICBwYXltZW50SWRcclxuICAgICAgICAgICAgICAgIHJlYXNvblxyXG4gICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZFxyXG4gICAgICAgICAgICAgICAgbWV0aG9kXHJcbiAgICAgICAgICAgICAgICBtZXRhZGF0YVxyXG4gICAgICAgICAgICAgICAgb3JkZXJJdGVtcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBmdWxmaWxsbWVudHMge1xyXG4gICAgICAgICAgICAuLi5GdWxmaWxsbWVudFxyXG4gICAgICAgIH1cclxuICAgICAgICBtb2RpZmljYXRpb25zIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgY3JlYXRlZEF0XHJcbiAgICAgICAgICAgIGlzU2V0dGxlZFxyXG4gICAgICAgICAgICBwcmljZUNoYW5nZVxyXG4gICAgICAgICAgICBub3RlXHJcbiAgICAgICAgICAgIHBheW1lbnQge1xyXG4gICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgIGFtb3VudFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9yZGVySXRlbXMge1xyXG4gICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZWZ1bmQge1xyXG4gICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgIHBheW1lbnRJZFxyXG4gICAgICAgICAgICAgICAgdG90YWxcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzdXJjaGFyZ2VzIHtcclxuICAgICAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke0RJU0NPVU5UX0ZSQUdNRU5UfVxyXG4gICAgJHtPUkRFUl9BRERSRVNTX0ZSQUdNRU5UfVxyXG4gICAgJHtGVUxGSUxMTUVOVF9GUkFHTUVOVH1cclxuICAgICR7T1JERVJfTElORV9GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBHRVRfT1JERVJTX0xJU1QgPSBncWxgXHJcbiAgICBxdWVyeSBHZXRPcmRlckxpc3QoJG9wdGlvbnM6IE9yZGVyTGlzdE9wdGlvbnMpIHtcclxuICAgICAgICBvcmRlcnMob3B0aW9uczogJG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgaXRlbXMge1xyXG4gICAgICAgICAgICAgICAgLi4uT3JkZXJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0b3RhbEl0ZW1zXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtPUkRFUl9GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBHRVRfT1JERVIgPSBncWxgXHJcbiAgICBxdWVyeSBHZXRPcmRlcigkaWQ6IElEISkge1xyXG4gICAgICAgIG9yZGVyKGlkOiAkaWQpIHtcclxuICAgICAgICAgICAgLi4uT3JkZXJEZXRhaWxcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke09SREVSX0RFVEFJTF9GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBTRVRUTEVfUEFZTUVOVCA9IGdxbGBcclxuICAgIG11dGF0aW9uIFNldHRsZVBheW1lbnQoJGlkOiBJRCEpIHtcclxuICAgICAgICBzZXR0bGVQYXltZW50KGlkOiAkaWQpIHtcclxuICAgICAgICAgICAgLi4uIG9uIFBheW1lbnQge1xyXG4gICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRcclxuICAgICAgICAgICAgICAgIGFtb3VudFxyXG4gICAgICAgICAgICAgICAgbWV0aG9kXHJcbiAgICAgICAgICAgICAgICBzdGF0ZVxyXG4gICAgICAgICAgICAgICAgbWV0YWRhdGFcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxyXG4gICAgICAgICAgICAuLi4gb24gU2V0dGxlUGF5bWVudEVycm9yIHtcclxuICAgICAgICAgICAgICAgIHBheW1lbnRFcnJvck1lc3NhZ2VcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuLi4gb24gUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb25FcnJvclxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC4uLiBvbiBPcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb25FcnJvclxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtFUlJPUl9SRVNVTFRfRlJBR01FTlR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgVFJBTlNJVElPTl9QQVlNRU5UX1RPX1NUQVRFID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gVHJhbnNpdGlvblBheW1lbnRUb1N0YXRlKCRpZDogSUQhLCAkc3RhdGU6IFN0cmluZyEpIHtcclxuICAgICAgICB0cmFuc2l0aW9uUGF5bWVudFRvU3RhdGUoaWQ6ICRpZCwgc3RhdGU6ICRzdGF0ZSkge1xyXG4gICAgICAgICAgICAuLi4gb24gUGF5bWVudCB7XHJcbiAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZFxyXG4gICAgICAgICAgICAgICAgYW1vdW50XHJcbiAgICAgICAgICAgICAgICBtZXRob2RcclxuICAgICAgICAgICAgICAgIHN0YXRlXHJcbiAgICAgICAgICAgICAgICBtZXRhZGF0YVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC4uLkVycm9yUmVzdWx0XHJcbiAgICAgICAgICAgIC4uLiBvbiBQYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3Ige1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbkVycm9yXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBDUkVBVEVfRlVMRklMTE1FTlQgPSBncWxgXHJcbiAgICBtdXRhdGlvbiBDcmVhdGVGdWxmaWxsbWVudCgkaW5wdXQ6IEZ1bGZpbGxPcmRlcklucHV0ISkge1xyXG4gICAgICAgIGFkZEZ1bGZpbGxtZW50VG9PcmRlcihpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgICAgICAgIC4uLkZ1bGZpbGxtZW50XHJcbiAgICAgICAgICAgIC4uLiBvbiBDcmVhdGVGdWxmaWxsbWVudEVycm9yIHtcclxuICAgICAgICAgICAgICAgIGVycm9yQ29kZVxyXG4gICAgICAgICAgICAgICAgbWVzc2FnZVxyXG4gICAgICAgICAgICAgICAgZnVsZmlsbG1lbnRIYW5kbGVyRXJyb3JcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuLi4gb24gRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvciB7XHJcbiAgICAgICAgICAgICAgICBlcnJvckNvZGVcclxuICAgICAgICAgICAgICAgIG1lc3NhZ2VcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb25FcnJvclxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC4uLkVycm9yUmVzdWx0XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtGVUxGSUxMTUVOVF9GUkFHTUVOVH1cclxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENBTkNFTF9PUkRFUiA9IGdxbGBcclxuICAgIG11dGF0aW9uIENhbmNlbE9yZGVyKCRpbnB1dDogQ2FuY2VsT3JkZXJJbnB1dCEpIHtcclxuICAgICAgICBjYW5jZWxPcmRlcihpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgICAgICAgIC4uLk9yZGVyRGV0YWlsXHJcbiAgICAgICAgICAgIC4uLkVycm9yUmVzdWx0XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtPUkRFUl9ERVRBSUxfRlJBR01FTlR9XHJcbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBSRUZVTkRfT1JERVIgPSBncWxgXHJcbiAgICBtdXRhdGlvbiBSZWZ1bmRPcmRlcigkaW5wdXQ6IFJlZnVuZE9yZGVySW5wdXQhKSB7XHJcbiAgICAgICAgcmVmdW5kT3JkZXIoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICAgICAgICAuLi5SZWZ1bmRcclxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke1JFRlVORF9GUkFHTUVOVH1cclxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFNFVFRMRV9SRUZVTkQgPSBncWxgXHJcbiAgICBtdXRhdGlvbiBTZXR0bGVSZWZ1bmQoJGlucHV0OiBTZXR0bGVSZWZ1bmRJbnB1dCEpIHtcclxuICAgICAgICBzZXR0bGVSZWZ1bmQoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICAgICAgICAuLi5SZWZ1bmRcclxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke1JFRlVORF9GUkFHTUVOVH1cclxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEdFVF9PUkRFUl9ISVNUT1JZID0gZ3FsYFxyXG4gICAgcXVlcnkgR2V0T3JkZXJIaXN0b3J5KCRpZDogSUQhLCAkb3B0aW9uczogSGlzdG9yeUVudHJ5TGlzdE9wdGlvbnMpIHtcclxuICAgICAgICBvcmRlcihpZDogJGlkKSB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIGhpc3Rvcnkob3B0aW9uczogJG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIHRvdGFsSXRlbXNcclxuICAgICAgICAgICAgICAgIGl0ZW1zIHtcclxuICAgICAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGVcclxuICAgICAgICAgICAgICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICAgICAgICAgICAgICBpc1B1YmxpY1xyXG4gICAgICAgICAgICAgICAgICAgIGFkbWluaXN0cmF0b3Ige1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaXJzdE5hbWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFzdE5hbWVcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEFERF9OT1RFX1RPX09SREVSID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gQWRkTm90ZVRvT3JkZXIoJGlucHV0OiBBZGROb3RlVG9PcmRlcklucHV0ISkge1xyXG4gICAgICAgIGFkZE5vdGVUb09yZGVyKGlucHV0OiAkaW5wdXQpIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgVVBEQVRFX09SREVSX05PVEUgPSBncWxgXHJcbiAgICBtdXRhdGlvbiBVcGRhdGVPcmRlck5vdGUoJGlucHV0OiBVcGRhdGVPcmRlck5vdGVJbnB1dCEpIHtcclxuICAgICAgICB1cGRhdGVPcmRlck5vdGUoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICBkYXRhXHJcbiAgICAgICAgICAgIGlzUHVibGljXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IERFTEVURV9PUkRFUl9OT1RFID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gRGVsZXRlT3JkZXJOb3RlKCRpZDogSUQhKSB7XHJcbiAgICAgICAgZGVsZXRlT3JkZXJOb3RlKGlkOiAkaWQpIHtcclxuICAgICAgICAgICAgcmVzdWx0XHJcbiAgICAgICAgICAgIG1lc3NhZ2VcclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgVFJBTlNJVElPTl9PUkRFUl9UT19TVEFURSA9IGdxbGBcclxuICAgIG11dGF0aW9uIFRyYW5zaXRpb25PcmRlclRvU3RhdGUoJGlkOiBJRCEsICRzdGF0ZTogU3RyaW5nISkge1xyXG4gICAgICAgIHRyYW5zaXRpb25PcmRlclRvU3RhdGUoaWQ6ICRpZCwgc3RhdGU6ICRzdGF0ZSkge1xyXG4gICAgICAgICAgICAuLi5PcmRlclxyXG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxyXG4gICAgICAgICAgICAuLi4gb24gT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uRXJyb3JcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICR7T1JERVJfRlJBR01FTlR9XHJcbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBVUERBVEVfT1JERVJfQ1VTVE9NX0ZJRUxEUyA9IGdxbGBcclxuICAgIG11dGF0aW9uIFVwZGF0ZU9yZGVyQ3VzdG9tRmllbGRzKCRpbnB1dDogVXBkYXRlT3JkZXJJbnB1dCEpIHtcclxuICAgICAgICBzZXRPcmRlckN1c3RvbUZpZWxkcyhpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgICAgICAgIC4uLk9yZGVyXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtPUkRFUl9GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBUUkFOU0lUSU9OX0ZVTEZJTExNRU5UX1RPX1NUQVRFID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gVHJhbnNpdGlvbkZ1bGZpbGxtZW50VG9TdGF0ZSgkaWQ6IElEISwgJHN0YXRlOiBTdHJpbmchKSB7XHJcbiAgICAgICAgdHJhbnNpdGlvbkZ1bGZpbGxtZW50VG9TdGF0ZShpZDogJGlkLCBzdGF0ZTogJHN0YXRlKSB7XHJcbiAgICAgICAgICAgIC4uLkZ1bGZpbGxtZW50XHJcbiAgICAgICAgICAgIC4uLkVycm9yUmVzdWx0XHJcbiAgICAgICAgICAgIC4uLiBvbiBGdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb25FcnJvclxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtGVUxGSUxMTUVOVF9GUkFHTUVOVH1cclxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEdFVF9PUkRFUl9TVU1NQVJZID0gZ3FsYFxyXG4gICAgcXVlcnkgR2V0T3JkZXJTdW1tYXJ5KCRzdGFydDogRGF0ZVRpbWUhLCAkZW5kOiBEYXRlVGltZSEpIHtcclxuICAgICAgICBvcmRlcnMob3B0aW9uczogeyBmaWx0ZXI6IHsgb3JkZXJQbGFjZWRBdDogeyBiZXR3ZWVuOiB7IHN0YXJ0OiAkc3RhcnQsIGVuZDogJGVuZCB9IH0gfSB9KSB7XHJcbiAgICAgICAgICAgIHRvdGFsSXRlbXNcclxuICAgICAgICAgICAgaXRlbXMge1xyXG4gICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgIHRvdGFsXHJcbiAgICAgICAgICAgICAgICBjdXJyZW5jeUNvZGVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBNT0RJRllfT1JERVIgPSBncWxgXHJcbiAgICBtdXRhdGlvbiBNb2RpZnlPcmRlcigkaW5wdXQ6IE1vZGlmeU9yZGVySW5wdXQhKSB7XHJcbiAgICAgICAgbW9kaWZ5T3JkZXIoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICAgICAgICAuLi5PcmRlckRldGFpbFxyXG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICR7T1JERVJfREVUQUlMX0ZSQUdNRU5UfVxyXG4gICAgJHtFUlJPUl9SRVNVTFRfRlJBR01FTlR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgQUREX01BTlVBTF9QQVlNRU5UX1RPX09SREVSID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gQWRkTWFudWFsUGF5bWVudCgkaW5wdXQ6IE1hbnVhbFBheW1lbnRJbnB1dCEpIHtcclxuICAgICAgICBhZGRNYW51YWxQYXltZW50VG9PcmRlcihpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgICAgICAgIC4uLk9yZGVyRGV0YWlsXHJcbiAgICAgICAgICAgIC4uLkVycm9yUmVzdWx0XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtPUkRFUl9ERVRBSUxfRlJBR01FTlR9XHJcbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cclxuYDtcclxuIl19
457
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvZGVmaW5pdGlvbnMvb3JkZXItZGVmaW5pdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Q0FRbkMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Q0FVakMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7OztDQWF4QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXNCaEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7OztDQWF0QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXNDckMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01Ba0hsQyxpQkFBaUI7TUFDakIsc0JBQXNCO01BQ3RCLG9CQUFvQjtNQUNwQixtQkFBbUI7Q0FDeEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7OztNQVM1QixjQUFjO0NBQ25CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFBOzs7Ozs7TUFNdEIscUJBQXFCO0NBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQXVCM0IscUJBQXFCO0NBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O01BaUJ4QyxxQkFBcUI7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFpQi9CLG9CQUFvQjtNQUNwQixxQkFBcUI7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUE7Ozs7Ozs7TUFPekIscUJBQXFCO01BQ3JCLHFCQUFxQjtDQUMxQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQTs7Ozs7OztNQU96QixlQUFlO01BQ2YscUJBQXFCO0NBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFBOzs7Ozs7O01BTzFCLGVBQWU7TUFDZixxQkFBcUI7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBcUJuQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Q0FNbkMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Q0FRbkMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQTs7Ozs7OztDQU9uQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7O01BVXRDLGNBQWM7TUFDZCxxQkFBcUI7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLEdBQUcsQ0FBQTs7Ozs7O01BTXZDLGNBQWM7Q0FDbkIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7OztNQVU1QyxvQkFBb0I7TUFDcEIscUJBQXFCO0NBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7O0NBV25DLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFBOzs7Ozs7O01BT3pCLHFCQUFxQjtNQUNyQixxQkFBcUI7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLEdBQUcsQ0FBQTs7Ozs7OztNQU94QyxxQkFBcUI7TUFDckIscUJBQXFCO0NBQzFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBncWwgfSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XHJcblxyXG5pbXBvcnQgeyBFUlJPUl9SRVNVTFRfRlJBR01FTlQgfSBmcm9tICcuL3NoYXJlZC1kZWZpbml0aW9ucyc7XHJcblxyXG5leHBvcnQgY29uc3QgRElTQ09VTlRfRlJBR01FTlQgPSBncWxgXHJcbiAgICBmcmFnbWVudCBEaXNjb3VudCBvbiBEaXNjb3VudCB7XHJcbiAgICAgICAgYWRqdXN0bWVudFNvdXJjZVxyXG4gICAgICAgIGFtb3VudFxyXG4gICAgICAgIGFtb3VudFdpdGhUYXhcclxuICAgICAgICBkZXNjcmlwdGlvblxyXG4gICAgICAgIHR5cGVcclxuICAgIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBSRUZVTkRfRlJBR01FTlQgPSBncWxgXHJcbiAgICBmcmFnbWVudCBSZWZ1bmQgb24gUmVmdW5kIHtcclxuICAgICAgICBpZFxyXG4gICAgICAgIHN0YXRlXHJcbiAgICAgICAgaXRlbXNcclxuICAgICAgICBzaGlwcGluZ1xyXG4gICAgICAgIGFkanVzdG1lbnRcclxuICAgICAgICB0cmFuc2FjdGlvbklkXHJcbiAgICAgICAgcGF5bWVudElkXHJcbiAgICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgT1JERVJfQUREUkVTU19GUkFHTUVOVCA9IGdxbGBcclxuICAgIGZyYWdtZW50IE9yZGVyQWRkcmVzcyBvbiBPcmRlckFkZHJlc3Mge1xyXG4gICAgICAgIGZ1bGxOYW1lXHJcbiAgICAgICAgY29tcGFueVxyXG4gICAgICAgIHN0cmVldExpbmUxXHJcbiAgICAgICAgc3RyZWV0TGluZTJcclxuICAgICAgICBjaXR5XHJcbiAgICAgICAgcHJvdmluY2VcclxuICAgICAgICBwb3N0YWxDb2RlXHJcbiAgICAgICAgY291bnRyeVxyXG4gICAgICAgIGNvdW50cnlDb2RlXHJcbiAgICAgICAgcGhvbmVOdW1iZXJcclxuICAgIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBPUkRFUl9GUkFHTUVOVCA9IGdxbGBcclxuICAgIGZyYWdtZW50IE9yZGVyIG9uIE9yZGVyIHtcclxuICAgICAgICBpZFxyXG4gICAgICAgIGNyZWF0ZWRBdFxyXG4gICAgICAgIHVwZGF0ZWRBdFxyXG4gICAgICAgIG9yZGVyUGxhY2VkQXRcclxuICAgICAgICBjb2RlXHJcbiAgICAgICAgc3RhdGVcclxuICAgICAgICBuZXh0U3RhdGVzXHJcbiAgICAgICAgdG90YWxcclxuICAgICAgICBjdXJyZW5jeUNvZGVcclxuICAgICAgICBjdXN0b21lciB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIGZpcnN0TmFtZVxyXG4gICAgICAgICAgICBsYXN0TmFtZVxyXG4gICAgICAgIH1cclxuICAgICAgICBzaGlwcGluZ0xpbmVzIHtcclxuICAgICAgICAgICAgc2hpcHBpbmdNZXRob2Qge1xyXG4gICAgICAgICAgICAgICAgbmFtZVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEZVTEZJTExNRU5UX0ZSQUdNRU5UID0gZ3FsYFxyXG4gICAgZnJhZ21lbnQgRnVsZmlsbG1lbnQgb24gRnVsZmlsbG1lbnQge1xyXG4gICAgICAgIGlkXHJcbiAgICAgICAgc3RhdGVcclxuICAgICAgICBuZXh0U3RhdGVzXHJcbiAgICAgICAgY3JlYXRlZEF0XHJcbiAgICAgICAgdXBkYXRlZEF0XHJcbiAgICAgICAgbWV0aG9kXHJcbiAgICAgICAgb3JkZXJJdGVtcyB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYWNraW5nQ29kZVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IE9SREVSX0xJTkVfRlJBR01FTlQgPSBncWxgXHJcbiAgICBmcmFnbWVudCBPcmRlckxpbmUgb24gT3JkZXJMaW5lIHtcclxuICAgICAgICBpZFxyXG4gICAgICAgIGZlYXR1cmVkQXNzZXQge1xyXG4gICAgICAgICAgICBwcmV2aWV3XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHByb2R1Y3RWYXJpYW50IHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgbmFtZVxyXG4gICAgICAgICAgICBza3VcclxuICAgICAgICAgICAgdHJhY2tJbnZlbnRvcnlcclxuICAgICAgICAgICAgc3RvY2tPbkhhbmRcclxuICAgICAgICB9XHJcbiAgICAgICAgZGlzY291bnRzIHtcclxuICAgICAgICAgICAgLi4uRGlzY291bnRcclxuICAgICAgICB9XHJcbiAgICAgICAgdW5pdFByaWNlXHJcbiAgICAgICAgdW5pdFByaWNlV2l0aFRheFxyXG4gICAgICAgIHByb3JhdGVkVW5pdFByaWNlXHJcbiAgICAgICAgcHJvcmF0ZWRVbml0UHJpY2VXaXRoVGF4XHJcbiAgICAgICAgcXVhbnRpdHlcclxuICAgICAgICBpdGVtcyB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIHVuaXRQcmljZVxyXG4gICAgICAgICAgICB1bml0UHJpY2VXaXRoVGF4XHJcbiAgICAgICAgICAgIHRheFJhdGVcclxuICAgICAgICAgICAgcmVmdW5kSWRcclxuICAgICAgICAgICAgY2FuY2VsbGVkXHJcbiAgICAgICAgICAgIGZ1bGZpbGxtZW50IHtcclxuICAgICAgICAgICAgICAgIC4uLkZ1bGZpbGxtZW50XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGluZVByaWNlXHJcbiAgICAgICAgbGluZVRheFxyXG4gICAgICAgIGxpbmVQcmljZVdpdGhUYXhcclxuICAgICAgICBkaXNjb3VudGVkTGluZVByaWNlXHJcbiAgICAgICAgZGlzY291bnRlZExpbmVQcmljZVdpdGhUYXhcclxuICAgIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBPUkRFUl9ERVRBSUxfRlJBR01FTlQgPSBncWxgXHJcbiAgICBmcmFnbWVudCBPcmRlckRldGFpbCBvbiBPcmRlciB7XHJcbiAgICAgICAgaWRcclxuICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICBjb2RlXHJcbiAgICAgICAgc3RhdGVcclxuICAgICAgICBuZXh0U3RhdGVzXHJcbiAgICAgICAgYWN0aXZlXHJcbiAgICAgICAgY291cG9uQ29kZXNcclxuICAgICAgICBjdXN0b21lciB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIGZpcnN0TmFtZVxyXG4gICAgICAgICAgICBsYXN0TmFtZVxyXG4gICAgICAgIH1cclxuICAgICAgICBsaW5lcyB7XHJcbiAgICAgICAgICAgIC4uLk9yZGVyTGluZVxyXG4gICAgICAgIH1cclxuICAgICAgICBzdXJjaGFyZ2VzIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgc2t1XHJcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uXHJcbiAgICAgICAgICAgIHByaWNlXHJcbiAgICAgICAgICAgIHByaWNlV2l0aFRheFxyXG4gICAgICAgICAgICB0YXhSYXRlXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRpc2NvdW50cyB7XHJcbiAgICAgICAgICAgIC4uLkRpc2NvdW50XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHByb21vdGlvbnMge1xyXG4gICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICBjb3Vwb25Db2RlXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN1YlRvdGFsXHJcbiAgICAgICAgc3ViVG90YWxXaXRoVGF4XHJcbiAgICAgICAgdG90YWxcclxuICAgICAgICB0b3RhbFdpdGhUYXhcclxuICAgICAgICBjdXJyZW5jeUNvZGVcclxuICAgICAgICBzaGlwcGluZ1xyXG4gICAgICAgIHNoaXBwaW5nV2l0aFRheFxyXG4gICAgICAgIHNoaXBwaW5nTGluZXMge1xyXG4gICAgICAgICAgICBzaGlwcGluZ01ldGhvZCB7XHJcbiAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgY29kZVxyXG4gICAgICAgICAgICAgICAgbmFtZVxyXG4gICAgICAgICAgICAgICAgZnVsZmlsbG1lbnRIYW5kbGVyQ29kZVxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb25cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0YXhTdW1tYXJ5IHtcclxuICAgICAgICAgICAgZGVzY3JpcHRpb25cclxuICAgICAgICAgICAgdGF4QmFzZVxyXG4gICAgICAgICAgICB0YXhSYXRlXHJcbiAgICAgICAgICAgIHRheFRvdGFsXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNoaXBwaW5nQWRkcmVzcyB7XHJcbiAgICAgICAgICAgIC4uLk9yZGVyQWRkcmVzc1xyXG4gICAgICAgIH1cclxuICAgICAgICBiaWxsaW5nQWRkcmVzcyB7XHJcbiAgICAgICAgICAgIC4uLk9yZGVyQWRkcmVzc1xyXG4gICAgICAgIH1cclxuICAgICAgICBwYXltZW50cyB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIGNyZWF0ZWRBdFxyXG4gICAgICAgICAgICB0cmFuc2FjdGlvbklkXHJcbiAgICAgICAgICAgIGFtb3VudFxyXG4gICAgICAgICAgICBtZXRob2RcclxuICAgICAgICAgICAgc3RhdGVcclxuICAgICAgICAgICAgbmV4dFN0YXRlc1xyXG4gICAgICAgICAgICBlcnJvck1lc3NhZ2VcclxuICAgICAgICAgICAgbWV0YWRhdGFcclxuICAgICAgICAgICAgcmVmdW5kcyB7XHJcbiAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgY3JlYXRlZEF0XHJcbiAgICAgICAgICAgICAgICBzdGF0ZVxyXG4gICAgICAgICAgICAgICAgaXRlbXNcclxuICAgICAgICAgICAgICAgIGFkanVzdG1lbnRcclxuICAgICAgICAgICAgICAgIHRvdGFsXHJcbiAgICAgICAgICAgICAgICBwYXltZW50SWRcclxuICAgICAgICAgICAgICAgIHJlYXNvblxyXG4gICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZFxyXG4gICAgICAgICAgICAgICAgbWV0aG9kXHJcbiAgICAgICAgICAgICAgICBtZXRhZGF0YVxyXG4gICAgICAgICAgICAgICAgb3JkZXJJdGVtcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBmdWxmaWxsbWVudHMge1xyXG4gICAgICAgICAgICAuLi5GdWxmaWxsbWVudFxyXG4gICAgICAgIH1cclxuICAgICAgICBtb2RpZmljYXRpb25zIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgY3JlYXRlZEF0XHJcbiAgICAgICAgICAgIGlzU2V0dGxlZFxyXG4gICAgICAgICAgICBwcmljZUNoYW5nZVxyXG4gICAgICAgICAgICBub3RlXHJcbiAgICAgICAgICAgIHBheW1lbnQge1xyXG4gICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgIGFtb3VudFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9yZGVySXRlbXMge1xyXG4gICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZWZ1bmQge1xyXG4gICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgIHBheW1lbnRJZFxyXG4gICAgICAgICAgICAgICAgdG90YWxcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzdXJjaGFyZ2VzIHtcclxuICAgICAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke0RJU0NPVU5UX0ZSQUdNRU5UfVxyXG4gICAgJHtPUkRFUl9BRERSRVNTX0ZSQUdNRU5UfVxyXG4gICAgJHtGVUxGSUxMTUVOVF9GUkFHTUVOVH1cclxuICAgICR7T1JERVJfTElORV9GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBHRVRfT1JERVJTX0xJU1QgPSBncWxgXHJcbiAgICBxdWVyeSBHZXRPcmRlckxpc3QoJG9wdGlvbnM6IE9yZGVyTGlzdE9wdGlvbnMpIHtcclxuICAgICAgICBvcmRlcnMob3B0aW9uczogJG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgaXRlbXMge1xyXG4gICAgICAgICAgICAgICAgLi4uT3JkZXJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0b3RhbEl0ZW1zXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtPUkRFUl9GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBHRVRfT1JERVIgPSBncWxgXHJcbiAgICBxdWVyeSBHZXRPcmRlcigkaWQ6IElEISkge1xyXG4gICAgICAgIG9yZGVyKGlkOiAkaWQpIHtcclxuICAgICAgICAgICAgLi4uT3JkZXJEZXRhaWxcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke09SREVSX0RFVEFJTF9GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBTRVRUTEVfUEFZTUVOVCA9IGdxbGBcclxuICAgIG11dGF0aW9uIFNldHRsZVBheW1lbnQoJGlkOiBJRCEpIHtcclxuICAgICAgICBzZXR0bGVQYXltZW50KGlkOiAkaWQpIHtcclxuICAgICAgICAgICAgLi4uIG9uIFBheW1lbnQge1xyXG4gICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRcclxuICAgICAgICAgICAgICAgIGFtb3VudFxyXG4gICAgICAgICAgICAgICAgbWV0aG9kXHJcbiAgICAgICAgICAgICAgICBzdGF0ZVxyXG4gICAgICAgICAgICAgICAgbWV0YWRhdGFcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxyXG4gICAgICAgICAgICAuLi4gb24gU2V0dGxlUGF5bWVudEVycm9yIHtcclxuICAgICAgICAgICAgICAgIHBheW1lbnRFcnJvck1lc3NhZ2VcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuLi4gb24gUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb25FcnJvclxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC4uLiBvbiBPcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb25FcnJvclxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtFUlJPUl9SRVNVTFRfRlJBR01FTlR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgVFJBTlNJVElPTl9QQVlNRU5UX1RPX1NUQVRFID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gVHJhbnNpdGlvblBheW1lbnRUb1N0YXRlKCRpZDogSUQhLCAkc3RhdGU6IFN0cmluZyEpIHtcclxuICAgICAgICB0cmFuc2l0aW9uUGF5bWVudFRvU3RhdGUoaWQ6ICRpZCwgc3RhdGU6ICRzdGF0ZSkge1xyXG4gICAgICAgICAgICAuLi4gb24gUGF5bWVudCB7XHJcbiAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZFxyXG4gICAgICAgICAgICAgICAgYW1vdW50XHJcbiAgICAgICAgICAgICAgICBtZXRob2RcclxuICAgICAgICAgICAgICAgIHN0YXRlXHJcbiAgICAgICAgICAgICAgICBtZXRhZGF0YVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC4uLkVycm9yUmVzdWx0XHJcbiAgICAgICAgICAgIC4uLiBvbiBQYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3Ige1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbkVycm9yXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBDUkVBVEVfRlVMRklMTE1FTlQgPSBncWxgXHJcbiAgICBtdXRhdGlvbiBDcmVhdGVGdWxmaWxsbWVudCgkaW5wdXQ6IEZ1bGZpbGxPcmRlcklucHV0ISkge1xyXG4gICAgICAgIGFkZEZ1bGZpbGxtZW50VG9PcmRlcihpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgICAgICAgIC4uLkZ1bGZpbGxtZW50XHJcbiAgICAgICAgICAgIC4uLiBvbiBDcmVhdGVGdWxmaWxsbWVudEVycm9yIHtcclxuICAgICAgICAgICAgICAgIGVycm9yQ29kZVxyXG4gICAgICAgICAgICAgICAgbWVzc2FnZVxyXG4gICAgICAgICAgICAgICAgZnVsZmlsbG1lbnRIYW5kbGVyRXJyb3JcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuLi4gb24gRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvciB7XHJcbiAgICAgICAgICAgICAgICBlcnJvckNvZGVcclxuICAgICAgICAgICAgICAgIG1lc3NhZ2VcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb25FcnJvclxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC4uLkVycm9yUmVzdWx0XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtGVUxGSUxMTUVOVF9GUkFHTUVOVH1cclxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENBTkNFTF9PUkRFUiA9IGdxbGBcclxuICAgIG11dGF0aW9uIENhbmNlbE9yZGVyKCRpbnB1dDogQ2FuY2VsT3JkZXJJbnB1dCEpIHtcclxuICAgICAgICBjYW5jZWxPcmRlcihpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgICAgICAgIC4uLk9yZGVyRGV0YWlsXHJcbiAgICAgICAgICAgIC4uLkVycm9yUmVzdWx0XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtPUkRFUl9ERVRBSUxfRlJBR01FTlR9XHJcbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBSRUZVTkRfT1JERVIgPSBncWxgXHJcbiAgICBtdXRhdGlvbiBSZWZ1bmRPcmRlcigkaW5wdXQ6IFJlZnVuZE9yZGVySW5wdXQhKSB7XHJcbiAgICAgICAgcmVmdW5kT3JkZXIoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICAgICAgICAuLi5SZWZ1bmRcclxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke1JFRlVORF9GUkFHTUVOVH1cclxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFNFVFRMRV9SRUZVTkQgPSBncWxgXHJcbiAgICBtdXRhdGlvbiBTZXR0bGVSZWZ1bmQoJGlucHV0OiBTZXR0bGVSZWZ1bmRJbnB1dCEpIHtcclxuICAgICAgICBzZXR0bGVSZWZ1bmQoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICAgICAgICAuLi5SZWZ1bmRcclxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke1JFRlVORF9GUkFHTUVOVH1cclxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEdFVF9PUkRFUl9ISVNUT1JZID0gZ3FsYFxyXG4gICAgcXVlcnkgR2V0T3JkZXJIaXN0b3J5KCRpZDogSUQhLCAkb3B0aW9uczogSGlzdG9yeUVudHJ5TGlzdE9wdGlvbnMpIHtcclxuICAgICAgICBvcmRlcihpZDogJGlkKSB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIGhpc3Rvcnkob3B0aW9uczogJG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIHRvdGFsSXRlbXNcclxuICAgICAgICAgICAgICAgIGl0ZW1zIHtcclxuICAgICAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGVcclxuICAgICAgICAgICAgICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICAgICAgICAgICAgICBpc1B1YmxpY1xyXG4gICAgICAgICAgICAgICAgICAgIGFkbWluaXN0cmF0b3Ige1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaXJzdE5hbWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFzdE5hbWVcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEFERF9OT1RFX1RPX09SREVSID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gQWRkTm90ZVRvT3JkZXIoJGlucHV0OiBBZGROb3RlVG9PcmRlcklucHV0ISkge1xyXG4gICAgICAgIGFkZE5vdGVUb09yZGVyKGlucHV0OiAkaW5wdXQpIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgVVBEQVRFX09SREVSX05PVEUgPSBncWxgXHJcbiAgICBtdXRhdGlvbiBVcGRhdGVPcmRlck5vdGUoJGlucHV0OiBVcGRhdGVPcmRlck5vdGVJbnB1dCEpIHtcclxuICAgICAgICB1cGRhdGVPcmRlck5vdGUoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICBkYXRhXHJcbiAgICAgICAgICAgIGlzUHVibGljXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IERFTEVURV9PUkRFUl9OT1RFID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gRGVsZXRlT3JkZXJOb3RlKCRpZDogSUQhKSB7XHJcbiAgICAgICAgZGVsZXRlT3JkZXJOb3RlKGlkOiAkaWQpIHtcclxuICAgICAgICAgICAgcmVzdWx0XHJcbiAgICAgICAgICAgIG1lc3NhZ2VcclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgVFJBTlNJVElPTl9PUkRFUl9UT19TVEFURSA9IGdxbGBcclxuICAgIG11dGF0aW9uIFRyYW5zaXRpb25PcmRlclRvU3RhdGUoJGlkOiBJRCEsICRzdGF0ZTogU3RyaW5nISkge1xyXG4gICAgICAgIHRyYW5zaXRpb25PcmRlclRvU3RhdGUoaWQ6ICRpZCwgc3RhdGU6ICRzdGF0ZSkge1xyXG4gICAgICAgICAgICAuLi5PcmRlclxyXG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxyXG4gICAgICAgICAgICAuLi4gb24gT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uRXJyb3JcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICR7T1JERVJfRlJBR01FTlR9XHJcbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBVUERBVEVfT1JERVJfQ1VTVE9NX0ZJRUxEUyA9IGdxbGBcclxuICAgIG11dGF0aW9uIFVwZGF0ZU9yZGVyQ3VzdG9tRmllbGRzKCRpbnB1dDogVXBkYXRlT3JkZXJJbnB1dCEpIHtcclxuICAgICAgICBzZXRPcmRlckN1c3RvbUZpZWxkcyhpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgICAgICAgIC4uLk9yZGVyXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtPUkRFUl9GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBUUkFOU0lUSU9OX0ZVTEZJTExNRU5UX1RPX1NUQVRFID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gVHJhbnNpdGlvbkZ1bGZpbGxtZW50VG9TdGF0ZSgkaWQ6IElEISwgJHN0YXRlOiBTdHJpbmchKSB7XHJcbiAgICAgICAgdHJhbnNpdGlvbkZ1bGZpbGxtZW50VG9TdGF0ZShpZDogJGlkLCBzdGF0ZTogJHN0YXRlKSB7XHJcbiAgICAgICAgICAgIC4uLkZ1bGZpbGxtZW50XHJcbiAgICAgICAgICAgIC4uLkVycm9yUmVzdWx0XHJcbiAgICAgICAgICAgIC4uLiBvbiBGdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb25FcnJvclxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtGVUxGSUxMTUVOVF9GUkFHTUVOVH1cclxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEdFVF9PUkRFUl9TVU1NQVJZID0gZ3FsYFxyXG4gICAgcXVlcnkgR2V0T3JkZXJTdW1tYXJ5KCRzdGFydDogRGF0ZVRpbWUhLCAkZW5kOiBEYXRlVGltZSEpIHtcclxuICAgICAgICBvcmRlcnMob3B0aW9uczogeyBmaWx0ZXI6IHsgb3JkZXJQbGFjZWRBdDogeyBiZXR3ZWVuOiB7IHN0YXJ0OiAkc3RhcnQsIGVuZDogJGVuZCB9IH0gfSB9KSB7XHJcbiAgICAgICAgICAgIHRvdGFsSXRlbXNcclxuICAgICAgICAgICAgaXRlbXMge1xyXG4gICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgIHRvdGFsXHJcbiAgICAgICAgICAgICAgICBjdXJyZW5jeUNvZGVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBNT0RJRllfT1JERVIgPSBncWxgXHJcbiAgICBtdXRhdGlvbiBNb2RpZnlPcmRlcigkaW5wdXQ6IE1vZGlmeU9yZGVySW5wdXQhKSB7XHJcbiAgICAgICAgbW9kaWZ5T3JkZXIoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICAgICAgICAuLi5PcmRlckRldGFpbFxyXG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICR7T1JERVJfREVUQUlMX0ZSQUdNRU5UfVxyXG4gICAgJHtFUlJPUl9SRVNVTFRfRlJBR01FTlR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgQUREX01BTlVBTF9QQVlNRU5UX1RPX09SREVSID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gQWRkTWFudWFsUGF5bWVudCgkaW5wdXQ6IE1hbnVhbFBheW1lbnRJbnB1dCEpIHtcclxuICAgICAgICBhZGRNYW51YWxQYXltZW50VG9PcmRlcihpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgICAgICAgIC4uLk9yZGVyRGV0YWlsXHJcbiAgICAgICAgICAgIC4uLkVycm9yUmVzdWx0XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtPUkRFUl9ERVRBSUxfRlJBR01FTlR9XHJcbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cclxuYDtcclxuIl19