@colijnit/transaction 12.1.71 → 12.1.73

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 (47) hide show
  1. package/bundles/colijnit-transaction.umd.js +391 -147
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.metadata.json +1 -1
  4. package/esm2015/lib/assets/dictionary/text.properties.js +37 -1
  5. package/esm2015/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +17 -4
  6. package/esm2015/lib/component/checkout/checkout.component.js +11 -6
  7. package/esm2015/lib/component/core/base/transaction-filter-content-base.component.js +3 -2
  8. package/esm2015/lib/component/core/base/transaction-line-base.component.js +4 -3
  9. package/esm2015/lib/component/relation/relation-base.component.js +4 -1
  10. package/esm2015/lib/component/relation/relation-general/relation-general.component.js +6 -4
  11. package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.js +10 -3
  12. package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier-button.component.js +14 -4
  13. package/esm2015/lib/component/transaction-search/transaction-filter-content/enum/search-placeholder.enum.js +27 -0
  14. package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.component.js +7 -3
  15. package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.component.js +6 -3
  16. package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.component.js +8 -3
  17. package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.js +23 -18
  18. package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.component.js +133 -130
  19. package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.js +44 -38
  20. package/esm2015/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.component.js +3 -2
  21. package/esm2015/lib/service/error.service.js +17 -1
  22. package/esm2015/lib/service/pending-reason.service.js +17 -11
  23. package/esm2015/lib/service/relation-connector.service.js +31 -1
  24. package/esm2015/lib/service/relation.service.js +40 -2
  25. package/esm2015/lib/service/transaction-connector-adapter.service.js +17 -1
  26. package/esm2015/lib/service/transaction-connector.service.js +6 -1
  27. package/esm2015/lib/service/transaction.service.js +14 -5
  28. package/fesm2015/colijnit-transaction.js +561 -315
  29. package/fesm2015/colijnit-transaction.js.map +1 -1
  30. package/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.d.ts +8 -4
  31. package/lib/component/checkout/checkout.component.d.ts +2 -0
  32. package/lib/component/core/base/transaction-filter-content-base.component.d.ts +2 -1
  33. package/lib/component/relation/relation-base.component.d.ts +3 -1
  34. package/lib/component/relation/relation-general/relation-general.component.d.ts +2 -0
  35. package/lib/component/relation/relation-general/style/_layout.scss +1 -0
  36. package/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.d.ts +1 -0
  37. package/lib/component/transaction-line-fields/transaction-line-supplier-button.component.d.ts +1 -0
  38. package/lib/component/transaction-search/transaction-filter-content/enum/search-placeholder.enum.d.ts +25 -0
  39. package/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.component.d.ts +1 -1
  40. package/lib/service/pending-reason.service.d.ts +8 -7
  41. package/lib/service/relation-connector.service.d.ts +2 -0
  42. package/lib/service/relation.service.d.ts +7 -0
  43. package/lib/service/transaction-connector-adapter.service.d.ts +1 -0
  44. package/lib/service/transaction-connector.service.d.ts +1 -0
  45. package/lib/service/transaction.service.d.ts +1 -0
  46. package/lib/style/transaction-globals.scss +3 -43
  47. package/package.json +3 -3
@@ -95,8 +95,8 @@ TransactionSalesOrderFilterContentOrderComponent.decorators = [
95
95
  <!--Orderdatum-->
96
96
  <div class="filter-item-wrapper" lazyRender #lazyRenderOrderDate="lazyRender">
97
97
  <co-transaction-filter-item *ngIf="lazyRenderOrderDate.isShowing"
98
- [placeholder]="'ORDER_DATE'"
99
- [customContent]="true">
98
+ [placeholder]="'ORDER_DATE'"
99
+ [customContent]="true">
100
100
  <co-input-date-range
101
101
  [startDate]="transStartDate"
102
102
  [endDate]="transEndDate"
@@ -110,8 +110,8 @@ TransactionSalesOrderFilterContentOrderComponent.decorators = [
110
110
  <!--Leverdatum-->
111
111
  <div class="filter-item-wrapper" lazyRender #lazyRenderDeliveryDate="lazyRender">
112
112
  <co-transaction-filter-item *ngIf="lazyRenderDeliveryDate.isShowing"
113
- [placeholder]="'DELIVERY_DATE'"
114
- [customContent]="true">
113
+ [placeholder]="'DELIVERY_DATE'"
114
+ [customContent]="true">
115
115
  <co-input-date-range
116
116
  [startDate]="deliveryStartDate"
117
117
  [endDate]="deliveryEndDate"
@@ -125,18 +125,20 @@ TransactionSalesOrderFilterContentOrderComponent.decorators = [
125
125
  <!--Filiaal-->
126
126
  <div class="filter-item-wrapper" lazyRender #lazyRenderBranch="lazyRender">
127
127
  <co-transaction-filter-item *ngIf="lazyRenderBranch.isShowing"
128
- [placeholder]="'BRANCH'"
129
- [collection]="branches"
130
- (collectionChange)="filterRequestService.handleCollectionChangeForRange($event, 'rangeBranchId')">
128
+ [placeholder]="'BRANCH'"
129
+ [searchCollectionPlaceholder]="searchPlaceholder.Branch"
130
+ [collection]="branches"
131
+ (collectionChange)="filterRequestService.handleCollectionChangeForRange($event, 'rangeBranchId')">
131
132
  </co-transaction-filter-item>
132
133
  </div>
133
134
 
134
135
  <!--Verkoper-->
135
136
  <div class="filter-item-wrapper" lazyRender #lazyRenderHandledBy="lazyRender">
136
137
  <co-transaction-filter-item *ngIf="lazyRenderHandledBy.isShowing"
137
- [placeholder]="'HANDLED_BY'"
138
- [collection]="salesPersons"
139
- (collectionChange)="filterRequestService.handleCollectionChangeForRange($event, 'rangeSalesPerson')"
138
+ [placeholder]="'HANDLED_BY'"
139
+ [searchCollectionPlaceholder]="searchPlaceholder.SalesPerson"
140
+ [collection]="salesPersons"
141
+ (collectionChange)="filterRequestService.handleCollectionChangeForRange($event, 'rangeSalesPerson')"
140
142
  >
141
143
  </co-transaction-filter-item>
142
144
  </div>
@@ -144,38 +146,39 @@ TransactionSalesOrderFilterContentOrderComponent.decorators = [
144
146
  <!--Eigen referentie-->
145
147
  <div class="filter-item-wrapper" lazyRender #lazyRenderUserReference="lazyRender">
146
148
  <co-transaction-filter-item *ngIf="lazyRenderUserReference.isShowing"
147
- [placeholder]="'OWN_REFERENCE'"
148
- [customContent]="true">
149
+ [placeholder]="'OWN_REFERENCE'"
150
+ [customContent]="true">
149
151
  <co-input-text [(model)]="searchRequest.userReference"
150
- [placeholder]="'OWN_REFERENCE' | localize"></co-input-text>
152
+ [placeholder]="searchPlaceholder.OwnReference | localize"></co-input-text>
151
153
  </co-transaction-filter-item>
152
154
  </div>
153
155
 
154
156
  <!--Tags-->
155
157
  <div class="filter-item-wrapper" lazyRender #lazyRenderTags="lazyRender">
156
158
  <co-transaction-filter-item *ngIf="lazyRenderTags.isShowing"
157
- [placeholder]="'TAGS'"
158
- [collection]="tags"
159
- (collectionChange)="filterRequestService.handleCollectionChangeForRange($event, 'tagRange')">
160
- <co-input-text [(model)]="searchRequest.tagRange" [placeholder]="'TAGS' | localize"></co-input-text>
159
+ [placeholder]="'TAGS'"
160
+ [searchCollectionPlaceholder]="searchPlaceholder.Tags"
161
+ [collection]="tags"
162
+ (collectionChange)="filterRequestService.handleCollectionChangeForRange($event, 'tagRange')">
163
+ <co-input-text [(model)]="searchRequest.tagRange" [placeholder]="searchPlaceholder.Tags | localize"></co-input-text>
161
164
  </co-transaction-filter-item>
162
165
  </div>
163
166
 
164
167
  <!--On hold codes-->
165
168
  <div class="filter-item-wrapper" lazyRender #lazyRenderOnHold="lazyRender">
166
169
  <co-transaction-filter-item *ngIf="lazyRenderOnHold.isShowing"
167
- [placeholder]="'ON_HOLD'"
168
- [collection]="onHoldCodes"
169
- (collectionChange)="filterRequestService.handleCollectionChangeForRange($event,'rangeOnHoldCodes')">
170
- <co-input-text [(model)]="searchRequest.tagRange" [placeholder]="'TAGS' | localize"></co-input-text>
170
+ [placeholder]="'ON_HOLD'"
171
+ [collection]="onHoldCodes"
172
+ (collectionChange)="filterRequestService.handleCollectionChangeForRange($event,'rangeOnHoldCodes')">
173
+ <co-input-text [(model)]="searchRequest.tagRange" [placeholder]="searchPlaceholder.OnHold | localize"></co-input-text>
171
174
  </co-transaction-filter-item>
172
175
  </div>
173
176
 
174
177
  <!--Order definitief-->
175
178
  <div class="filter-item-wrapper" lazyRender #lazyRenderTransDef="lazyRender">
176
179
  <co-transaction-filter-item *ngIf="lazyRenderTransDef.isShowing"
177
- [placeholder]="'ORDER_DEFINITIVE'"
178
- [customContent]="true">
180
+ [placeholder]="'ORDER_DEFINITIVE'"
181
+ [customContent]="true">
179
182
  <co-input-checkbox
180
183
  [model]="searchRequest.transactionDefinitive === 'J'"
181
184
  (modelChange)="filterRequestService.handleCheckboxValueChangeForString($event, 'transactionDefinitive')"
@@ -186,9 +189,10 @@ TransactionSalesOrderFilterContentOrderComponent.decorators = [
186
189
  <!--Commissiecode-->
187
190
  <div class="filter-item-wrapper" lazyRender #lazyRenderCommissionCodes="lazyRender">
188
191
  <co-transaction-filter-item *ngIf="lazyRenderCommissionCodes.isShowing"
189
- [placeholder]="'COMMISSION_CODE'"
190
- [collection]="commissionCodes"
191
- (collectionChange)="filterRequestService.handleCollectionChangeForArray($event, 'commissionCodes')"
192
+ [placeholder]="'COMMISSION_CODE'"
193
+ [searchCollectionPlaceholder]="searchPlaceholder.CommissionCode"
194
+ [collection]="commissionCodes"
195
+ (collectionChange)="filterRequestService.handleCollectionChangeForArray($event, 'commissionCodes')"
192
196
  >
193
197
  </co-transaction-filter-item>
194
198
  </div>
@@ -196,8 +200,8 @@ TransactionSalesOrderFilterContentOrderComponent.decorators = [
196
200
  <!--Inactieve transacties-->
197
201
  <div class="filter-item-wrapper" lazyRender #lazyRenderInactiveTrans="lazyRender">
198
202
  <co-transaction-filter-item *ngIf="lazyRenderInactiveTrans.isShowing"
199
- [placeholder]="'INACTIVE_TRANSACTIONS'"
200
- [customContent]="true">
203
+ [placeholder]="'INACTIVE_TRANSACTIONS'"
204
+ [customContent]="true">
201
205
  <co-input-checkbox
202
206
  [model]="searchRequest.active === false"
203
207
  (modelChange)="searchRequest.active = !$event"
@@ -209,21 +213,23 @@ TransactionSalesOrderFilterContentOrderComponent.decorators = [
209
213
  <!--Klantnaam-->
210
214
  <div class="filter-item-wrapper" lazyRender #lazyRenderRelationName="lazyRender">
211
215
  <co-transaction-filter-item *ngIf="lazyRenderRelationName.isShowing"
212
- [placeholder]="'CUSTOMER_NAME'"
213
- [singleSelect]="true"
214
- [minSearchCharsToLoadCollection]="3"
215
- [collectionLoadFn]="loadCustomers"
216
- (collectionChange)="filterRequestService.handleCollectionChangeForSingleSelect($event, 'relationName' )">
216
+ [placeholder]="'CUSTOMER_NAME'"
217
+ [searchCollectionPlaceholder]="searchPlaceholder.CustomerName"
218
+ [singleSelect]="true"
219
+ [minSearchCharsToLoadCollection]="3"
220
+ [collectionLoadFn]="loadCustomers"
221
+ (collectionChange)="filterRequestService.handleCollectionChangeForSingleSelect($event, 'relationName' )">
217
222
  </co-transaction-filter-item>
218
223
  </div>
219
224
 
220
225
  <!--Klantgroep-->
221
226
  <div class="filter-item-wrapper" lazyRender #lazyRenderCustomerGroup="lazyRender">
222
227
  <co-transaction-filter-item *ngIf="lazyRenderCustomerGroup.isShowing"
223
- [placeholder]="'CUSTOMER_GROUP'"
224
- [singleSelect]="true"
225
- [collection]="customerGroups"
226
- (collectionChange)="filterRequestService.handleCollectionChangeForSingleSelect($event, 'customerGroupId')">
228
+ [placeholder]="'CUSTOMER_GROUP'"
229
+ [searchCollectionPlaceholder]="searchPlaceholder.CustomerGroup"
230
+ [singleSelect]="true"
231
+ [collection]="customerGroups"
232
+ (collectionChange)="filterRequestService.handleCollectionChangeForSingleSelect($event, 'customerGroupId')">
227
233
  </co-transaction-filter-item>
228
234
  </div>
229
235
  </div>
@@ -239,4 +245,4 @@ TransactionSalesOrderFilterContentOrderComponent.ctorParameters = () => [
239
245
  TransactionSalesOrderFilterContentOrderComponent.propDecorators = {
240
246
  showClass: [{ type: HostBinding, args: ["class.co-transaction-search-filter-content",] }]
241
247
  };
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tc2FsZXMtb3JkZXItZmlsdGVyLWNvbnRlbnQtb3JkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tc2VhcmNoL3RyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50L3NhbGVzLW9yZGVyLWZpbHRlci1jb250ZW50L3RyYW5zYWN0aW9uLXNhbGVzLW9yZGVyLWZpbHRlci1jb250ZW50LW9yZGVyL3RyYW5zYWN0aW9uLXNhbGVzLW9yZGVyLWZpbHRlci1jb250ZW50LW9yZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJckQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBRW5GLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUM5RSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUN0SCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUlyRixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDeEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBZ0pqRixNQUFNLE9BQU8sZ0RBQWlELFNBQVEscUNBQXFDO0lBOEJ6RyxZQUNTLGFBQXVDLEVBQ3ZDLG9CQUEwQyxFQUMxQyxrQkFBc0MsRUFDdEMsZUFBZ0M7UUFFdkMsS0FBSyxDQUFDLGFBQWEsRUFBRSxvQkFB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QUFnQyxFQUFFLEVBQUU7WUFDekYsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ3JHLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQjtJQUNSLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUErQixFQUFFLEVBQUU7WUFDbkYsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ2xHLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBelBGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaURBQWlEO2dCQUMzRCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBJVDthQUNGOzs7WUFwSk8sd0JBQXdCO1lBRHhCLG9CQUFvQjtZQUZwQixrQkFBa0I7WUFPbEIsZUFBZTs7O3dCQW1KcEIsV0FBVyxTQUFDLDRDQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZ30gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtDb0RvbWFpblZhbHVlfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9tYWluLXZhbHVlLmJvXCI7XHJcbmltcG9ydCB7Q3VzdG9tZXJHcm91cH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jdXN0b21lci1ncm91cC5ib1wiO1xyXG5pbXBvcnQge09uSG9sZENvZGV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvb24taG9sZC1jb2RlLmJvXCI7XHJcbmltcG9ydCB7UmVsYXRpb25SZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtGaWx0ZXJJdGVtVmlld21vZGVsfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vbW9kZWwvZmlsdGVyLWl0ZW0udmlld21vZGVsXCI7XHJcbmltcG9ydCB7RmlsdGVyVmlld21vZGVsfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vbW9kZWwvZmlsdGVyLXZpZXdtb2RlbFwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRmlsdGVyQ29udGVudEJhc2VDb21wb25lbnR9IGZyb20gXCIuLi8uLi8uLi8uLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtGaWx0ZXJSZXF1ZXN0U2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvZmlsdGVyLXJlcXVlc3Quc2VydmljZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VhcmNoU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2VhcmNoLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUYWd9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC90YWdcIjtcclxuaW1wb3J0IHtTYWxlc1BlcnNvbn0gZnJvbSBcIkBjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9zYWxlcy1wZXJzb24uYm9cIjtcclxuaW1wb3J0IHtSZWxhdGlvbkxpc3RPYmplY3R9IGZyb20gXCJAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tbGlzdC1vYmplY3QuYm9cIjtcclxuaW1wb3J0IHtSZWxhdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlL3JlbGF0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtSZWxhdGlvbktpbmR9IGZyb20gXCJAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvZW51bS9yZWxhdGlvbi1raW5kLmVudW1cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tdHJhbnNhY3Rpb24tc2FsZXMtb3JkZXItZmlsdGVyLWNvbnRlbnQtb3JkZXInLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtb3JkZXItd3JhcHBlciB0cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC13cmFwcGVyXCIgbGF6eVJlbmRlck1hc3Rlcj5cclxuXHJcbiAgICAgIDwhLS1PcmRlcmRhdHVtLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCIgbGF6eVJlbmRlciAjbGF6eVJlbmRlck9yZGVyRGF0ZT1cImxhenlSZW5kZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gKm5nSWY9XCJsYXp5UmVuZGVyT3JkZXJEYXRlLmlzU2hvd2luZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInT1JERVJfREFURSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY3VzdG9tQ29udGVudF09XCJ0cnVlXCI+XHJcbiAgICAgICAgICA8Y28taW5wdXQtZGF0ZS1yYW5nZVxyXG4gICAgICAgICAgICBbc3RhcnREYXRlXT1cInRyYW5zU3RhcnREYXRlXCJcclxuICAgICAgICAgICAgW2VuZERhdGVdPVwidHJhbnNFbmREYXRlXCJcclxuICAgICAgICAgICAgKGRhdGVSYW5nZUNoYW5nZSk9XCJvbkRhdGVSYW5nZUNoYW5nZSgkZXZlbnQsICdyYW5nZVRyYW5zRGF0ZScpXCJcclxuICAgICAgICAgICAgKGNsZWFyZWQpPVwib25DbGVhcmVkRGF0ZVJhbmdlQ2hhbmdlKCdyYW5nZVRyYW5zRGF0ZScpXCJcclxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTRUxFQ1RfREFURScgfCBsb2NhbGl6ZVwiPlxyXG4gICAgICAgICAgPC9jby1pbnB1dC1kYXRlLXJhbmdlPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLUxldmVyZGF0dW0tLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIiBsYXp5UmVuZGVyICNsYXp5UmVuZGVyRGVsaXZlcnlEYXRlPVwibGF6eVJlbmRlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSAqbmdJZj1cImxhenlSZW5kZXJEZWxpdmVyeURhdGUuaXNTaG93aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidERUxJVkVSWV9EQVRFJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIj5cclxuICAgICAgICAgIDxjby1pbnB1dC1kYXRlLXJhbmdlXHJcbiAgICAgICAgICAgIFtzdGFydERhdGVdPVwiZGVsaXZlcnlTdGFydERhdGVcIlxyXG4gICAgICAgICAgICBbZW5kRGF0ZV09XCJkZWxpdmVyeUVuZERhdGVcIlxyXG4gICAgICAgICAgICAoZGF0ZVJhbmdlQ2hhbmdlKT1cIm9uRGF0ZVJhbmdlQ2hhbmdlKCRldmVudCwgJ2RlbGl2ZXJ5RGF0ZVJhbmdlJylcIlxyXG4gICAgICAgICAgICAoY2xlYXJlZCk9XCJvbkNsZWFyZWREYXRlUmFuZ2VDaGFuZ2UoJ2RlbGl2ZXJ5RGF0ZVJhbmdlJylcIlxyXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NFTEVDVF9EQVRFJyB8IGxvY2FsaXplXCI+XHJcbiAgICAgICAgICA8L2NvLWlucHV0LWRhdGUtcmFuZ2U+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tRmlsaWFhbC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiIGxhenlSZW5kZXIgI2xhenlSZW5kZXJCcmFuY2g9XCJsYXp5UmVuZGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtICpuZ0lmPVwibGF6eVJlbmRlckJyYW5jaC5pc1Nob3dpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0JSQU5DSCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJicmFuY2hlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjb2xsZWN0aW9uQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNvbGxlY3Rpb25DaGFuZ2VGb3JSYW5nZSgkZXZlbnQsICdyYW5nZUJyYW5jaElkJylcIj5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1WZXJrb3Blci0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiIGxhenlSZW5kZXIgI2xhenlSZW5kZXJIYW5kbGVkQnk9XCJsYXp5UmVuZGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtICpuZ0lmPVwibGF6eVJlbmRlckhhbmRsZWRCeS5pc1Nob3dpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0hBTkRMRURfQlknXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwic2FsZXNQZXJzb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvclJhbmdlKCRldmVudCwgJ3JhbmdlU2FsZXNQZXJzb24nKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLUVpZ2VuIHJlZmVyZW50aWUtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIiBsYXp5UmVuZGVyICNsYXp5UmVuZGVyVXNlclJlZmVyZW5jZT1cImxhenlSZW5kZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gKm5nSWY9XCJsYXp5UmVuZGVyVXNlclJlZmVyZW5jZS5pc1Nob3dpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ09XTl9SRUZFUkVOQ0UnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2N1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC51c2VyUmVmZXJlbmNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInT1dOX1JFRkVSRU5DRScgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1UYWdzLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCIgbGF6eVJlbmRlciAjbGF6eVJlbmRlclRhZ3M9XCJsYXp5UmVuZGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtICpuZ0lmPVwibGF6eVJlbmRlclRhZ3MuaXNTaG93aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidUQUdTJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cInRhZ3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJmaWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDb2xsZWN0aW9uQ2hhbmdlRm9yUmFuZ2UoJGV2ZW50LCAndGFnUmFuZ2UnKVwiPlxyXG4gICAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC50YWdSYW5nZVwiIFtwbGFjZWhvbGRlcl09XCInVEFHUycgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1PbiBob2xkIGNvZGVzLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCIgbGF6eVJlbmRlciAjbGF6eVJlbmRlck9uSG9sZD1cImxhenlSZW5kZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gKm5nSWY9XCJsYXp5UmVuZGVyT25Ib2xkLmlzU2hvd2luZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInT05fSE9MRCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJvbkhvbGRDb2Rlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjb2xsZWN0aW9uQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNvbGxlY3Rpb25DaGFuZ2VGb3JSYW5nZSgkZXZlbnQsJ3JhbmdlT25Ib2xkQ29kZXMnKVwiPlxyXG4gICAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC50YWdSYW5nZVwiIFtwbGFjZWhvbGRlcl09XCInVEFHUycgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1PcmRlciBkZWZpbml0aWVmLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCIgbGF6eVJlbmRlciAjbGF6eVJlbmRlclRyYW5zRGVmPVwibGF6eVJlbmRlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSAqbmdJZj1cImxhenlSZW5kZXJUcmFuc0RlZi5pc1Nob3dpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ09SREVSX0RFRklOSVRJVkUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2N1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94XHJcbiAgICAgICAgICAgIFttb2RlbF09XCJzZWFyY2hSZXF1ZXN0LnRyYW5zYWN0aW9uRGVmaW5pdGl2ZSA9PT0gJ0onXCJcclxuICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNoZWNrYm94VmFsdWVDaGFuZ2VGb3JTdHJpbmcoJGV2ZW50LCAndHJhbnNhY3Rpb25EZWZpbml0aXZlJylcIlxyXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ09SREVSX0RFRklOSVRJVkUnIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLUNvbW1pc3NpZWNvZGUtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIiBsYXp5UmVuZGVyICNsYXp5UmVuZGVyQ29tbWlzc2lvbkNvZGVzPVwibGF6eVJlbmRlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSAqbmdJZj1cImxhenlSZW5kZXJDb21taXNzaW9uQ29kZXMuaXNTaG93aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidDT01NSVNTSU9OX0NPREUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwiY29tbWlzc2lvbkNvZGVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvckFycmF5KCRldmVudCwgJ2NvbW1pc3Npb25Db2RlcycpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tSW5hY3RpZXZlIHRyYW5zYWN0aWVzLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCIgbGF6eVJlbmRlciAjbGF6eVJlbmRlckluYWN0aXZlVHJhbnM9XCJsYXp5UmVuZGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtICpuZ0lmPVwibGF6eVJlbmRlckluYWN0aXZlVHJhbnMuaXNTaG93aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidJTkFDVElWRV9UUkFOU0FDVElPTlMnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2N1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94XHJcbiAgICAgICAgICAgIFttb2RlbF09XCJzZWFyY2hSZXF1ZXN0LmFjdGl2ZSA9PT0gZmFsc2VcIlxyXG4gICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwic2VhcmNoUmVxdWVzdC5hY3RpdmUgPSAhJGV2ZW50XCJcclxuICAgICAgICAgICAgW2xhYmVsXT1cIidJTkFDVElWRV9UUkFOU0FDVElPTlMnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgPjwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tS2xhbnRuYWFtLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCIgbGF6eVJlbmRlciAjbGF6eVJlbmRlclJlbGF0aW9uTmFtZT1cImxhenlSZW5kZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gKm5nSWY9XCJsYXp5UmVuZGVyUmVsYXRpb25OYW1lLmlzU2hvd2luZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQ1VTVE9NRVJfTkFNRSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2luZ2xlU2VsZWN0XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWluU2VhcmNoQ2hhcnNUb0xvYWRDb2xsZWN0aW9uXT1cIjNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbkxvYWRGbl09XCJsb2FkQ3VzdG9tZXJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvclNpbmdsZVNlbGVjdCgkZXZlbnQsICdyZWxhdGlvbk5hbWUnIClcIj5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1LbGFudGdyb2VwLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCIgbGF6eVJlbmRlciAjbGF6eVJlbmRlckN1c3RvbWVyR3JvdXA9XCJsYXp5UmVuZGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtICpuZ0lmPVwibGF6eVJlbmRlckN1c3RvbWVyR3JvdXAuaXNTaG93aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidDVVNUT01FUl9HUk9VUCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2luZ2xlU2VsZWN0XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJjdXN0b21lckdyb3Vwc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjb2xsZWN0aW9uQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNvbGxlY3Rpb25DaGFuZ2VGb3JTaW5nbGVTZWxlY3QoJGV2ZW50LCAnY3VzdG9tZXJHcm91cElkJylcIj5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uU2FsZXNPcmRlckZpbHRlckNvbnRlbnRPcmRlckNvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uRmlsdGVyQ29udGVudEJhc2VDb21wb25lbnQge1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10cmFuc2FjdGlvbi1zZWFyY2gtZmlsdGVyLWNvbnRlbnRcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2FsZXNQZXJzb25zOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIHNhbGVzUGVyc29uc0ZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwibmFtZVwiLCB2YWx1ZTogXCJyZWxhdGlvbklkXCJ9O1xyXG5cclxuICBwdWJsaWMgdGFnczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyB0YWdzRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJ0YWdWYWx1ZUlkXCJ9O1xyXG5cclxuICBwdWJsaWMgYnJhbmNoZXM6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgYnJhbmNoRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJmYW1pbHlOYW1lXCIsIHZhbHVlOiBcInJlbGF0aW9uSWRcIn07XHJcblxyXG4gIHB1YmxpYyBvbkhvbGRDb2RlczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyBvbkhvbGRDb2RlRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJvbkhvbGRDb2RlXCJ9O1xyXG5cclxuICBwdWJsaWMgY29tbWlzc2lvbkNvZGVzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIGNvbW1pc3Npb25Db2RlRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJjb2RlXCJ9O1xyXG5cclxuICBwdWJsaWMgY3VzdG9tZXJHcm91cHM6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgY3VzdG9tZXJHcm91cEZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwibmFhbVwiLCB2YWx1ZTogXCJncm9lcHNudW1tZXJcIn07XHJcblxyXG4gIHB1YmxpYyB0cmFuc1N0YXJ0RGF0ZTogRGF0ZTtcclxuICBwdWJsaWMgdHJhbnNFbmREYXRlOiBEYXRlO1xyXG4gIHB1YmxpYyBkZWxpdmVyeVN0YXJ0RGF0ZTogRGF0ZTtcclxuICBwdWJsaWMgZGVsaXZlcnlFbmREYXRlOiBEYXRlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzZWFyY2hTZXJ2aWNlOiBUcmFuc2FjdGlvblNlYXJjaFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZmlsdGVyUmVxdWVzdFNlcnZpY2U6IEZpbHRlclJlcXVlc3RTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHVibGljIHJlbGF0aW9uU2VydmljZTogUmVsYXRpb25TZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgc3VwZXIoc2VhcmNoU2VydmljZSwgZmlsdGVyUmVxdWVzdFNlcnZpY2UsIHRyYW5zYWN0aW9uU2VydmljZSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NldFJhbmdlRGF0ZXMoKTtcclxuICAgIHRoaXMuX3NldFNhbGVzUGVyc29ucygpO1xyXG4gICAgdGhpcy5fc2V0VGFncygpO1xyXG4gICAgdGhpcy5fc2V0QnJhbmNoZXMoKTtcclxuICAgIHRoaXMuX3NldE9uSG9sZENvZGVzKCk7XHJcbiAgICB0aGlzLl9zZXRDb21taXNzaW9uQ29kZXMoKTtcclxuICAgIHRoaXMuX3NldEN1c3RvbWVyR3JvdXBzKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIGxvYWRDdXN0b21lcnMgPSBhc3luYyAobmFtZUZpbHRlcjogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCByZXF1ZXN0OiBSZWxhdGlvblJlcXVlc3QgPSBuZXcgUmVsYXRpb25SZXF1ZXN0KCk7XHJcbiAgICByZXF1ZXN0LmZhbWlseU5hbWUgPSBuYW1lRmlsdGVyO1xyXG4gICAgcmV0dXJuIHRoaXMucmVsYXRpb25TZXJ2aWNlLmdldFJlbGF0aW9uTGlzdE9iamVjdHMocmVxdWVzdCkudGhlbigocmVsYXRpb25zOiBSZWxhdGlvbkxpc3RPYmplY3RbXSkgPT4ge1xyXG4gICAgICByZXR1cm4gbmV3IEZpbHRlclZpZXdtb2RlbChyZWxhdGlvbnMsIHt0ZXh0OiAnZmFtaWx5TmFtZScsIHZhbHVlOiAnZmFtaWx5TmFtZSd9KS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0UmFuZ2VEYXRlcygpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNTdGFydERhdGUgPSB0aGlzLmZpbHRlclJlcXVlc3RTZXJ2aWNlLmdldERhdGVGcm9tRmlsdGVyUmVxdWVzdFJhbmdlKHRoaXMuc2VhcmNoUmVxdWVzdC5yYW5nZVRyYW5zRGF0ZSwgMCk7XHJcbiAgICB0aGlzLnRyYW5zRW5kRGF0ZSA9IHRoaXMuZmlsdGVyUmVxdWVzdFNlcnZpY2UuZ2V0RGF0ZUZyb21GaWx0ZXJSZXF1ZXN0UmFuZ2UodGhpcy5zZWFyY2hSZXF1ZXN0LnJhbmdlVHJhbnNEYXRlLCAxKTtcclxuICAgIHRoaXMuZGVsaXZlcnlTdGFydERhdGUgPSB0aGlzLmZpbHRlclJlcXVlc3RTZXJ2aWNlLmdldERhdGVGcm9tRmlsdGVyUmVxdWVzdFJhbmdlKHRoaXMuc2VhcmNoUmVxdWVzdC5kZWxpdmVyeURhdGVSYW5nZSwgMCk7XHJcbiAgICB0aGlzLmRlbGl2ZXJ5RW5kRGF0ZSA9IHRoaXMuZmlsdGVyUmVxdWVzdFNlcnZpY2UuZ2V0RGF0ZUZyb21GaWx0ZXJSZXF1ZXN0UmFuZ2UodGhpcy5zZWFyY2hSZXF1ZXN0LmRlbGl2ZXJ5RGF0ZVJhbmdlLCAxKTtcclxuICB9XHJcblxyXG4gIC8vVmVya29wZXJcclxuICBwcml2YXRlIF9zZXRTYWxlc1BlcnNvbnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRTYWxlc1BlcnNvbnMoKS50aGVuKChzYWxlc1BlcnNvbnM6IFNhbGVzUGVyc29uW10pID0+IHtcclxuICAgICAgdGhpcy5zYWxlc1BlcnNvbnMgPSBuZXcgRmlsdGVyVmlld21vZGVsKHNhbGVzUGVyc29ucywgdGhpcy5zYWxlc1BlcnNvbnNGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBUYWdzXHJcbiAgcHJpdmF0ZSBfc2V0VGFncygpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldFRhZ3MoMSkudGhlbigodGFnczogVGFnW10pID0+IHtcclxuICAgICAgdGhpcy50YWdzID0gbmV3IEZpbHRlclZpZXdtb2RlbCh0YWdzLCB0aGlzLnRhZ3NGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL0JyYW5jaGVzXHJcbiAgcHJpdmF0ZSBfc2V0QnJhbmNoZXMoKTogdm9pZCB7XHJcbiAgICBjb25zdCByZXF1ZXN0OiBSZWxhdGlvblJlcXVlc3QgPSBuZXcgUmVsYXRpb25SZXF1ZXN0KCk7XHJcbiAgICByZXF1ZXN0LnJlbGF0aW9uVHlwZSA9IFJlbGF0aW9uS2luZC5CcmFuY2g7XHJcbiAgICB0aGlzLnJlbGF0aW9uU2VydmljZS5nZXRSZWxhdGlvbkxpc3RPYmplY3RzKHJlcXVlc3QpLnRoZW4oKGJyYW5jaGVzOiBSZWxhdGlvbkxpc3RPYmplY3RbXSkgPT4ge1xyXG4gICAgICB0aGlzLmJyYW5jaGVzID0gbmV3IEZpbHRlclZpZXdtb2RlbChicmFuY2hlcywgdGhpcy5icmFuY2hGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL09uSG9sZENvZGVzXHJcbiAgcHJpdmF0ZSBfc2V0T25Ib2xkQ29kZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRPbkhvbGRDb2RlcygpLnRoZW4oKG9uSG9sZENvZGVzOiBPbkhvbGRDb2RlW10pID0+IHtcclxuICAgICAgdGhpcy5vbkhvbGRDb2RlcyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwob25Ib2xkQ29kZXMsIHRoaXMub25Ib2xkQ29kZUZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vQ29tbWlzc2lvbkNvZGVzXHJcbiAgcHJpdmF0ZSBfc2V0Q29tbWlzc2lvbkNvZGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0Q29tbWlzc2lvbkNvZGVzKFwiTkxcIikudGhlbigoY29tbWlzc2lvbkNvZGVzOiBDb0RvbWFpblZhbHVlW10pID0+IHtcclxuICAgICAgdGhpcy5jb21taXNzaW9uQ29kZXMgPSBuZXcgRmlsdGVyVmlld21vZGVsKGNvbW1pc3Npb25Db2RlcywgdGhpcy5jb21taXNzaW9uQ29kZUZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vQ3VzdG9tZXJHcm91cHNcclxuICBwcml2YXRlIF9zZXRDdXN0b21lckdyb3VwcygpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldEN1c3RvbWVyR3JvdXBzKCkudGhlbigoY3VzdG9tZXJHcm91cHM6IEN1c3RvbWVyR3JvdXBbXSkgPT4ge1xyXG4gICAgICB0aGlzLmN1c3RvbWVyR3JvdXBzID0gbmV3IEZpbHRlclZpZXdtb2RlbChjdXN0b21lckdyb3VwcywgdGhpcy5jdXN0b21lckdyb3VwRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tc2FsZXMtb3JkZXItZmlsdGVyLWNvbnRlbnQtb3JkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tc2VhcmNoL3RyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50L3NhbGVzLW9yZGVyLWZpbHRlci1jb250ZW50L3RyYW5zYWN0aW9uLXNhbGVzLW9yZGVyLWZpbHRlci1jb250ZW50LW9yZGVyL3RyYW5zYWN0aW9uLXNhbGVzLW9yZGVyLWZpbHRlci1jb250ZW50LW9yZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJckQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBRW5GLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUM5RSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUN0SCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUlyRixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDeEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBc0pqRixNQUFNLE9BQU8sZ0RBQWlELFNBQVEscUNBQXFDO0lBOEJ6RyxZQUNTLGFBQXVDLEVBQ3ZDLG9CQUEwQyxFQUMxQyxrQkFBc0MsRUFDdEMsZUFBZ0M7UUFFdkMsS0FBSyxDQUFDLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO1FBTHZELGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUN2Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBMUJsQyx1QkFBa0IsR0FBb0IsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUMsQ0FBQztRQUcxRSxlQUFVLEdBQW9CLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFDLENBQUM7UUFHekUsaUJBQVksR0FBb0IsRUFBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUMsQ0FBQztRQUcxRSxxQkFBZ0IsR0FBb0IsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUMsQ0FBQztRQUcvRSx5QkFBb0IsR0FBb0IsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsQ0FBQztRQUc3RSx3QkFBbUIsR0FBb0IsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUMsQ0FBQztRQTJCN0Usa0JBQWEsR0FBRyxDQUFPLFVBQWtCLEVBQUUsRUFBRTtZQUNsRCxNQUFNLE9BQU8sR0FBb0IsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUN2RCxPQUFPLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztZQUNoQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBK0IsRUFBRSxFQUFFO2dCQUNuRyxPQUFPLElBQUksZUFBZSxDQUFDLFNBQVMsRUFBRSxFQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1lBQy9GLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFBLENBQUE7SUFuQkQsQ0FBQztJQWxDTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBa0NNLFFBQVE7UUFDYixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQVdPLGNBQWM7UUFDcEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDcEgsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEgsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFILElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUgsQ0FBQztJQUVELFVBQVU7SUFDRixnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQTJCLEVBQUUsRUFBRTtZQUM3RSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksZUFBZSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDN0YsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTztJQUNDLFFBQVE7UUFDZCxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQVcsRUFBRSxFQUFFO1lBQ3RELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDckUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVTtJQUNGLFlBQVk7UUFDbEIsTUFBTSxPQUFPLEdBQW9CLElBQUksZUFBZSxFQUFFLENBQUM7UUFDdkQsT0FBTyxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDO1FBQzNDLElBQUksQ0FBQyxlQUFlLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBOEIsRUFBRSxFQUFFO1lBQzNGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxlQUFlLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDL0UsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYTtJQUNMLGVBQWU7UUFDckIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQXlCLEVBQUUsRUFBRTtZQUMxRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksZUFBZSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDekYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsaUJBQWlCO0lBQ1QsbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxlQUFnQyxFQUFFLEVBQUU7WUFDekYsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ3JHLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQjtJQUNSLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUErQixFQUFFLEVBQUU7WUFDbkYsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ2xHLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBL1BGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaURBQWlEO2dCQUMzRCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdKVDthQUNGOzs7WUExSk8sd0JBQXdCO1lBRHhCLG9CQUFvQjtZQUZwQixrQkFBa0I7WUFPbEIsZUFBZTs7O3dCQXlKcEIsV0FBVyxTQUFDLDRDQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZ30gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtDb0RvbWFpblZhbHVlfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9tYWluLXZhbHVlLmJvXCI7XHJcbmltcG9ydCB7Q3VzdG9tZXJHcm91cH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jdXN0b21lci1ncm91cC5ib1wiO1xyXG5pbXBvcnQge09uSG9sZENvZGV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvb24taG9sZC1jb2RlLmJvXCI7XHJcbmltcG9ydCB7UmVsYXRpb25SZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtGaWx0ZXJJdGVtVmlld21vZGVsfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vbW9kZWwvZmlsdGVyLWl0ZW0udmlld21vZGVsXCI7XHJcbmltcG9ydCB7RmlsdGVyVmlld21vZGVsfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vbW9kZWwvZmlsdGVyLXZpZXdtb2RlbFwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRmlsdGVyQ29udGVudEJhc2VDb21wb25lbnR9IGZyb20gXCIuLi8uLi8uLi8uLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtGaWx0ZXJSZXF1ZXN0U2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvZmlsdGVyLXJlcXVlc3Quc2VydmljZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VhcmNoU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2VhcmNoLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUYWd9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC90YWdcIjtcclxuaW1wb3J0IHtTYWxlc1BlcnNvbn0gZnJvbSBcIkBjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9zYWxlcy1wZXJzb24uYm9cIjtcclxuaW1wb3J0IHtSZWxhdGlvbkxpc3RPYmplY3R9IGZyb20gXCJAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tbGlzdC1vYmplY3QuYm9cIjtcclxuaW1wb3J0IHtSZWxhdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlL3JlbGF0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtSZWxhdGlvbktpbmR9IGZyb20gXCJAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvZW51bS9yZWxhdGlvbi1raW5kLmVudW1cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tdHJhbnNhY3Rpb24tc2FsZXMtb3JkZXItZmlsdGVyLWNvbnRlbnQtb3JkZXInLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtb3JkZXItd3JhcHBlciB0cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC13cmFwcGVyXCIgbGF6eVJlbmRlck1hc3Rlcj5cclxuXHJcbiAgICAgIDwhLS1PcmRlcmRhdHVtLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCIgbGF6eVJlbmRlciAjbGF6eVJlbmRlck9yZGVyRGF0ZT1cImxhenlSZW5kZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gKm5nSWY9XCJsYXp5UmVuZGVyT3JkZXJEYXRlLmlzU2hvd2luZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInT1JERVJfREFURSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY3VzdG9tQ29udGVudF09XCJ0cnVlXCI+XHJcbiAgICAgICAgICA8Y28taW5wdXQtZGF0ZS1yYW5nZVxyXG4gICAgICAgICAgICBbc3RhcnREYXRlXT1cInRyYW5zU3RhcnREYXRlXCJcclxuICAgICAgICAgICAgW2VuZERhdGVdPVwidHJhbnNFbmREYXRlXCJcclxuICAgICAgICAgICAgKGRhdGVSYW5nZUNoYW5nZSk9XCJvbkRhdGVSYW5nZUNoYW5nZSgkZXZlbnQsICdyYW5nZVRyYW5zRGF0ZScpXCJcclxuICAgICAgICAgICAgKGNsZWFyZWQpPVwib25DbGVhcmVkRGF0ZVJhbmdlQ2hhbmdlKCdyYW5nZVRyYW5zRGF0ZScpXCJcclxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTRUxFQ1RfREFURScgfCBsb2NhbGl6ZVwiPlxyXG4gICAgICAgICAgPC9jby1pbnB1dC1kYXRlLXJhbmdlPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLUxldmVyZGF0dW0tLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIiBsYXp5UmVuZGVyICNsYXp5UmVuZGVyRGVsaXZlcnlEYXRlPVwibGF6eVJlbmRlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSAqbmdJZj1cImxhenlSZW5kZXJEZWxpdmVyeURhdGUuaXNTaG93aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidERUxJVkVSWV9EQVRFJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIj5cclxuICAgICAgICAgIDxjby1pbnB1dC1kYXRlLXJhbmdlXHJcbiAgICAgICAgICAgIFtzdGFydERhdGVdPVwiZGVsaXZlcnlTdGFydERhdGVcIlxyXG4gICAgICAgICAgICBbZW5kRGF0ZV09XCJkZWxpdmVyeUVuZERhdGVcIlxyXG4gICAgICAgICAgICAoZGF0ZVJhbmdlQ2hhbmdlKT1cIm9uRGF0ZVJhbmdlQ2hhbmdlKCRldmVudCwgJ2RlbGl2ZXJ5RGF0ZVJhbmdlJylcIlxyXG4gICAgICAgICAgICAoY2xlYXJlZCk9XCJvbkNsZWFyZWREYXRlUmFuZ2VDaGFuZ2UoJ2RlbGl2ZXJ5RGF0ZVJhbmdlJylcIlxyXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NFTEVDVF9EQVRFJyB8IGxvY2FsaXplXCI+XHJcbiAgICAgICAgICA8L2NvLWlucHV0LWRhdGUtcmFuZ2U+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tRmlsaWFhbC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiIGxhenlSZW5kZXIgI2xhenlSZW5kZXJCcmFuY2g9XCJsYXp5UmVuZGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtICpuZ0lmPVwibGF6eVJlbmRlckJyYW5jaC5pc1Nob3dpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0JSQU5DSCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoQ29sbGVjdGlvblBsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyLkJyYW5jaFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cImJyYW5jaGVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvclJhbmdlKCRldmVudCwgJ3JhbmdlQnJhbmNoSWQnKVwiPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLVZlcmtvcGVyLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCIgbGF6eVJlbmRlciAjbGF6eVJlbmRlckhhbmRsZWRCeT1cImxhenlSZW5kZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gKm5nSWY9XCJsYXp5UmVuZGVySGFuZGxlZEJ5LmlzU2hvd2luZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInSEFORExFRF9CWSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoQ29sbGVjdGlvblBsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyLlNhbGVzUGVyc29uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwic2FsZXNQZXJzb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvclJhbmdlKCRldmVudCwgJ3JhbmdlU2FsZXNQZXJzb24nKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLUVpZ2VuIHJlZmVyZW50aWUtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIiBsYXp5UmVuZGVyICNsYXp5UmVuZGVyVXNlclJlZmVyZW5jZT1cImxhenlSZW5kZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gKm5nSWY9XCJsYXp5UmVuZGVyVXNlclJlZmVyZW5jZS5pc1Nob3dpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ09XTl9SRUZFUkVOQ0UnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2N1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC51c2VyUmVmZXJlbmNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlci5Pd25SZWZlcmVuY2UgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1UYWdzLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCIgbGF6eVJlbmRlciAjbGF6eVJlbmRlclRhZ3M9XCJsYXp5UmVuZGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtICpuZ0lmPVwibGF6eVJlbmRlclRhZ3MuaXNTaG93aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidUQUdTJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hDb2xsZWN0aW9uUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIuVGFnc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cInRhZ3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJmaWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDb2xsZWN0aW9uQ2hhbmdlRm9yUmFuZ2UoJGV2ZW50LCAndGFnUmFuZ2UnKVwiPlxyXG4gICAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC50YWdSYW5nZVwiIFtwbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlci5UYWdzIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tT24gaG9sZCBjb2Rlcy0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiIGxhenlSZW5kZXIgI2xhenlSZW5kZXJPbkhvbGQ9XCJsYXp5UmVuZGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtICpuZ0lmPVwibGF6eVJlbmRlck9uSG9sZC5pc1Nob3dpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ09OX0hPTEQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwib25Ib2xkQ29kZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJmaWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDb2xsZWN0aW9uQ2hhbmdlRm9yUmFuZ2UoJGV2ZW50LCdyYW5nZU9uSG9sZENvZGVzJylcIj5cclxuICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInNlYXJjaFJlcXVlc3QudGFnUmFuZ2VcIiBbcGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIuT25Ib2xkIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tT3JkZXIgZGVmaW5pdGllZi0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiIGxhenlSZW5kZXIgI2xhenlSZW5kZXJUcmFuc0RlZj1cImxhenlSZW5kZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gKm5nSWY9XCJsYXp5UmVuZGVyVHJhbnNEZWYuaXNTaG93aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidPUkRFUl9ERUZJTklUSVZFJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIj5cclxuICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICBbbW9kZWxdPVwic2VhcmNoUmVxdWVzdC50cmFuc2FjdGlvbkRlZmluaXRpdmUgPT09ICdKJ1wiXHJcbiAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJmaWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDaGVja2JveFZhbHVlQ2hhbmdlRm9yU3RyaW5nKCRldmVudCwgJ3RyYW5zYWN0aW9uRGVmaW5pdGl2ZScpXCJcclxuICAgICAgICAgICAgW2xhYmVsXT1cIidPUkRFUl9ERUZJTklUSVZFJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1Db21taXNzaWVjb2RlLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCIgbGF6eVJlbmRlciAjbGF6eVJlbmRlckNvbW1pc3Npb25Db2Rlcz1cImxhenlSZW5kZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gKm5nSWY9XCJsYXp5UmVuZGVyQ29tbWlzc2lvbkNvZGVzLmlzU2hvd2luZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQ09NTUlTU0lPTl9DT0RFJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hDb2xsZWN0aW9uUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIuQ29tbWlzc2lvbkNvZGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJjb21taXNzaW9uQ29kZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJmaWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDb2xsZWN0aW9uQ2hhbmdlRm9yQXJyYXkoJGV2ZW50LCAnY29tbWlzc2lvbkNvZGVzJylcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1JbmFjdGlldmUgdHJhbnNhY3RpZXMtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIiBsYXp5UmVuZGVyICNsYXp5UmVuZGVySW5hY3RpdmVUcmFucz1cImxhenlSZW5kZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gKm5nSWY9XCJsYXp5UmVuZGVySW5hY3RpdmVUcmFucy5pc1Nob3dpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0lOQUNUSVZFX1RSQU5TQUNUSU9OUydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY3VzdG9tQ29udGVudF09XCJ0cnVlXCI+XHJcbiAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3hcclxuICAgICAgICAgICAgW21vZGVsXT1cInNlYXJjaFJlcXVlc3QuYWN0aXZlID09PSBmYWxzZVwiXHJcbiAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJzZWFyY2hSZXF1ZXN0LmFjdGl2ZSA9ICEkZXZlbnRcIlxyXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ0lOQUNUSVZFX1RSQU5TQUNUSU9OUycgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICA+PC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1LbGFudG5hYW0tLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIiBsYXp5UmVuZGVyICNsYXp5UmVuZGVyUmVsYXRpb25OYW1lPVwibGF6eVJlbmRlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSAqbmdJZj1cImxhenlSZW5kZXJSZWxhdGlvbk5hbWUuaXNTaG93aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidDVVNUT01FUl9OQU1FJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hDb2xsZWN0aW9uUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIuQ3VzdG9tZXJOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NpbmdsZVNlbGVjdF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21pblNlYXJjaENoYXJzVG9Mb2FkQ29sbGVjdGlvbl09XCIzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25Mb2FkRm5dPVwibG9hZEN1c3RvbWVyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb2xsZWN0aW9uQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNvbGxlY3Rpb25DaGFuZ2VGb3JTaW5nbGVTZWxlY3QoJGV2ZW50LCAncmVsYXRpb25OYW1lJyApXCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tS2xhbnRncm9lcC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiIGxhenlSZW5kZXIgI2xhenlSZW5kZXJDdXN0b21lckdyb3VwPVwibGF6eVJlbmRlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSAqbmdJZj1cImxhenlSZW5kZXJDdXN0b21lckdyb3VwLmlzU2hvd2luZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQ1VTVE9NRVJfR1JPVVAnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaENvbGxlY3Rpb25QbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlci5DdXN0b21lckdyb3VwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NpbmdsZVNlbGVjdF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwiY3VzdG9tZXJHcm91cHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJmaWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDb2xsZWN0aW9uQ2hhbmdlRm9yU2luZ2xlU2VsZWN0KCRldmVudCwgJ2N1c3RvbWVyR3JvdXBJZCcpXCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICBgXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvblNhbGVzT3JkZXJGaWx0ZXJDb250ZW50T3JkZXJDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkZpbHRlckNvbnRlbnRCYXNlQ29tcG9uZW50IHtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdHJhbnNhY3Rpb24tc2VhcmNoLWZpbHRlci1jb250ZW50XCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNhbGVzUGVyc29uczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyBzYWxlc1BlcnNvbnNGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcIm5hbWVcIiwgdmFsdWU6IFwicmVsYXRpb25JZFwifTtcclxuXHJcbiAgcHVibGljIHRhZ3M6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgdGFnc0ZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwidGFnVmFsdWVJZFwifTtcclxuXHJcbiAgcHVibGljIGJyYW5jaGVzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIGJyYW5jaEZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwiZmFtaWx5TmFtZVwiLCB2YWx1ZTogXCJyZWxhdGlvbklkXCJ9O1xyXG5cclxuICBwdWJsaWMgb25Ib2xkQ29kZXM6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgb25Ib2xkQ29kZUZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwib25Ib2xkQ29kZVwifTtcclxuXHJcbiAgcHVibGljIGNvbW1pc3Npb25Db2RlczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyBjb21taXNzaW9uQ29kZUZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwiY29kZVwifTtcclxuXHJcbiAgcHVibGljIGN1c3RvbWVyR3JvdXBzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIGN1c3RvbWVyR3JvdXBGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcIm5hYW1cIiwgdmFsdWU6IFwiZ3JvZXBzbnVtbWVyXCJ9O1xyXG5cclxuICBwdWJsaWMgdHJhbnNTdGFydERhdGU6IERhdGU7XHJcbiAgcHVibGljIHRyYW5zRW5kRGF0ZTogRGF0ZTtcclxuICBwdWJsaWMgZGVsaXZlcnlTdGFydERhdGU6IERhdGU7XHJcbiAgcHVibGljIGRlbGl2ZXJ5RW5kRGF0ZTogRGF0ZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgc2VhcmNoU2VydmljZTogVHJhbnNhY3Rpb25TZWFyY2hTZXJ2aWNlLFxyXG4gICAgcHVibGljIGZpbHRlclJlcXVlc3RTZXJ2aWNlOiBGaWx0ZXJSZXF1ZXN0U2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICAgIHB1YmxpYyByZWxhdGlvblNlcnZpY2U6IFJlbGF0aW9uU2VydmljZSxcclxuICApIHtcclxuICAgIHN1cGVyKHNlYXJjaFNlcnZpY2UsIGZpbHRlclJlcXVlc3RTZXJ2aWNlLCB0cmFuc2FjdGlvblNlcnZpY2UpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zZXRSYW5nZURhdGVzKCk7XHJcbiAgICB0aGlzLl9zZXRTYWxlc1BlcnNvbnMoKTtcclxuICAgIHRoaXMuX3NldFRhZ3MoKTtcclxuICAgIHRoaXMuX3NldEJyYW5jaGVzKCk7XHJcbiAgICB0aGlzLl9zZXRPbkhvbGRDb2RlcygpO1xyXG4gICAgdGhpcy5fc2V0Q29tbWlzc2lvbkNvZGVzKCk7XHJcbiAgICB0aGlzLl9zZXRDdXN0b21lckdyb3VwcygpO1xyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBsb2FkQ3VzdG9tZXJzID0gYXN5bmMgKG5hbWVGaWx0ZXI6IHN0cmluZykgPT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdDogUmVsYXRpb25SZXF1ZXN0ID0gbmV3IFJlbGF0aW9uUmVxdWVzdCgpO1xyXG4gICAgcmVxdWVzdC5mYW1pbHlOYW1lID0gbmFtZUZpbHRlcjtcclxuICAgIHJldHVybiB0aGlzLnJlbGF0aW9uU2VydmljZS5nZXRSZWxhdGlvbkxpc3RPYmplY3RzKHJlcXVlc3QpLnRoZW4oKHJlbGF0aW9uczogUmVsYXRpb25MaXN0T2JqZWN0W10pID0+IHtcclxuICAgICAgcmV0dXJuIG5ldyBGaWx0ZXJWaWV3bW9kZWwocmVsYXRpb25zLCB7dGV4dDogJ2ZhbWlseU5hbWUnLCB2YWx1ZTogJ2ZhbWlseU5hbWUnfSkuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldFJhbmdlRGF0ZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zU3RhcnREYXRlID0gdGhpcy5maWx0ZXJSZXF1ZXN0U2VydmljZS5nZXREYXRlRnJvbUZpbHRlclJlcXVlc3RSYW5nZSh0aGlzLnNlYXJjaFJlcXVlc3QucmFuZ2VUcmFuc0RhdGUsIDApO1xyXG4gICAgdGhpcy50cmFuc0VuZERhdGUgPSB0aGlzLmZpbHRlclJlcXVlc3RTZXJ2aWNlLmdldERhdGVGcm9tRmlsdGVyUmVxdWVzdFJhbmdlKHRoaXMuc2VhcmNoUmVxdWVzdC5yYW5nZVRyYW5zRGF0ZSwgMSk7XHJcbiAgICB0aGlzLmRlbGl2ZXJ5U3RhcnREYXRlID0gdGhpcy5maWx0ZXJSZXF1ZXN0U2VydmljZS5nZXREYXRlRnJvbUZpbHRlclJlcXVlc3RSYW5nZSh0aGlzLnNlYXJjaFJlcXVlc3QuZGVsaXZlcnlEYXRlUmFuZ2UsIDApO1xyXG4gICAgdGhpcy5kZWxpdmVyeUVuZERhdGUgPSB0aGlzLmZpbHRlclJlcXVlc3RTZXJ2aWNlLmdldERhdGVGcm9tRmlsdGVyUmVxdWVzdFJhbmdlKHRoaXMuc2VhcmNoUmVxdWVzdC5kZWxpdmVyeURhdGVSYW5nZSwgMSk7XHJcbiAgfVxyXG5cclxuICAvL1ZlcmtvcGVyXHJcbiAgcHJpdmF0ZSBfc2V0U2FsZXNQZXJzb25zKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0U2FsZXNQZXJzb25zKCkudGhlbigoc2FsZXNQZXJzb25zOiBTYWxlc1BlcnNvbltdKSA9PiB7XHJcbiAgICAgIHRoaXMuc2FsZXNQZXJzb25zID0gbmV3IEZpbHRlclZpZXdtb2RlbChzYWxlc1BlcnNvbnMsIHRoaXMuc2FsZXNQZXJzb25zRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gVGFnc1xyXG4gIHByaXZhdGUgX3NldFRhZ3MoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRUYWdzKDEpLnRoZW4oKHRhZ3M6IFRhZ1tdKSA9PiB7XHJcbiAgICAgIHRoaXMudGFncyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwodGFncywgdGhpcy50YWdzRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9CcmFuY2hlc1xyXG4gIHByaXZhdGUgX3NldEJyYW5jaGVzKCk6IHZvaWQge1xyXG4gICAgY29uc3QgcmVxdWVzdDogUmVsYXRpb25SZXF1ZXN0ID0gbmV3IFJlbGF0aW9uUmVxdWVzdCgpO1xyXG4gICAgcmVxdWVzdC5yZWxhdGlvblR5cGUgPSBSZWxhdGlvbktpbmQuQnJhbmNoO1xyXG4gICAgdGhpcy5yZWxhdGlvblNlcnZpY2UuZ2V0UmVsYXRpb25MaXN0T2JqZWN0cyhyZXF1ZXN0KS50aGVuKChicmFuY2hlczogUmVsYXRpb25MaXN0T2JqZWN0W10pID0+IHtcclxuICAgICAgdGhpcy5icmFuY2hlcyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwoYnJhbmNoZXMsIHRoaXMuYnJhbmNoRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9PbkhvbGRDb2Rlc1xyXG4gIHByaXZhdGUgX3NldE9uSG9sZENvZGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0T25Ib2xkQ29kZXMoKS50aGVuKChvbkhvbGRDb2RlczogT25Ib2xkQ29kZVtdKSA9PiB7XHJcbiAgICAgIHRoaXMub25Ib2xkQ29kZXMgPSBuZXcgRmlsdGVyVmlld21vZGVsKG9uSG9sZENvZGVzLCB0aGlzLm9uSG9sZENvZGVGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL0NvbW1pc3Npb25Db2Rlc1xyXG4gIHByaXZhdGUgX3NldENvbW1pc3Npb25Db2RlcygpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldENvbW1pc3Npb25Db2RlcyhcIk5MXCIpLnRoZW4oKGNvbW1pc3Npb25Db2RlczogQ29Eb21haW5WYWx1ZVtdKSA9PiB7XHJcbiAgICAgIHRoaXMuY29tbWlzc2lvbkNvZGVzID0gbmV3IEZpbHRlclZpZXdtb2RlbChjb21taXNzaW9uQ29kZXMsIHRoaXMuY29tbWlzc2lvbkNvZGVGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL0N1c3RvbWVyR3JvdXBzXHJcbiAgcHJpdmF0ZSBfc2V0Q3VzdG9tZXJHcm91cHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRDdXN0b21lckdyb3VwcygpLnRoZW4oKGN1c3RvbWVyR3JvdXBzOiBDdXN0b21lckdyb3VwW10pID0+IHtcclxuICAgICAgdGhpcy5jdXN0b21lckdyb3VwcyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwoY3VzdG9tZXJHcm91cHMsIHRoaXMuY3VzdG9tZXJHcm91cEZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
@@ -7,8 +7,8 @@ export class TransactionFilterItemComponent {
7
7
  this.placeholder = '';
8
8
  this.customContent = false;
9
9
  this.singleSelect = false;
10
- this.collectionChange = new EventEmitter();
11
10
  this.searchCollectionPlaceholder = "SEARCH_IN_COLLECTION";
11
+ this.collectionChange = new EventEmitter();
12
12
  this.searchPlaceholder = "SEARCH";
13
13
  this.noResultsLabel = "NO_RESULTS";
14
14
  this.showMoreLabel = "SHOW_MORE";
@@ -57,7 +57,8 @@ TransactionFilterItemComponent.propDecorators = {
57
57
  customContent: [{ type: Input }],
58
58
  singleSelect: [{ type: Input }],
59
59
  minSearchCharsToLoadCollection: [{ type: Input }],
60
+ searchCollectionPlaceholder: [{ type: Input }],
60
61
  collectionLoadFn: [{ type: Input }],
61
62
  collectionChange: [{ type: Output }]
62
63
  };
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tc2VhcmNoL3RyYW5zYWN0aW9uLWZpbHRlci1pdGVtL3RyYW5zYWN0aW9uLWZpbHRlci1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBMEJqRixNQUFNLE9BQU8sOEJBQThCO0lBdUJ6QyxZQUFtQixhQUF1QztRQUF2QyxrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUFwQm5ELGVBQVUsR0FBVSxFQUFFLENBQUM7UUFHdkIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFHekIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFHL0IsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFTOUIscUJBQWdCLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFJOUQsZ0NBQTJCLEdBQVcsc0JBQXNCLENBQUM7UUFDN0Qsc0JBQWlCLEdBQVcsUUFBUSxDQUFDO1FBQ3JDLG1CQUFjLEdBQVcsWUFBWSxDQUFDO1FBQ3RDLGtCQUFhLEdBQVcsV0FBVyxDQUFDO1FBQ3BDLGtCQUFhLEdBQVcsV0FBVyxDQUFBO1FBQ25DLHNCQUFpQixHQUFXLG1CQUFtQixDQUFDO0lBUEssQ0FBQztJQVN0RCxxQkFBcUI7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU8sWUFBWTtRQUNsQixNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDOzs7WUE5REYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw0QkFBNEI7Z0JBQ3RDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUF6QlEsd0JBQXdCOzs7eUJBNEI5QixLQUFLOzBCQUdMLEtBQUs7NEJBR0wsS0FBSzsyQkFHTCxLQUFLOzZDQUdMLEtBQUs7K0JBR0wsS0FBSzsrQkFHTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVHJhbnNhY3Rpb25TZWFyY2hTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2VhcmNoLnNlcnZpY2VcIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbVwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28tZmlsdGVyLWl0ZW0gW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2luZ2xlU2VsZWN0XT1cInNpbmdsZVNlbGVjdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2N1c3RvbUNvbnRlbnRdPVwiY3VzdG9tQ29udGVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwiY29sbGVjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21pblNlYXJjaENoYXJzVG9Mb2FkQ29sbGVjdGlvbl09XCJtaW5TZWFyY2hDaGFyc1RvTG9hZENvbGxlY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uTG9hZEZuXT1cImNvbGxlY3Rpb25Mb2FkRm5cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzZWFyY2hQbGFjZWhvbGRlcl09XCJzZWFyY2hDb2xsZWN0aW9uUGxhY2Vob2xkZXIgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25vUmVzdWx0c0xhYmVsXT1cIm5vUmVzdWx0c0xhYmVsIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzaG93TW9yZUxhYmVsXT1cInNob3dNb3JlTGFiZWwgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dMZXNzTGFiZWxdPVwic2hvd0xlc3NMYWJlbCB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICBbZmlsdGVyQnV0dG9uTGFiZWxdPVwiZmlsdGVyQnV0dG9uTGFiZWwgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiY29sbGVjdGlvbkNoYW5nZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChmaWx0ZXJCdXR0b25DbGlja2VkKT1cIm9uRmlsdGVyQnV0dG9uQ2xpY2tlZCgpXCJcclxuICAgID5cclxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPC9jby1maWx0ZXItaXRlbT5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uRmlsdGVySXRlbUNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNvbGxlY3Rpb246IGFueVtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY3VzdG9tQ29udGVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaW5nbGVTZWxlY3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbWluU2VhcmNoQ2hhcnNUb0xvYWRDb2xsZWN0aW9uOiBudW1iZXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNvbGxlY3Rpb25Mb2FkRm46IEZ1bmN0aW9uO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY29sbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHNlYXJjaFNlcnZpY2U6IFRyYW5zYWN0aW9uU2VhcmNoU2VydmljZSl7fVxyXG5cclxuICBwdWJsaWMgc2VhcmNoQ29sbGVjdGlvblBsYWNlaG9sZGVyOiBzdHJpbmcgPSBcIlNFQVJDSF9JTl9DT0xMRUNUSU9OXCI7XHJcbiAgcHVibGljIHNlYXJjaFBsYWNlaG9sZGVyOiBzdHJpbmcgPSBcIlNFQVJDSFwiO1xyXG4gIHB1YmxpYyBub1Jlc3VsdHNMYWJlbDogc3RyaW5nID0gXCJOT19SRVNVTFRTXCI7XHJcbiAgcHVibGljIHNob3dNb3JlTGFiZWw6IHN0cmluZyA9IFwiU0hPV19NT1JFXCI7XHJcbiAgcHVibGljIHNob3dMZXNzTGFiZWw6IHN0cmluZyA9IFwiU0hPV19MRVNTXCJcclxuICBwdWJsaWMgZmlsdGVyQnV0dG9uTGFiZWw6IHN0cmluZyA9IFwiU0VBUkNIX0lNUEVSQVRJVkVcIjtcclxuXHJcbiAgcHVibGljIG9uRmlsdGVyQnV0dG9uQ2xpY2tlZCgpOiB2b2lke1xyXG4gICAgdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaFRyYW5zYWN0aW9ucygpO1xyXG4gICAgdGhpcy5fc2Nyb2xsVG9Ub3AoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3Njcm9sbFRvVG9wKCk6IHZvaWQge1xyXG4gICAgd2luZG93LnNjcm9sbFRvKHsgdG9wOiAwLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tc2VhcmNoL3RyYW5zYWN0aW9uLWZpbHRlci1pdGVtL3RyYW5zYWN0aW9uLWZpbHRlci1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBMEJqRixNQUFNLE9BQU8sOEJBQThCO0lBMEJ6QyxZQUFtQixhQUF1QztRQUF2QyxrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUF2Qm5ELGVBQVUsR0FBVSxFQUFFLENBQUM7UUFHdkIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFHekIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFHL0IsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFNOUIsZ0NBQTJCLEdBQVcsc0JBQXNCLENBQUM7UUFNN0QscUJBQWdCLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFJOUQsc0JBQWlCLEdBQVcsUUFBUSxDQUFDO1FBQ3JDLG1CQUFjLEdBQVcsWUFBWSxDQUFDO1FBQ3RDLGtCQUFhLEdBQVcsV0FBVyxDQUFDO1FBQ3BDLGtCQUFhLEdBQVcsV0FBVyxDQUFBO1FBQ25DLHNCQUFpQixHQUFXLG1CQUFtQixDQUFDO0lBTkssQ0FBQztJQVF0RCxxQkFBcUI7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU8sWUFBWTtRQUNsQixNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDOzs7WUFoRUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw0QkFBNEI7Z0JBQ3RDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUF6QlEsd0JBQXdCOzs7eUJBNEI5QixLQUFLOzBCQUdMLEtBQUs7NEJBR0wsS0FBSzsyQkFHTCxLQUFLOzZDQUdMLEtBQUs7MENBR0wsS0FBSzsrQkFHTCxLQUFLOytCQUdMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBUcmFuc2FjdGlvblNlYXJjaFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZS90cmFuc2FjdGlvbi1zZWFyY2guc2VydmljZVwiO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjby1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzaW5nbGVTZWxlY3RdPVwic2luZ2xlU2VsZWN0XCJcclxuICAgICAgICAgICAgICAgICAgICBbY3VzdG9tQ29udGVudF09XCJjdXN0b21Db250ZW50XCJcclxuICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJjb2xsZWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICBbbWluU2VhcmNoQ2hhcnNUb0xvYWRDb2xsZWN0aW9uXT1cIm1pblNlYXJjaENoYXJzVG9Mb2FkQ29sbGVjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25Mb2FkRm5dPVwiY29sbGVjdGlvbkxvYWRGblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3NlYXJjaFBsYWNlaG9sZGVyXT1cInNlYXJjaENvbGxlY3Rpb25QbGFjZWhvbGRlciB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICBbbm9SZXN1bHRzTGFiZWxdPVwibm9SZXN1bHRzTGFiZWwgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dNb3JlTGFiZWxdPVwic2hvd01vcmVMYWJlbCB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2hvd0xlc3NMYWJlbF09XCJzaG93TGVzc0xhYmVsIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtmaWx0ZXJCdXR0b25MYWJlbF09XCJmaWx0ZXJCdXR0b25MYWJlbCB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJjb2xsZWN0aW9uQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGZpbHRlckJ1dHRvbkNsaWNrZWQpPVwib25GaWx0ZXJCdXR0b25DbGlja2VkKClcIlxyXG4gICAgPlxyXG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25GaWx0ZXJJdGVtQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY29sbGVjdGlvbjogYW55W10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjdXN0b21Db250ZW50OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNpbmdsZVNlbGVjdDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtaW5TZWFyY2hDaGFyc1RvTG9hZENvbGxlY3Rpb246IG51bWJlcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2VhcmNoQ29sbGVjdGlvblBsYWNlaG9sZGVyOiBzdHJpbmcgPSBcIlNFQVJDSF9JTl9DT0xMRUNUSU9OXCI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNvbGxlY3Rpb25Mb2FkRm46IEZ1bmN0aW9uO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY29sbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHNlYXJjaFNlcnZpY2U6IFRyYW5zYWN0aW9uU2VhcmNoU2VydmljZSl7fVxyXG5cclxuICBwdWJsaWMgc2VhcmNoUGxhY2Vob2xkZXI6IHN0cmluZyA9IFwiU0VBUkNIXCI7XHJcbiAgcHVibGljIG5vUmVzdWx0c0xhYmVsOiBzdHJpbmcgPSBcIk5PX1JFU1VMVFNcIjtcclxuICBwdWJsaWMgc2hvd01vcmVMYWJlbDogc3RyaW5nID0gXCJTSE9XX01PUkVcIjtcclxuICBwdWJsaWMgc2hvd0xlc3NMYWJlbDogc3RyaW5nID0gXCJTSE9XX0xFU1NcIlxyXG4gIHB1YmxpYyBmaWx0ZXJCdXR0b25MYWJlbDogc3RyaW5nID0gXCJTRUFSQ0hfSU1QRVJBVElWRVwiO1xyXG5cclxuICBwdWJsaWMgb25GaWx0ZXJCdXR0b25DbGlja2VkKCk6IHZvaWR7XHJcbiAgICB0aGlzLnNlYXJjaFNlcnZpY2Uuc2VhcmNoVHJhbnNhY3Rpb25zKCk7XHJcbiAgICB0aGlzLl9zY3JvbGxUb1RvcCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2Nyb2xsVG9Ub3AoKTogdm9pZCB7XHJcbiAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IDAsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -28,6 +28,22 @@ export class ErrorService {
28
28
  }
29
29
  });
30
30
  }
31
+ else if (response.validationResult.fieldValidations) {
32
+ messages.push(this._messageAsValidationError('Validation error'));
33
+ for (let key in response.validationResult.fieldValidations) {
34
+ if (response.validationResult.fieldValidations.hasOwnProperty(key)) {
35
+ if (response.validationResult.fieldValidations[key].messages && response.validationResult.fieldValidations[key].messages.length > 0) {
36
+ for (let i = 0; i < response.validationResult.fieldValidations[key].messages.length; i++) {
37
+ const messageCode = {
38
+ value: response.validationResult.fieldValidations[key].messages[i].fieldId,
39
+ defaultStr: response.validationResult.fieldValidations[key].messages[i].message
40
+ };
41
+ messagesDetails.push(this._messageDetails(messageCode));
42
+ }
43
+ }
44
+ }
45
+ }
46
+ }
31
47
  }
32
48
  messages.push('</div>');
33
49
  return this.showError(messages.join(''), messagesDetails.length > 0 ? messagesDetails.join('') : undefined);
@@ -49,4 +65,4 @@ ErrorService.ctorParameters = () => [
49
65
  { type: DialogService },
50
66
  { type: DictionaryService }
51
67
  ];
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvc2VydmljZS9lcnJvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7O0FBTXZELE1BQU0sT0FBTyxZQUFZO0lBRXZCLFlBQ1UsY0FBNkIsRUFDN0Isa0JBQXFDO1FBRHJDLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7SUFFL0MsQ0FBQztJQUVNLFNBQVMsQ0FBQyxPQUFlLEVBQUUsT0FBZ0I7UUFDaEQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVNLG1CQUFtQixDQUFDLFFBQXVDO1FBQ2hFLE1BQU0sUUFBUSxHQUFhLEVBQUUsQ0FBQztRQUM5QixNQUFNLGVBQWUsR0FBYSxFQUFFLENBQUM7UUFDckMsUUFBUSxDQUFDLElBQUksQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1FBQ3BELElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRTtZQUNwQixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtTQUNoRTthQUFNLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtZQUMxRSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUN2RixRQUFRLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDN0MsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7b0JBQ3pELElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRTt3QkFDakIsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO3FCQUMzRDtnQkFDSCxDQUFDLENBQUMsQ0FBQTthQUNIO1NBQ0Y7UUFDRCxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5RyxDQUFDO0lBRU8seUJBQXlCLENBQUMsT0FBZTtRQUMvQyxPQUFPLHdDQUF3QyxPQUFPLFFBQVEsQ0FBQztJQUNqRSxDQUFDO0lBRU8sZUFBZSxDQUFDLFdBQWdCO1FBQ3RDLE9BQU8seUNBQXlDLFdBQVcsQ0FBQyxLQUFLLEtBQUssV0FBVyxDQUFDLFVBQVUsUUFBUSxDQUFDO0lBQ3ZHLENBQUM7Ozs7WUF6Q0YsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFOTyxhQUFhO1lBQ2IsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0RpYWxvZ1NlcnZpY2V9IGZyb20gXCIuL2RpYWxvZy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gXCIuL2RpY3Rpb25hcnkuc2VydmljZVwiO1xyXG5pbXBvcnQge0RhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhfSBmcm9tIFwiQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvZGF0YS1zZXJ2aWNlLXJlc3BvbnNlLWRhdGFcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXJyb3JTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9kaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGljdGlvbmFyeVNlcnZpY2U6IERpY3Rpb25hcnlTZXJ2aWNlXHJcbiAgICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93RXJyb3IobWVzc2FnZTogc3RyaW5nLCBkZXRhaWxzPzogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9kaWFsb2dTZXJ2aWNlLnNob3dFcnJvcihtZXNzYWdlLCBkZXRhaWxzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93VmFsaWRhdGlvbkVycm9yKHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSB8IGFueSk6IFByb21pc2U8YW55PiB7XHJcbiAgICBjb25zdCBtZXNzYWdlczogc3RyaW5nW10gPSBbXTtcclxuICAgIGNvbnN0IG1lc3NhZ2VzRGV0YWlsczogc3RyaW5nW10gPSBbXTtcclxuICAgIG1lc3NhZ2VzLnB1c2goJzxkaXYgY2xhc3M9XCJkaWFsb2ctZXJyb3Itd3JhcHBlclwiPicpO1xyXG4gICAgaWYgKHJlc3BvbnNlLm1lc3NhZ2UpIHtcclxuICAgICAgbWVzc2FnZXMucHVzaCh0aGlzLl9tZXNzYWdlQXNWYWxpZGF0aW9uRXJyb3IocmVzcG9uc2UubWVzc2FnZSkpXHJcbiAgICB9IGVsc2UgaWYgKHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgIXJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICBpZiAocmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5tZXNzYWdlcyAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0Lm1lc3NhZ2VzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0Lm1lc3NhZ2VzLmZvckVhY2gobSA9PiB7XHJcbiAgICAgICAgICBtZXNzYWdlcy5wdXNoKHRoaXMuX21lc3NhZ2VBc1ZhbGlkYXRpb25FcnJvcihtLm1lc3NhZ2UpKTtcclxuICAgICAgICAgIGlmIChtLm1lc3NhZ2VDb2RlKSB7XHJcbiAgICAgICAgICAgIG1lc3NhZ2VzRGV0YWlscy5wdXNoKHRoaXMuX21lc3NhZ2VEZXRhaWxzKG0ubWVzc2FnZUNvZGUpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBtZXNzYWdlcy5wdXNoKCc8L2Rpdj4nKTtcclxuICAgIHJldHVybiB0aGlzLnNob3dFcnJvcihtZXNzYWdlcy5qb2luKCcnKSwgbWVzc2FnZXNEZXRhaWxzLmxlbmd0aCA+IDAgPyBtZXNzYWdlc0RldGFpbHMuam9pbignJykgOiB1bmRlZmluZWQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfbWVzc2FnZUFzVmFsaWRhdGlvbkVycm9yKG1lc3NhZ2U6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYDxkaXYgY2xhc3M9XCJkaWFsb2ctdmFsaWRhdGlvbi1lcnJvclwiPiR7bWVzc2FnZX08L2Rpdj5gO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfbWVzc2FnZURldGFpbHMobWVzc2FnZUNvZGU6IGFueSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYDxkaXYgY2xhc3M9XCJkaWFsb2ctZXJyb3ItY29kZS1zdHJpbmdcIj4ke21lc3NhZ2VDb2RlLnZhbHVlfTogJHttZXNzYWdlQ29kZS5kZWZhdWx0U3RyfTwvZGl2PmA7XHJcbiAgfVxyXG59XHJcbiJdfQ==
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvc2VydmljZS9lcnJvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7O0FBTXZELE1BQU0sT0FBTyxZQUFZO0lBRXZCLFlBQ1UsY0FBNkIsRUFDN0Isa0JBQXFDO1FBRHJDLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7SUFFL0MsQ0FBQztJQUVNLFNBQVMsQ0FBQyxPQUFlLEVBQUUsT0FBZ0I7UUFDaEQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVNLG1CQUFtQixDQUFDLFFBQXVDO1FBQ2hFLE1BQU0sUUFBUSxHQUFhLEVBQUUsQ0FBQztRQUM5QixNQUFNLGVBQWUsR0FBYSxFQUFFLENBQUM7UUFDckMsUUFBUSxDQUFDLElBQUksQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1FBQ3BELElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRTtZQUNwQixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtTQUNoRTthQUFNLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtZQUMxRSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUN2RixRQUFRLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDN0MsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7b0JBQ3pELElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRTt3QkFDakIsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO3FCQUMzRDtnQkFDSCxDQUFDLENBQUMsQ0FBQTthQUNIO2lCQUFNLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFO2dCQUNyRCxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xFLEtBQUssSUFBSSxHQUFHLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFO29CQUMxRCxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7d0JBQ2xFLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7NEJBQ25JLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQ0FDeEYsTUFBTSxXQUFXLEdBQUc7b0NBQ2xCLEtBQUssRUFBRSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87b0NBQzFFLFVBQVUsRUFBRSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87aUNBQ2hGLENBQUE7Z0NBQ0QsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7NkJBQ3pEO3lCQUNGO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFFTyx5QkFBeUIsQ0FBQyxPQUFlO1FBQy9DLE9BQU8sd0NBQXdDLE9BQU8sUUFBUSxDQUFDO0lBQ2pFLENBQUM7SUFFTyxlQUFlLENBQUMsV0FBZ0I7UUFDdEMsT0FBTyx5Q0FBeUMsV0FBVyxDQUFDLEtBQUssS0FBSyxXQUFXLENBQUMsVUFBVSxRQUFRLENBQUM7SUFDdkcsQ0FBQzs7OztZQXhERixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQU5PLGFBQWE7WUFDYixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7RGlhbG9nU2VydmljZX0gZnJvbSBcIi4vZGlhbG9nLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSBcIi4vZGljdGlvbmFyeS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7RGF0YVNlcnZpY2VSZXNwb25zZURhdGF9IGZyb20gXCJAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9tb2RlbC9kYXRhLXNlcnZpY2UtcmVzcG9uc2UtZGF0YVwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFcnJvclNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2VcclxuICAgICkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dFcnJvcihtZXNzYWdlOiBzdHJpbmcsIGRldGFpbHM/OiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RpYWxvZ1NlcnZpY2Uuc2hvd0Vycm9yKG1lc3NhZ2UsIGRldGFpbHMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dWYWxpZGF0aW9uRXJyb3IocmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhIHwgYW55KTogUHJvbWlzZTxhbnk+IHtcclxuICAgIGNvbnN0IG1lc3NhZ2VzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgY29uc3QgbWVzc2FnZXNEZXRhaWxzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgbWVzc2FnZXMucHVzaCgnPGRpdiBjbGFzcz1cImRpYWxvZy1lcnJvci13cmFwcGVyXCI+Jyk7XHJcbiAgICBpZiAocmVzcG9uc2UubWVzc2FnZSkge1xyXG4gICAgICBtZXNzYWdlcy5wdXNoKHRoaXMuX21lc3NhZ2VBc1ZhbGlkYXRpb25FcnJvcihyZXNwb25zZS5tZXNzYWdlKSlcclxuICAgIH0gZWxzZSBpZiAocmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiAhcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIGlmIChyZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0Lm1lc3NhZ2VzICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQubWVzc2FnZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQubWVzc2FnZXMuZm9yRWFjaChtID0+IHtcclxuICAgICAgICAgIG1lc3NhZ2VzLnB1c2godGhpcy5fbWVzc2FnZUFzVmFsaWRhdGlvbkVycm9yKG0ubWVzc2FnZSkpO1xyXG4gICAgICAgICAgaWYgKG0ubWVzc2FnZUNvZGUpIHtcclxuICAgICAgICAgICAgbWVzc2FnZXNEZXRhaWxzLnB1c2godGhpcy5fbWVzc2FnZURldGFpbHMobS5tZXNzYWdlQ29kZSkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5maWVsZFZhbGlkYXRpb25zKSB7XHJcbiAgICAgICAgbWVzc2FnZXMucHVzaCh0aGlzLl9tZXNzYWdlQXNWYWxpZGF0aW9uRXJyb3IoJ1ZhbGlkYXRpb24gZXJyb3InKSk7XHJcbiAgICAgICAgZm9yIChsZXQga2V5IGluIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuZmllbGRWYWxpZGF0aW9ucykge1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuZmllbGRWYWxpZGF0aW9ucy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgIGlmIChyZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LmZpZWxkVmFsaWRhdGlvbnNba2V5XS5tZXNzYWdlcyAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LmZpZWxkVmFsaWRhdGlvbnNba2V5XS5tZXNzYWdlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LmZpZWxkVmFsaWRhdGlvbnNba2V5XS5tZXNzYWdlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZUNvZGUgPSB7XHJcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LmZpZWxkVmFsaWRhdGlvbnNba2V5XS5tZXNzYWdlc1tpXS5maWVsZElkLFxyXG4gICAgICAgICAgICAgICAgICBkZWZhdWx0U3RyOiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LmZpZWxkVmFsaWRhdGlvbnNba2V5XS5tZXNzYWdlc1tpXS5tZXNzYWdlXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBtZXNzYWdlc0RldGFpbHMucHVzaCh0aGlzLl9tZXNzYWdlRGV0YWlscyhtZXNzYWdlQ29kZSkpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgbWVzc2FnZXMucHVzaCgnPC9kaXY+Jyk7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93RXJyb3IobWVzc2FnZXMuam9pbignJyksIG1lc3NhZ2VzRGV0YWlscy5sZW5ndGggPiAwID8gbWVzc2FnZXNEZXRhaWxzLmpvaW4oJycpIDogdW5kZWZpbmVkKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX21lc3NhZ2VBc1ZhbGlkYXRpb25FcnJvcihtZXNzYWdlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwiZGlhbG9nLXZhbGlkYXRpb24tZXJyb3JcIj4ke21lc3NhZ2V9PC9kaXY+YDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX21lc3NhZ2VEZXRhaWxzKG1lc3NhZ2VDb2RlOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwiZGlhbG9nLWVycm9yLWNvZGUtc3RyaW5nXCI+JHttZXNzYWdlQ29kZS52YWx1ZX06ICR7bWVzc2FnZUNvZGUuZGVmYXVsdFN0cn08L2Rpdj5gO1xyXG4gIH1cclxufVxyXG4iXX0=