ngx-techlify-core 18.71.0 → 18.72.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/esm2022/lib/access-control-config/access-control-config.component.mjs +1 -3
  2. package/esm2022/lib/app-admin/admin-role/admin-role-list/admin-role-list.component.mjs +2 -3
  3. package/esm2022/lib/app-admin/tenant/tenant-list-widget/tenant-list-widget.component.mjs +1 -3
  4. package/esm2022/lib/audit-log/audit-log-list/audit-log-list.component.mjs +2 -3
  5. package/esm2022/lib/base-model/index.mjs +3 -3
  6. package/esm2022/lib/base-model/techlify-form.component.mjs +132 -0
  7. package/esm2022/lib/base-model/{techlify-list-component.mjs → techlify-list.component.mjs} +2 -2
  8. package/esm2022/lib/data-table/data-table.component.mjs +4 -4
  9. package/esm2022/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.mjs +6 -9
  10. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.mjs +3 -3
  11. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.mjs +3 -3
  12. package/esm2022/lib/entity-files/entity-files-view-all.component.mjs +1 -2
  13. package/esm2022/lib/export-excel/export-excel-button/export-excel-button.component.mjs +36 -3
  14. package/esm2022/lib/import-csv/import-history-list/import-history-list.component.mjs +3 -3
  15. package/esm2022/lib/locked-date/locked-dates-list/locked-date-list.component.mjs +1 -2
  16. package/esm2022/lib/login-history-for-user/login-history-for-user.component.mjs +3 -3
  17. package/esm2022/lib/restrictors/restrictors-list-page/restrictors-list-page.component.mjs +1 -2
  18. package/esm2022/lib/searchable-selector/searchable-selector.component.mjs +2 -2
  19. package/esm2022/lib/subscription/subscription-form/subscription-form.component.mjs +2 -2
  20. package/esm2022/lib/subscription/subscription-listing/subscription-listing.component.mjs +2 -3
  21. package/esm2022/lib/subscription/subscription-package-listing/subscription-package-listing.component.mjs +2 -3
  22. package/esm2022/lib/tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.mjs +3 -3
  23. package/esm2022/lib/techlify-auto-complete-select/techlify-auto-complete-select.component.mjs +2 -7
  24. package/esm2022/lib/techlify-currency-pipe/techlify-currency-pipe.directive.mjs +27 -0
  25. package/esm2022/lib/techlify-feature/techlify-feature-listing.component.mjs +1 -3
  26. package/esm2022/lib/techlify-feature/techlify-feature.service.mjs +2 -2
  27. package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.component.mjs +1 -2
  28. package/esm2022/lib/techlify-update/techlify-update-history/techlify-update-history.component.mjs +2 -3
  29. package/esm2022/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.mjs +1 -3
  30. package/esm2022/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.component.mjs +2 -3
  31. package/esm2022/lib/techlify-view/my-techlify-view-listing/my-techlify-view-listing.component.mjs +2 -2
  32. package/esm2022/lib/techlify-view/techlify-view-form/techlify-view-form.component.mjs +2 -2
  33. package/esm2022/lib/timeline-activity/timeline-activity-list/timeline-activity-list.component.mjs +1 -2
  34. package/esm2022/lib/user/users-view-all.component.mjs +2 -3
  35. package/esm2022/public-api.mjs +3 -1
  36. package/fesm2022/ngx-techlify-core.mjs +136 -100
  37. package/fesm2022/ngx-techlify-core.mjs.map +1 -1
  38. package/lib/access-control-config/access-control-config.component.d.ts +0 -1
  39. package/lib/app-admin/admin-role/admin-role-list/admin-role-list.component.d.ts +1 -1
  40. package/lib/base-model/index.d.ts +2 -2
  41. package/lib/base-model/{techlify-form-component.d.ts → techlify-form.component.d.ts} +1 -0
  42. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.d.ts +1 -2
  43. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.d.ts +1 -2
  44. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.d.ts +1 -2
  45. package/lib/export-excel/export-excel-button/export-excel-button.component.d.ts +4 -1
  46. package/lib/import-csv/import-history-list/import-history-list.component.d.ts +1 -2
  47. package/lib/login-history-for-user/login-history-for-user.component.d.ts +1 -2
  48. package/lib/subscription/subscription-form/subscription-form.component.d.ts +1 -1
  49. package/lib/subscription/subscription-listing/subscription-listing.component.d.ts +1 -1
  50. package/lib/subscription/subscription-package-listing/subscription-package-listing.component.d.ts +1 -1
  51. package/lib/techlify-auto-complete-select/techlify-auto-complete-select.component.d.ts +1 -2
  52. package/lib/techlify-currency-pipe/techlify-currency-pipe.directive.d.ts +8 -0
  53. package/lib/techlify-feature/techlify-feature-listing.component.d.ts +0 -1
  54. package/lib/techlify-update/techlify-update-history/techlify-update-history.component.d.ts +1 -1
  55. package/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.d.ts +0 -1
  56. package/lib/techlify-view/my-techlify-view-listing/my-techlify-view-listing.component.d.ts +1 -1
  57. package/lib/techlify-view/techlify-view-form/techlify-view-form.component.d.ts +1 -1
  58. package/package.json +1 -1
  59. package/public-api.d.ts +1 -0
  60. package/esm2022/lib/base-model/techlify-form-component.mjs +0 -128
  61. /package/lib/base-model/{techlify-list-component.d.ts → techlify-list.component.d.ts} +0 -0
@@ -134,7 +134,6 @@ let EntityFilesViewAllComponent = class EntityFilesViewAllComponent extends Tech
134
134
  }
135
135
  loadData() {
136
136
  this.filters.page = this.page;
137
- this.filters.perPage = this.perPage;
138
137
  const formGroup = this.filterForm.value;
139
138
  formGroup.tag_ids = formGroup.tag_ids.toString();
140
139
  this.filters = {
@@ -275,4 +274,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
275
274
  }], permission: [{
276
275
  type: Input
277
276
  }] } });
278
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWZpbGVzLXZpZXctYWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvZW50aXR5LWZpbGVzL2VudGl0eS1maWxlcy12aWV3LWFsbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2VudGl0eS1maWxlcy9lbnRpdHktZmlsZXMtdmlldy1hbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBR3hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTzlDLE9BQU8sRUFDTCxnQ0FBZ0MsRUFDakMsTUFBTSw2RUFBNkUsQ0FBQztBQUVyRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTL0MsSUFBTSwyQkFBMkIsR0FBakMsTUFBTSwyQkFBNEIsU0FBUSxxQkFBcUI7SUF1Q3BFLFlBQ1MsaUJBQW9DLEVBQ3BDLFFBQWtCLEVBQ2pCLFlBQTBCLEVBQzFCLE1BQWlCLEVBQ2pCLEVBQXNCLEVBQ3RCLFlBQWlDLEVBQ2xDLGtCQUFzQztRQUU3QyxLQUFLLEVBQUUsQ0FBQztRQVJELHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNqQixpQkFBWSxHQUFaLFlBQVks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Q3pCLENBQUM7SUFDSCxDQUFDOytHQXZPVSwyQkFBMkI7bUdBQTNCLDJCQUEyQixrbkJDNUJ4QywraGFBbVFXOztBRHZPRSwyQkFBMkI7SUFOdkMsWUFBWSxFQUFFO0dBTUYsMkJBQTJCLENBd092Qzs7NEZBeE9ZLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSwyQkFBMkI7b1FBSzVCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUtHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBZ0JHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBFbnRpdHlGaWxlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vZW50aXR5LWZpbGUtZm9ybS9lbnRpdHktZmlsZS1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbnRpdHlGaWxlU2VydmljZSB9IGZyb20gJy4vZW50aXR5LWZpbGUuc2VydmljZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSBcIkBuZ25lYXQvdW50aWwtZGVzdHJveVwiO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9hbGVydC5zZXJ2aWNlJztcbmltcG9ydCB7IEFjdGlvblBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi4vYWN0aW9uLXBvcHVwL2FjdGlvbi1wb3B1cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmlld2VyQ29uZmlnIH0gZnJvbSAnLi4vZG9jdW1lbnQtdmlld2VyL3ZpZXdlci1jb25maWcubW9kZWwnO1xuaW1wb3J0IHsgRmlsZURyb3BwZXJDb25maWcgfSBmcm9tICcuLi9maWxlLWRyb3BwZXInO1xuaW1wb3J0IHsgQWN0aW9uUG9wdXAgfSBmcm9tICcuLi9hY3Rpb24tcG9wdXAvYWN0aW9uLXBvcHVwLm1vZGVsJztcbmltcG9ydCB7IEVycm9ySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2Vycm9yLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQge1xuICBUZWNobGlmeVRhZ2dlclRhZ0Zvcm1Db25maWdNb2RlbFxufSBmcm9tIFwiLi4vdGFnL3RlY2hsaWZ5LXRhZ2dlci10YWctZm9ybS1maWVsZC90ZWNobGlmeS10YWdnZXItdGFnLWZvcm0tY29uZmlnLm1vZGVsXCI7XG5pbXBvcnQgeyBDdXJyZW50VXNlclNlcnZpY2UsIFVzZXIgfSBmcm9tIFwiLi4vdXNlclwiO1xuaW1wb3J0IHsgVXNlclR5cGVFbnVtIH0gZnJvbSBcIi4uL3VzZXIvdXNlci10eXBlLmVudW1cIjtcbmltcG9ydCB7IFRlY2hsaWZ5TGlzdENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtbW9kZWwnO1xuXG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWVudGl0eS1maWxlcy12aWV3LWFsbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbnRpdHktZmlsZXMtdmlldy1hbGwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbnRpdHktZmlsZXMtdmlldy1hbGwuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBFbnRpdHlGaWxlc1ZpZXdBbGxDb21wb25lbnQgZXh0ZW5kcyBUZWNobGlmeUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBlbnRpdHlJZDogbnVtYmVyO1xuICBASW5wdXQoKSBlbnRpdHlUeXBlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHZpZXdPbmx5OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlbW92ZVNlYXJjaDogYm9vbGVhbjtcbiAgQElucHV0KCkgaGlkZVRpdGxlQW5kRGV0YWlsczogYm9vbGVhbjtcbiAgQElucHV0KCkgZGlzcGxheU1vZGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGFsbG93TXVsdGlwbGVGaWxlczogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBhbGxvd0J1bGtVcGRhdGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgdmlld01vZGU6ICdsaXN0JyB8ICd0aW1lbGluZScgPSAnbGlzdCc7XG4gIEBJbnB1dCgpIGZpbGVEcm9wcGVySGVpZ2h0ID0gJzUwMHB4JztcbiAgQElucHV0KCkgaXNTaG93RHJhZ0Ryb3BTZWN0aW9uOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogU2hvdWxkIHdlIGFsbG93IHRhZ2dpbmcgZW50aXR5LWZpbGVzP1xuICAgKi9cbiAgQElucHV0KCkgdXNlVGVjaGxpZnlUYWdzID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRlY2hsaWZ5VGFnQ2F0ZWdvcmllczogc3RyaW5nW10gPSBbXTtcbiAgQElucHV0KCkgdGVjaGxpZnlUYWdDb25maWc6IFRlY2hsaWZ5VGFnZ2VyVGFnRm9ybUNvbmZpZ01vZGVsID0gbmV3IFRlY2hsaWZ5VGFnZ2VyVGFnRm9ybUNvbmZpZ01vZGVsKCk7XG5cbiAgdmlld2VyQ29uZmlnOiBWaWV3ZXJDb25maWc7XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgPSBcIkZpbGVcIjtcbiAgZmlsdGVyczogYW55ID0ge307XG4gIGRpc3BsYXllZENvbHVtbnMgPSBbXG4gICAgJ2luZGV4JyxcbiAgICAndGl0bGUnLFxuICAgICdkZXRhaWxzJyxcbiAgICAnZmlsZV9zaXplJyxcbiAgICAndXBsb2FkZWRfb24nLFxuICBdO1xuICBmaWxlQ29uZmlnOiBGaWxlRHJvcHBlckNvbmZpZztcbiAgdXBkYXRlUm93Rm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgdXNlcjogVXNlcjtcbiAgaXNTaG93Q3JlYXRlQWN0aW9uOiBib29sZWFuID0gdHJ1ZTtcbiAgaXNTaG93VXBkYXRlQWN0aW9uOiBib29sZWFuID0gdHJ1ZTtcbiAgaXNTaG93RGVsZXRlQWN0aW9uOiBib29sZWFuID0gdHJ1ZTtcbiAgaXNTaG93UmVhZEFjdGlvbjogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHBlcm1pc3Npb246IHsgY3JlYXRlOiBzdHJpbmcsIHVwZGF0ZTogc3RyaW5nLCBkZWxldGU6IHN0cmluZywgcmVhZDogc3RyaW5nIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVudGl0eUZpbGVTZXJ2aWNlOiBFbnRpdHlGaWxlU2VydmljZSxcbiAgICBwdWJsaWMgbG9jYXRpb246IExvY2F0aW9uLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBlcnJvckhhbmRsZXI6IEVycm9ySGFuZGxlclNlcnZpY2UsXG4gICAgcHVibGljIGN1cnJlbnRVc2VyU2VydmljZTogQ3VycmVudFVzZXJTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy51c2VyID0gdGhpcy5jdXJyZW50VXNlclNlcnZpY2UuZ2V0VXNlcigpO1xuICAgIHRoaXMuZmlsdGVyRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdGl0bGU6IFtcIlwiXSxcbiAgICAgIHRhZ19pZHM6IFtcIlwiXVxuICAgIH0pO1xuXG4gICAgdGhpcy51cGRhdGVSb3dGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICB0aXRsZTogWycnXSxcbiAgICAgIGRldGFpbHM6IFsnJ10sXG4gICAgICB0YWdfaWRzOiBbJyddLFxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gQ2hlY2sgcGVybWlzc2lvbnNcbiAgICBpZiAodGhpcy51c2VyLnVzZXJfdHlwZV9pZCAhPT0gVXNlclR5cGVFbnVtLkNMSUVOVF9BRE1JTikge1xuICAgICAgdGhpcy5pc1Nob3dDcmVhdGVBY3Rpb24gPSB0aGlzLnBlcm1pc3Npb24/LmNyZWF0ZSA/IHRoaXMuY3VycmVudFVzZXJTZXJ2aWNlLmhhc1Blcm1pc3Npb24odGhpcy5wZXJtaXNzaW9uLmNyZWF0ZSkgOiB0cnVlO1xuICAgICAgdGhpcy5pc1Nob3dVcGRhdGVBY3Rpb24gPSB0aGlzLnBlcm1pc3Npb24/LnVwZGF0ZSA/IHRoaXMuY3VycmVudFVzZXJTZXJ2aWNlLmhhc1Blcm1pc3Npb24odGhpcy5wZXJtaXNzaW9uLnVwZGF0ZSkgOiB0cnVlO1xuICAgICAgdGhpcy5pc1Nob3dSZWFkQWN0aW9uID0gdGhpcy5wZXJtaXNzaW9uPy5yZWFkID8gdGhpcy5jdXJyZW50VXNlclNlcnZpY2UuaGFzUGVybWlzc2lvbih0aGlzLnBlcm1pc3Npb24ucmVhZCkgOiB0cnVlO1xuICAgICAgdGhpcy5pc1Nob3dEZWxldGVBY3Rpb24gPSB0aGlzLnBlcm1pc3Npb24/LmRlbGV0ZSA/IHRoaXMuY3VycmVudFVzZXJTZXJ2aWNlLmhhc1Blcm1pc3Npb24odGhpcy5wZXJtaXNzaW9uLmRlbGV0ZSkgOiB0cnVlO1xuICAgIH1cblxuICAgIC8vIEZpbGUgZHJvcHBlciBjb25maWdcbiAgICB0aGlzLmZpbGVDb25maWcgPSB7XG4gICAgICBmaWxlSWQ6IFwiZW50aXR5RGFzaGJvYXJkRHJvcHBlclwiLFxuICAgICAgY29udGFpbmVySWQ6IFwiZW50aXR5RGFzaGJvYXJkRHJvcHBlckNvbnRhaW5lclwiLFxuICAgICAgc3R5bGVzOiB7XG4gICAgICAgIGhlaWdodDogdGhpcy5maWxlRHJvcHBlckhlaWdodFxuICAgICAgfSxcbiAgICAgIG11bHRpcGxlOiB0aGlzLmFsbG93TXVsdGlwbGVGaWxlcyxcbiAgICAgIGFjY2VwdEZpbGU6IFwiKlwiLFxuICAgICAgbWF4U2l6ZTogMTAsXG4gICAgICBhY2NlcHRGaWxlVGV4dDogXCJBbGwgRmlsZXNcIlxuICAgIH07XG5cbiAgICB0aGlzLnZpZXdlckNvbmZpZyA9IHtcbiAgICAgIGltYWdlU3R5bGU6IHtcbiAgICAgICAgaGVpZ2h0OiAnMjAwcHgnLFxuICAgICAgICB3aWR0aDogJzIwMHB4J1xuICAgICAgfSxcbiAgICAgIHZpZXdlclN0eWxlOiB7XG4gICAgICAgIGhlaWdodDogJyAxNjBweCcsXG4gICAgICAgIHdpZHRoOiAnMjAwcHgnXG4gICAgICB9LFxuICAgICAgaGlkZVJlbW92ZTogdHJ1ZVxuICAgIH07XG5cbiAgICBpZiAodGhpcy5oaWRlVGl0bGVBbmREZXRhaWxzKSB7XG4gICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLmRpc3BsYXllZENvbHVtbnMuZmlsdGVyKHggPT4gKHggIT09ICdkZXRhaWxzJykgJiYgKHggIT09ICd0aXRsZScpKTtcbiAgICB9XG4gICAgdGhpcy5saXN0ZW5Sb3V0ZXMoKTtcbiAgICB0aGlzLmZpbHRlcnMgPSB7XG4gICAgICBlbnRpdHlfdHlwZTogdGhpcy5lbnRpdHlUeXBlLFxuICAgICAgZW50aXR5X2lkOiB0aGlzLmVudGl0eUlkLFxuICAgICAgdGl0bGU6IFwiXCJcbiAgICB9O1xuICAgIHRoaXMubG9hZERhdGEoKTtcbiAgICBpZiAoIXRoaXMudmlld09ubHkpIHtcbiAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucy5wdXNoKCdhY3Rpb25zJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLmFsbG93QnVsa1VwZGF0ZSkge1xuICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goJ3NlbGVjdCcpO1xuICAgIH1cbiAgfVxuXG4gIGxpc3RlblJvdXRlcygpIHtcbiAgICB0aGlzLmZpbHRlckZvcm0udmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDUwMCksIHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgLnN1YnNjcmliZShjaGFuZ2VzID0+IHtcbiAgICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbG9hZERhdGEoKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJzLnBhZ2UgPSB0aGlzLnBhZ2U7XG4gICAgdGhpcy5maWx0ZXJzLnBlclBhZ2UgPSB0aGlzLnBlclBhZ2U7XG4gICAgY29uc3QgZm9ybUdyb3VwID0gdGhpcy5maWx0ZXJGb3JtLnZhbHVlO1xuICAgIGZvcm1Hcm91cC50YWdfaWRzID0gZm9ybUdyb3VwLnRhZ19pZHMudG9TdHJpbmcoKTtcbiAgICB0aGlzLmZpbHRlcnMgPSB7XG4gICAgICAuLi50aGlzLmZpbHRlcnMsXG4gICAgICAuLi5mb3JtR3JvdXAsXG4gICAgICB3aXRoOiAnY3JlYXRvcix0YWdzJ1xuICAgIH07XG4gICAgdGhpcy5pc1dvcmtpbmcgPSB0cnVlO1xuICAgIHRoaXMuZW50aXR5RmlsZVNlcnZpY2UuaW5kZXgodGhpcy5maWx0ZXJzKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlc3VsdDogYW55KSA9PiB7XG4gICAgICAgIHRoaXMubGFzdFBhZ2UgPSByZXN1bHQubGFzdF9wYWdlIHx8IHRoaXMucGFnZTtcbiAgICAgICAgdGhpcy5tb2RlbHMgPSB0aGlzLm1vZGVscy5jb25jYXQocmVzdWx0LmRhdGEpO1xuICAgICAgICB0aGlzLmxhc3RQYWdlID0gcmVzdWx0Py5sYXN0X3BhZ2U7XG4gICAgICAgIHRoaXMuaXNXb3JraW5nID0gZmFsc2U7XG4gICAgICB9LFxuICAgICAgZXJyb3I6ICgpID0+IHRoaXMuaXNXb3JraW5nID0gZmFsc2VcbiAgICB9KTtcbiAgfVxuXG4gIGFkZEVudGl0eUZpbGUoKSB7XG4gICAgdGhpcy5pc1dvcmtpbmcgPSB0cnVlO1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oRW50aXR5RmlsZUZvcm1Db21wb25lbnQsIHtcbiAgICAgIHdpZHRoOiBcIjcwMHB4XCIsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGVudGl0eTogdGhpcy5maWx0ZXJzLFxuICAgICAgICBoaWRlVGl0bGVBbmREZXRhaWxzOiB0aGlzLmhpZGVUaXRsZUFuZERldGFpbHMsXG4gICAgICAgIHVzZVRlY2hsaWZ5VGFnczogdGhpcy51c2VUZWNobGlmeVRhZ3MsXG4gICAgICAgIHRlY2hsaWZ5VGFnQ2F0ZWdvcmllczogdGhpcy50ZWNobGlmeVRhZ0NhdGVnb3JpZXMsXG4gICAgICAgIHRlY2hsaWZ5VGFnQ29uZmlnOiB0aGlzLnRlY2hsaWZ5VGFnQ29uZmlnLFxuICAgICAgfSxcbiAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgICByZXN0b3JlRm9jdXM6IGZhbHNlXG4gICAgfSk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoYXN5bmMgcmVzdWx0ID0+IHtcbiAgICAgIHRoaXMuaXNXb3JraW5nID0gZmFsc2U7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBlZGl0RW50aXR5RmlsZShmaWxlOiBhbnkpIHtcbiAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihFbnRpdHlGaWxlRm9ybUNvbXBvbmVudCwge1xuICAgICAgd2lkdGg6IFwiNzAwcHhcIixcbiAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGZpbGUsXG4gICAgICAgIGhpZGVUaXRsZUFuZERldGFpbHM6IHRoaXMuaGlkZVRpdGxlQW5kRGV0YWlscyxcbiAgICAgICAgdXNlVGVjaGxpZnlUYWdzOiB0aGlzLnVzZVRlY2hsaWZ5VGFncyxcbiAgICAgICAgdGVjaGxpZnlUYWdDYXRlZ29yaWVzOiB0aGlzLnRlY2hsaWZ5VGFnQ2F0ZWdvcmllcyxcbiAgICAgICAgdGVjaGxpZnlUYWdDb25maWc6IHRoaXMudGVjaGxpZnlUYWdDb25maWcsXG4gICAgICB9IC8vIEFueSBkYXRhIHBhc3NlZCBoZXJlIHdpbGwgYmUgaW5qZWN0ZWQgaW50byB0aGUgbW9kZWxcbiAgICB9KTtcblxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgdGhpcy5pc1dvcmtpbmcgPSBmYWxzZTtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHNpemVPZihieXRlcykge1xuICAgIGlmICghYnl0ZXMpIHsgcmV0dXJuIFwiMC4wMCBCXCI7IH1cbiAgICB2YXIgZSA9IE1hdGguZmxvb3IoTWF0aC5sb2coYnl0ZXMpIC8gTWF0aC5sb2coMTAyNCkpO1xuICAgIHJldHVybiAoYnl0ZXMgLyBNYXRoLnBvdygxMDI0LCBlKSkudG9GaXhlZCgyKSArICcgJyArICcgS01HVFAnLmNoYXJBdChlKSArICdCJztcbiAgfVxuXG4gIGFzeW5jIGZpbGVDaGFuZ2VkKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm1vZGVscyA9IGV2ZW50O1xuICAgIGlmICh0aGlzLm1vZGVscy5sZW5ndGggPiAwKSB7XG4gICAgICBhd2FpdCB0aGlzLm1vZGVscy5mb3JFYWNoKGFzeW5jIGZpbGUgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQ6IGFueSA9IGF3YWl0IHRoaXMuZW50aXR5RmlsZVNlcnZpY2UudXBsb2FkRW50aXR5RmlsZShcbiAgICAgICAgICBmaWxlLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGVudGl0eV90eXBlOiB0aGlzLmVudGl0eVR5cGUsXG4gICAgICAgICAgICBlbnRpdHlfaWQ6IHRoaXMuZW50aXR5SWQsXG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnJlbG9hZCgpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLm1vZGVscyA9IFtdO1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkQWxlcnQoJ0ZpbGVzIHVwbG9hZGVkIHN1Y2Nlc3NmdWxseSEnLCAnc3VjY2VzcycpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGJ1bGtVcGRhdGUoZmllbGROYW1lOiBhbnkpIHtcbiAgICB2YXIgZGF0YSA9IHRoaXMudXBkYXRlUm93Rm9ybS52YWx1ZTtcbiAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XG4gICAgZGF0YS5maWVsZF9uYW1lID0gZmllbGROYW1lO1xuICAgIGRhdGEuZG9jdW1lbnRfaWRzID0gdGhpcy5zZWxlY3RlZE1vZGVsSWRzO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuZW50aXR5RmlsZVNlcnZpY2UuYnVsa1VwZGF0ZShkYXRhKS50aGVuKFxuICAgICAgICByZXMgPT4ge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KFwiU3VjY2Vzc2Z1bGx5IHVwZGF0ZWRcIiwgXCJzdWNjZXNzXCIpO1xuICAgICAgICAgIHRoaXMuaXNXb3JraW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVFcnJvcihlcnJvcik7XG4gICAgICB0aGlzLmlzV29ya2luZyA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cInZpZXdNb2RlID09PSAnbGlzdCdcIj5cbiAgPGRpdiAqbmdJZj1cInRoaXMuc2VsZWN0ZWRNb2RlbElkcy5sZW5ndGhcIiBjbGFzcz1cImQtbm9uZSBkLW1kLWZsZXggZmxleC1jb2x1bW5cIj5cbiAgICA8bWF0LWNhcmQgY2xhc3M9XCJ1cGRhdGVfY2FyZFwiICpuZ0lmPVwidGhpcy5zZWxlY3RlZE1vZGVsSWRzLmxlbmd0aFwiPlxuICAgICAgPG1hdC1jYXJkLWhlYWRlcj5cbiAgICAgICAgPG1hdC1jYXJkLXRpdGxlPlxuICAgICAgICAgIDxkaXYgbWF0LWRpYWxvZy10aXRsZSBjbGFzcz1cIm10LTIgbWwtMiB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgPGRpdj5VcGRhdGUgU2VsZWN0ZWQgUm93czwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L21hdC1jYXJkLXRpdGxlPlxuICAgICAgPC9tYXQtY2FyZC1oZWFkZXI+XG4gICAgICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtblwiPlxuICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cInVwZGF0ZVJvd0Zvcm1cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uXCI+XG5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInctMTAwIHB4LTFcIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCIgcGxhY2Vob2xkZXI9XCJUaXRsZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIC8+XG4gICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJ1cGRhdGVSb3dGb3JtLmdldCgndGl0bGUnKS52YWx1ZSB8fCB1cGRhdGVSb3dGb3JtLmdldCgndGl0bGUnKS52YWx1ZT09PTBcIiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b24gc3R5bGU9XCJjb2xvcjpyZWRcIiAoY2xpY2spPVwidXBkYXRlUm93Rm9ybS5nZXQoJ3RpdGxlJykuc2V0VmFsdWUoJycpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgc3R5bGU9XCJjb2xvcjpncmVlblwiICpuZ0lmPVwiKHVwZGF0ZVJvd0Zvcm0uZ2V0KCd0aXRsZScpLnZhbHVlIHx8IHVwZGF0ZVJvd0Zvcm0uZ2V0KCd0aXRsZScpLnZhbHVlPT09MClcbiAgICAgICAgICAgICAgICAmJiB1cGRhdGVSb3dGb3JtLmdldCgndGl0bGUnKS52YWxpZFwiIChjbGljayk9XCJidWxrVXBkYXRlKCd0aXRsZScpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmRvbmU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInctMTAwIHB4LTFcIj5cbiAgICAgICAgICAgICAgPHRleHRhcmVhIG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cImRldGFpbHNcIiBwbGFjZWhvbGRlcj1cIkRldGFpbHNcIiBhdXRvY29tcGxldGU9XCJvZmZcIj48L3RleHRhcmVhPlxuICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwidXBkYXRlUm93Rm9ybS5nZXQoJ2RldGFpbHMnKS52YWx1ZSB8fCB1cGRhdGVSb3dGb3JtLmdldCgnZGV0YWlscycpLnZhbHVlPT09MFwiIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvbiBzdHlsZT1cImNvbG9yOnJlZFwiIChjbGljayk9XCJ1cGRhdGVSb3dGb3JtLmdldCgnZGV0YWlscycpLnNldFZhbHVlKCcnKVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiIHN0eWxlPVwiY29sb3I6Z3JlZW5cIiAqbmdJZj1cIih1cGRhdGVSb3dGb3JtLmdldCgnZGV0YWlscycpLnZhbHVlIHx8IHVwZGF0ZVJvd0Zvcm0uZ2V0KCdkZXRhaWxzJykudmFsdWU9PT0wKVxuICAgICAgICAgICAgICAgICYmIHVwZGF0ZVJvd0Zvcm0uZ2V0KCdkZXRhaWxzJykudmFsaWRcIiAoY2xpY2spPVwiYnVsa1VwZGF0ZSgnZGV0YWlscycpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmRvbmU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ1c2VUZWNobGlmeVRhZ3NcIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+VGFnPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGFwcC10ZWNobGlmeS10YWdnZXItdGFnLWZvcm0tZmllbGQgbW9kZWxUeXBlPVwiZW50aXR5LWZpbGVcIiBmb3JtQ29udHJvbE5hbWU9XCJ0YWdfaWRzXCJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRW50ZXIgbmV3IHRhZ1wiPlxuICAgICAgICAgICAgICAgIDwvYXBwLXRlY2hsaWZ5LXRhZ2dlci10YWctZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwidXBkYXRlUm93Rm9ybS5nZXQoJ3RhZ19pZHMnKS52YWx1ZSB8fCB1cGRhdGVSb3dGb3JtLmdldCgndGFnX2lkcycpLnZhbHVlPT09MFwiIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uIHN0eWxlPVwiY29sb3I6cmVkXCIgKGNsaWNrKT1cInVwZGF0ZVJvd0Zvcm0uZ2V0KCd0YWdfaWRzJykuc2V0VmFsdWUoJycpXCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgc3R5bGU9XCJjb2xvcjpncmVlblwiICpuZ0lmPVwiKHVwZGF0ZVJvd0Zvcm0uZ2V0KCd0YWdfaWRzJykudmFsdWUgfHwgdXBkYXRlUm93Rm9ybS5nZXQoJ3RhZ19pZHMnKS52YWx1ZT09PTApXG4gICAgICAgICAgICAgICAgICAmJiB1cGRhdGVSb3dGb3JtLmdldCgndGFnX2lkcycpLnZhbGlkXCIgKGNsaWNrKT1cImJ1bGtVcGRhdGUoJ3RhZ19pZHMnKVwiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmRvbmU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZm9ybT5cbiAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICA8L21hdC1jYXJkPlxuXG4gIDwvZGl2PlxuXG4gIDxkaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCIgKm5nSWY9XCIhZGlzcGxheU1vZGVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1yb3cgZ2FwLTNcIj5cbiAgICAgICAgPG1hdC1jYXJkIGNsYXNzPVwiZmxleC1ncm93LTFcIj5cbiAgICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJmb250LXdlaWdodC1ib2xkIG1iLTBcIj5cbiAgICAgICAgICAgICAgICB7e3RpdGxlfX1zXG4gICAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICAgIDxhcHAtdGVjaGxpZnktaWNvbiBuYW1lPVwiYWRkXCIgY2xhc3M9XCJjbGlja2FibGUgbXMtMlwiIChjbGljayk9XCJhZGRFbnRpdHlGaWxlKClcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIXZpZXdPbmx5ICYmIGlzU2hvd0NyZWF0ZUFjdGlvblwiIG1hdFRvb2x0aXA9XCJBZGRcIj48L2FwcC10ZWNobGlmeS1pY29uPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCI+PC9zcGFuPlxuICAgICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm1cIiBjbGFzcz1cImQtZmxleCBnYXAtMlwiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cIiFyZW1vdmVTZWFyY2hcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5TZWFyY2g8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCIgcGxhY2Vob2xkZXI9XCJTZWFyY2hcIiBuYW1lPVwidGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIiAvPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImZpbHRlcnMudGl0bGVcIiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJyZXNldEZpbHRlcigndGl0bGUnKVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ1c2VUZWNobGlmeVRhZ3NcIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5UYWc8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGFwcC10ZWNobGlmeS10YWdnZXItdGFnLWZvcm0tZmllbGQgW2NhdGVnb3JpZXNdPVwidGVjaGxpZnlUYWdDYXRlZ29yaWVzXCIgZm9ybUNvbnRyb2xOYW1lPVwidGFnX2lkc1wiXG4gICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgVGFnc1wiIFtjb25maWddPVwidGVjaGxpZnlUYWdDb25maWdcIj48L2FwcC10ZWNobGlmeS10YWdnZXItdGFnLWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cImVudGl0eS1maWxlLWNhcmQgcC0wXCI+XG4gICAgICAgICAgICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cIm1vZGVsc1wiIGNsYXNzPVwidy0xMDBcIiBtYXRTb3J0IG11bHRpVGVtcGxhdGVEYXRhUm93cyBpbmZpbml0ZVNjcm9sbFxuICAgICAgICAgICAgICBbaW5maW5pdGVTY3JvbGxEaXN0YW5jZV09XCIxLjVcIiBbaW5maW5pdGVTY3JvbGxUaHJvdHRsZV09XCI1MFwiIChzY3JvbGxlZCk9XCJvblNjcm9sbCgpXCI+XG5cbiAgICAgICAgICAgICAgPCEtLSBTZWxlY3QgQ29sdW1uIC0tPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInNlbGVjdFwiPlxuICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgc3R5bGU9XCJ3aWR0aDozMHB4XCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94IG5hbWU9XCJlbXBsb3llZVwiIFsobmdNb2RlbCldPVwiaXNBbGxTZWxlY3RlZFwiIChjaGFuZ2UpPVwic2VsZWN0QWxsKClcIj5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIiBzdHlsZT1cIndpZHRoOjMwcHhcIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggbmFtZT1cImVtcGxveWVlW3t7ZWxlbWVudD8uaWR9fV1cIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJlbGVtZW50LmlzX3NlbGVjdGVkXCIgKGNoYW5nZSk9XCJpc1NlbGVjdGlvbk1vZGlmaWVkKCRldmVudCwgZWxlbWVudClcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIW1vZGVscy5sZW5ndGhcIj5cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgIDwhLS0gSW5kZXggQ29sdW1uIC0tPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImluZGV4XCI+XG4gICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gIyA8L3RoPlxuICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50OyBsZXQgaSA9IGRhdGFJbmRleFwiPiB7eyBpKzEgfX0gPC90ZD5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgPCEtLSBUaXRsZSBDb2x1bW4gLS0+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidGl0bGVcIj5cbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBUaXRsZSA8L3RoPlxuICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgICAgICAgICAgICB7e2VsZW1lbnQudGl0bGV9fVxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVzZVRlY2hsaWZ5VGFnc1wiPlxuICAgICAgICAgICAgICAgICAgICA8YnI+XG4gICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cImJhZGdlIGJhZGdlLXNlY29uZGFyeSBtci0xXCIgKm5nRm9yPVwibGV0IHRhZyBvZiBlbGVtZW50Py50YWdzXCI+e3t0YWc/LnRpdGxlfX08L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICA8IS0tIERldGFpbHMgQ29sdW1uIC0tPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImRldGFpbHNcIj5cbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBEZXRhaWxzIDwvdGg+XG4gICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICAgICAgICAgIDxhcHAtcmVhZC1tb3JlIFt0ZXh0XT1cImVsZW1lbnQuZGV0YWlsc1wiIFttYXhMZW5ndGhdPVwiNTBcIj48L2FwcC1yZWFkLW1vcmU+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgPCEtLSBGaWxlIHNpemUgQ29sdW1uIC0tPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImZpbGVfc2l6ZVwiPlxuICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IEZpbGUgU2l6ZSA8L3RoPlxuICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IHt7IHNpemVPZihlbGVtZW50LmZpbGVfc2l6ZSl9fSA8L3RkPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICA8IS0tIFVwbG9hZGVkIE9uIENvbHVtbiAtLT5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ1cGxvYWRlZF9vblwiPlxuICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IFVwbG9hZGVkIE9uIDwvdGg+XG4gICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIHt7ZWxlbWVudC5jcmVhdGVkX2F0IHwgZGF0ZTogJ21lZGl1bURhdGUnfX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbXV0ZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgQnkge3tlbGVtZW50LmNyZWF0b3I/Lm5hbWV9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgPCEtLSBBY3Rpb25zIENvbHVtbiAtLT5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJhY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gQWN0aW9ucyA8L3RoPlxuICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCIgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJ7e2VsZW1lbnQudXJsfX1cIiB0YXJnZXQ9XCJfYmxhbmtcIiBjbGFzcz1cInRleHQtZGVjb3JhdGlvbi1ub25lIHRleHQtbXV0ZWQgY2xpY2thYmxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmRvd25sb2FkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8YXBwLXRlY2hsaWZ5LWljb24gbmFtZT1cImVkaXRcIiBjbGFzcz1cImNsaWNrYWJsZSB0ZXh0LXNlY29uZGFyeVwiIChjbGljayk9XCJlZGl0RW50aXR5RmlsZShlbGVtZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhdmlld09ubHkgJiYgaXNTaG93VXBkYXRlQWN0aW9uXCIgbWF0VG9vbHRpcD1cIkVkaXRcIj48L2FwcC10ZWNobGlmeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8YXBwLXRlY2hsaWZ5LWRlbGV0ZS1idXR0b24gKm5nSWY9XCIhdmlld09ubHkgJiYgaXNTaG93RGVsZXRlQWN0aW9uXCIgY2xhc3M9J3RleHQtc2Vjb25kYXJ5IG1zLTEnXG4gICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cImVsZW1lbnRcIiBbc2VydmljZV09XCJlbnRpdHlGaWxlU2VydmljZVwiXG4gICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZT1cIkFyZSB5b3Ugc3VyZSB0byBwcm9jZWVkIGRlbGV0ZSB0aGUgZmlsZSB7e2VsZW1lbnQudGl0bGV9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgKGRlbGV0ZWQpPVwibW9kZWxzRGVsZXRlZEJ5SWQoZWxlbWVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9hcHAtdGVjaGxpZnktZGVsZXRlLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XG4gICAgICAgICAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiPjwvdHI+XG4gICAgICAgICAgICA8L3RhYmxlPlxuXG4gICAgICAgICAgICA8bWF0LXByb2dyZXNzLWJhciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiICpuZ0lmPVwiaXNXb3JraW5nXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgPC9tYXQtY2FyZD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzU2hvd0RyYWdEcm9wU2VjdGlvblwiPlxuICAgICAgICAgIDxzZWN0aW9uIHN0eWxlPVwiZmxleDogMCAxIDMwJTtcIiAqbmdJZj1cIiF0aGlzLnNlbGVjdGVkTW9kZWxJZHMubGVuZ3RoICYmICF2aWV3T25seSAmJiBpc1Nob3dDcmVhdGVBY3Rpb25cIj5cbiAgICAgICAgICAgIDxhcHAtZmlsZS1kcm9wcGVyIFtjb25maWddPVwiZmlsZUNvbmZpZ1wiIChmaWxlQ2hhbmdlZCk9XCJmaWxlQ2hhbmdlZCgkZXZlbnQpXCIgW2ZpbGVBcnJheV09XCJtb2RlbHNcIj5cbiAgICAgICAgICAgIDwvYXBwLWZpbGUtZHJvcHBlcj5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC13cmFwIGdhcC0zIG1hdC10eXBvZ3JhcGh5IHAtNFwiICpuZ0lmPVwiZGlzcGxheU1vZGVcIj5cbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlZmlsZSBvZiBtb2RlbHNcIj5cbiAgICAgIDxhcHAtZG9jdW1lbnQtdmlld2VyIFtmaWxlXT1cImVmaWxlLmZpbGVcIiBbZmlsZVVybF09XCJlZmlsZS51cmxcIiBbY29uZmlnXT1cInRoaXMudmlld2VyQ29uZmlnXCIgW2Rpc2FibGVFZGl0XT1cInRydWVcIj5cbiAgICAgIDwvYXBwLWRvY3VtZW50LXZpZXdlcj5cbiAgICAgIDxhIGhyZWY9XCJ7e2VmaWxlLnVybH19XCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCI+VmlldzwvYnV0dG9uPlxuICAgICAgPC9hPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bWF0LWNhcmQgKm5nSWY9XCJ2aWV3TW9kZSA9PT0gJ3RpbWVsaW5lJ1wiPlxuICA8bWF0LWNhcmQtY29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgIDwvbWF0LWljb24+XG4gICAgICA8aDMgY2xhc3M9XCJmb250LXdlaWdodC1ib2xkIG1iLTBcIj5cbiAgICAgICAge3t0aXRsZX19c1xuICAgICAgPC9oMz5cbiAgICAgIDxhcHAtdGVjaGxpZnktaWNvbiBuYW1lPVwiYWRkXCIgY2xhc3M9XCJjbGlja2FibGVcIiAoY2xpY2spPVwiYWRkRW50aXR5RmlsZSgpXCIgKm5nSWY9XCIhdmlld09ubHkgJiYgaXNTaG93Q3JlYXRlQWN0aW9uXCJcbiAgICAgICAgbWF0VG9vbHRpcD1cIkFkZFwiPjwvYXBwLXRlY2hsaWZ5LWljb24+XG4gICAgPC9kaXY+XG4gIDwvbWF0LWNhcmQtY29udGVudD5cbiAgPG1hdC1jYXJkLWNvbnRlbnQgKm5nSWY9XCIhdGhpcy5zZWxlY3RlZE1vZGVsSWRzLmxlbmd0aCAmJiAhdmlld09ubHkgJiYgaXNTaG93Q3JlYXRlQWN0aW9uXCIgY2xhc3M9XCJtdC0zXCI+XG4gICAgPGFwcC1maWxlLWRyb3BwZXIgW2NvbmZpZ109XCJmaWxlQ29uZmlnXCIgKGZpbGVDaGFuZ2VkKT1cImZpbGVDaGFuZ2VkKCRldmVudClcIiBbZmlsZUFycmF5XT1cIm1vZGVsc1wiPlxuICAgIDwvYXBwLWZpbGUtZHJvcHBlcj5cbiAgPC9tYXQtY2FyZC1jb250ZW50PlxuXG4gIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwibXQtM1wiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGVudGl0eUZpbGUgb2YgbW9kZWxzXCIgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZ2FwLTBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZ2FwLTBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTFcIj5cbiAgICAgICAgICA8cCBjbGFzcz1cIm1iLTAgZnctYm9sZCB0ZXh0LXdyYXBcIj57eyBlbnRpdHlGaWxlPy50aXRsZSB8IHdyYXA6MjAgfX08L3A+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiZy1kYXJrXCIgKm5nRm9yPVwibGV0IHRhZyBvZiBlbnRpdHlGaWxlPy50YWdzXCI+XG4gICAgICAgICAgICB7eyB0YWc/LnRpdGxlIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzbWFsbCBjbGFzcz1cInRleHQtZGFya1wiPnt7IHNpemVPZihlbnRpdHlGaWxlLmZpbGVfc2l6ZSkgfX08L3NtYWxsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGFwcC1yZWFkLW1vcmUgW3RleHRdPVwiZW50aXR5RmlsZT8uZGV0YWlsc1wiIFttYXhMZW5ndGhdPVwiNTBcIj48L2FwcC1yZWFkLW1vcmU+XG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGdhcC0yXCI+XG4gICAgICAgIDxzbWFsbCBjbGFzcz1cInRleHQtc2Vjb25kYXJ5XCIgc3R5bGU9XCJtYXgtd2lkdGg6IDcwJVwiPlxuICAgICAgICAgIDxpPlVwbG9hZGVkIEJ5IHt7IGVudGl0eUZpbGU/LmNyZWF0b3I/Lm5hbWUgfX0ge3sgZW50aXR5RmlsZT8uY3JlYXRlZF9hdCB8IGRhdGU6ICdtZWRpdW1EYXRlJ319PC9pPlxuICAgICAgICA8L3NtYWxsPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0xXCI+XG4gICAgICAgICAgPGEgaHJlZj1cInt7ZW50aXR5RmlsZT8udXJsfX1cIiB0YXJnZXQ9XCJfYmxhbmtcIiBjbGFzcz1cInRleHQtZGVjb3JhdGlvbi1ub25lIHRleHQtc2Vjb25kYXJ5IG10LTJcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5kb3dubG9hZDwvbWF0LWljb24+XG4gICAgICAgICAgPC9hPlxuICAgICAgICAgIDxhcHAtdGVjaGxpZnktaWNvbiBuYW1lPVwiZWRpdFwiIGNsYXNzPVwiY2xpY2thYmxlIHRleHQtc2Vjb25kYXJ5XCIgKGNsaWNrKT1cImVkaXRFbnRpdHlGaWxlKGVudGl0eUZpbGUpXCJcbiAgICAgICAgICAgICpuZ0lmPVwiIXZpZXdPbmx5ICYmIGlzU2hvd1VwZGF0ZUFjdGlvblwiIG1hdFRvb2x0aXA9XCJFZGl0XCI+PC9hcHAtdGVjaGxpZnktaWNvbj5cbiAgICAgICAgICA8YXBwLXRlY2hsaWZ5LWRlbGV0ZS1idXR0b24gKm5nSWY9XCIhdmlld09ubHkgJiYgaXNTaG93RGVsZXRlQWN0aW9uXCIgY2xhc3M9J3RleHQtc2Vjb25kYXJ5IG1zLTEnXG4gICAgICAgICAgICBbbW9kZWxdPVwiZW50aXR5RmlsZVwiIFtzZXJ2aWNlXT1cImVudGl0eUZpbGVTZXJ2aWNlXCJcbiAgICAgICAgICAgIG1lc3NhZ2U9XCJBcmUgeW91IHN1cmUgdG8gcHJvY2VlZCBkZWxldGUgdGhlIGZpbGUge3tlbnRpdHlGaWxlLnRpdGxlfX1cIlxuICAgICAgICAgICAgKGRlbGV0ZWQpPVwibW9kZWxzRGVsZXRlZEJ5SWQoZW50aXR5RmlsZSlcIj5cbiAgICAgICAgICA8L2FwcC10ZWNobGlmeS1kZWxldGUtYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGhyIHN0eWxlPVwibWFyZ2luOiAwLjVyZW0gMFwiPlxuICAgIDwvZGl2PlxuICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJpbmRldGVybWluYXRlXCIgKm5nSWY9XCJpc1dvcmtpbmdcIj48L21hdC1wcm9ncmVzcy1iYXI+XG4gIDwvbWF0LWNhcmQtY29udGVudD5cbjwvbWF0LWNhcmQ+Il19
277
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWZpbGVzLXZpZXctYWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvZW50aXR5LWZpbGVzL2VudGl0eS1maWxlcy12aWV3LWFsbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2VudGl0eS1maWxlcy9lbnRpdHktZmlsZXMtdmlldy1hbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBR3hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTzlDLE9BQU8sRUFDTCxnQ0FBZ0MsRUFDakMsTUFBTSw2RUFBNkUsQ0FBQztBQUVyRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTL0MsSUFBTSwyQkFBMkIsR0FBakMsTUFBTSwyQkFBNEIsU0FBUSxxQkFBcUI7SUF1Q3BFLFlBQ1MsaUJBQW9DLEVBQ3BDLFFBQWtCLEVBQ2pCLFlBQTBCLEVBQzFCLE1BQWlCLEVBQ2pCLEVBQXNCLEVBQ3RCLFlBQWlDLEVBQ2xDLGtCQUFzQztRQUU3QyxLQUFLLEVBQUUsQ0FBQztRQVJELHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNqQixpQkFBWSxHQUFaLFlBQVks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K2hhQW1RVzs7QUR2T0UsMkJBQTJCO0lBTnZDLFlBQVksRUFBRTtHQU1GLDJCQUEyQixDQXVPdkM7OzRGQXZPWSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsMkJBQTJCO29RQUs1QixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFLRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQWdCRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgRW50aXR5RmlsZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2VudGl0eS1maWxlLWZvcm0vZW50aXR5LWZpbGUtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW50aXR5RmlsZVNlcnZpY2UgfSBmcm9tICcuL2VudGl0eS1maWxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gXCJAbmduZWF0L3VudGlsLWRlc3Ryb3lcIjtcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uL2NvcmUvYWxlcnQuc2VydmljZSc7XG5pbXBvcnQgeyBBY3Rpb25Qb3B1cENvbXBvbmVudCB9IGZyb20gJy4uL2FjdGlvbi1wb3B1cC9hY3Rpb24tcG9wdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFZpZXdlckNvbmZpZyB9IGZyb20gJy4uL2RvY3VtZW50LXZpZXdlci92aWV3ZXItY29uZmlnLm1vZGVsJztcbmltcG9ydCB7IEZpbGVEcm9wcGVyQ29uZmlnIH0gZnJvbSAnLi4vZmlsZS1kcm9wcGVyJztcbmltcG9ydCB7IEFjdGlvblBvcHVwIH0gZnJvbSAnLi4vYWN0aW9uLXBvcHVwL2FjdGlvbi1wb3B1cC5tb2RlbCc7XG5pbXBvcnQgeyBFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgVGVjaGxpZnlUYWdnZXJUYWdGb3JtQ29uZmlnTW9kZWxcbn0gZnJvbSBcIi4uL3RhZy90ZWNobGlmeS10YWdnZXItdGFnLWZvcm0tZmllbGQvdGVjaGxpZnktdGFnZ2VyLXRhZy1mb3JtLWNvbmZpZy5tb2RlbFwiO1xuaW1wb3J0IHsgQ3VycmVudFVzZXJTZXJ2aWNlLCBVc2VyIH0gZnJvbSBcIi4uL3VzZXJcIjtcbmltcG9ydCB7IFVzZXJUeXBlRW51bSB9IGZyb20gXCIuLi91c2VyL3VzZXItdHlwZS5lbnVtXCI7XG5pbXBvcnQgeyBUZWNobGlmeUxpc3RDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLW1vZGVsJztcblxuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1lbnRpdHktZmlsZXMtdmlldy1hbGwnLFxuICB0ZW1wbGF0ZVVybDogJy4vZW50aXR5LWZpbGVzLXZpZXctYWxsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZW50aXR5LWZpbGVzLXZpZXctYWxsLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRW50aXR5RmlsZXNWaWV3QWxsQ29tcG9uZW50IGV4dGVuZHMgVGVjaGxpZnlMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgZW50aXR5SWQ6IG51bWJlcjtcbiAgQElucHV0KCkgZW50aXR5VHlwZTogc3RyaW5nO1xuICBASW5wdXQoKSB2aWV3T25seTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSByZW1vdmVTZWFyY2g6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGhpZGVUaXRsZUFuZERldGFpbHM6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRpc3BsYXlNb2RlOiBib29sZWFuO1xuICBASW5wdXQoKSBhbGxvd011bHRpcGxlRmlsZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgYWxsb3dCdWxrVXBkYXRlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHZpZXdNb2RlOiAnbGlzdCcgfCAndGltZWxpbmUnID0gJ2xpc3QnO1xuICBASW5wdXQoKSBmaWxlRHJvcHBlckhlaWdodCA9ICc1MDBweCc7XG4gIEBJbnB1dCgpIGlzU2hvd0RyYWdEcm9wU2VjdGlvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFNob3VsZCB3ZSBhbGxvdyB0YWdnaW5nIGVudGl0eS1maWxlcz9cbiAgICovXG4gIEBJbnB1dCgpIHVzZVRlY2hsaWZ5VGFncyA9IGZhbHNlO1xuICBASW5wdXQoKSB0ZWNobGlmeVRhZ0NhdGVnb3JpZXM6IHN0cmluZ1tdID0gW107XG4gIEBJbnB1dCgpIHRlY2hsaWZ5VGFnQ29uZmlnOiBUZWNobGlmeVRhZ2dlclRhZ0Zvcm1Db25maWdNb2RlbCA9IG5ldyBUZWNobGlmeVRhZ2dlclRhZ0Zvcm1Db25maWdNb2RlbCgpO1xuXG4gIHZpZXdlckNvbmZpZzogVmlld2VyQ29uZmlnO1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nID0gXCJGaWxlXCI7XG4gIGZpbHRlcnM6IGFueSA9IHt9O1xuICBkaXNwbGF5ZWRDb2x1bW5zID0gW1xuICAgICdpbmRleCcsXG4gICAgJ3RpdGxlJyxcbiAgICAnZGV0YWlscycsXG4gICAgJ2ZpbGVfc2l6ZScsXG4gICAgJ3VwbG9hZGVkX29uJyxcbiAgXTtcbiAgZmlsZUNvbmZpZzogRmlsZURyb3BwZXJDb25maWc7XG4gIHVwZGF0ZVJvd0Zvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gIHVzZXI6IFVzZXI7XG4gIGlzU2hvd0NyZWF0ZUFjdGlvbjogYm9vbGVhbiA9IHRydWU7XG4gIGlzU2hvd1VwZGF0ZUFjdGlvbjogYm9vbGVhbiA9IHRydWU7XG4gIGlzU2hvd0RlbGV0ZUFjdGlvbjogYm9vbGVhbiA9IHRydWU7XG4gIGlzU2hvd1JlYWRBY3Rpb246IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwZXJtaXNzaW9uOiB7IGNyZWF0ZTogc3RyaW5nLCB1cGRhdGU6IHN0cmluZywgZGVsZXRlOiBzdHJpbmcsIHJlYWQ6IHN0cmluZyB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBlbnRpdHlGaWxlU2VydmljZTogRW50aXR5RmlsZVNlcnZpY2UsXG4gICAgcHVibGljIGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgZXJyb3JIYW5kbGVyOiBFcnJvckhhbmRsZXJTZXJ2aWNlLFxuICAgIHB1YmxpYyBjdXJyZW50VXNlclNlcnZpY2U6IEN1cnJlbnRVc2VyU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMudXNlciA9IHRoaXMuY3VycmVudFVzZXJTZXJ2aWNlLmdldFVzZXIoKTtcbiAgICB0aGlzLmZpbHRlckZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHRpdGxlOiBbXCJcIl0sXG4gICAgICB0YWdfaWRzOiBbXCJcIl1cbiAgICB9KTtcblxuICAgIHRoaXMudXBkYXRlUm93Rm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdGl0bGU6IFsnJ10sXG4gICAgICBkZXRhaWxzOiBbJyddLFxuICAgICAgdGFnX2lkczogWycnXSxcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIENoZWNrIHBlcm1pc3Npb25zXG4gICAgaWYgKHRoaXMudXNlci51c2VyX3R5cGVfaWQgIT09IFVzZXJUeXBlRW51bS5DTElFTlRfQURNSU4pIHtcbiAgICAgIHRoaXMuaXNTaG93Q3JlYXRlQWN0aW9uID0gdGhpcy5wZXJtaXNzaW9uPy5jcmVhdGUgPyB0aGlzLmN1cnJlbnRVc2VyU2VydmljZS5oYXNQZXJtaXNzaW9uKHRoaXMucGVybWlzc2lvbi5jcmVhdGUpIDogdHJ1ZTtcbiAgICAgIHRoaXMuaXNTaG93VXBkYXRlQWN0aW9uID0gdGhpcy5wZXJtaXNzaW9uPy51cGRhdGUgPyB0aGlzLmN1cnJlbnRVc2VyU2VydmljZS5oYXNQZXJtaXNzaW9uKHRoaXMucGVybWlzc2lvbi51cGRhdGUpIDogdHJ1ZTtcbiAgICAgIHRoaXMuaXNTaG93UmVhZEFjdGlvbiA9IHRoaXMucGVybWlzc2lvbj8ucmVhZCA/IHRoaXMuY3VycmVudFVzZXJTZXJ2aWNlLmhhc1Blcm1pc3Npb24odGhpcy5wZXJtaXNzaW9uLnJlYWQpIDogdHJ1ZTtcbiAgICAgIHRoaXMuaXNTaG93RGVsZXRlQWN0aW9uID0gdGhpcy5wZXJtaXNzaW9uPy5kZWxldGUgPyB0aGlzLmN1cnJlbnRVc2VyU2VydmljZS5oYXNQZXJtaXNzaW9uKHRoaXMucGVybWlzc2lvbi5kZWxldGUpIDogdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBGaWxlIGRyb3BwZXIgY29uZmlnXG4gICAgdGhpcy5maWxlQ29uZmlnID0ge1xuICAgICAgZmlsZUlkOiBcImVudGl0eURhc2hib2FyZERyb3BwZXJcIixcbiAgICAgIGNvbnRhaW5lcklkOiBcImVudGl0eURhc2hib2FyZERyb3BwZXJDb250YWluZXJcIixcbiAgICAgIHN0eWxlczoge1xuICAgICAgICBoZWlnaHQ6IHRoaXMuZmlsZURyb3BwZXJIZWlnaHRcbiAgICAgIH0sXG4gICAgICBtdWx0aXBsZTogdGhpcy5hbGxvd011bHRpcGxlRmlsZXMsXG4gICAgICBhY2NlcHRGaWxlOiBcIipcIixcbiAgICAgIG1heFNpemU6IDEwLFxuICAgICAgYWNjZXB0RmlsZVRleHQ6IFwiQWxsIEZpbGVzXCJcbiAgICB9O1xuXG4gICAgdGhpcy52aWV3ZXJDb25maWcgPSB7XG4gICAgICBpbWFnZVN0eWxlOiB7XG4gICAgICAgIGhlaWdodDogJzIwMHB4JyxcbiAgICAgICAgd2lkdGg6ICcyMDBweCdcbiAgICAgIH0sXG4gICAgICB2aWV3ZXJTdHlsZToge1xuICAgICAgICBoZWlnaHQ6ICcgMTYwcHgnLFxuICAgICAgICB3aWR0aDogJzIwMHB4J1xuICAgICAgfSxcbiAgICAgIGhpZGVSZW1vdmU6IHRydWVcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuaGlkZVRpdGxlQW5kRGV0YWlscykge1xuICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLmZpbHRlcih4ID0+ICh4ICE9PSAnZGV0YWlscycpICYmICh4ICE9PSAndGl0bGUnKSk7XG4gICAgfVxuICAgIHRoaXMubGlzdGVuUm91dGVzKCk7XG4gICAgdGhpcy5maWx0ZXJzID0ge1xuICAgICAgZW50aXR5X3R5cGU6IHRoaXMuZW50aXR5VHlwZSxcbiAgICAgIGVudGl0eV9pZDogdGhpcy5lbnRpdHlJZCxcbiAgICAgIHRpdGxlOiBcIlwiXG4gICAgfTtcbiAgICB0aGlzLmxvYWREYXRhKCk7XG4gICAgaWYgKCF0aGlzLnZpZXdPbmx5KSB7XG4gICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaCgnYWN0aW9ucycpO1xuICAgIH1cbiAgICBpZiAodGhpcy5hbGxvd0J1bGtVcGRhdGUpIHtcbiAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucy5wdXNoKCdzZWxlY3QnKTtcbiAgICB9XG4gIH1cblxuICBsaXN0ZW5Sb3V0ZXMoKSB7XG4gICAgdGhpcy5maWx0ZXJGb3JtLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSg1MDApLCB1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgIC5zdWJzY3JpYmUoY2hhbmdlcyA9PiB7XG4gICAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGxvYWREYXRhKCk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVycy5wYWdlID0gdGhpcy5wYWdlO1xuICAgIGNvbnN0IGZvcm1Hcm91cCA9IHRoaXMuZmlsdGVyRm9ybS52YWx1ZTtcbiAgICBmb3JtR3JvdXAudGFnX2lkcyA9IGZvcm1Hcm91cC50YWdfaWRzLnRvU3RyaW5nKCk7XG4gICAgdGhpcy5maWx0ZXJzID0ge1xuICAgICAgLi4udGhpcy5maWx0ZXJzLFxuICAgICAgLi4uZm9ybUdyb3VwLFxuICAgICAgd2l0aDogJ2NyZWF0b3IsdGFncydcbiAgICB9O1xuICAgIHRoaXMuaXNXb3JraW5nID0gdHJ1ZTtcbiAgICB0aGlzLmVudGl0eUZpbGVTZXJ2aWNlLmluZGV4KHRoaXMuZmlsdGVycykuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmxhc3RQYWdlID0gcmVzdWx0Lmxhc3RfcGFnZSB8fCB0aGlzLnBhZ2U7XG4gICAgICAgIHRoaXMubW9kZWxzID0gdGhpcy5tb2RlbHMuY29uY2F0KHJlc3VsdC5kYXRhKTtcbiAgICAgICAgdGhpcy5sYXN0UGFnZSA9IHJlc3VsdD8ubGFzdF9wYWdlO1xuICAgICAgICB0aGlzLmlzV29ya2luZyA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoKSA9PiB0aGlzLmlzV29ya2luZyA9IGZhbHNlXG4gICAgfSk7XG4gIH1cblxuICBhZGRFbnRpdHlGaWxlKCkge1xuICAgIHRoaXMuaXNXb3JraW5nID0gdHJ1ZTtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEVudGl0eUZpbGVGb3JtQ29tcG9uZW50LCB7XG4gICAgICB3aWR0aDogXCI3MDBweFwiLFxuICAgICAgZGF0YToge1xuICAgICAgICBlbnRpdHk6IHRoaXMuZmlsdGVycyxcbiAgICAgICAgaGlkZVRpdGxlQW5kRGV0YWlsczogdGhpcy5oaWRlVGl0bGVBbmREZXRhaWxzLFxuICAgICAgICB1c2VUZWNobGlmeVRhZ3M6IHRoaXMudXNlVGVjaGxpZnlUYWdzLFxuICAgICAgICB0ZWNobGlmeVRhZ0NhdGVnb3JpZXM6IHRoaXMudGVjaGxpZnlUYWdDYXRlZ29yaWVzLFxuICAgICAgICB0ZWNobGlmeVRhZ0NvbmZpZzogdGhpcy50ZWNobGlmeVRhZ0NvbmZpZyxcbiAgICAgIH0sXG4gICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgcmVzdG9yZUZvY3VzOiBmYWxzZVxuICAgIH0pO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKGFzeW5jIHJlc3VsdCA9PiB7XG4gICAgICB0aGlzLmlzV29ya2luZyA9IGZhbHNlO1xuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICB0aGlzLnJlbG9hZCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZWRpdEVudGl0eUZpbGUoZmlsZTogYW55KSB7XG4gICAgdGhpcy5pc1dvcmtpbmcgPSB0cnVlO1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oRW50aXR5RmlsZUZvcm1Db21wb25lbnQsIHtcbiAgICAgIHdpZHRoOiBcIjcwMHB4XCIsXG4gICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgZGF0YToge1xuICAgICAgICBmaWxlLFxuICAgICAgICBoaWRlVGl0bGVBbmREZXRhaWxzOiB0aGlzLmhpZGVUaXRsZUFuZERldGFpbHMsXG4gICAgICAgIHVzZVRlY2hsaWZ5VGFnczogdGhpcy51c2VUZWNobGlmeVRhZ3MsXG4gICAgICAgIHRlY2hsaWZ5VGFnQ2F0ZWdvcmllczogdGhpcy50ZWNobGlmeVRhZ0NhdGVnb3JpZXMsXG4gICAgICAgIHRlY2hsaWZ5VGFnQ29uZmlnOiB0aGlzLnRlY2hsaWZ5VGFnQ29uZmlnLFxuICAgICAgfSAvLyBBbnkgZGF0YSBwYXNzZWQgaGVyZSB3aWxsIGJlIGluamVjdGVkIGludG8gdGhlIG1vZGVsXG4gICAgfSk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgIHRoaXMuaXNXb3JraW5nID0gZmFsc2U7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzaXplT2YoYnl0ZXMpIHtcbiAgICBpZiAoIWJ5dGVzKSB7IHJldHVybiBcIjAuMDAgQlwiOyB9XG4gICAgdmFyIGUgPSBNYXRoLmZsb29yKE1hdGgubG9nKGJ5dGVzKSAvIE1hdGgubG9nKDEwMjQpKTtcbiAgICByZXR1cm4gKGJ5dGVzIC8gTWF0aC5wb3coMTAyNCwgZSkpLnRvRml4ZWQoMikgKyAnICcgKyAnIEtNR1RQJy5jaGFyQXQoZSkgKyAnQic7XG4gIH1cblxuICBhc3luYyBmaWxlQ2hhbmdlZChldmVudDogYW55KSB7XG4gICAgdGhpcy5tb2RlbHMgPSBldmVudDtcbiAgICBpZiAodGhpcy5tb2RlbHMubGVuZ3RoID4gMCkge1xuICAgICAgYXdhaXQgdGhpcy5tb2RlbHMuZm9yRWFjaChhc3luYyBmaWxlID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBhbnkgPSBhd2FpdCB0aGlzLmVudGl0eUZpbGVTZXJ2aWNlLnVwbG9hZEVudGl0eUZpbGUoXG4gICAgICAgICAgZmlsZSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBlbnRpdHlfdHlwZTogdGhpcy5lbnRpdHlUeXBlLFxuICAgICAgICAgICAgZW50aXR5X2lkOiB0aGlzLmVudGl0eUlkLFxuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5tb2RlbHMgPSBbXTtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KCdGaWxlcyB1cGxvYWRlZCBzdWNjZXNzZnVsbHkhJywgJ3N1Y2Nlc3MnKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBidWxrVXBkYXRlKGZpZWxkTmFtZTogYW55KSB7XG4gICAgdmFyIGRhdGEgPSB0aGlzLnVwZGF0ZVJvd0Zvcm0udmFsdWU7XG4gICAgdGhpcy5pc1dvcmtpbmcgPSB0cnVlO1xuICAgIGRhdGEuZmllbGRfbmFtZSA9IGZpZWxkTmFtZTtcbiAgICBkYXRhLmRvY3VtZW50X2lkcyA9IHRoaXMuc2VsZWN0ZWRNb2RlbElkcztcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmVudGl0eUZpbGVTZXJ2aWNlLmJ1bGtVcGRhdGUoZGF0YSkudGhlbihcbiAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydChcIlN1Y2Nlc3NmdWxseSB1cGRhdGVkXCIsIFwic3VjY2Vzc1wiKTtcbiAgICAgICAgICB0aGlzLmlzV29ya2luZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5lcnJvckhhbmRsZXIuaGFuZGxlRXJyb3IoZXJyb3IpO1xuICAgICAgdGhpcy5pc1dvcmtpbmcgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJ2aWV3TW9kZSA9PT0gJ2xpc3QnXCI+XG4gIDxkaXYgKm5nSWY9XCJ0aGlzLnNlbGVjdGVkTW9kZWxJZHMubGVuZ3RoXCIgY2xhc3M9XCJkLW5vbmUgZC1tZC1mbGV4IGZsZXgtY29sdW1uXCI+XG4gICAgPG1hdC1jYXJkIGNsYXNzPVwidXBkYXRlX2NhcmRcIiAqbmdJZj1cInRoaXMuc2VsZWN0ZWRNb2RlbElkcy5sZW5ndGhcIj5cbiAgICAgIDxtYXQtY2FyZC1oZWFkZXI+XG4gICAgICAgIDxtYXQtY2FyZC10aXRsZT5cbiAgICAgICAgICA8ZGl2IG1hdC1kaWFsb2ctdGl0bGUgY2xhc3M9XCJtdC0yIG1sLTIgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXY+VXBkYXRlIFNlbGVjdGVkIFJvd3M8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtY2FyZC10aXRsZT5cbiAgICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxuICAgICAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW5cIj5cbiAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJ1cGRhdGVSb3dGb3JtXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtblwiPlxuXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJ3LTEwMCBweC0xXCI+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiIHBsYWNlaG9sZGVyPVwiVGl0bGVcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAvPlxuICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwidXBkYXRlUm93Rm9ybS5nZXQoJ3RpdGxlJykudmFsdWUgfHwgdXBkYXRlUm93Rm9ybS5nZXQoJ3RpdGxlJykudmFsdWU9PT0wXCIgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uIHN0eWxlPVwiY29sb3I6cmVkXCIgKGNsaWNrKT1cInVwZGF0ZVJvd0Zvcm0uZ2V0KCd0aXRsZScpLnNldFZhbHVlKCcnKVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiIHN0eWxlPVwiY29sb3I6Z3JlZW5cIiAqbmdJZj1cIih1cGRhdGVSb3dGb3JtLmdldCgndGl0bGUnKS52YWx1ZSB8fCB1cGRhdGVSb3dGb3JtLmdldCgndGl0bGUnKS52YWx1ZT09PTApXG4gICAgICAgICAgICAgICAgJiYgdXBkYXRlUm93Rm9ybS5nZXQoJ3RpdGxlJykudmFsaWRcIiAoY2xpY2spPVwiYnVsa1VwZGF0ZSgndGl0bGUnKVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kb25lPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJ3LTEwMCBweC0xXCI+XG4gICAgICAgICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJkZXRhaWxzXCIgcGxhY2Vob2xkZXI9XCJEZXRhaWxzXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInVwZGF0ZVJvd0Zvcm0uZ2V0KCdkZXRhaWxzJykudmFsdWUgfHwgdXBkYXRlUm93Rm9ybS5nZXQoJ2RldGFpbHMnKS52YWx1ZT09PTBcIiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b24gc3R5bGU9XCJjb2xvcjpyZWRcIiAoY2xpY2spPVwidXBkYXRlUm93Rm9ybS5nZXQoJ2RldGFpbHMnKS5zZXRWYWx1ZSgnJylcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIiBzdHlsZT1cImNvbG9yOmdyZWVuXCIgKm5nSWY9XCIodXBkYXRlUm93Rm9ybS5nZXQoJ2RldGFpbHMnKS52YWx1ZSB8fCB1cGRhdGVSb3dGb3JtLmdldCgnZGV0YWlscycpLnZhbHVlPT09MClcbiAgICAgICAgICAgICAgICAmJiB1cGRhdGVSb3dGb3JtLmdldCgnZGV0YWlscycpLnZhbGlkXCIgKGNsaWNrKT1cImJ1bGtVcGRhdGUoJ2RldGFpbHMnKVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kb25lPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidXNlVGVjaGxpZnlUYWdzXCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlRhZzwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxhcHAtdGVjaGxpZnktdGFnZ2VyLXRhZy1mb3JtLWZpZWxkIG1vZGVsVHlwZT1cImVudGl0eS1maWxlXCIgZm9ybUNvbnRyb2xOYW1lPVwidGFnX2lkc1wiXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkVudGVyIG5ldyB0YWdcIj5cbiAgICAgICAgICAgICAgICA8L2FwcC10ZWNobGlmeS10YWdnZXItdGFnLWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInVwZGF0ZVJvd0Zvcm0uZ2V0KCd0YWdfaWRzJykudmFsdWUgfHwgdXBkYXRlUm93Rm9ybS5nZXQoJ3RhZ19pZHMnKS52YWx1ZT09PTBcIiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvbiBzdHlsZT1cImNvbG9yOnJlZFwiIChjbGljayk9XCJ1cGRhdGVSb3dGb3JtLmdldCgndGFnX2lkcycpLnNldFZhbHVlKCcnKVwiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiIHN0eWxlPVwiY29sb3I6Z3JlZW5cIiAqbmdJZj1cIih1cGRhdGVSb3dGb3JtLmdldCgndGFnX2lkcycpLnZhbHVlIHx8IHVwZGF0ZVJvd0Zvcm0uZ2V0KCd0YWdfaWRzJykudmFsdWU9PT0wKVxuICAgICAgICAgICAgICAgICAgJiYgdXBkYXRlUm93Rm9ybS5nZXQoJ3RhZ19pZHMnKS52YWxpZFwiIChjbGljayk9XCJidWxrVXBkYXRlKCd0YWdfaWRzJylcIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kb25lPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Zvcm0+XG4gICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgPC9tYXQtY2FyZD5cblxuICA8L2Rpdj5cblxuICA8ZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiICpuZ0lmPVwiIWRpc3BsYXlNb2RlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtcm93IGdhcC0zXCI+XG4gICAgICAgIDxtYXQtY2FyZCBjbGFzcz1cImZsZXgtZ3Jvdy0xXCI+XG4gICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8bWF0LWljb24+XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiZm9udC13ZWlnaHQtYm9sZCBtYi0wXCI+XG4gICAgICAgICAgICAgICAge3t0aXRsZX19c1xuICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICA8YXBwLXRlY2hsaWZ5LWljb24gbmFtZT1cImFkZFwiIGNsYXNzPVwiY2xpY2thYmxlIG1zLTJcIiAoY2xpY2spPVwiYWRkRW50aXR5RmlsZSgpXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiF2aWV3T25seSAmJiBpc1Nob3dDcmVhdGVBY3Rpb25cIiBtYXRUb29sdGlwPVwiQWRkXCI+PC9hcHAtdGVjaGxpZnktaWNvbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmbGV4LWdyb3ctMVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmaWx0ZXJGb3JtXCIgY2xhc3M9XCJkLWZsZXggZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCIhcmVtb3ZlU2VhcmNoXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+U2VhcmNoPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgbmFtZT1cInRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCIgLz5cbiAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJmaWx0ZXJzLnRpdGxlXCIgbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwicmVzZXRGaWx0ZXIoJ3RpdGxlJylcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidXNlVGVjaGxpZnlUYWdzXCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+VGFnPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxhcHAtdGVjaGxpZnktdGFnZ2VyLXRhZy1mb3JtLWZpZWxkIFtjYXRlZ29yaWVzXT1cInRlY2hsaWZ5VGFnQ2F0ZWdvcmllc1wiIGZvcm1Db250cm9sTmFtZT1cInRhZ19pZHNcIlxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IFRhZ3NcIiBbY29uZmlnXT1cInRlY2hsaWZ5VGFnQ29uZmlnXCI+PC9hcHAtdGVjaGxpZnktdGFnZ2VyLXRhZy1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJlbnRpdHktZmlsZS1jYXJkIHAtMFwiPlxuICAgICAgICAgICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJtb2RlbHNcIiBjbGFzcz1cInctMTAwXCIgbWF0U29ydCBtdWx0aVRlbXBsYXRlRGF0YVJvd3MgaW5maW5pdGVTY3JvbGxcbiAgICAgICAgICAgICAgW2luZmluaXRlU2Nyb2xsRGlzdGFuY2VdPVwiMS41XCIgW2luZmluaXRlU2Nyb2xsVGhyb3R0bGVdPVwiNTBcIiAoc2Nyb2xsZWQpPVwib25TY3JvbGwoKVwiPlxuXG4gICAgICAgICAgICAgIDwhLS0gU2VsZWN0IENvbHVtbiAtLT5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJzZWxlY3RcIj5cbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIHN0eWxlPVwid2lkdGg6MzBweFwiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveCBuYW1lPVwiZW1wbG95ZWVcIiBbKG5nTW9kZWwpXT1cImlzQWxsU2VsZWN0ZWRcIiAoY2hhbmdlKT1cInNlbGVjdEFsbCgpXCI+XG4gICAgICAgICAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCIgc3R5bGU9XCJ3aWR0aDozMHB4XCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94IG5hbWU9XCJlbXBsb3llZVt7e2VsZW1lbnQ/LmlkfX1dXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZWxlbWVudC5pc19zZWxlY3RlZFwiIChjaGFuZ2UpPVwiaXNTZWxlY3Rpb25Nb2RpZmllZCgkZXZlbnQsIGVsZW1lbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFtb2RlbHMubGVuZ3RoXCI+XG4gICAgICAgICAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICA8IS0tIEluZGV4IENvbHVtbiAtLT5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJpbmRleFwiPlxuICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+ICMgPC90aD5cbiAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudDsgbGV0IGkgPSBkYXRhSW5kZXhcIj4ge3sgaSsxIH19IDwvdGQ+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgIDwhLS0gVGl0bGUgQ29sdW1uIC0tPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInRpdGxlXCI+XG4gICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gVGl0bGUgPC90aD5cbiAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgICAgICAgICAge3tlbGVtZW50LnRpdGxlfX1cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ1c2VUZWNobGlmeVRhZ3NcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJyPlxuICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJiYWRnZSBiYWRnZS1zZWNvbmRhcnkgbXItMVwiICpuZ0Zvcj1cImxldCB0YWcgb2YgZWxlbWVudD8udGFnc1wiPnt7dGFnPy50aXRsZX19PC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgPCEtLSBEZXRhaWxzIENvbHVtbiAtLT5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJkZXRhaWxzXCI+XG4gICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gRGV0YWlscyA8L3RoPlxuICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgICAgICAgICAgICA8YXBwLXJlYWQtbW9yZSBbdGV4dF09XCJlbGVtZW50LmRldGFpbHNcIiBbbWF4TGVuZ3RoXT1cIjUwXCI+PC9hcHAtcmVhZC1tb3JlPlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgIDwhLS0gRmlsZSBzaXplIENvbHVtbiAtLT5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJmaWxlX3NpemVcIj5cbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBGaWxlIFNpemUgPC90aD5cbiAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiB7eyBzaXplT2YoZWxlbWVudC5maWxlX3NpemUpfX0gPC90ZD5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgPCEtLSBVcGxvYWRlZCBPbiBDb2x1bW4gLS0+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidXBsb2FkZWRfb25cIj5cbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBVcGxvYWRlZCBPbiA8L3RoPlxuICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICB7e2VsZW1lbnQuY3JlYXRlZF9hdCB8IGRhdGU6ICdtZWRpdW1EYXRlJ319XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+XG4gICAgICAgICAgICAgICAgICAgIEJ5IHt7ZWxlbWVudC5jcmVhdG9yPy5uYW1lfX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgIDwhLS0gQWN0aW9ucyBDb2x1bW4gLS0+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IEFjdGlvbnMgPC90aD5cbiAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiIGNsYXNzPVwidGV4dC1tdXRlZFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxuICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwie3tlbGVtZW50LnVybH19XCIgdGFyZ2V0PVwiX2JsYW5rXCIgY2xhc3M9XCJ0ZXh0LWRlY29yYXRpb24tbm9uZSB0ZXh0LW11dGVkIGNsaWNrYWJsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kb3dubG9hZDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgPGFwcC10ZWNobGlmeS1pY29uIG5hbWU9XCJlZGl0XCIgY2xhc3M9XCJjbGlja2FibGUgdGV4dC1zZWNvbmRhcnlcIiAoY2xpY2spPVwiZWRpdEVudGl0eUZpbGUoZWxlbWVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIXZpZXdPbmx5ICYmIGlzU2hvd1VwZGF0ZUFjdGlvblwiIG1hdFRvb2x0aXA9XCJFZGl0XCI+PC9hcHAtdGVjaGxpZnktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPGFwcC10ZWNobGlmeS1kZWxldGUtYnV0dG9uICpuZ0lmPVwiIXZpZXdPbmx5ICYmIGlzU2hvd0RlbGV0ZUFjdGlvblwiIGNsYXNzPSd0ZXh0LXNlY29uZGFyeSBtcy0xJ1xuICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJlbGVtZW50XCIgW3NlcnZpY2VdPVwiZW50aXR5RmlsZVNlcnZpY2VcIlxuICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9XCJBcmUgeW91IHN1cmUgdG8gcHJvY2VlZCBkZWxldGUgdGhlIGZpbGUge3tlbGVtZW50LnRpdGxlfX1cIlxuICAgICAgICAgICAgICAgICAgICAgIChkZWxldGVkKT1cIm1vZGVsc0RlbGV0ZWRCeUlkKGVsZW1lbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvYXBwLXRlY2hsaWZ5LWRlbGV0ZS1idXR0b24+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxuICAgICAgICAgICAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIj48L3RyPlxuICAgICAgICAgICAgPC90YWJsZT5cblxuICAgICAgICAgICAgPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiAqbmdJZj1cImlzV29ya2luZ1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cbiAgICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDwvbWF0LWNhcmQ+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1Nob3dEcmFnRHJvcFNlY3Rpb25cIj5cbiAgICAgICAgICA8c2VjdGlvbiBzdHlsZT1cImZsZXg6IDAgMSAzMCU7XCIgKm5nSWY9XCIhdGhpcy5zZWxlY3RlZE1vZGVsSWRzLmxlbmd0aCAmJiAhdmlld09ubHkgJiYgaXNTaG93Q3JlYXRlQWN0aW9uXCI+XG4gICAgICAgICAgICA8YXBwLWZpbGUtZHJvcHBlciBbY29uZmlnXT1cImZpbGVDb25maWdcIiAoZmlsZUNoYW5nZWQpPVwiZmlsZUNoYW5nZWQoJGV2ZW50KVwiIFtmaWxlQXJyYXldPVwibW9kZWxzXCI+XG4gICAgICAgICAgICA8L2FwcC1maWxlLWRyb3BwZXI+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtd3JhcCBnYXAtMyBtYXQtdHlwb2dyYXBoeSBwLTRcIiAqbmdJZj1cImRpc3BsYXlNb2RlXCI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgZWZpbGUgb2YgbW9kZWxzXCI+XG4gICAgICA8YXBwLWRvY3VtZW50LXZpZXdlciBbZmlsZV09XCJlZmlsZS5maWxlXCIgW2ZpbGVVcmxdPVwiZWZpbGUudXJsXCIgW2NvbmZpZ109XCJ0aGlzLnZpZXdlckNvbmZpZ1wiIFtkaXNhYmxlRWRpdF09XCJ0cnVlXCI+XG4gICAgICA8L2FwcC1kb2N1bWVudC12aWV3ZXI+XG4gICAgICA8YSBocmVmPVwie3tlZmlsZS51cmx9fVwiIHRhcmdldD1cIl9ibGFua1wiPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gdHlwZT1cImJ1dHRvblwiPlZpZXc8L2J1dHRvbj5cbiAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPG1hdC1jYXJkICpuZ0lmPVwidmlld01vZGUgPT09ICd0aW1lbGluZSdcIj5cbiAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICA8bWF0LWljb24+XG4gICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICA8L21hdC1pY29uPlxuICAgICAgPGgzIGNsYXNzPVwiZm9udC13ZWlnaHQtYm9sZCBtYi0wXCI+XG4gICAgICAgIHt7dGl0bGV9fXNcbiAgICAgIDwvaDM+XG4gICAgICA8YXBwLXRlY2hsaWZ5LWljb24gbmFtZT1cImFkZFwiIGNsYXNzPVwiY2xpY2thYmxlXCIgKGNsaWNrKT1cImFkZEVudGl0eUZpbGUoKVwiICpuZ0lmPVwiIXZpZXdPbmx5ICYmIGlzU2hvd0NyZWF0ZUFjdGlvblwiXG4gICAgICAgIG1hdFRvb2x0aXA9XCJBZGRcIj48L2FwcC10ZWNobGlmeS1pY29uPlxuICAgIDwvZGl2PlxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gIDxtYXQtY2FyZC1jb250ZW50ICpuZ0lmPVwiIXRoaXMuc2VsZWN0ZWRNb2RlbElkcy5sZW5ndGggJiYgIXZpZXdPbmx5ICYmIGlzU2hvd0NyZWF0ZUFjdGlvblwiIGNsYXNzPVwibXQtM1wiPlxuICAgIDxhcHAtZmlsZS1kcm9wcGVyIFtjb25maWddPVwiZmlsZUNvbmZpZ1wiIChmaWxlQ2hhbmdlZCk9XCJmaWxlQ2hhbmdlZCgkZXZlbnQpXCIgW2ZpbGVBcnJheV09XCJtb2RlbHNcIj5cbiAgICA8L2FwcC1maWxlLWRyb3BwZXI+XG4gIDwvbWF0LWNhcmQtY29udGVudD5cblxuICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cIm10LTNcIj5cbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlbnRpdHlGaWxlIG9mIG1vZGVsc1wiIGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0wXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0wXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIGdhcC0xXCI+XG4gICAgICAgICAgPHAgY2xhc3M9XCJtYi0wIGZ3LWJvbGQgdGV4dC13cmFwXCI+e3sgZW50aXR5RmlsZT8udGl0bGUgfCB3cmFwOjIwIH19PC9wPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmctZGFya1wiICpuZ0Zvcj1cImxldCB0YWcgb2YgZW50aXR5RmlsZT8udGFnc1wiPlxuICAgICAgICAgICAge3sgdGFnPy50aXRsZSB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LWRhcmtcIj57eyBzaXplT2YoZW50aXR5RmlsZS5maWxlX3NpemUpIH19PC9zbWFsbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxhcHAtcmVhZC1tb3JlIFt0ZXh0XT1cImVudGl0eUZpbGU/LmRldGFpbHNcIiBbbWF4TGVuZ3RoXT1cIjUwXCI+PC9hcHAtcmVhZC1tb3JlPlxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBnYXAtMlwiPlxuICAgICAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiIHN0eWxlPVwibWF4LXdpZHRoOiA3MCVcIj5cbiAgICAgICAgICA8aT5VcGxvYWRlZCBCeSB7eyBlbnRpdHlGaWxlPy5jcmVhdG9yPy5uYW1lIH19IHt7IGVudGl0eUZpbGU/LmNyZWF0ZWRfYXQgfCBkYXRlOiAnbWVkaXVtRGF0ZSd9fTwvaT5cbiAgICAgICAgPC9zbWFsbD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMVwiPlxuICAgICAgICAgIDxhIGhyZWY9XCJ7e2VudGl0eUZpbGU/LnVybH19XCIgdGFyZ2V0PVwiX2JsYW5rXCIgY2xhc3M9XCJ0ZXh0LWRlY29yYXRpb24tbm9uZSB0ZXh0LXNlY29uZGFyeSBtdC0yXCI+XG4gICAgICAgICAgICA8bWF0LWljb24+ZG93bmxvYWQ8L21hdC1pY29uPlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8YXBwLXRlY2hsaWZ5LWljb24gbmFtZT1cImVkaXRcIiBjbGFzcz1cImNsaWNrYWJsZSB0ZXh0LXNlY29uZGFyeVwiIChjbGljayk9XCJlZGl0RW50aXR5RmlsZShlbnRpdHlGaWxlKVwiXG4gICAgICAgICAgICAqbmdJZj1cIiF2aWV3T25seSAmJiBpc1Nob3dVcGRhdGVBY3Rpb25cIiBtYXRUb29sdGlwPVwiRWRpdFwiPjwvYXBwLXRlY2hsaWZ5LWljb24+XG4gICAgICAgICAgPGFwcC10ZWNobGlmeS1kZWxldGUtYnV0dG9uICpuZ0lmPVwiIXZpZXdPbmx5ICYmIGlzU2hvd0RlbGV0ZUFjdGlvblwiIGNsYXNzPSd0ZXh0LXNlY29uZGFyeSBtcy0xJ1xuICAgICAgICAgICAgW21vZGVsXT1cImVudGl0eUZpbGVcIiBbc2VydmljZV09XCJlbnRpdHlGaWxlU2VydmljZVwiXG4gICAgICAgICAgICBtZXNzYWdlPVwiQXJlIHlvdSBzdXJlIHRvIHByb2NlZWQgZGVsZXRlIHRoZSBmaWxlIHt7ZW50aXR5RmlsZS50aXRsZX19XCJcbiAgICAgICAgICAgIChkZWxldGVkKT1cIm1vZGVsc0RlbGV0ZWRCeUlkKGVudGl0eUZpbGUpXCI+XG4gICAgICAgICAgPC9hcHAtdGVjaGxpZnktZGVsZXRlLWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxociBzdHlsZT1cIm1hcmdpbjogMC41cmVtIDBcIj5cbiAgICA8L2Rpdj5cbiAgICA8bWF0LXByb2dyZXNzLWJhciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiICpuZ0lmPVwiaXNXb3JraW5nXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XG48L21hdC1jYXJkPiJdfQ==
@@ -10,6 +10,7 @@ export class ExportExcelButtonComponent {
10
10
  this.iconName = 'export';
11
11
  this.fileName = 'Export_Data';
12
12
  this.data = [];
13
+ this.isParseNumeric = false;
13
14
  this.isExportingToExcel = new EventEmitter();
14
15
  this.isWorking = false;
15
16
  }
@@ -47,7 +48,11 @@ export class ExportExcelButtonComponent {
47
48
  //Fetches the data from table ID and gererate EXCEL.
48
49
  convertTableToExcel() {
49
50
  let element = document.getElementById(this.tableId);
50
- const ws = XLSX.utils.table_to_sheet(element, { raw: true });
51
+ let ws = XLSX.utils.table_to_sheet(element, { raw: true });
52
+ //Check if parse numeric is enabled and not a CSV file to apply the numeric parse
53
+ if (this.isParseNumeric && !this.isCSV) {
54
+ this.parseNumeric(ws);
55
+ }
51
56
  const wb = XLSX.utils.book_new();
52
57
  XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
53
58
  if (this.isCSV) {
@@ -57,8 +62,34 @@ export class ExportExcelButtonComponent {
57
62
  XLSX.writeFile(wb, `${this.fileName}.xlsx`);
58
63
  }
59
64
  }
65
+ //Try to parse the numeric values
66
+ parseNumeric(ws) {
67
+ // Convert numeric-looking strings to numbers
68
+ Object.keys(ws).forEach(key => {
69
+ //If value starts with '!', then it is metadata, so skip it
70
+ if (key.startsWith('!')) {
71
+ return;
72
+ }
73
+ const cell = ws[key];
74
+ //If value is empty, then skip it
75
+ if (!cell) {
76
+ return;
77
+ }
78
+ ;
79
+ //If cell value is a string
80
+ if (cell.t === 's') {
81
+ //Try converting the cell value to integer
82
+ const value = Number(cell.v);
83
+ if (!isNaN(value)) {
84
+ //If value is valid number, then add meta data about the type
85
+ cell.v = value;
86
+ cell.t = 'n';
87
+ }
88
+ }
89
+ });
90
+ }
60
91
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExportExcelButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
61
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ExportExcelButtonComponent, selector: "app-export-excel-button", inputs: { isCSV: "isCSV", iconName: "iconName", fileName: "fileName", data: "data", tableId: "tableId" }, outputs: { isExportingToExcel: "isExportingToExcel" }, ngImport: i0, template: "<app-techlify-icon class=\"clickable d-print-none\" *ngIf=\"!isWorking\" [name]=\"iconName\" (click)=\"exportToExcel()\"\n matTooltip=\"Excel Export\">\n</app-techlify-icon>", styles: [".icon-md{height:24px!important;width:24px!important;font-size:24px!important;margin:0 1px}.icon-sm{height:20px!important;width:20px!important;font-size:20px!important}.icon-xs{height:16px!important;width:16px!important;font-size:16px!important}.fl-md{width:200px!important}.fl-md .mat-mdc-form-field{width:100%!important}.fl-sm{width:150px!important}.fl-sm .mat-mdc-form-field{width:100%!important}.mat-btn-md{height:25px!important;padding:0 8px!important}.fs-12{font-size:12px!important}.fs-16{font-size:16px!important}.fs-13{font-size:13px!important}.fs-18{font-size:18px!important}.clickable:hover{cursor:pointer}.mat-mdc-form-field-hint-wrapper{padding:0 4px!important}.nil-subscript-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.create-another .mat-mdc-checkbox label{margin:0!important}.create-another .mdc-checkbox{padding:0!important}.create-another .mdc-checkbox__background{position:relative;top:0;left:0}:host{display:flex;align-content:center}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i3.TechlifyIconComponent, selector: "app-techlify-icon", inputs: ["name", "size"] }] }); }
92
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ExportExcelButtonComponent, selector: "app-export-excel-button", inputs: { isCSV: "isCSV", iconName: "iconName", fileName: "fileName", data: "data", tableId: "tableId", isParseNumeric: "isParseNumeric" }, outputs: { isExportingToExcel: "isExportingToExcel" }, ngImport: i0, template: "<app-techlify-icon class=\"clickable d-print-none\" *ngIf=\"!isWorking\" [name]=\"iconName\" (click)=\"exportToExcel()\"\n matTooltip=\"Excel Export\">\n</app-techlify-icon>", styles: [".icon-md{height:24px!important;width:24px!important;font-size:24px!important;margin:0 1px}.icon-sm{height:20px!important;width:20px!important;font-size:20px!important}.icon-xs{height:16px!important;width:16px!important;font-size:16px!important}.fl-md{width:200px!important}.fl-md .mat-mdc-form-field{width:100%!important}.fl-sm{width:150px!important}.fl-sm .mat-mdc-form-field{width:100%!important}.mat-btn-md{height:25px!important;padding:0 8px!important}.fs-12{font-size:12px!important}.fs-16{font-size:16px!important}.fs-13{font-size:13px!important}.fs-18{font-size:18px!important}.clickable:hover{cursor:pointer}.mat-mdc-form-field-hint-wrapper{padding:0 4px!important}.nil-subscript-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.create-another .mat-mdc-checkbox label{margin:0!important}.create-another .mdc-checkbox{padding:0!important}.create-another .mdc-checkbox__background{position:relative;top:0;left:0}:host{display:flex;align-content:center}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i3.TechlifyIconComponent, selector: "app-techlify-icon", inputs: ["name", "size"] }] }); }
62
93
  }
63
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExportExcelButtonComponent, decorators: [{
64
95
  type: Component,
@@ -73,7 +104,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
73
104
  type: Input
74
105
  }], tableId: [{
75
106
  type: Input
107
+ }], isParseNumeric: [{
108
+ type: Input
76
109
  }], isExportingToExcel: [{
77
110
  type: Output
78
111
  }] } });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWV4Y2VsLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2V4cG9ydC1leGNlbC9leHBvcnQtZXhjZWwtYnV0dG9uL2V4cG9ydC1leGNlbC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9leHBvcnQtZXhjZWwvZXhwb3J0LWV4Y2VsLWJ1dHRvbi9leHBvcnQtZXhjZWwtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7Ozs7O0FBTzdCLE1BQU0sT0FBTywwQkFBMEI7SUFXckM7UUFWUyxVQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLGFBQVEsR0FBVyxRQUFRLENBQUM7UUFDNUIsYUFBUSxHQUFXLGFBQWEsQ0FBQztRQUNqQyxTQUFJLEdBQVUsRUFBRSxDQUFDO1FBR2hCLHVCQUFrQixHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRWxGLGNBQVMsR0FBWSxLQUFLLENBQUM7SUFFWCxDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLGlEQUFpRDtZQUNqRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixDQUFDO2lCQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN4Qiw0REFBNEQ7Z0JBQzVELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzdCLENBQUM7WUFDRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUdYLENBQUM7SUFFRCxnQ0FBZ0M7SUFDaEMsa0JBQWtCO1FBQ2hCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQyw2Q0FBNkM7UUFDN0MsTUFBTSxFQUFFLEdBQWtCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNsRSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsT0FBTyxDQUFDLENBQUM7UUFDOUMsQ0FBQztJQUNILENBQUM7SUFFRCxvREFBb0Q7SUFDcEQsbUJBQW1CO1FBQ2pCLElBQUksT0FBTyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BELE1BQU0sRUFBRSxHQUFtQixJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM3RSxNQUFNLEVBQUUsR0FBa0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoRCxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDL0MsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLE1BQU0sRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxPQUFPLENBQUMsQ0FBQztRQUM5QyxDQUFDO0lBQ0gsQ0FBQzsrR0ExRFUsMEJBQTBCO21HQUExQiwwQkFBMEIsZ09DUnZDLGtMQUVvQjs7NEZETVAsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHlCQUF5Qjt3REFLMUIsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVJLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIFhMU1ggZnJvbSAneGxzeCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1leHBvcnQtZXhjZWwtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2V4cG9ydC1leGNlbC1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9leHBvcnQtZXhjZWwtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRXhwb3J0RXhjZWxCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBpc0NTVjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBpY29uTmFtZTogc3RyaW5nID0gJ2V4cG9ydCc7XG4gIEBJbnB1dCgpIGZpbGVOYW1lOiBzdHJpbmcgPSAnRXhwb3J0X0RhdGEnO1xuICBASW5wdXQoKSBkYXRhOiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSB0YWJsZUlkOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIGlzRXhwb3J0aW5nVG9FeGNlbDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIGlzV29ya2luZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBleHBvcnRUb0V4Y2VsKCkge1xuICAgIHRoaXMuaXNXb3JraW5nID0gdHJ1ZTtcbiAgICB0aGlzLmlzRXhwb3J0aW5nVG9FeGNlbC5lbWl0KHRydWUpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgLy9JZiB0aGVyZSBpcyBKU09OIGRhdGEsIHRoZW4gZXhwb3J0IGl0IGZyb20gZGF0YVxuICAgICAgaWYgKHRoaXMuZGF0YT8ubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLmNvbnZlcnRKU09OVG9FeGNlbCgpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnRhYmxlSWQpIHtcbiAgICAgICAgLy8gSWYgdGhlcmUgaXMgdmFsaWQgdGFibGUgaWQsIHRyeSBleHBvcnRpbmcgZnJvbSBIVE1MIHRhYmxlXG4gICAgICAgIHRoaXMuY29udmVydFRhYmxlVG9FeGNlbCgpO1xuICAgICAgfVxuICAgICAgdGhpcy5pc0V4cG9ydGluZ1RvRXhjZWwuZW1pdChmYWxzZSk7XG4gICAgICB0aGlzLmlzV29ya2luZyA9IGZhbHNlO1xuICAgIH0sIDEwMDApO1xuXG5cbiAgfVxuXG4gIC8vR2VuZXJhdGUgRXhjZWwgd2l0aCBKU09OIGRhdGEuXG4gIGNvbnZlcnRKU09OVG9FeGNlbCgpIHtcbiAgICBjb25zdCB3cyA9IFhMU1gudXRpbHMuanNvbl90b19zaGVldCh0aGlzLmRhdGEpO1xuICAgIC8qIGdlbmVyYXRlIHdvcmtib29rIGFuZCBhZGQgdGhlIHdvcmtzaGVldCAqL1xuICAgIGNvbnN0IHdiOiBYTFNYLldvcmtCb29rID0gWExTWC51dGlscy5ib29rX25ldygpO1xuICAgIFhMU1gudXRpbHMuYm9va19hcHBlbmRfc2hlZXQod2IsIHdzLCAnU2hlZXQxJyk7XG4gICAgaWYgKHRoaXMuaXNDU1YpIHtcbiAgICAgIFhMU1gud3JpdGVGaWxlKHdiLCBgJHt0aGlzLmZpbGVOYW1lfS5jc3ZgLCB7IGJvb2tUeXBlOiAnY3N2JyB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgWExTWC53cml0ZUZpbGUod2IsIGAke3RoaXMuZmlsZU5hbWV9Lnhsc3hgKTtcbiAgICB9XG4gIH1cblxuICAvL0ZldGNoZXMgdGhlIGRhdGEgZnJvbSB0YWJsZSBJRCBhbmQgZ2VyZXJhdGUgRVhDRUwuXG4gIGNvbnZlcnRUYWJsZVRvRXhjZWwoKSB7XG4gICAgbGV0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLnRhYmxlSWQpO1xuICAgIGNvbnN0IHdzOiBYTFNYLldvcmtTaGVldCA9IFhMU1gudXRpbHMudGFibGVfdG9fc2hlZXQoZWxlbWVudCwgeyByYXc6IHRydWUgfSk7XG4gICAgY29uc3Qgd2I6IFhMU1guV29ya0Jvb2sgPSBYTFNYLnV0aWxzLmJvb2tfbmV3KCk7XG4gICAgWExTWC51dGlscy5ib29rX2FwcGVuZF9zaGVldCh3Yiwgd3MsICdTaGVldDEnKTtcbiAgICBpZiAodGhpcy5pc0NTVikge1xuICAgICAgWExTWC53cml0ZUZpbGUod2IsIGAke3RoaXMuZmlsZU5hbWV9LmNzdmAsIHsgYm9va1R5cGU6ICdjc3YnIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBYTFNYLndyaXRlRmlsZSh3YiwgYCR7dGhpcy5maWxlTmFtZX0ueGxzeGApO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8YXBwLXRlY2hsaWZ5LWljb24gY2xhc3M9XCJjbGlja2FibGUgZC1wcmludC1ub25lXCIgKm5nSWY9XCIhaXNXb3JraW5nXCIgW25hbWVdPVwiaWNvbk5hbWVcIiAoY2xpY2spPVwiZXhwb3J0VG9FeGNlbCgpXCJcbiAgICBtYXRUb29sdGlwPVwiRXhjZWwgRXhwb3J0XCI+XG48L2FwcC10ZWNobGlmeS1pY29uPiJdfQ==
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWV4Y2VsLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2V4cG9ydC1leGNlbC9leHBvcnQtZXhjZWwtYnV0dG9uL2V4cG9ydC1leGNlbC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9leHBvcnQtZXhjZWwvZXhwb3J0LWV4Y2VsLWJ1dHRvbi9leHBvcnQtZXhjZWwtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7Ozs7O0FBTzdCLE1BQU0sT0FBTywwQkFBMEI7SUFXckM7UUFWUyxVQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLGFBQVEsR0FBVyxRQUFRLENBQUM7UUFDNUIsYUFBUSxHQUFXLGFBQWEsQ0FBQztRQUNqQyxTQUFJLEdBQVUsRUFBRSxDQUFDO1FBRWpCLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQy9CLHVCQUFrQixHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRWxGLGNBQVMsR0FBWSxLQUFLLENBQUM7SUFFWCxDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLGlEQUFpRDtZQUNqRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFB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LElBQUksQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ25CLDBDQUEwQztnQkFDMUMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUNsQiw2REFBNkQ7b0JBQzdELElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO29CQUNmLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO2dCQUNmLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQXhGVSwwQkFBMEI7bUdBQTFCLDBCQUEwQixrUUNSdkMsa0xBRW9COzs0RkRNUCwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UseUJBQXlCO3dEQUsxQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDSSxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBYTFNYIGZyb20gJ3hsc3gnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZXhwb3J0LWV4Y2VsLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9leHBvcnQtZXhjZWwtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZXhwb3J0LWV4Y2VsLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEV4cG9ydEV4Y2VsQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgaXNDU1Y6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgaWNvbk5hbWU6IHN0cmluZyA9ICdleHBvcnQnO1xuICBASW5wdXQoKSBmaWxlTmFtZTogc3RyaW5nID0gJ0V4cG9ydF9EYXRhJztcbiAgQElucHV0KCkgZGF0YTogYW55W10gPSBbXTtcbiAgQElucHV0KCkgdGFibGVJZDogc3RyaW5nO1xuICBASW5wdXQoKSBpc1BhcnNlTnVtZXJpYzogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgaXNFeHBvcnRpbmdUb0V4Y2VsOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgaXNXb3JraW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIGV4cG9ydFRvRXhjZWwoKSB7XG4gICAgdGhpcy5pc1dvcmtpbmcgPSB0cnVlO1xuICAgIHRoaXMuaXNFeHBvcnRpbmdUb0V4Y2VsLmVtaXQodHJ1ZSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAvL0lmIHRoZXJlIGlzIEpTT04gZGF0YSwgdGhlbiBleHBvcnQgaXQgZnJvbSBkYXRhXG4gICAgICBpZiAodGhpcy5kYXRhPy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMuY29udmVydEpTT05Ub0V4Y2VsKCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudGFibGVJZCkge1xuICAgICAgICAvLyBJZiB0aGVyZSBpcyB2YWxpZCB0YWJsZSBpZCwgdHJ5IGV4cG9ydGluZyBmcm9tIEhUTUwgdGFibGVcbiAgICAgICAgdGhpcy5jb252ZXJ0VGFibGVUb0V4Y2VsKCk7XG4gICAgICB9XG4gICAgICB0aGlzLmlzRXhwb3J0aW5nVG9FeGNlbC5lbWl0KGZhbHNlKTtcbiAgICAgIHRoaXMuaXNXb3JraW5nID0gZmFsc2U7XG4gICAgfSwgMTAwMCk7XG5cblxuICB9XG5cbiAgLy9HZW5lcmF0ZSBFeGNlbCB3aXRoIEpTT04gZGF0YS5cbiAgY29udmVydEpTT05Ub0V4Y2VsKCkge1xuICAgIGNvbnN0IHdzID0gWExTWC51dGlscy5qc29uX3RvX3NoZWV0KHRoaXMuZGF0YSk7XG4gICAgLyogZ2VuZXJhdGUgd29ya2Jvb2sgYW5kIGFkZCB0aGUgd29ya3NoZWV0ICovXG4gICAgY29uc3Qgd2I6IFhMU1guV29ya0Jvb2sgPSBYTFNYLnV0aWxzLmJvb2tfbmV3KCk7XG4gICAgWExTWC51dGlscy5ib29rX2FwcGVuZF9zaGVldCh3Yiwgd3MsICdTaGVldDEnKTtcbiAgICBpZiAodGhpcy5pc0NTVikge1xuICAgICAgWExTWC53cml0ZUZpbGUod2IsIGAke3RoaXMuZmlsZU5hbWV9LmNzdmAsIHsgYm9va1R5cGU6ICdjc3YnIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBYTFNYLndyaXRlRmlsZSh3YiwgYCR7dGhpcy5maWxlTmFtZX0ueGxzeGApO1xuICAgIH1cbiAgfVxuXG4gIC8vRmV0Y2hlcyB0aGUgZGF0YSBmcm9tIHRhYmxlIElEIGFuZCBnZXJlcmF0ZSBFWENFTC5cbiAgY29udmVydFRhYmxlVG9FeGNlbCgpIHtcbiAgICBsZXQgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMudGFibGVJZCk7XG4gICAgbGV0IHdzOiBYTFNYLldvcmtTaGVldCA9IFhMU1gudXRpbHMudGFibGVfdG9fc2hlZXQoZWxlbWVudCwgeyByYXc6IHRydWUgfSk7XG4gICAgLy9DaGVjayBpZiBwYXJzZSBudW1lcmljIGlzIGVuYWJsZWQgYW5kIG5vdCBhIENTViBmaWxlIHRvIGFwcGx5IHRoZSBudW1lcmljIHBhcnNlXG4gICAgaWYgKHRoaXMuaXNQYXJzZU51bWVyaWMgJiYgIXRoaXMuaXNDU1YpIHtcbiAgICAgIHRoaXMucGFyc2VOdW1lcmljKHdzKTtcbiAgICB9XG4gICAgY29uc3Qgd2I6IFhMU1guV29ya0Jvb2sgPSBYTFNYLnV0aWxzLmJvb2tfbmV3KCk7XG4gICAgWExTWC51dGlscy5ib29rX2FwcGVuZF9zaGVldCh3Yiwgd3MsICdTaGVldDEnKTtcbiAgICBpZiAodGhpcy5pc0NTVikge1xuICAgICAgWExTWC53cml0ZUZpbGUod2IsIGAke3RoaXMuZmlsZU5hbWV9LmNzdmAsIHsgYm9va1R5cGU6ICdjc3YnIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBYTFNYLndyaXRlRmlsZSh3YiwgYCR7dGhpcy5maWxlTmFtZX0ueGxzeGApO1xuICAgIH1cbiAgfVxuXG4gIC8vVHJ5IHRvIHBhcnNlIHRoZSBudW1lcmljIHZhbHVlc1xuICBwYXJzZU51bWVyaWMod3M6IFhMU1guV29ya1NoZWV0KSB7XG4gICAgLy8gQ29udmVydCBudW1lcmljLWxvb2tpbmcgc3RyaW5ncyB0byBudW1iZXJzXG4gICAgT2JqZWN0LmtleXMod3MpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIC8vSWYgdmFsdWUgc3RhcnRzIHdpdGggJyEnLCB0aGVuIGl0IGlzIG1ldGFkYXRhLCBzbyBza2lwIGl0XG4gICAgICBpZiAoa2V5LnN0YXJ0c1dpdGgoJyEnKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBjZWxsID0gd3Nba2V5XTtcbiAgICAgIC8vSWYgdmFsdWUgaXMgZW1wdHksIHRoZW4gc2tpcCBpdFxuICAgICAgaWYgKCFjZWxsKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH07XG4gICAgICAvL0lmIGNlbGwgdmFsdWUgaXMgYSBzdHJpbmdcbiAgICAgIGlmIChjZWxsLnQgPT09ICdzJykge1xuICAgICAgICAvL1RyeSBjb252ZXJ0aW5nIHRoZSBjZWxsIHZhbHVlIHRvIGludGVnZXJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBOdW1iZXIoY2VsbC52KTtcbiAgICAgICAgaWYgKCFpc05hTih2YWx1ZSkpIHtcbiAgICAgICAgICAvL0lmIHZhbHVlIGlzIHZhbGlkIG51bWJlciwgdGhlbiBhZGQgbWV0YSBkYXRhIGFib3V0IHRoZSB0eXBlXG4gICAgICAgICAgY2VsbC52ID0gdmFsdWU7XG4gICAgICAgICAgY2VsbC50ID0gJ24nO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxufVxuIiwiPGFwcC10ZWNobGlmeS1pY29uIGNsYXNzPVwiY2xpY2thYmxlIGQtcHJpbnQtbm9uZVwiICpuZ0lmPVwiIWlzV29ya2luZ1wiIFtuYW1lXT1cImljb25OYW1lXCIgKGNsaWNrKT1cImV4cG9ydFRvRXhjZWwoKVwiXG4gICAgbWF0VG9vbHRpcD1cIkV4Y2VsIEV4cG9ydFwiPlxuPC9hcHAtdGVjaGxpZnktaWNvbj4iXX0=
@@ -18,7 +18,7 @@ export class ImportHistoryListComponent {
18
18
  'no_of_records'
19
19
  ];
20
20
  this.isWorking = false;
21
- this.pageEvent = { page: 1, perPage: 25, lastPage: 1 };
21
+ this.pageEvent = { page: 1, lastPage: 1 };
22
22
  }
23
23
  ngOnInit() {
24
24
  if (this.config.importHistory.isEnabled) {
@@ -52,7 +52,7 @@ export class ImportHistoryListComponent {
52
52
  }
53
53
  reload() {
54
54
  this.histories = [];
55
- this.pageEvent = { page: 1, perPage: 25, lastPage: 1 };
55
+ this.pageEvent = { page: 1, lastPage: 1 };
56
56
  this.loadData();
57
57
  }
58
58
  ngOnDestroy() {
@@ -67,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
67
67
  }], ctorParameters: () => [{ type: i1.ErrorHandlerService }, { type: i2.HttpService }], propDecorators: { config: [{
68
68
  type: Input
69
69
  }] } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LWhpc3RvcnktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2ltcG9ydC1jc3YvaW1wb3J0LWhpc3RvcnktbGlzdC9pbXBvcnQtaGlzdG9yeS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvaW1wb3J0LWNzdi9pbXBvcnQtaGlzdG9yeS1saXN0L2ltcG9ydC1oaXN0b3J5LWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBU3pELE1BQU0sT0FBTywwQkFBMEI7SUFjckMsWUFDVSxZQUFpQyxFQUNqQyxJQUFpQjtRQURqQixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsU0FBSSxHQUFKLElBQUksQ0FBYTtRQWIzQixjQUFTLEdBQVUsRUFBRSxDQUFDO1FBQ3RCLHFCQUFnQixHQUFhO1lBQzNCLE9BQU87WUFDUCxhQUFhO1lBQ2IsTUFBTTtZQUNOLGVBQWU7U0FDaEIsQ0FBQztRQUNGLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFFM0IsY0FBUyxHQUFjLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQU03RCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLE1BQU0sR0FBRztnQkFDWixVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSTthQUMzQyxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO2dCQUN2SixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDcEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztnQkFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUM3QyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsQ0FBQztnQkFDTyxDQUFDO1lBQ1AsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztZQUN6QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxXQUFXO1FBQ1QseUJBQXlCO0lBQzNCLENBQUM7K0dBNURVLDBCQUEwQjttR0FBMUIsMEJBQTBCLDZGQ1h2Qywrc0RBMkNBOzs0RkRoQ2EsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHlCQUF5QjtrSEFNMUIsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXJyb3JIYW5kbGVyU2VydmljZSB9IGZyb20gJy4vLi4vLi4vY29yZS9lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGFnZUV2ZW50IH0gZnJvbSAnLi8uLi8uLi9kYXRhLXRhYmxlL2RhdGEtdGFibGUubW9kZWwnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbXBvcnRDc3ZDb25maWcgfSBmcm9tICcuLi9pbXBvcnQtY3N2LWNvbmZpZyc7XG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvaHR0cC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWltcG9ydC1oaXN0b3J5LWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1wb3J0LWhpc3RvcnktbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ltcG9ydC1oaXN0b3J5LWxpc3QuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBJbXBvcnRIaXN0b3J5TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgY29uZmlnOiBJbXBvcnRDc3ZDb25maWc7XG4gIGhpc3RvcmllczogYW55W10gPSBbXTtcbiAgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW10gPSBbXG4gICAgJ2luZGV4JyxcbiAgICAnaW1wb3J0ZWRfYnknLFxuICAgICdkYXRlJyxcbiAgICAnbm9fb2ZfcmVjb3JkcydcbiAgXTtcbiAgaXNXb3JraW5nOiBib29sZWFuID0gZmFsc2U7XG4gIGZpbHRlcjogYW55O1xuICBwYWdlRXZlbnQ6IFBhZ2VFdmVudCA9IHsgcGFnZTogMSwgcGVyUGFnZTogMjUsIGxhc3RQYWdlOiAxIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlcnJvckhhbmRsZXI6IEVycm9ySGFuZGxlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwU2VydmljZSxcbiAgKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5jb25maWcuaW1wb3J0SGlzdG9yeS5pc0VuYWJsZWQpIHtcbiAgICAgIHRoaXMuZmlsdGVyID0ge1xuICAgICAgICBtb2RlbF90eXBlOiB0aGlzLmNvbmZpZy5pbXBvcnRIaXN0b3J5LnR5cGVcbiAgICAgIH07XG4gICAgfVxuICAgIHRoaXMubG9hZERhdGEoKTtcbiAgfVxuXG4gIGxvYWREYXRhKCkge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XG4gICAgICB0aGlzLmh0dHAuZ2V0KHRoaXMuY29uZmlnLmltcG9ydEhpc3RvcnkuYXBpVXJsLCB7IHBhcmFtczogeyAuLi50aGlzLmZpbHRlciwgLi4udGhpcy5wYWdlRXZlbnQsIHNvcnRfYnk6ICdjcmVhdGVkX2F0fGRlc2MnIH0gfSkuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmhpc3RvcmllcyA9IHRoaXMuaGlzdG9yaWVzLmNvbmNhdChyZXN1bHQuZGF0YSk7XG4gICAgICAgIHRoaXMucGFnZUV2ZW50LnBhZ2UgPSByZXN1bHQuY3VycmVudF9wYWdlO1xuICAgICAgICB0aGlzLnBhZ2VFdmVudC5sYXN0UGFnZSA9IHJlc3VsdC5sYXN0X3BhZ2U7XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5lcnJvckhhbmRsZXIuaGFuZGxlRXJyb3IoZXJyb3IpO1xuICAgIH1cbiAgICBmaW5hbGx5IHtcbiAgICAgIHRoaXMuaXNXb3JraW5nID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgb25TY3JvbGwoKSB7XG4gICAgaWYgKHRoaXMucGFnZUV2ZW50Lmxhc3RQYWdlID4gdGhpcy5wYWdlRXZlbnQucGFnZSkge1xuICAgICAgdGhpcy5wYWdlRXZlbnQucGFnZSArPSAxO1xuICAgICAgdGhpcy5sb2FkRGF0YSgpO1xuICAgIH1cbiAgfVxuXG4gIHJlbG9hZCgpIHtcbiAgICB0aGlzLmhpc3RvcmllcyA9IFtdO1xuICAgIHRoaXMucGFnZUV2ZW50ID0geyBwYWdlOiAxLCBwZXJQYWdlOiAyNSwgbGFzdFBhZ2U6IDEgfTtcbiAgICB0aGlzLmxvYWREYXRhKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICAvL1VudGlsIGRlc3Ryb3llZCB1c2VzIGl0XG4gIH1cblxufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW5cIj5cbiAgPGg1IGNsYXNzPVwicHJpbWFyeS1jb2xvciBweS0zXCI+XG4gICAgSW1wb3J0IEhpc3RvcnlcbiAgPC9oNT5cbiAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJoaXN0b3JpZXNcIiBjbGFzcz1cIm1hdC1lbGV2YXRpb24tejggdy0xMDBcIiBpbmZpIGluZmluaXRlU2Nyb2xsXG4gICAgW2luZmluaXRlU2Nyb2xsRGlzdGFuY2VdPVwiMlwiIFtpbmZpbml0ZVNjcm9sbFRocm90dGxlXT1cIjUwXCIgKHNjcm9sbGVkKT1cIm9uU2Nyb2xsKClcIj5cblxuICAgIDwhLS0gSW5kZXggQ29sdW1uIC0tPlxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaW5kZXhcIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+ICMgPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50O2xldCBpPWluZGV4XCI+IHt7IGkrMSB9fSA8L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSBEYXRlIENvbHVtbiAtLT5cbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImRhdGVcIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IERhdGUgPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IHt7ZWxlbWVudD8uY3JlYXRlZF9hdCB8IGRhdGU6J21lZGl1bSd9fSA8L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSBJbXBvcnRlZCBCeSBDb2x1bW4gLS0+XG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJpbXBvcnRlZF9ieVwiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gSW1wb3J0ZWQgQnkgPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IHt7ZWxlbWVudD8uY3JlYXRvcj8ubmFtZX19IDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIE5vIG9mIHJlY29yZHMgQ29sdW1uIC0tPlxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwibm9fb2ZfcmVjb3Jkc1wiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gIyBvZiBSZWNvcmRzIDwvdGg+XG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICA8YSAqbmdJZj1cImNvbmZpZy52aWV3Um91dGVyTGlua1wiIGhyZWY9XCJqYXZhc2NyaXB0OjtcIlxuICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIltjb25maWcudmlld1JvdXRlckxpbmtdXCIgW3F1ZXJ5UGFyYW1zXT1cIntpbXBvcnRfaWQ6IGVsZW1lbnQ/LmlkfVwiPlxuICAgICAgICAgIHt7ZWxlbWVudD8ubm9fb2ZfcmVjb3Jkc319XG4gICAgICAgIDwvYT5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhY29uZmlnLnZpZXdSb3V0ZXJMaW5rXCI+XG4gICAgICAgICAge3tlbGVtZW50Py5ub19vZl9yZWNvcmRzfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XG4gICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7XCI+PC90cj5cbiAgPC90YWJsZT5cbjwvc2VjdGlvbj5cbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LWhpc3RvcnktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2ltcG9ydC1jc3YvaW1wb3J0LWhpc3RvcnktbGlzdC9pbXBvcnQtaGlzdG9yeS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvaW1wb3J0LWNzdi9pbXBvcnQtaGlzdG9yeS1saXN0L2ltcG9ydC1oaXN0b3J5LWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBU3pELE1BQU0sT0FBTywwQkFBMEI7SUFjckMsWUFDVSxZQUFpQyxFQUNqQyxJQUFpQjtRQURqQixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsU0FBSSxHQUFKLElBQUksQ0FBYTtRQWIzQixjQUFTLEdBQVUsRUFBRSxDQUFDO1FBQ3RCLHFCQUFnQixHQUFhO1lBQzNCLE9BQU87WUFDUCxhQUFhO1lBQ2IsTUFBTTtZQUNOLGVBQWU7U0FDaEIsQ0FBQztRQUNGLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFFM0IsY0FBUyxHQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFNMUMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxNQUFNLEdBQUc7Z0JBQ1osVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUk7YUFDM0MsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRTtnQkFDdkosSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7WUFDN0MsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7Z0JBQ08sQ0FBQztZQUNQLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xCLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELFdBQVc7UUFDVCx5QkFBeUI7SUFDM0IsQ0FBQzsrR0E1RFUsMEJBQTBCO21HQUExQiwwQkFBMEIsNkZDVnZDLCtzREEyQ0E7OzRGRGpDYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UseUJBQXlCO2tIQU0xQixNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi9jb3JlL2Vycm9yLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEltcG9ydENzdkNvbmZpZyB9IGZyb20gJy4uL2ltcG9ydC1jc3YtY29uZmlnJztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9odHRwLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtaW1wb3J0LWhpc3RvcnktbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbXBvcnQtaGlzdG9yeS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW1wb3J0LWhpc3RvcnktbGlzdC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEltcG9ydEhpc3RvcnlMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBjb25maWc6IEltcG9ydENzdkNvbmZpZztcbiAgaGlzdG9yaWVzOiBhbnlbXSA9IFtdO1xuICBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXSA9IFtcbiAgICAnaW5kZXgnLFxuICAgICdpbXBvcnRlZF9ieScsXG4gICAgJ2RhdGUnLFxuICAgICdub19vZl9yZWNvcmRzJ1xuICBdO1xuICBpc1dvcmtpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZmlsdGVyOiBhbnk7XG4gIHBhZ2VFdmVudDogYW55ID0geyBwYWdlOiAxLCBsYXN0UGFnZTogMSB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZXJyb3JIYW5kbGVyOiBFcnJvckhhbmRsZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgaHR0cDogSHR0cFNlcnZpY2UsXG4gICkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnLmltcG9ydEhpc3RvcnkuaXNFbmFibGVkKSB7XG4gICAgICB0aGlzLmZpbHRlciA9IHtcbiAgICAgICAgbW9kZWxfdHlwZTogdGhpcy5jb25maWcuaW1wb3J0SGlzdG9yeS50eXBlXG4gICAgICB9O1xuICAgIH1cbiAgICB0aGlzLmxvYWREYXRhKCk7XG4gIH1cblxuICBsb2FkRGF0YSgpIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5pc1dvcmtpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5odHRwLmdldCh0aGlzLmNvbmZpZy5pbXBvcnRIaXN0b3J5LmFwaVVybCwgeyBwYXJhbXM6IHsgLi4udGhpcy5maWx0ZXIsIC4uLnRoaXMucGFnZUV2ZW50LCBzb3J0X2J5OiAnY3JlYXRlZF9hdHxkZXNjJyB9IH0pLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5oaXN0b3JpZXMgPSB0aGlzLmhpc3Rvcmllcy5jb25jYXQocmVzdWx0LmRhdGEpO1xuICAgICAgICB0aGlzLnBhZ2VFdmVudC5wYWdlID0gcmVzdWx0LmN1cnJlbnRfcGFnZTtcbiAgICAgICAgdGhpcy5wYWdlRXZlbnQubGFzdFBhZ2UgPSByZXN1bHQubGFzdF9wYWdlO1xuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUVycm9yKGVycm9yKTtcbiAgICB9XG4gICAgZmluYWxseSB7XG4gICAgICB0aGlzLmlzV29ya2luZyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIG9uU2Nyb2xsKCkge1xuICAgIGlmICh0aGlzLnBhZ2VFdmVudC5sYXN0UGFnZSA+IHRoaXMucGFnZUV2ZW50LnBhZ2UpIHtcbiAgICAgIHRoaXMucGFnZUV2ZW50LnBhZ2UgKz0gMTtcbiAgICAgIHRoaXMubG9hZERhdGEoKTtcbiAgICB9XG4gIH1cblxuICByZWxvYWQoKSB7XG4gICAgdGhpcy5oaXN0b3JpZXMgPSBbXTtcbiAgICB0aGlzLnBhZ2VFdmVudCA9IHsgcGFnZTogMSwgbGFzdFBhZ2U6IDEgfTtcbiAgICB0aGlzLmxvYWREYXRhKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICAvL1VudGlsIGRlc3Ryb3llZCB1c2VzIGl0XG4gIH1cblxufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW5cIj5cbiAgPGg1IGNsYXNzPVwicHJpbWFyeS1jb2xvciBweS0zXCI+XG4gICAgSW1wb3J0IEhpc3RvcnlcbiAgPC9oNT5cbiAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJoaXN0b3JpZXNcIiBjbGFzcz1cIm1hdC1lbGV2YXRpb24tejggdy0xMDBcIiBpbmZpIGluZmluaXRlU2Nyb2xsXG4gICAgW2luZmluaXRlU2Nyb2xsRGlzdGFuY2VdPVwiMlwiIFtpbmZpbml0ZVNjcm9sbFRocm90dGxlXT1cIjUwXCIgKHNjcm9sbGVkKT1cIm9uU2Nyb2xsKClcIj5cblxuICAgIDwhLS0gSW5kZXggQ29sdW1uIC0tPlxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaW5kZXhcIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+ICMgPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50O2xldCBpPWluZGV4XCI+IHt7IGkrMSB9fSA8L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSBEYXRlIENvbHVtbiAtLT5cbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImRhdGVcIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IERhdGUgPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IHt7ZWxlbWVudD8uY3JlYXRlZF9hdCB8IGRhdGU6J21lZGl1bSd9fSA8L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSBJbXBvcnRlZCBCeSBDb2x1bW4gLS0+XG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJpbXBvcnRlZF9ieVwiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gSW1wb3J0ZWQgQnkgPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IHt7ZWxlbWVudD8uY3JlYXRvcj8ubmFtZX19IDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIE5vIG9mIHJlY29yZHMgQ29sdW1uIC0tPlxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwibm9fb2ZfcmVjb3Jkc1wiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gIyBvZiBSZWNvcmRzIDwvdGg+XG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICA8YSAqbmdJZj1cImNvbmZpZy52aWV3Um91dGVyTGlua1wiIGhyZWY9XCJqYXZhc2NyaXB0OjtcIlxuICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIltjb25maWcudmlld1JvdXRlckxpbmtdXCIgW3F1ZXJ5UGFyYW1zXT1cIntpbXBvcnRfaWQ6IGVsZW1lbnQ/LmlkfVwiPlxuICAgICAgICAgIHt7ZWxlbWVudD8ubm9fb2ZfcmVjb3Jkc319XG4gICAgICAgIDwvYT5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhY29uZmlnLnZpZXdSb3V0ZXJMaW5rXCI+XG4gICAgICAgICAge3tlbGVtZW50Py5ub19vZl9yZWNvcmRzfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XG4gICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7XCI+PC90cj5cbiAgPC90YWJsZT5cbjwvc2VjdGlvbj5cbiJdfQ==
@@ -43,7 +43,6 @@ export class LockedDateListComponent extends TechlifyListComponent {
43
43
  this.isWorking = true;
44
44
  let filters = this.filterForm.value;
45
45
  filters.page = this.page;
46
- filters.per_page = this.perPage;
47
46
  filters.date_from = filters.date_from
48
47
  ? this.datePipe.transform(filters.date_from, 'yyyy-MM-dd')
49
48
  : '';
@@ -65,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
65
64
  type: Component,
66
65
  args: [{ selector: 'app-locked-date-list', providers: [DatePipe], template: "<div class=\"d-flex flex-column gap-2\">\n <mat-card appearance=\"outlined\" class=\"d-print-none\">\n <mat-card-content class=\"d-flex flex-row align-items-center justify-content-between\">\n <div class=\"d-flex flex-row gap-2 align-items-center justify-content-between\">\n <h5 class=\"mb-0\">Locked Dates</h5>\n <app-techlify-form-button [component]=\"formComponent()\"\n (saved)=\"modelCreated($event)\"></app-techlify-form-button>\n </div>\n\n <form [formGroup]=\"filterForm\" class='d-flex flex-row gap-2'>\n <app-timeline-filter labelText=\"Period\" [form]='filterForm'></app-timeline-filter>\n </form>\n </mat-card-content>\n </mat-card>\n\n <mat-card>\n <mat-card-content>\n <table class='w-100' mat-table [dataSource]=\"models\" matSort multiTemplateDataRows infiniteScroll\n [infiniteScrollDistance]=\"1\" [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\" [scrollWindow]=\"false\"\n [infiniteScrollContainer]=\"'.mat-sidenav-content'\" [fromRoot]=\"true\" (matSortChange)=\"sortColumn($event)\">\n\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element; let i = dataIndex\"> {{ i+1 }} </td>\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"date\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Date </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.date | date: 'longDate'}}\n </td>\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"locked_on\">\n <th mat-header-cell *matHeaderCellDef> Locked On </th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.created_at | date:'medium' }}\n </td>\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"locked_by\">\n <th mat-header-cell *matHeaderCellDef> Locked By </th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.creator?.name }}\n </td>\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"details\">\n <th mat-header-cell *matHeaderCellDef> Details </th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.details }}\n </td>\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let element\">\n <div class=\"d-flex flex-row gap-2 text-secondary\">\n <app-locked-date-lock-unlock-button [lockedDate]='element'\n (onSave)='reload()'></app-locked-date-lock-unlock-button>\n <app-techlify-delete-button [service]=\"service\" [model]=\"element\"\n [data]=\"{type: 'Locked Date', title: element?.date | date:'longDate'}\"\n (deleted)=\"modelsDeletedById($event)\"></app-techlify-delete-button>\n </div>\n </td>\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n </mat-card-content>\n </mat-card>\n</div>" }]
67
66
  }], ctorParameters: () => [{ type: i1.LockedDateService }, { type: i2.FormBuilder }, { type: i3.DatePipe }] });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9ja2VkLWRhdGUtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2xvY2tlZC1kYXRlL2xvY2tlZC1kYXRlcy1saXN0L2xvY2tlZC1kYXRlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9sb2NrZWQtZGF0ZS9sb2NrZWQtZGF0ZXMtbGlzdC9sb2NrZWQtZGF0ZS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR3pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7Ozs7Ozs7Ozs7OztBQU96RixNQUFNLE9BQU8sdUJBQXdCLFNBQVEscUJBQXFCO0lBYWhFLFlBQStCLE9BQTBCLEVBQy9DLEVBQWUsRUFDZixRQUFrQjtRQUUxQixLQUFLLEVBQUUsQ0FBQztRQUpxQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUMvQyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWI1QixrQkFBYSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBRWhELHFCQUFnQixHQUFhO1lBQzNCLE9BQU87WUFDUCxNQUFNO1lBQ04sU0FBUztZQUNULFdBQVc7WUFDWCxXQUFXO1lBQ1gsU0FBUztTQUNWLENBQUM7UUFRQSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQzlCLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNmLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNiLE9BQU8sRUFBRSxDQUFDLFdBQVcsQ0FBQztTQUN2QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRVEsUUFBUTtRQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBRXRCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQ3BDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN6QixPQUFPLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDaEMsT0FBTyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUztZQUNuQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUM7WUFDMUQsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNQLE9BQU8sQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU87WUFDL0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDO1lBQ3hELENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFUCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDcEMsSUFBSSxFQUFFLENBQUMsUUFBYSxFQUFFLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNoRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOytHQW5EVSx1QkFBdUI7bUdBQXZCLHVCQUF1QiwrQ0FGdkIsQ0FBQyxRQUFRLENBQUMsaURDVnZCLHlpSEE4RU07OzRGRGxFTyx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0Usc0JBQXNCLGFBRXJCLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGVjaGxpZnlMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYmFzZS1tb2RlbCc7XG5pbXBvcnQgeyBMb2NrZWREYXRlU2VydmljZSB9IGZyb20gJy4uL2xvY2tlZC1kYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBMb2NrZWREYXRlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL2xvY2tlZC1kYXRlLWZvcm0vbG9ja2VkLWRhdGUtZm9ybS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtbG9ja2VkLWRhdGUtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2NrZWQtZGF0ZS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbRGF0ZVBpcGVdXG59KVxuZXhwb3J0IGNsYXNzIExvY2tlZERhdGVMaXN0Q29tcG9uZW50IGV4dGVuZHMgVGVjaGxpZnlMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBmb3JtQ29tcG9uZW50ID0gc2lnbmFsKExvY2tlZERhdGVGb3JtQ29tcG9uZW50KTtcblxuICBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXSA9IFtcbiAgICAnaW5kZXgnLFxuICAgICdkYXRlJyxcbiAgICAnZGV0YWlscycsXG4gICAgJ2xvY2tlZF9vbicsXG4gICAgJ2xvY2tlZF9ieScsXG4gICAgJ2FjdGlvbnMnXG4gIF07XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIG92ZXJyaWRlIHNlcnZpY2U6IExvY2tlZERhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlXG4gICkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmZpbHRlckZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIGRhdGVfZnJvbTogWycnXSxcbiAgICAgIGRhdGVfdG86IFsnJ10sXG4gICAgICBzb3J0X2J5OiBbJ2RhdGV8REVTQyddLFxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5saXN0ZW5GaWx0ZXJDaGFuZ2VzKCk7XG4gICAgdGhpcy5sb2FkRGF0YSgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbG9hZERhdGEoKSB7XG4gICAgdGhpcy5pc1dvcmtpbmcgPSB0cnVlO1xuXG4gICAgbGV0IGZpbHRlcnMgPSB0aGlzLmZpbHRlckZvcm0udmFsdWU7XG4gICAgZmlsdGVycy5wYWdlID0gdGhpcy5wYWdlO1xuICAgIGZpbHRlcnMucGVyX3BhZ2UgPSB0aGlzLnBlclBhZ2U7XG4gICAgZmlsdGVycy5kYXRlX2Zyb20gPSBmaWx0ZXJzLmRhdGVfZnJvbVxuICAgICAgPyB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShmaWx0ZXJzLmRhdGVfZnJvbSwgJ3l5eXktTU0tZGQnKVxuICAgICAgOiAnJztcbiAgICBmaWx0ZXJzLmRhdGVfdG8gPSBmaWx0ZXJzLmRhdGVfdG9cbiAgICAgID8gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZmlsdGVycy5kYXRlX3RvLCAneXl5eS1NTS1kZCcpXG4gICAgICA6ICcnO1xuXG4gICAgdGhpcy5zZXJ2aWNlLmluZGV4KGZpbHRlcnMpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLm1vZGVscyA9IHRoaXMubW9kZWxzLmNvbmNhdChyZXNwb25zZS5kYXRhKTtcbiAgICAgICAgdGhpcy5sYXN0UGFnZSA9IHJlc3BvbnNlLmxhc3RfcGFnZTtcbiAgICAgICAgdGhpcy5pc1dvcmtpbmcgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMlwiPlxuICA8bWF0LWNhcmQgYXBwZWFyYW5jZT1cIm91dGxpbmVkXCIgY2xhc3M9XCJkLXByaW50LW5vbmVcIj5cbiAgICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cImQtZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1yb3cgZ2FwLTIgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICAgIDxoNSBjbGFzcz1cIm1iLTBcIj5Mb2NrZWQgRGF0ZXM8L2g1PlxuICAgICAgICA8YXBwLXRlY2hsaWZ5LWZvcm0tYnV0dG9uIFtjb21wb25lbnRdPVwiZm9ybUNvbXBvbmVudCgpXCJcbiAgICAgICAgICAoc2F2ZWQpPVwibW9kZWxDcmVhdGVkKCRldmVudClcIj48L2FwcC10ZWNobGlmeS1mb3JtLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm1cIiBjbGFzcz0nZC1mbGV4IGZsZXgtcm93IGdhcC0yJz5cbiAgICAgICAgPGFwcC10aW1lbGluZS1maWx0ZXIgbGFiZWxUZXh0PVwiUGVyaW9kXCIgW2Zvcm1dPSdmaWx0ZXJGb3JtJz48L2FwcC10aW1lbGluZS1maWx0ZXI+XG4gICAgICA8L2Zvcm0+XG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICA8L21hdC1jYXJkPlxuXG4gIDxtYXQtY2FyZD5cbiAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgIDx0YWJsZSBjbGFzcz0ndy0xMDAnIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJtb2RlbHNcIiBtYXRTb3J0IG11bHRpVGVtcGxhdGVEYXRhUm93cyBpbmZpbml0ZVNjcm9sbFxuICAgICAgICBbaW5maW5pdGVTY3JvbGxEaXN0YW5jZV09XCIxXCIgW2luZmluaXRlU2Nyb2xsVGhyb3R0bGVdPVwiNTBcIiAoc2Nyb2xsZWQpPVwib25TY3JvbGwoKVwiIFtzY3JvbGxXaW5kb3ddPVwiZmFsc2VcIlxuICAgICAgICBbaW5maW5pdGVTY3JvbGxDb250YWluZXJdPVwiJy5tYXQtc2lkZW5hdi1jb250ZW50J1wiIFtmcm9tUm9vdF09XCJ0cnVlXCIgKG1hdFNvcnRDaGFuZ2UpPVwic29ydENvbHVtbigkZXZlbnQpXCI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJpbmRleFwiPlxuICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+ICMgPC90aD5cbiAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudDsgbGV0IGkgPSBkYXRhSW5kZXhcIj4ge3sgaSsxIH19IDwvdGQ+XG4gICAgICAgICAgPHRkIG1hdC1mb290ZXItY2VsbCAqbWF0Rm9vdGVyQ2VsbERlZj48L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImRhdGVcIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj4gRGF0ZSA8L3RoPlxuICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgICAgICB7e2VsZW1lbnQ/LmRhdGUgfCBkYXRlOiAnbG9uZ0RhdGUnfX1cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCBtYXQtZm9vdGVyLWNlbGwgKm1hdEZvb3RlckNlbGxEZWY+PC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJsb2NrZWRfb25cIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBMb2NrZWQgT24gPC90aD5cbiAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgICAge3sgZWxlbWVudD8uY3JlYXRlZF9hdCB8IGRhdGU6J21lZGl1bScgfX1cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCBtYXQtZm9vdGVyLWNlbGwgKm1hdEZvb3RlckNlbGxEZWY+PC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJsb2NrZWRfYnlcIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBMb2NrZWQgQnkgPC90aD5cbiAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgICAge3sgZWxlbWVudD8uY3JlYXRvcj8ubmFtZSB9fVxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkIG1hdC1mb290ZXItY2VsbCAqbWF0Rm9vdGVyQ2VsbERlZj48L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImRldGFpbHNcIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBEZXRhaWxzIDwvdGg+XG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICAgIHt7IGVsZW1lbnQ/LmRldGFpbHMgfX1cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCBtYXQtZm9vdGVyLWNlbGwgKm1hdEZvb3RlckNlbGxEZWY+PC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJhY3Rpb25zXCI+XG4gICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gQWN0aW9ucyA8L3RoPlxuICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtcm93IGdhcC0yIHRleHQtc2Vjb25kYXJ5XCI+XG4gICAgICAgICAgICAgIDxhcHAtbG9ja2VkLWRhdGUtbG9jay11bmxvY2stYnV0dG9uIFtsb2NrZWREYXRlXT0nZWxlbWVudCdcbiAgICAgICAgICAgICAgICAob25TYXZlKT0ncmVsb2FkKCknPjwvYXBwLWxvY2tlZC1kYXRlLWxvY2stdW5sb2NrLWJ1dHRvbj5cbiAgICAgICAgICAgICAgPGFwcC10ZWNobGlmeS1kZWxldGUtYnV0dG9uIFtzZXJ2aWNlXT1cInNlcnZpY2VcIiBbbW9kZWxdPVwiZWxlbWVudFwiXG4gICAgICAgICAgICAgICAgW2RhdGFdPVwie3R5cGU6ICdMb2NrZWQgRGF0ZScsIHRpdGxlOiBlbGVtZW50Py5kYXRlIHwgZGF0ZTonbG9uZ0RhdGUnfVwiXG4gICAgICAgICAgICAgICAgKGRlbGV0ZWQpPVwibW9kZWxzRGVsZXRlZEJ5SWQoJGV2ZW50KVwiPjwvYXBwLXRlY2hsaWZ5LWRlbGV0ZS1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCBtYXQtZm9vdGVyLWNlbGwgKm1hdEZvb3RlckNlbGxEZWY+PC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWVcIj48L3RyPlxuICAgICAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIj48L3RyPlxuICAgICAgPC90YWJsZT5cbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gIDwvbWF0LWNhcmQ+XG48L2Rpdj4iXX0=
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9ja2VkLWRhdGUtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2xvY2tlZC1kYXRlL2xvY2tlZC1kYXRlcy1saXN0L2xvY2tlZC1kYXRlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9sb2NrZWQtZGF0ZS9sb2NrZWQtZGF0ZXMtbGlzdC9sb2NrZWQtZGF0ZS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR3pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7Ozs7Ozs7Ozs7OztBQU96RixNQUFNLE9BQU8sdUJBQXdCLFNBQVEscUJBQXFCO0lBYWhFLFlBQStCLE9BQTBCLEVBQy9DLEVBQWUsRUFDZixRQUFrQjtRQUUxQixLQUFLLEVBQUUsQ0FBQztRQUpxQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUMvQyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWI1QixrQkFBYSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBRWhELHFCQUFnQixHQUFhO1lBQzNCLE9BQU87WUFDUCxNQUFNO1lBQ04sU0FBUztZQUNULFdBQVc7WUFDWCxXQUFXO1lBQ1gsU0FBUztTQUNWLENBQUM7UUFRQSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQzlCLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNmLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNiLE9BQU8sRUFBRSxDQUFDLFdBQVcsQ0FBQztTQUN2QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRVEsUUFBUTtRQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBRXRCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQ3BDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN6QixPQUFPLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTO1lBQ25DLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQztZQUMxRCxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1AsT0FBTyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTztZQUMvQixDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUM7WUFDeEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVQLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNwQyxJQUFJLEVBQUUsQ0FBQyxRQUFhLEVBQUUsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDekIsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBbERVLHVCQUF1QjttR0FBdkIsdUJBQXVCLCtDQUZ2QixDQUFDLFFBQVEsQ0FBQyxpRENWdkIseWlIQThFTTs7NEZEbEVPLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxzQkFBc0IsYUFFckIsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZWNobGlmeUxpc3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi9iYXNlLW1vZGVsJztcbmltcG9ydCB7IExvY2tlZERhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vbG9ja2VkLWRhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IExvY2tlZERhdGVGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vbG9ja2VkLWRhdGUtZm9ybS9sb2NrZWQtZGF0ZS1mb3JtLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1sb2NrZWQtZGF0ZS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xvY2tlZC1kYXRlLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtEYXRlUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgTG9ja2VkRGF0ZUxpc3RDb21wb25lbnQgZXh0ZW5kcyBUZWNobGlmeUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGZvcm1Db21wb25lbnQgPSBzaWduYWwoTG9ja2VkRGF0ZUZvcm1Db21wb25lbnQpO1xuXG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gW1xuICAgICdpbmRleCcsXG4gICAgJ2RhdGUnLFxuICAgICdkZXRhaWxzJyxcbiAgICAnbG9ja2VkX29uJyxcbiAgICAnbG9ja2VkX2J5JyxcbiAgICAnYWN0aW9ucydcbiAgXTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgb3ZlcnJpZGUgc2VydmljZTogTG9ja2VkRGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGVcbiAgKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuZmlsdGVyRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgZGF0ZV9mcm9tOiBbJyddLFxuICAgICAgZGF0ZV90bzogWycnXSxcbiAgICAgIHNvcnRfYnk6IFsnZGF0ZXxERVNDJ10sXG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxpc3RlbkZpbHRlckNoYW5nZXMoKTtcbiAgICB0aGlzLmxvYWREYXRhKCk7XG4gIH1cblxuICBvdmVycmlkZSBsb2FkRGF0YSgpIHtcbiAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XG5cbiAgICBsZXQgZmlsdGVycyA9IHRoaXMuZmlsdGVyRm9ybS52YWx1ZTtcbiAgICBmaWx0ZXJzLnBhZ2UgPSB0aGlzLnBhZ2U7XG4gICAgZmlsdGVycy5kYXRlX2Zyb20gPSBmaWx0ZXJzLmRhdGVfZnJvbVxuICAgICAgPyB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShmaWx0ZXJzLmRhdGVfZnJvbSwgJ3l5eXktTU0tZGQnKVxuICAgICAgOiAnJztcbiAgICBmaWx0ZXJzLmRhdGVfdG8gPSBmaWx0ZXJzLmRhdGVfdG9cbiAgICAgID8gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZmlsdGVycy5kYXRlX3RvLCAneXl5eS1NTS1kZCcpXG4gICAgICA6ICcnO1xuXG4gICAgdGhpcy5zZXJ2aWNlLmluZGV4KGZpbHRlcnMpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLm1vZGVscyA9IHRoaXMubW9kZWxzLmNvbmNhdChyZXNwb25zZS5kYXRhKTtcbiAgICAgICAgdGhpcy5sYXN0UGFnZSA9IHJlc3BvbnNlLmxhc3RfcGFnZTtcbiAgICAgICAgdGhpcy5pc1dvcmtpbmcgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMlwiPlxuICA8bWF0LWNhcmQgYXBwZWFyYW5jZT1cIm91dGxpbmVkXCIgY2xhc3M9XCJkLXByaW50LW5vbmVcIj5cbiAgICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cImQtZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1yb3cgZ2FwLTIgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICAgIDxoNSBjbGFzcz1cIm1iLTBcIj5Mb2NrZWQgRGF0ZXM8L2g1PlxuICAgICAgICA8YXBwLXRlY2hsaWZ5LWZvcm0tYnV0dG9uIFtjb21wb25lbnRdPVwiZm9ybUNvbXBvbmVudCgpXCJcbiAgICAgICAgICAoc2F2ZWQpPVwibW9kZWxDcmVhdGVkKCRldmVudClcIj48L2FwcC10ZWNobGlmeS1mb3JtLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm1cIiBjbGFzcz0nZC1mbGV4IGZsZXgtcm93IGdhcC0yJz5cbiAgICAgICAgPGFwcC10aW1lbGluZS1maWx0ZXIgbGFiZWxUZXh0PVwiUGVyaW9kXCIgW2Zvcm1dPSdmaWx0ZXJGb3JtJz48L2FwcC10aW1lbGluZS1maWx0ZXI+XG4gICAgICA8L2Zvcm0+XG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICA8L21hdC1jYXJkPlxuXG4gIDxtYXQtY2FyZD5cbiAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgIDx0YWJsZSBjbGFzcz0ndy0xMDAnIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJtb2RlbHNcIiBtYXRTb3J0IG11bHRpVGVtcGxhdGVEYXRhUm93cyBpbmZpbml0ZVNjcm9sbFxuICAgICAgICBbaW5maW5pdGVTY3JvbGxEaXN0YW5jZV09XCIxXCIgW2luZmluaXRlU2Nyb2xsVGhyb3R0bGVdPVwiNTBcIiAoc2Nyb2xsZWQpPVwib25TY3JvbGwoKVwiIFtzY3JvbGxXaW5kb3ddPVwiZmFsc2VcIlxuICAgICAgICBbaW5maW5pdGVTY3JvbGxDb250YWluZXJdPVwiJy5tYXQtc2lkZW5hdi1jb250ZW50J1wiIFtmcm9tUm9vdF09XCJ0cnVlXCIgKG1hdFNvcnRDaGFuZ2UpPVwic29ydENvbHVtbigkZXZlbnQpXCI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJpbmRleFwiPlxuICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+ICMgPC90aD5cbiAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudDsgbGV0IGkgPSBkYXRhSW5kZXhcIj4ge3sgaSsxIH19IDwvdGQ+XG4gICAgICAgICAgPHRkIG1hdC1mb290ZXItY2VsbCAqbWF0Rm9vdGVyQ2VsbERlZj48L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImRhdGVcIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj4gRGF0ZSA8L3RoPlxuICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgICAgICB7e2VsZW1lbnQ/LmRhdGUgfCBkYXRlOiAnbG9uZ0RhdGUnfX1cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCBtYXQtZm9vdGVyLWNlbGwgKm1hdEZvb3RlckNlbGxEZWY+PC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJsb2NrZWRfb25cIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBMb2NrZWQgT24gPC90aD5cbiAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgICAge3sgZWxlbWVudD8uY3JlYXRlZF9hdCB8IGRhdGU6J21lZGl1bScgfX1cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCBtYXQtZm9vdGVyLWNlbGwgKm1hdEZvb3RlckNlbGxEZWY+PC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJsb2NrZWRfYnlcIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBMb2NrZWQgQnkgPC90aD5cbiAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgICAge3sgZWxlbWVudD8uY3JlYXRvcj8ubmFtZSB9fVxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkIG1hdC1mb290ZXItY2VsbCAqbWF0Rm9vdGVyQ2VsbERlZj48L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImRldGFpbHNcIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBEZXRhaWxzIDwvdGg+XG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICAgIHt7IGVsZW1lbnQ/LmRldGFpbHMgfX1cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCBtYXQtZm9vdGVyLWNlbGwgKm1hdEZvb3RlckNlbGxEZWY+PC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJhY3Rpb25zXCI+XG4gICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gQWN0aW9ucyA8L3RoPlxuICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtcm93IGdhcC0yIHRleHQtc2Vjb25kYXJ5XCI+XG4gICAgICAgICAgICAgIDxhcHAtbG9ja2VkLWRhdGUtbG9jay11bmxvY2stYnV0dG9uIFtsb2NrZWREYXRlXT0nZWxlbWVudCdcbiAgICAgICAgICAgICAgICAob25TYXZlKT0ncmVsb2FkKCknPjwvYXBwLWxvY2tlZC1kYXRlLWxvY2stdW5sb2NrLWJ1dHRvbj5cbiAgICAgICAgICAgICAgPGFwcC10ZWNobGlmeS1kZWxldGUtYnV0dG9uIFtzZXJ2aWNlXT1cInNlcnZpY2VcIiBbbW9kZWxdPVwiZWxlbWVudFwiXG4gICAgICAgICAgICAgICAgW2RhdGFdPVwie3R5cGU6ICdMb2NrZWQgRGF0ZScsIHRpdGxlOiBlbGVtZW50Py5kYXRlIHwgZGF0ZTonbG9uZ0RhdGUnfVwiXG4gICAgICAgICAgICAgICAgKGRlbGV0ZWQpPVwibW9kZWxzRGVsZXRlZEJ5SWQoJGV2ZW50KVwiPjwvYXBwLXRlY2hsaWZ5LWRlbGV0ZS1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCBtYXQtZm9vdGVyLWNlbGwgKm1hdEZvb3RlckNlbGxEZWY+PC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWVcIj48L3RyPlxuICAgICAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIj48L3RyPlxuICAgICAgPC90YWJsZT5cbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gIDwvbWF0LWNhcmQ+XG48L2Rpdj4iXX0=
@@ -16,7 +16,7 @@ let LoginHistoryForUserComponent = class LoginHistoryForUserComponent {
16
16
  this.http = http;
17
17
  this.fb = fb;
18
18
  this.loginHistoryList = [];
19
- this.pageEvent = { page: 1, perPage: 25, lastPage: 1 };
19
+ this.pageEvent = { page: 1, lastPage: 1 };
20
20
  this.filters = {
21
21
  sort_by: 'created_at|desc',
22
22
  };
@@ -70,7 +70,7 @@ let LoginHistoryForUserComponent = class LoginHistoryForUserComponent {
70
70
  }
71
71
  reload() {
72
72
  this.loginHistoryList = [];
73
- this.pageEvent = { page: 1, perPage: 25, lastPage: 1 };
73
+ this.pageEvent = { page: 1, lastPage: 1 };
74
74
  this.initializeData();
75
75
  }
76
76
  ngOnDestroy() {
@@ -89,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
89
89
  }], ctorParameters: () => [{ type: i1.HttpService }, { type: i2.UntypedFormBuilder }], propDecorators: { userId: [{
90
90
  type: Input
91
91
  }] } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4taGlzdG9yeS1mb3ItdXNlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2xvZ2luLWhpc3RvcnktZm9yLXVzZXIvbG9naW4taGlzdG9yeS1mb3ItdXNlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2xvZ2luLWhpc3RvcnktZm9yLXVzZXIvbG9naW4taGlzdG9yeS1mb3ItdXNlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFXN0QsSUFBTSw0QkFBNEIsR0FBbEMsTUFBTSw0QkFBNEI7SUFXdkMsWUFDVSxJQUFpQixFQUNqQixFQUFzQjtRQUR0QixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBWGhDLHFCQUFnQixHQUFVLEVBQUUsQ0FBQztRQUM3QixjQUFTLEdBQWMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzdELFlBQU8sR0FBUTtZQUNiLE9BQU8sRUFBRSxpQkFBaUI7U0FDM0IsQ0FBQztRQUVGLHFCQUFnQixHQUFVLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBT2hELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNyQyxVQUFVLEVB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QUFDLFNBQVMsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxXQUFXO1FBQ1QseUJBQXlCO0lBQzNCLENBQUM7K0dBN0VVLDRCQUE0QjttR0FBNUIsNEJBQTRCLGdHQ2R6QyxrK0NBK0JBOztBRGpCYSw0QkFBNEI7SUFOeEMsWUFBWSxFQUFFO0dBTUYsNEJBQTRCLENBK0V4Qzs7NEZBL0VZLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSw0QkFBNEI7aUhBYTdCLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUGFnZUV2ZW50IH0gZnJvbSAnLi4vZGF0YS10YWJsZS9kYXRhLXRhYmxlLm1vZGVsJztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9odHRwLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGltZWxpbmVWYWx1ZSB9IGZyb20gJy4uL3RpbWVsaW5lLWZpbHRlcic7XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWxvZ2luLWhpc3RvcnktZm9yLXVzZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbG9naW4taGlzdG9yeS1mb3ItdXNlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xvZ2luLWhpc3RvcnktZm9yLXVzZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBMb2dpbkhpc3RvcnlGb3JVc2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBsb2dpbkhpc3RvcnlMaXN0OiBhbnlbXSA9IFtdO1xuICBwYWdlRXZlbnQ6IFBhZ2VFdmVudCA9IHsgcGFnZTogMSwgcGVyUGFnZTogMjUsIGxhc3RQYWdlOiAxIH07XG4gIGZpbHRlcnM6IGFueSA9IHtcbiAgICBzb3J0X2J5OiAnY3JlYXRlZF9hdHxkZXNjJyxcbiAgfTtcbiAgaGlzdG9yeUZpbHRlckZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gIGRpc3BsYXllZENvbHVtbnM6IGFueVtdID0gWydpbmRleCcsICdjcmVhdGVkX2F0J107XG4gIEBJbnB1dCgpIHVzZXJJZDogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICApIHtcbiAgICB0aGlzLmhpc3RvcnlGaWx0ZXJGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICAnZHVyYXRpb24nOiBbJyddLFxuICAgICAgJ2RhdGVfZnJvbSc6IFsnJ10sXG4gICAgICAnZGF0ZV90byc6IFsnJ11cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZmlsdGVycy51c2VyX2lkID0gdGhpcy51c2VySWQ7XG4gICAgdGhpcy5oaXN0b3J5RmlsdGVyRm9ybS52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSg1MDApLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCB1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgdmFsdWUuZGF0ZV9mcm9tID0gdmFsdWUuZGF0ZV9mcm9tID8gKHZhbHVlLmRhdGVfZnJvbSBhcyBEYXRlKS50b0lTT1N0cmluZygpIDogJyc7XG4gICAgICAgIHZhbHVlLmRhdGVfdG8gPSB2YWx1ZS5kYXRlX3RvID8gKHZhbHVlLmRhdGVfdG8gYXMgRGF0ZSkudG9JU09TdHJpbmcoKSA6ICcnO1xuICAgICAgICB0aGlzLmZpbHRlckNoYW5nZSh2YWx1ZSk7XG4gICAgICB9KTtcbiAgICB0aGlzLmluaXRpYWxpemVEYXRhKCk7XG4gIH1cblxuICBvblRpbWVsaW5lQ2hhbmdlKHJhbmdlOiBUaW1lbGluZVZhbHVlKSB7XG4gICAgbGV0IGRhdGVfZnJvbSAgPSByYW5nZT8uZGF0ZV9mcm9tID8gbmV3IERhdGUocmFuZ2UuZGF0ZV9mcm9tKSA6ICcnO1xuICAgIGxldCBkYXRlX3RvICA9IHJhbmdlPy5kYXRlX3RvID8gbmV3IERhdGUocmFuZ2UuZGF0ZV90bykgOiAnJztcbiAgICB0aGlzLmhpc3RvcnlGaWx0ZXJGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgZGF0ZV9mcm9tLFxuICAgICAgZGF0ZV90b1xuICAgIH0pO1xuICB9XG5cbiAgaW5pdGlhbGl6ZURhdGEoKSB7XG4gICAgdGhpcy5odHRwLmdldChgYXBpL3VzZXItbG9naW4taGlzdG9yeWAsIHsgcGFyYW1zOiB7IC4uLnRoaXMuZmlsdGVycywgLi4udGhpcy5wYWdlRXZlbnQgfSB9KVxuICAgICAgLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmxvZ2luSGlzdG9yeUxpc3QgPSB0aGlzLmxvZ2luSGlzdG9yeUxpc3QuY29uY2F0KHJlc3VsdC5kYXRhKTtcbiAgICAgICAgdGhpcy5wYWdlRXZlbnQucGFnZSA9IHJlc3VsdC5jdXJyZW50X3BhZ2U7XG4gICAgICAgIHRoaXMucGFnZUV2ZW50Lmxhc3RQYWdlID0gcmVzdWx0Lmxhc3RfcGFnZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZmlsdGVyQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmZpbHRlcnMgPSB7XG4gICAgICAuLi50aGlzLmZpbHRlcnMsXG4gICAgICAuLi5ldmVudFxuICAgIH07XG4gICAgdGhpcy5yZWxvYWQoKTtcbiAgfVxuXG4gIG9uU2Nyb2xsKCkge1xuICAgIGlmICh0aGlzLnBhZ2VFdmVudC5sYXN0UGFnZSA+IHRoaXMucGFnZUV2ZW50LnBhZ2UpIHtcbiAgICAgIHRoaXMucGFnZUV2ZW50LnBhZ2UgKz0gMTtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZURhdGEoKTtcbiAgICB9XG4gIH1cblxuXG4gIHJlbG9hZCgpIHtcbiAgICB0aGlzLmxvZ2luSGlzdG9yeUxpc3QgPSBbXTtcbiAgICB0aGlzLnBhZ2VFdmVudCA9IHsgcGFnZTogMSwgcGVyUGFnZTogMjUsIGxhc3RQYWdlOiAxIH07XG4gICAgdGhpcy5pbml0aWFsaXplRGF0YSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgLy9VbnRpbCBkZXN0cm95ZWQgdXNlcyBpdFxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeSBtLTRcIj5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImhpc3RvcnlGaWx0ZXJGb3JtXCIgZnhMYXlvdXRBbGlnbj1cIiBzdGFydCBjZW50ZXJcIj5cbiAgICAgICAgPGFwcC10aW1lbGluZS1maWx0ZXIgZm9ybUNvbnRyb2xOYW1lPVwiZHVyYXRpb25cIiAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uVGltZWxpbmVDaGFuZ2UoJGV2ZW50KVwiPjwvYXBwLXRpbWVsaW5lLWZpbHRlcj5cbiAgICA8L2Zvcm0+XG5cbiAgICA8c2VjdGlvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbC1jb250YWluZXJcIiBpbmZpbml0ZVNjcm9sbCBbaW5maW5pdGVTY3JvbGxEaXN0YW5jZV09XCIyXCIgW2luZmluaXRlU2Nyb2xsVGhyb3R0bGVdPVwiNTBcIlxuICAgICAgICAgICAgKHNjcm9sbGVkKT1cIm9uU2Nyb2xsKClcIiBbc2Nyb2xsV2luZG93XT1cImZhbHNlXCI+XG4gICAgICAgICAgICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cImxvZ2luSGlzdG9yeUxpc3RcIiBtYXRTb3J0IGNsYXNzPVwidy0xMDAgbXQtMVwiIG11bHRpVGVtcGxhdGVEYXRhUm93c1xuICAgICAgICAgICAgICAgIGlkPVwibG9naW4taGlzdG9yeS10YWJsZVwiPlxuXG4gICAgICAgICAgICAgICAgPCEtLSBJbmRleCBDb2x1bW4gLS0+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiAjIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBsb2dpbkhpc3Rvcnk7IGxldCBpID0gZGF0YUluZGV4XCI+IHt7IGkrMSB9fSA8L3RkPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJjcmVhdGVkX2F0XCI+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPiBMYXN0IExvZ2luPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGxvZ2luSGlzdG9yeTtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7bG9naW5IaXN0b3J5Py5jcmVhdGVkX2F0IHwgZGF0ZTonbWVkaXVtJyB9fVxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zO1wiPjwvdHI+XG4gICAgICAgICAgICAgICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7XCI+PC90cj5cbiAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgPC9zZWN0aW9uPlxuPC9kaXY+XG4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4taGlzdG9yeS1mb3ItdXNlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2xvZ2luLWhpc3RvcnktZm9yLXVzZXIvbG9naW4taGlzdG9yeS1mb3ItdXNlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2xvZ2luLWhpc3RvcnktZm9yLXVzZXIvbG9naW4taGlzdG9yeS1mb3ItdXNlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFXN0QsSUFBTSw0QkFBNEIsR0FBbEMsTUFBTSw0QkFBNEI7SUFXdkMsWUFDVSxJQUFpQixFQUNqQixFQUFzQjtRQUR0QixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBWGhDLHFCQUFnQixHQUFVLEVBQUUsQ0FBQztRQUM3QixjQUFTLEdBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUMxQyxZQUFPLEdBQVE7WUFDYixPQUFPLEVBQUUsaUJBQWlCO1NBQzNCLENBQUM7UUFFRixxQkFBZ0IsR0FBVSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztRQU9oRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDckMsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDO1lB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QUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFdBQVc7UUFDVCx5QkFBeUI7SUFDM0IsQ0FBQzsrR0E3RVUsNEJBQTRCO21HQUE1Qiw0QkFBNEIsZ0dDZHpDLGsrQ0ErQkE7O0FEakJhLDRCQUE0QjtJQU54QyxZQUFZLEVBQUU7R0FNRiw0QkFBNEIsQ0ErRXhDOzs0RkEvRVksNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLDRCQUE0QjtpSEFhN0IsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQYWdlRXZlbnQgfSBmcm9tICcuLi9kYXRhLXRhYmxlL2RhdGEtdGFibGUubW9kZWwnO1xuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2h0dHAuc2VydmljZSc7XG5pbXBvcnQgeyBUaW1lbGluZVZhbHVlIH0gZnJvbSAnLi4vdGltZWxpbmUtZmlsdGVyJztcblxuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtbG9naW4taGlzdG9yeS1mb3ItdXNlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi1oaXN0b3J5LWZvci11c2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbG9naW4taGlzdG9yeS1mb3ItdXNlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luSGlzdG9yeUZvclVzZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGxvZ2luSGlzdG9yeUxpc3Q6IGFueVtdID0gW107XG4gIHBhZ2VFdmVudDogYW55ID0geyBwYWdlOiAxLCBsYXN0UGFnZTogMSB9O1xuICBmaWx0ZXJzOiBhbnkgPSB7XG4gICAgc29ydF9ieTogJ2NyZWF0ZWRfYXR8ZGVzYycsXG4gIH07XG4gIGhpc3RvcnlGaWx0ZXJGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBkaXNwbGF5ZWRDb2x1bW5zOiBhbnlbXSA9IFsnaW5kZXgnLCAnY3JlYXRlZF9hdCddO1xuICBASW5wdXQoKSB1c2VySWQ6IGFueTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgKSB7XG4gICAgdGhpcy5oaXN0b3J5RmlsdGVyRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgJ2R1cmF0aW9uJzogWycnXSxcbiAgICAgICdkYXRlX2Zyb20nOiBbJyddLFxuICAgICAgJ2RhdGVfdG8nOiBbJyddXG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZpbHRlcnMudXNlcl9pZCA9IHRoaXMudXNlcklkO1xuICAgIHRoaXMuaGlzdG9yeUZpbHRlckZvcm0udmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoNTAwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgdW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgIHZhbHVlLmRhdGVfZnJvbSA9IHZhbHVlLmRhdGVfZnJvbSA/ICh2YWx1ZS5kYXRlX2Zyb20gYXMgRGF0ZSkudG9JU09TdHJpbmcoKSA6ICcnO1xuICAgICAgICB2YWx1ZS5kYXRlX3RvID0gdmFsdWUuZGF0ZV90byA/ICh2YWx1ZS5kYXRlX3RvIGFzIERhdGUpLnRvSVNPU3RyaW5nKCkgOiAnJztcbiAgICAgICAgdGhpcy5maWx0ZXJDaGFuZ2UodmFsdWUpO1xuICAgICAgfSk7XG4gICAgdGhpcy5pbml0aWFsaXplRGF0YSgpO1xuICB9XG5cbiAgb25UaW1lbGluZUNoYW5nZShyYW5nZTogVGltZWxpbmVWYWx1ZSkge1xuICAgIGxldCBkYXRlX2Zyb20gPSByYW5nZT8uZGF0ZV9mcm9tID8gbmV3IERhdGUocmFuZ2UuZGF0ZV9mcm9tKSA6ICcnO1xuICAgIGxldCBkYXRlX3RvID0gcmFuZ2U/LmRhdGVfdG8gPyBuZXcgRGF0ZShyYW5nZS5kYXRlX3RvKSA6ICcnO1xuICAgIHRoaXMuaGlzdG9yeUZpbHRlckZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICBkYXRlX2Zyb20sXG4gICAgICBkYXRlX3RvXG4gICAgfSk7XG4gIH1cblxuICBpbml0aWFsaXplRGF0YSgpIHtcbiAgICB0aGlzLmh0dHAuZ2V0KGBhcGkvdXNlci1sb2dpbi1oaXN0b3J5YCwgeyBwYXJhbXM6IHsgLi4udGhpcy5maWx0ZXJzLCAuLi50aGlzLnBhZ2VFdmVudCB9IH0pXG4gICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XG4gICAgICAgIHRoaXMubG9naW5IaXN0b3J5TGlzdCA9IHRoaXMubG9naW5IaXN0b3J5TGlzdC5jb25jYXQocmVzdWx0LmRhdGEpO1xuICAgICAgICB0aGlzLnBhZ2VFdmVudC5wYWdlID0gcmVzdWx0LmN1cnJlbnRfcGFnZTtcbiAgICAgICAgdGhpcy5wYWdlRXZlbnQubGFzdFBhZ2UgPSByZXN1bHQubGFzdF9wYWdlO1xuICAgICAgfSk7XG4gIH1cblxuICBmaWx0ZXJDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZmlsdGVycyA9IHtcbiAgICAgIC4uLnRoaXMuZmlsdGVycyxcbiAgICAgIC4uLmV2ZW50XG4gICAgfTtcbiAgICB0aGlzLnJlbG9hZCgpO1xuICB9XG5cbiAgb25TY3JvbGwoKSB7XG4gICAgaWYgKHRoaXMucGFnZUV2ZW50Lmxhc3RQYWdlID4gdGhpcy5wYWdlRXZlbnQucGFnZSkge1xuICAgICAgdGhpcy5wYWdlRXZlbnQucGFnZSArPSAxO1xuICAgICAgdGhpcy5pbml0aWFsaXplRGF0YSgpO1xuICAgIH1cbiAgfVxuXG5cbiAgcmVsb2FkKCkge1xuICAgIHRoaXMubG9naW5IaXN0b3J5TGlzdCA9IFtdO1xuICAgIHRoaXMucGFnZUV2ZW50ID0geyBwYWdlOiAxLCBsYXN0UGFnZTogMSB9O1xuICAgIHRoaXMuaW5pdGlhbGl6ZURhdGEoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIC8vVW50aWwgZGVzdHJveWVkIHVzZXMgaXRcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwibWF0LXR5cG9ncmFwaHkgbS00XCI+XG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJoaXN0b3J5RmlsdGVyRm9ybVwiIGZ4TGF5b3V0QWxpZ249XCIgc3RhcnQgY2VudGVyXCI+XG4gICAgICAgIDxhcHAtdGltZWxpbmUtZmlsdGVyIGZvcm1Db250cm9sTmFtZT1cImR1cmF0aW9uXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJvblRpbWVsaW5lQ2hhbmdlKCRldmVudClcIj48L2FwcC10aW1lbGluZS1maWx0ZXI+XG4gICAgPC9mb3JtPlxuXG4gICAgPHNlY3Rpb24+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGwtY29udGFpbmVyXCIgaW5maW5pdGVTY3JvbGwgW2luZmluaXRlU2Nyb2xsRGlzdGFuY2VdPVwiMlwiIFtpbmZpbml0ZVNjcm9sbFRocm90dGxlXT1cIjUwXCJcbiAgICAgICAgICAgIChzY3JvbGxlZCk9XCJvblNjcm9sbCgpXCIgW3Njcm9sbFdpbmRvd109XCJmYWxzZVwiPlxuICAgICAgICAgICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJsb2dpbkhpc3RvcnlMaXN0XCIgbWF0U29ydCBjbGFzcz1cInctMTAwIG10LTFcIiBtdWx0aVRlbXBsYXRlRGF0YVJvd3NcbiAgICAgICAgICAgICAgICBpZD1cImxvZ2luLWhpc3RvcnktdGFibGVcIj5cblxuICAgICAgICAgICAgICAgIDwhLS0gSW5kZXggQ29sdW1uIC0tPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gIyA8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgbG9naW5IaXN0b3J5OyBsZXQgaSA9IGRhdGFJbmRleFwiPiB7eyBpKzEgfX0gPC90ZD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiY3JlYXRlZF9hdFwiPlxuICAgICAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj4gTGFzdCBMb2dpbjwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBsb2dpbkhpc3Rvcnk7XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e2xvZ2luSGlzdG9yeT8uY3JlYXRlZF9hdCB8IGRhdGU6J21lZGl1bScgfX1cbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1ucztcIj48L3RyPlxuICAgICAgICAgICAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiPjwvdHI+XG4gICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICA8L2Rpdj5cblxuICAgIDwvc2VjdGlvbj5cbjwvZGl2PlxuIl19
@@ -80,7 +80,6 @@ export class RestrictorsListPageComponent {
80
80
  */
81
81
  fetchData() {
82
82
  const params = {
83
- perPage: 25,
84
83
  page: this.page,
85
84
  with: 'type,level,status,restrictable',
86
85
  ...this.requestHelperService.convertToFormData(this.filterForm.value)
@@ -140,4 +139,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
140
139
  type: Component,
141
140
  args: [{ selector: 'lib-restrictors-list-page', template: "<div fxLayout fxLayoutAlign=\"center\" fxLayoutGap=\"10px\">\n <h4 class=\"mb-0\">Restrictors</h4>\n <mat-icon class=\"cursor-pointer\" [routerLink]=\"['create']\">add</mat-icon>\n</div>\n<p class=\"text-center text-secondary\">\n These are the configurations for restrictions that we are adding to users' access of this app.\n</p>\n\n<mat-card class=\"mt-2\">\n <mat-card-content>\n <form [formGroup]=\"filterForm\" fxLayout fxLayoutAlign=\"start center\" fxLayoutGap=\"10px\">\n <techlify-restrictor-type-selector formControlName=\"type_ids\"\n [multiple]=\"true\"></techlify-restrictor-type-selector>\n <techlify-restrictor-level-selector formControlName=\"level_ids\"\n [multiple]=\"true\"></techlify-restrictor-level-selector>\n <techlify-restrictor-status-selector formControlName=\"status_ids\"\n [multiple]=\"true\"></techlify-restrictor-status-selector>\n </form>\n </mat-card-content>\n</mat-card>\n\n<mat-card class=\"mt-2 p-0\">\n <mat-card-content>\n <table mat-table [dataSource]=\"models\" class=\"w-100\" matSort (matSortChange)=\"onSortChange($event)\" infiniteScroll\n [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\" [infiniteScrollContainer]=\"scrollContainer\"\n [fromRoot]=\"true\" (scrolled)=\"onScroll()\">\n\n <!-- No Column -->\n <ng-container matColumnDef=\"No\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header=\"created_at\"> # </th>\n <td mat-cell *matCellDef=\"let element; let i = index;\"> {{ i + 1 }} </td>\n </ng-container>\n\n <!-- Type Column -->\n <ng-container matColumnDef=\"Type\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header=\"type_id\"> Type </th>\n <td mat-cell *matCellDef=\"let element\"> {{ element?.type?.title }} </td>\n </ng-container>\n\n <!-- Level Column -->\n <ng-container matColumnDef=\"Level\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header=\"level_id\"> Level </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.level?.title}} </td>\n </ng-container>\n\n <!-- Entity Column -->\n <ng-container matColumnDef=\"Entity\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header=\"restricted_object_id\"> Entity </th>\n <td mat-cell *matCellDef=\"let element\">\n {{ getRestrictableTypeValue(element) }}\n </td>\n </ng-container>\n\n <!-- Data Column -->\n <ng-container matColumnDef=\"Data\">\n <th mat-header-cell *matHeaderCellDef> Data </th>\n <td mat-cell *matCellDef=\"let element\">\n <p class=\"mb-0\" *ngIf=\"element?.data?.ip_range\">\n IP Range: {{ element?.data?.ip_range }}\n </p>\n <p class=\"mb-0\" *ngIf=\"element?.data?.start_time\">\n Start time: {{ element?.data?.start_time | date: 'short' }}\n </p>\n <p class=\"mb-0\" *ngIf=\"element?.data?.end_time\">\n End time: {{ element?.data?.end_time | date: 'short' }}\n </p>\n </td>\n </ng-container>\n\n <!-- Status Column -->\n <ng-container matColumnDef=\"Status\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header=\"status_id\"> Status </th>\n <td mat-cell *matCellDef=\"let element\"> {{ element?.status?.title }}</td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"Actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let element\">\n <mat-icon class=\"cursor-pointer\" [routerLink]=\"[element?.id, 'edit']\">edit</mat-icon>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-progress-bar *ngIf=\"isWorking\" mode=\"indeterminate\"></mat-progress-bar>\n\n </mat-card-content>\n</mat-card>" }]
142
141
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.RequestHelperService }, { type: i3.ActivatedRoute }, { type: i4.RestrictorService }, { type: i5.UserConfigService }] });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHJpY3RvcnMtbGlzdC1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvcmVzdHJpY3RvcnMvcmVzdHJpY3RvcnMtbGlzdC1wYWdlL3Jlc3RyaWN0b3JzLWxpc3QtcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3Jlc3RyaWN0b3JzL3Jlc3RyaWN0b3JzLWxpc3QtcGFnZS9yZXN0cmljdG9ycy1saXN0LXBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUdsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVc5QyxNQUFNLE9BQU8sNEJBQTRCO0lBbUJ2QyxZQUNVLEVBQWUsRUFDZixvQkFBMEMsRUFDMUMsY0FBOEIsRUFDOUIsaUJBQW9DLEVBQ3JDLGlCQUFvQztRQUpuQyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNyQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBckI3QyxxQkFBZ0IsR0FBYTtZQUMzQixJQUFJO1lBQ0osTUFBTTtZQUNOLE9BQU87WUFDUCxRQUFRO1lBQ1IsTUFBTTtZQUNOLFFBQVE7WUFDUixTQUFTO1NBQ1YsQ0FBQztRQUNNLFNBQUksR0FBRyxDQUFDLENBQUM7UUFHakIsb0JBQWUsR0FBVyxzQkFBc0IsQ0FBQztRQUVqRCxXQUFNLEdBQVUsRUFBRSxDQUFDO1FBU2pCLElBQUksQ0FBQyxNQUFNLEdB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aXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSZXF1ZXN0SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3JlcXVlc3QtaGVscGVyL3JlcXVlc3QtaGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgUmVzdHJpY3RvclNlcnZpY2UgfSBmcm9tICcuLi9yZXN0cmljdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgU29ydCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xuaW1wb3J0IHsgTXVsdGlVc2VyQ29uZmlnLCBVc2VyQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL3VzZXItY29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXJlc3RyaWN0b3JzLWxpc3QtcGFnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXN0cmljdG9ycy1saXN0LXBhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZXN0cmljdG9ycy1saXN0LXBhZ2UuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJlc3RyaWN0b3JzTGlzdFBhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGZpbHRlckZvcm06IEZvcm1Hcm91cDtcbiAgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW10gPSBbXG4gICAgJ05vJyxcbiAgICAnVHlwZScsXG4gICAgJ0xldmVsJyxcbiAgICAnRW50aXR5JyxcbiAgICAnRGF0YScsXG4gICAgJ1N0YXR1cycsXG4gICAgJ0FjdGlvbnMnXG4gIF07XG4gIHByaXZhdGUgcGFnZSA9IDE7XG4gIHByaXZhdGUgdG90YWxJdGVtczogbnVtYmVyO1xuICBpc1dvcmtpbmc6IGJvb2xlYW47XG4gIHNjcm9sbENvbnRhaW5lcjogc3RyaW5nID0gJy5tYXQtc2lkZW5hdi1jb250ZW50JztcbiAgY29uZmlnOiBNdWx0aVVzZXJDb25maWc7XG4gIG1vZGVsczogYW55W10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlcXVlc3RIZWxwZXJTZXJ2aWNlOiBSZXF1ZXN0SGVscGVyU2VydmljZSxcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlc3RyaWN0b3JTZXJ2aWNlOiBSZXN0cmljdG9yU2VydmljZSxcbiAgICBwdWJsaWMgdXNlckNvbmZpZ1NlcnZpY2U6IFVzZXJDb25maWdTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLmNvbmZpZyA9IHRoaXMudXNlckNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCk7XG4gICAgaWYgKHRoaXMuY29uZmlnPy5zY3JvbGxDb250YWluZXIpIHtcbiAgICAgIC8vU2V0IHRvIG51bGwgaWYgc2Nyb2xsIGhhcyB0byBiZSBkb25lIGZyb20gcm9vdFxuICAgICAgdGhpcy5zY3JvbGxDb250YWluZXIgPSB0aGlzLmNvbmZpZz8uc2Nyb2xsQ29udGFpbmVyID09ICdyb290JyA/IG51bGwgOiB0aGlzLmNvbmZpZz8uc2Nyb2xsQ29udGFpbmVyO1xuICAgIH1cblxuICAgIHRoaXMuZmlsdGVyRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdHlwZV9pZHM6IFsnJ10sXG4gICAgICBsZXZlbF9pZHM6IFsnJ10sXG4gICAgICBzdGF0dXNfaWRzOiBbJyddLFxuICAgICAgc29ydF9ieTogJ2lkfGRlc2MnXG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBVcGRhdGUgdGhlIGZvcm0gd2l0aCBxdWVyeSBwYXJhbXMuXG4gICAgdGhpcy5yZXF1ZXN0SGVscGVyU2VydmljZS51cGRhdGVGb3JtV2l0aFF1ZXJ5UGFyYW1zKFxuICAgICAgdGhpcy5maWx0ZXJGb3JtLFxuICAgICAge1xuICAgICAgICB0eXBlX2lkczogeyBtdWx0aXBsZTogdHJ1ZSB9LFxuICAgICAgICBsZXZlbF9pZHM6IHsgbXVsdGlwbGU6IHRydWUgfSxcbiAgICAgICAgc3RhdHVzX2lkczogeyBtdWx0aXBsZTogdHJ1ZSB9LFxuICAgICAgfVxuICAgICk7XG5cbiAgICAvLyBVcGRhdGUgdGhlIHF1ZXJ5IHBhcmFtcyBvbiBmaWx0ZXIgY2hhbmdlXG4gICAgdGhpcy5maWx0ZXJGb3JtLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDgwMCkpXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucmVxdWVzdEhlbHBlclNlcnZpY2UudXBkYXRlUXVlcnlQYXJhbXMoXG4gICAgICAgICAgICB0aGlzLnJlcXVlc3RIZWxwZXJTZXJ2aWNlLmNvbnZlcnRUb0Zvcm1EYXRhKHRoaXMuZmlsdGVyRm9ybS52YWx1ZSlcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuYWN0aXZhdGVkUm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVsb2FkKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWxvYWQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzV29ya2luZykge1xuICAgICAgdGhpcy5wYWdlID0gMTtcbiAgICAgIHRoaXMubW9kZWxzID0gW107XG4gICAgICAvLyBmZXRjaCB0aGUgZGF0YVxuICAgICAgdGhpcy5mZXRjaERhdGEoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggdGhlIHJlc3RyaWN0b3JzIGxpc3QuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGZldGNoRGF0YSgpOiB2b2lkIHtcbiAgICBjb25zdCBwYXJhbXM6IGFueSA9IHtcbiAgICAgIHBlclBhZ2U6IDI1LFxuICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgd2l0aDogJ3R5cGUsbGV2ZWwsc3RhdHVzLHJlc3RyaWN0YWJsZScsXG4gICAgICAuLi50aGlzLnJlcXVlc3RIZWxwZXJTZXJ2aWNlLmNvbnZlcnRUb0Zvcm1EYXRhKHRoaXMuZmlsdGVyRm9ybS52YWx1ZSlcbiAgICB9O1xuICAgIHRoaXMuaXNXb3JraW5nID0gdHJ1ZTtcbiAgICB0aGlzLnJlc3RyaWN0b3JTZXJ2aWNlLmluZGV4KHBhcmFtcykuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMubW9kZWxzID0gdGhpcy5tb2RlbHMuY29uY2F0KHJlc3BvbnNlPy5kYXRhKTtcbiAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gcmVzcG9uc2U/LnRvdGFsO1xuICAgICAgICB0aGlzLmlzV29ya2luZyA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoKSA9PiB0aGlzLmlzV29ya2luZyA9IGZhbHNlXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIG9uIHNvcnQgY2hhbmdlIGV2ZW50LlxuICAgKlxuICAgKiBAcGFyYW0gc29ydFxuICAgKi9cbiAgb25Tb3J0Q2hhbmdlKHNvcnQ6IFNvcnQpOiB2b2lkIHtcbiAgICBsZXQgeyBhY3RpdmUsIGRpcmVjdGlvbiB9ID0gc29ydDtcbiAgICBpZiAoIWRpcmVjdGlvbikge1xuICAgICAgYWN0aXZlID0gJ2lkJztcbiAgICAgIGRpcmVjdGlvbiA9ICdkZXNjJztcbiAgICB9XG4gICAgdGhpcy5maWx0ZXJGb3JtLmdldCgnc29ydF9ieScpLnNldFZhbHVlKGFjdGl2ZSArICd8JyArIGRpcmVjdGlvbik7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIG9uIHNjcm9sbCBldmVudCB0byBsb2FkIGRhdGEuXG4gICAqL1xuICBvblNjcm9sbCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50b3RhbEl0ZW1zID4gdGhpcy5tb2RlbHMubGVuZ3RoICYmICF0aGlzLmlzV29ya2luZykge1xuICAgICAgdGhpcy5wYWdlKys7XG4gICAgICB0aGlzLmZldGNoRGF0YSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgcmVzdHJpY3RhYmxlIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gcmVzdHJpY3RvclxuICAgKi9cbiAgZ2V0UmVzdHJpY3RhYmxlVHlwZVZhbHVlKHJlc3RyaWN0b3I6IGFueSk6IHN0cmluZyB7XG4gICAgaWYgKHJlc3RyaWN0b3I/LmxldmVsX2lkID09PSAxKSB7XG4gICAgICByZXR1cm4gcmVzdHJpY3Rvcj8ucmVzdHJpY3RhYmxlPy50aXRsZTtcbiAgICB9IGVsc2UgaWYgKHJlc3RyaWN0b3I/LmxldmVsX2lkID09PSAyKSB7XG4gICAgICByZXR1cm4gcmVzdHJpY3Rvcj8ucmVzdHJpY3RhYmxlPy5sYWJlbDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHJlc3RyaWN0b3I/LnJlc3RyaWN0YWJsZT8ubmFtZTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgZnhMYXlvdXQgZnhMYXlvdXRBbGlnbj1cImNlbnRlclwiIGZ4TGF5b3V0R2FwPVwiMTBweFwiPlxuICA8aDQgY2xhc3M9XCJtYi0wXCI+UmVzdHJpY3RvcnM8L2g0PlxuICA8bWF0LWljb24gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIFtyb3V0ZXJMaW5rXT1cIlsnY3JlYXRlJ11cIj5hZGQ8L21hdC1pY29uPlxuPC9kaXY+XG48cCBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtc2Vjb25kYXJ5XCI+XG4gIFRoZXNlIGFyZSB0aGUgY29uZmlndXJhdGlvbnMgZm9yIHJlc3RyaWN0aW9ucyB0aGF0IHdlIGFyZSBhZGRpbmcgdG8gdXNlcnMnIGFjY2VzcyBvZiB0aGlzIGFwcC5cbjwvcD5cblxuPG1hdC1jYXJkIGNsYXNzPVwibXQtMlwiPlxuICA8bWF0LWNhcmQtY29udGVudD5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm1cIiBmeExheW91dCBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhMYXlvdXRHYXA9XCIxMHB4XCI+XG4gICAgICA8dGVjaGxpZnktcmVzdHJpY3Rvci10eXBlLXNlbGVjdG9yIGZvcm1Db250cm9sTmFtZT1cInR5cGVfaWRzXCJcbiAgICAgICAgW211bHRpcGxlXT1cInRydWVcIj48L3RlY2hsaWZ5LXJlc3RyaWN0b3ItdHlwZS1zZWxlY3Rvcj5cbiAgICAgIDx0ZWNobGlmeS1yZXN0cmljdG9yLWxldmVsLXNlbGVjdG9yIGZvcm1Db250cm9sTmFtZT1cImxldmVsX2lkc1wiXG4gICAgICAgIFttdWx0aXBsZV09XCJ0cnVlXCI+PC90ZWNobGlmeS1yZXN0cmljdG9yLWxldmVsLXNlbGVjdG9yPlxuICAgICAgPHRlY2hsaWZ5LXJlc3RyaWN0b3Itc3RhdHVzLXNlbGVjdG9yIGZvcm1Db250cm9sTmFtZT1cInN0YXR1c19pZHNcIlxuICAgICAgICBbbXVsdGlwbGVdPVwidHJ1ZVwiPjwvdGVjaGxpZnktcmVzdHJpY3Rvci1zdGF0dXMtc2VsZWN0b3I+XG4gICAgPC9mb3JtPlxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XG48L21hdC1jYXJkPlxuXG48bWF0LWNhcmQgY2xhc3M9XCJtdC0yIHAtMFwiPlxuICA8bWF0LWNhcmQtY29udGVudD5cbiAgICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cIm1vZGVsc1wiIGNsYXNzPVwidy0xMDBcIiBtYXRTb3J0IChtYXRTb3J0Q2hhbmdlKT1cIm9uU29ydENoYW5nZSgkZXZlbnQpXCIgaW5maW5pdGVTY3JvbGxcbiAgICAgIFtpbmZpbml0ZVNjcm9sbERpc3RhbmNlXT1cIjJcIiBbaW5maW5pdGVTY3JvbGxUaHJvdHRsZV09XCI1MFwiIFtpbmZpbml0ZVNjcm9sbENvbnRhaW5lcl09XCJzY3JvbGxDb250YWluZXJcIlxuICAgICAgW2Zyb21Sb290XT1cInRydWVcIiAoc2Nyb2xsZWQpPVwib25TY3JvbGwoKVwiPlxuXG4gICAgICA8IS0tIE5vIENvbHVtbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiTm9cIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI9XCJjcmVhdGVkX2F0XCI+ICMgPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnQ7IGxldCBpID0gaW5kZXg7XCI+IHt7IGkgKyAxIH19IDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBUeXBlIENvbHVtbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiVHlwZVwiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj1cInR5cGVfaWRcIj4gVHlwZSA8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiB7eyBlbGVtZW50Py50eXBlPy50aXRsZSB9fSA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gTGV2ZWwgQ29sdW1uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJMZXZlbFwiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj1cImxldmVsX2lkXCI+IExldmVsIDwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IHt7ZWxlbWVudD8ubGV2ZWw/LnRpdGxlfX0gPC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tIEVudGl0eSBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIkVudGl0eVwiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj1cInJlc3RyaWN0ZWRfb2JqZWN0X2lkXCI+IEVudGl0eSA8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgIHt7IGdldFJlc3RyaWN0YWJsZVR5cGVWYWx1ZShlbGVtZW50KSB9fVxuICAgICAgICA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gRGF0YSBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIkRhdGFcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gRGF0YSA8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgIDxwIGNsYXNzPVwibWItMFwiICpuZ0lmPVwiZWxlbWVudD8uZGF0YT8uaXBfcmFuZ2VcIj5cbiAgICAgICAgICAgIElQIFJhbmdlOiB7eyBlbGVtZW50Py5kYXRhPy5pcF9yYW5nZSB9fVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8cCBjbGFzcz1cIm1iLTBcIiAqbmdJZj1cImVsZW1lbnQ/LmRhdGE/LnN0YXJ0X3RpbWVcIj5cbiAgICAgICAgICAgIFN0YXJ0IHRpbWU6IHt7IGVsZW1lbnQ/LmRhdGE/LnN0YXJ0X3RpbWUgfCBkYXRlOiAnc2hvcnQnIH19XG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwIGNsYXNzPVwibWItMFwiICpuZ0lmPVwiZWxlbWVudD8uZGF0YT8uZW5kX3RpbWVcIj5cbiAgICAgICAgICAgIEVuZCB0aW1lOiB7eyBlbGVtZW50Py5kYXRhPy5lbmRfdGltZSB8IGRhdGU6ICdzaG9ydCcgfX1cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBTdGF0dXMgQ29sdW1uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJTdGF0dXNcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI9XCJzdGF0dXNfaWRcIj4gU3RhdHVzIDwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IHt7IGVsZW1lbnQ/LnN0YXR1cz8udGl0bGUgfX08L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gQWN0aW9ucyBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIkFjdGlvbnNcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gQWN0aW9ucyA8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgW3JvdXRlckxpbmtdPVwiW2VsZW1lbnQ/LmlkLCAnZWRpdCddXCI+ZWRpdDwvbWF0LWljb24+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zXCI+PC90cj5cbiAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiPjwvdHI+XG4gICAgPC90YWJsZT5cblxuICAgIDxtYXQtcHJvZ3Jlc3MtYmFyICpuZ0lmPVwiaXNXb3JraW5nXCIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIj48L21hdC1wcm9ncmVzcy1iYXI+XG5cbiAgPC9tYXQtY2FyZC1jb250ZW50PlxuPC9tYXQtY2FyZD4iXX0=
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHJpY3RvcnMtbGlzdC1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvcmVzdHJpY3RvcnMvcmVzdHJpY3RvcnMtbGlzdC1wYWdlL3Jlc3RyaWN0b3JzLWxpc3QtcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3Jlc3RyaWN0b3JzL3Jlc3RyaWN0b3JzLWxpc3QtcGFnZS9yZXN0cmljdG9ycy1saXN0LXBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUdsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVc5QyxNQUFNLE9BQU8sNEJBQTRCO0lBbUJ2QyxZQUNVLEVBQWUsRUFDZixvQkFBMEMsRUFDMUMsY0FBOEIsRUFDOUIsaUJBQW9DLEVBQ3JDLGlCQUFvQztRQUpuQyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNyQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBckI3QyxxQkFBZ0IsR0FBYTtZQUMzQixJQUFJO1lBQ0osTUFBTTtZQUNOLE9BQU87WUFDUCxRQUFRO1lBQ1IsTUFBTTtZQUNOLFFBQVE7WUFDUixTQUFTO1NBQ1YsQ0FBQztRQUNNLFNBQUksR0FBRyxDQUFDLENBQUM7UUFHakIsb0JBQWUsR0FBVyxzQkFBc0IsQ0FBQztRQUVqRCxXQUFNLEdBQVUsRUFBRSxDQUFDO1FBU2pCLElBQUksQ0FBQyxNQUFNLEdB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Y29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUmVxdWVzdEhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9yZXF1ZXN0LWhlbHBlci9yZXF1ZXN0LWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFJlc3RyaWN0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vcmVzdHJpY3Rvci5zZXJ2aWNlJztcbmltcG9ydCB7IFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IE11bHRpVXNlckNvbmZpZywgVXNlckNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi91c2VyLWNvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1yZXN0cmljdG9ycy1saXN0LXBhZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVzdHJpY3RvcnMtbGlzdC1wYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVzdHJpY3RvcnMtbGlzdC1wYWdlLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBSZXN0cmljdG9yc0xpc3RQYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBmaWx0ZXJGb3JtOiBGb3JtR3JvdXA7XG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gW1xuICAgICdObycsXG4gICAgJ1R5cGUnLFxuICAgICdMZXZlbCcsXG4gICAgJ0VudGl0eScsXG4gICAgJ0RhdGEnLFxuICAgICdTdGF0dXMnLFxuICAgICdBY3Rpb25zJ1xuICBdO1xuICBwcml2YXRlIHBhZ2UgPSAxO1xuICBwcml2YXRlIHRvdGFsSXRlbXM6IG51bWJlcjtcbiAgaXNXb3JraW5nOiBib29sZWFuO1xuICBzY3JvbGxDb250YWluZXI6IHN0cmluZyA9ICcubWF0LXNpZGVuYXYtY29udGVudCc7XG4gIGNvbmZpZzogTXVsdGlVc2VyQ29uZmlnO1xuICBtb2RlbHM6IGFueVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSByZXF1ZXN0SGVscGVyU2VydmljZTogUmVxdWVzdEhlbHBlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZXN0cmljdG9yU2VydmljZTogUmVzdHJpY3RvclNlcnZpY2UsXG4gICAgcHVibGljIHVzZXJDb25maWdTZXJ2aWNlOiBVc2VyQ29uZmlnU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5jb25maWcgPSB0aGlzLnVzZXJDb25maWdTZXJ2aWNlLmdldENvbmZpZygpO1xuICAgIGlmICh0aGlzLmNvbmZpZz8uc2Nyb2xsQ29udGFpbmVyKSB7XG4gICAgICAvL1NldCB0byBudWxsIGlmIHNjcm9sbCBoYXMgdG8gYmUgZG9uZSBmcm9tIHJvb3RcbiAgICAgIHRoaXMuc2Nyb2xsQ29udGFpbmVyID0gdGhpcy5jb25maWc/LnNjcm9sbENvbnRhaW5lciA9PSAncm9vdCcgPyBudWxsIDogdGhpcy5jb25maWc/LnNjcm9sbENvbnRhaW5lcjtcbiAgICB9XG5cbiAgICB0aGlzLmZpbHRlckZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHR5cGVfaWRzOiBbJyddLFxuICAgICAgbGV2ZWxfaWRzOiBbJyddLFxuICAgICAgc3RhdHVzX2lkczogWycnXSxcbiAgICAgIHNvcnRfYnk6ICdpZHxkZXNjJ1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gVXBkYXRlIHRoZSBmb3JtIHdpdGggcXVlcnkgcGFyYW1zLlxuICAgIHRoaXMucmVxdWVzdEhlbHBlclNlcnZpY2UudXBkYXRlRm9ybVdpdGhRdWVyeVBhcmFtcyhcbiAgICAgIHRoaXMuZmlsdGVyRm9ybSxcbiAgICAgIHtcbiAgICAgICAgdHlwZV9pZHM6IHsgbXVsdGlwbGU6IHRydWUgfSxcbiAgICAgICAgbGV2ZWxfaWRzOiB7IG11bHRpcGxlOiB0cnVlIH0sXG4gICAgICAgIHN0YXR1c19pZHM6IHsgbXVsdGlwbGU6IHRydWUgfSxcbiAgICAgIH1cbiAgICApO1xuXG4gICAgLy8gVXBkYXRlIHRoZSBxdWVyeSBwYXJhbXMgb24gZmlsdGVyIGNoYW5nZVxuICAgIHRoaXMuZmlsdGVyRm9ybS52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSg4MDApKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnJlcXVlc3RIZWxwZXJTZXJ2aWNlLnVwZGF0ZVF1ZXJ5UGFyYW1zKFxuICAgICAgICAgICAgdGhpcy5yZXF1ZXN0SGVscGVyU2VydmljZS5jb252ZXJ0VG9Gb3JtRGF0YSh0aGlzLmZpbHRlckZvcm0udmFsdWUpXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlbG9hZCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVsb2FkKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc1dvcmtpbmcpIHtcbiAgICAgIHRoaXMucGFnZSA9IDE7XG4gICAgICB0aGlzLm1vZGVscyA9IFtdO1xuICAgICAgLy8gZmV0Y2ggdGhlIGRhdGFcbiAgICAgIHRoaXMuZmV0Y2hEYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoIHRoZSByZXN0cmljdG9ycyBsaXN0LlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBmZXRjaERhdGEoKTogdm9pZCB7XG4gICAgY29uc3QgcGFyYW1zOiBhbnkgPSB7XG4gICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICB3aXRoOiAndHlwZSxsZXZlbCxzdGF0dXMscmVzdHJpY3RhYmxlJyxcbiAgICAgIC4uLnRoaXMucmVxdWVzdEhlbHBlclNlcnZpY2UuY29udmVydFRvRm9ybURhdGEodGhpcy5maWx0ZXJGb3JtLnZhbHVlKVxuICAgIH07XG4gICAgdGhpcy5pc1dvcmtpbmcgPSB0cnVlO1xuICAgIHRoaXMucmVzdHJpY3RvclNlcnZpY2UuaW5kZXgocGFyYW1zKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5tb2RlbHMgPSB0aGlzLm1vZGVscy5jb25jYXQocmVzcG9uc2U/LmRhdGEpO1xuICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSByZXNwb25zZT8udG90YWw7XG4gICAgICAgIHRoaXMuaXNXb3JraW5nID0gZmFsc2U7XG4gICAgICB9LFxuICAgICAgZXJyb3I6ICgpID0+IHRoaXMuaXNXb3JraW5nID0gZmFsc2VcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgb24gc29ydCBjaGFuZ2UgZXZlbnQuXG4gICAqXG4gICAqIEBwYXJhbSBzb3J0XG4gICAqL1xuICBvblNvcnRDaGFuZ2Uoc29ydDogU29ydCk6IHZvaWQge1xuICAgIGxldCB7IGFjdGl2ZSwgZGlyZWN0aW9uIH0gPSBzb3J0O1xuICAgIGlmICghZGlyZWN0aW9uKSB7XG4gICAgICBhY3RpdmUgPSAnaWQnO1xuICAgICAgZGlyZWN0aW9uID0gJ2Rlc2MnO1xuICAgIH1cbiAgICB0aGlzLmZpbHRlckZvcm0uZ2V0KCdzb3J0X2J5Jykuc2V0VmFsdWUoYWN0aXZlICsgJ3wnICsgZGlyZWN0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgb24gc2Nyb2xsIGV2ZW50IHRvIGxvYWQgZGF0YS5cbiAgICovXG4gIG9uU2Nyb2xsKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRvdGFsSXRlbXMgPiB0aGlzLm1vZGVscy5sZW5ndGggJiYgIXRoaXMuaXNXb3JraW5nKSB7XG4gICAgICB0aGlzLnBhZ2UrKztcbiAgICAgIHRoaXMuZmV0Y2hEYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCByZXN0cmljdGFibGUgdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSByZXN0cmljdG9yXG4gICAqL1xuICBnZXRSZXN0cmljdGFibGVUeXBlVmFsdWUocmVzdHJpY3RvcjogYW55KTogc3RyaW5nIHtcbiAgICBpZiAocmVzdHJpY3Rvcj8ubGV2ZWxfaWQgPT09IDEpIHtcbiAgICAgIHJldHVybiByZXN0cmljdG9yPy5yZXN0cmljdGFibGU/LnRpdGxlO1xuICAgIH0gZWxzZSBpZiAocmVzdHJpY3Rvcj8ubGV2ZWxfaWQgPT09IDIpIHtcbiAgICAgIHJldHVybiByZXN0cmljdG9yPy5yZXN0cmljdGFibGU/LmxhYmVsO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gcmVzdHJpY3Rvcj8ucmVzdHJpY3RhYmxlPy5uYW1lO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBmeExheW91dCBmeExheW91dEFsaWduPVwiY2VudGVyXCIgZnhMYXlvdXRHYXA9XCIxMHB4XCI+XG4gIDxoNCBjbGFzcz1cIm1iLTBcIj5SZXN0cmljdG9yczwvaDQ+XG4gIDxtYXQtaWNvbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgW3JvdXRlckxpbmtdPVwiWydjcmVhdGUnXVwiPmFkZDwvbWF0LWljb24+XG48L2Rpdj5cbjxwIGNsYXNzPVwidGV4dC1jZW50ZXIgdGV4dC1zZWNvbmRhcnlcIj5cbiAgVGhlc2UgYXJlIHRoZSBjb25maWd1cmF0aW9ucyBmb3IgcmVzdHJpY3Rpb25zIHRoYXQgd2UgYXJlIGFkZGluZyB0byB1c2VycycgYWNjZXNzIG9mIHRoaXMgYXBwLlxuPC9wPlxuXG48bWF0LWNhcmQgY2xhc3M9XCJtdC0yXCI+XG4gIDxtYXQtY2FyZC1jb250ZW50PlxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZmlsdGVyRm9ybVwiIGZ4TGF5b3V0IGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeExheW91dEdhcD1cIjEwcHhcIj5cbiAgICAgIDx0ZWNobGlmeS1yZXN0cmljdG9yLXR5cGUtc2VsZWN0b3IgZm9ybUNvbnRyb2xOYW1lPVwidHlwZV9pZHNcIlxuICAgICAgICBbbXVsdGlwbGVdPVwidHJ1ZVwiPjwvdGVjaGxpZnktcmVzdHJpY3Rvci10eXBlLXNlbGVjdG9yPlxuICAgICAgPHRlY2hsaWZ5LXJlc3RyaWN0b3ItbGV2ZWwtc2VsZWN0b3IgZm9ybUNvbnRyb2xOYW1lPVwibGV2ZWxfaWRzXCJcbiAgICAgICAgW211bHRpcGxlXT1cInRydWVcIj48L3RlY2hsaWZ5LXJlc3RyaWN0b3ItbGV2ZWwtc2VsZWN0b3I+XG4gICAgICA8dGVjaGxpZnktcmVzdHJpY3Rvci1zdGF0dXMtc2VsZWN0b3IgZm9ybUNvbnRyb2xOYW1lPVwic3RhdHVzX2lkc1wiXG4gICAgICAgIFttdWx0aXBsZV09XCJ0cnVlXCI+PC90ZWNobGlmeS1yZXN0cmljdG9yLXN0YXR1cy1zZWxlY3Rvcj5cbiAgICA8L2Zvcm0+XG4gIDwvbWF0LWNhcmQtY29udGVudD5cbjwvbWF0LWNhcmQ+XG5cbjxtYXQtY2FyZCBjbGFzcz1cIm10LTIgcC0wXCI+XG4gIDxtYXQtY2FyZC1jb250ZW50PlxuICAgIDx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwibW9kZWxzXCIgY2xhc3M9XCJ3LTEwMFwiIG1hdFNvcnQgKG1hdFNvcnRDaGFuZ2UpPVwib25Tb3J0Q2hhbmdlKCRldmVudClcIiBpbmZpbml0ZVNjcm9sbFxuICAgICAgW2luZmluaXRlU2Nyb2xsRGlzdGFuY2VdPVwiMlwiIFtpbmZpbml0ZVNjcm9sbFRocm90dGxlXT1cIjUwXCIgW2luZmluaXRlU2Nyb2xsQ29udGFpbmVyXT1cInNjcm9sbENvbnRhaW5lclwiXG4gICAgICBbZnJvbVJvb3RdPVwidHJ1ZVwiIChzY3JvbGxlZCk9XCJvblNjcm9sbCgpXCI+XG5cbiAgICAgIDwhLS0gTm8gQ29sdW1uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJOb1wiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj1cImNyZWF0ZWRfYXRcIj4gIyA8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudDsgbGV0IGkgPSBpbmRleDtcIj4ge3sgaSArIDEgfX0gPC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tIFR5cGUgQ29sdW1uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJUeXBlXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPVwidHlwZV9pZFwiPiBUeXBlIDwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IHt7IGVsZW1lbnQ/LnR5cGU/LnRpdGxlIH19IDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBMZXZlbCBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIkxldmVsXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPVwibGV2ZWxfaWRcIj4gTGV2ZWwgPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj4ge3tlbGVtZW50Py5sZXZlbD8udGl0bGV9fSA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gRW50aXR5IENvbHVtbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiRW50aXR5XCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPVwicmVzdHJpY3RlZF9vYmplY3RfaWRcIj4gRW50aXR5IDwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgICAge3sgZ2V0UmVzdHJpY3RhYmxlVHlwZVZhbHVlKGVsZW1lbnQpIH19XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBEYXRhIENvbHVtbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiRGF0YVwiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBEYXRhIDwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgICAgPHAgY2xhc3M9XCJtYi0wXCIgKm5nSWY9XCJlbGVtZW50Py5kYXRhPy5pcF9yYW5nZVwiPlxuICAgICAgICAgICAgSVAgUmFuZ2U6IHt7IGVsZW1lbnQ/LmRhdGE/LmlwX3JhbmdlIH19XG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwIGNsYXNzPVwibWItMFwiICpuZ0lmPVwiZWxlbWVudD8uZGF0YT8uc3RhcnRfdGltZVwiPlxuICAgICAgICAgICAgU3RhcnQgdGltZToge3sgZWxlbWVudD8uZGF0YT8uc3RhcnRfdGltZSB8IGRhdGU6ICdzaG9ydCcgfX1cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHAgY2xhc3M9XCJtYi0wXCIgKm5nSWY9XCJlbGVtZW50Py5kYXRhPy5lbmRfdGltZVwiPlxuICAgICAgICAgICAgRW5kIHRpbWU6IHt7IGVsZW1lbnQ/LmRhdGE/LmVuZF90aW1lIHwgZGF0ZTogJ3Nob3J0JyB9fVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tIFN0YXR1cyBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIlN0YXR1c1wiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj1cInN0YXR1c19pZFwiPiBTdGF0dXMgPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj4ge3sgZWxlbWVudD8uc3RhdHVzPy50aXRsZSB9fTwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBBY3Rpb25zIENvbHVtbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiQWN0aW9uc1wiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBBY3Rpb25zIDwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiBbcm91dGVyTGlua109XCJbZWxlbWVudD8uaWQsICdlZGl0J11cIj5lZGl0PC9tYXQtaWNvbj5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxuICAgICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7XCI+PC90cj5cbiAgICA8L3RhYmxlPlxuXG4gICAgPG1hdC1wcm9ncmVzcy1iYXIgKm5nSWY9XCJpc1dvcmtpbmdcIiBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiPjwvbWF0LXByb2dyZXNzLWJhcj5cblxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XG48L21hdC1jYXJkPiJdfQ==