taxtank-core 0.27.3 → 0.27.6

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 (91) hide show
  1. package/bundles/taxtank-core.umd.js +448 -163
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/chart-accounts.collection.js +3 -3
  4. package/esm2015/lib/collections/transaction/transaction.collection.js +5 -2
  5. package/esm2015/lib/collections/vehicle/vehicle-claim.collection.js +2 -4
  6. package/esm2015/lib/collections/vehicle/vehicle-logbook.collection.js +15 -30
  7. package/esm2015/lib/db/Enums/depreciation-calculation.enum.js +2 -1
  8. package/esm2015/lib/db/Enums/sole-invoice-statuses.enum.js +8 -0
  9. package/esm2015/lib/db/Enums/sole-invoice-template-tax-type.enum.js +7 -0
  10. package/esm2015/lib/db/Models/chart-accounts/chart-accounts.js +1 -1
  11. package/esm2015/lib/db/Models/sole/sole-invoice-template.js +1 -1
  12. package/esm2015/lib/db/Models/sole/sole-invoice.js +1 -1
  13. package/esm2015/lib/db/Models/user/user.js +1 -1
  14. package/esm2015/lib/forms/abstract.form.js +11 -5
  15. package/esm2015/lib/forms/bank/bank-account/bank-account-add-manual.form.js +6 -10
  16. package/esm2015/lib/forms/bank/bank-account/bank-account-allocation.form.js +6 -3
  17. package/esm2015/lib/forms/sole/index.js +3 -1
  18. package/esm2015/lib/forms/sole/sole-business-allocations.form.js +2 -1
  19. package/esm2015/lib/forms/sole/sole-invoice-item.form.js +43 -0
  20. package/esm2015/lib/forms/sole/sole-invoice-template.form.js +6 -4
  21. package/esm2015/lib/forms/sole/sole-invoice.form.js +51 -0
  22. package/esm2015/lib/forms/vehicle/vehicle-claim-details.form.js +3 -7
  23. package/esm2015/lib/forms/vehicle/vehicle-claim.form.js +8 -2
  24. package/esm2015/lib/forms/vehicle/vehicle-logbook.form.js +22 -15
  25. package/esm2015/lib/models/account-setup/account-setup-items.const.js +2 -2
  26. package/esm2015/lib/models/bank/bank-account.js +4 -1
  27. package/esm2015/lib/models/chart-accounts/chart-accounts.js +9 -9
  28. package/esm2015/lib/models/endpoint/endpoints.const.js +5 -1
  29. package/esm2015/lib/models/financial-year/financial-year.js +2 -1
  30. package/esm2015/lib/models/report/my-tax/my-tax-deductions/my-tax-deductions.js +2 -2
  31. package/esm2015/lib/models/sole/sole-details.js +3 -1
  32. package/esm2015/lib/models/sole/sole-invoice-item.js +8 -1
  33. package/esm2015/lib/models/sole/sole-invoice-template.js +15 -4
  34. package/esm2015/lib/models/sole/sole-invoice.js +55 -2
  35. package/esm2015/lib/models/transaction/transaction.js +3 -3
  36. package/esm2015/lib/models/vehicle/logbook-period.js +2 -1
  37. package/esm2015/lib/models/vehicle/vehicle-claim-details.js +12 -11
  38. package/esm2015/lib/models/vehicle/vehicle-claim.js +14 -13
  39. package/esm2015/lib/models/vehicle/vehicle-logbook.js +18 -5
  40. package/esm2015/lib/services/account-setup/account-setup.service.js +2 -2
  41. package/esm2015/lib/services/affiliate/rewardful/rewardful.service.js +34 -0
  42. package/esm2015/lib/services/http/depreciation/depreciation.service.js +1 -2
  43. package/esm2015/lib/services/http/sole/index.js +2 -1
  44. package/esm2015/lib/services/http/sole/sole-invoice/sole-invoice.service.js +21 -0
  45. package/esm2015/lib/services/http/transaction/transaction.service.js +1 -2
  46. package/esm2015/lib/services/http/vehicle/vehicle-claim-details.service.js +7 -6
  47. package/esm2015/lib/services/http/vehicle/vehicle-claim.service.js +10 -10
  48. package/esm2015/lib/services/index.js +2 -1
  49. package/esm2015/public-api.js +3 -1
  50. package/fesm2015/taxtank-core.js +379 -139
  51. package/fesm2015/taxtank-core.js.map +1 -1
  52. package/lib/collections/chart-accounts.collection.d.ts +2 -2
  53. package/lib/collections/transaction/transaction.collection.d.ts +2 -2
  54. package/lib/collections/vehicle/vehicle-claim.collection.d.ts +1 -3
  55. package/lib/collections/vehicle/vehicle-logbook.collection.d.ts +4 -9
  56. package/lib/db/Enums/depreciation-calculation.enum.d.ts +1 -0
  57. package/lib/db/Enums/sole-invoice-statuses.enum.d.ts +6 -0
  58. package/lib/db/Enums/sole-invoice-template-tax-type.enum.d.ts +5 -0
  59. package/lib/db/Models/chart-accounts/chart-accounts.d.ts +1 -0
  60. package/lib/db/Models/sole/sole-invoice-template.d.ts +2 -1
  61. package/lib/db/Models/sole/sole-invoice.d.ts +2 -1
  62. package/lib/db/Models/user/user.d.ts +1 -0
  63. package/lib/forms/abstract.form.d.ts +3 -1
  64. package/lib/forms/bank/bank-account/bank-account-add-manual.form.d.ts +1 -3
  65. package/lib/forms/bank/bank-account/bank-account-allocation.form.d.ts +4 -2
  66. package/lib/forms/sole/index.d.ts +2 -0
  67. package/lib/forms/sole/sole-business-allocations.form.d.ts +1 -0
  68. package/lib/forms/sole/sole-invoice-item.form.d.ts +10 -0
  69. package/lib/forms/sole/sole-invoice-template.form.d.ts +3 -2
  70. package/lib/forms/sole/sole-invoice.form.d.ts +14 -0
  71. package/lib/forms/vehicle/vehicle-claim-details.form.d.ts +1 -6
  72. package/lib/forms/vehicle/vehicle-claim.form.d.ts +3 -0
  73. package/lib/forms/vehicle/vehicle-logbook.form.d.ts +4 -0
  74. package/lib/models/bank/bank-account.d.ts +2 -0
  75. package/lib/models/chart-accounts/chart-accounts.d.ts +6 -6
  76. package/lib/models/financial-year/financial-year.d.ts +1 -0
  77. package/lib/models/sole/sole-details.d.ts +2 -0
  78. package/lib/models/sole/sole-invoice-item.d.ts +2 -0
  79. package/lib/models/sole/sole-invoice-template.d.ts +5 -1
  80. package/lib/models/sole/sole-invoice.d.ts +12 -0
  81. package/lib/models/transaction/transaction.d.ts +2 -2
  82. package/lib/models/vehicle/logbook-period.d.ts +1 -0
  83. package/lib/models/vehicle/vehicle-claim-details.d.ts +8 -2
  84. package/lib/models/vehicle/vehicle-claim.d.ts +6 -4
  85. package/lib/models/vehicle/vehicle-logbook.d.ts +8 -4
  86. package/lib/services/affiliate/rewardful/rewardful.service.d.ts +13 -0
  87. package/lib/services/http/sole/index.d.ts +1 -0
  88. package/lib/services/http/sole/sole-invoice/sole-invoice.service.d.ts +11 -0
  89. package/lib/services/index.d.ts +1 -0
  90. package/package.json +1 -1
  91. package/public-api.d.ts +2 -0
@@ -324,7 +324,6 @@ export class TransactionService extends RestService {
324
324
  this.eventDispatcherService.on([
325
325
  AppEventTypeEnum.VEHICLE_CLAIM_CREATED,
326
326
  AppEventTypeEnum.VEHICLE_CLAIM_UPDATED,
327
- AppEventTypeEnum.VEHICLE_CLAIM_DETAILS_CREATED,
328
327
  AppEventTypeEnum.VEHICLE_CLAIM_DETAILS_UPDATED
329
328
  ]).subscribe(() => {
330
329
  this.resetCache();
@@ -346,4 +345,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
346
345
  type: Inject,
347
346
  args: ['environment']
348
347
  }] }, { type: i3.ToastService }, { type: i4.TransactionReceiptService }]; } });
349
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN4RyxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNySCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN4RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHM0QsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdE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bkIsYUFBYTtvSEFUWixrQkFBa0IsY0FGakIsTUFBTTs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFVSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gYXMgVHJhbnNhY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHJlcGxhY2UsIHNvcnQgfSBmcm9tICcuLi8uLi8uLi9mdW5jdGlvbnMvYXJyYXknO1xuaW1wb3J0IHsgZW51bVRvTGlzdCB9IGZyb20gJy4uLy4uLy4uL2Z1bmN0aW9ucy9lbnVtLXRvLWxpc3QnO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0hlYWRpbmdUYXhhYmxlRW51bSB9IGZyb20gJy4uLy4uLy4uL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWhlYWRpbmctdGF4YWJsZS5lbnVtJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNIZWFkaW5nVGF4RGVkdWN0aWJsZUVudW0gfSBmcm9tICcuLi8uLi8uLi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1oZWFkaW5nLXRheC1kZWR1Y3RpYmxlLmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tb3BlcmF0aW9uLmVudW0nO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9yZXN0L3Jlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLWNhdGVnb3JpZXMuY29uc3QnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblJlY2VpcHQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tcmVjZWlwdCc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzVGF4TGFiZWxzRW51bSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy10YXgtbGFiZWxzLmVudW0nO1xuaW1wb3J0IHsgUHJvcGVydHlDYXRlZ29yeUxpc3RFbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMvcHJvcGVydHkvcHJvcGVydHktY2F0ZWdvcnktbGlzdC5lbnVtJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uUmVjZWlwdFNlcnZpY2UgfSBmcm9tICcuL3RyYW5zYWN0aW9uLXJlY2VpcHQvdHJhbnNhY3Rpb24tcmVjZWlwdC5zZXJ2aWNlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZXZlbnQvZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3RvYXN0L3RvYXN0LnNlcnZpY2UnO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIHRyYW5zYWN0aW9ucyBidXNpbmVzcyBsb2dpY1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvblNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxUcmFuc2FjdGlvbkJhc2UsIFRyYW5zYWN0aW9uPiB7XG4gIC8vIHVybCBwYXJ0IGZvciBUcmFuc2FjdGlvbiBBUElcbiAgdXJsOiBzdHJpbmcgPSAndHJhbnNhY3Rpb25zJztcbiAgbW9kZWxDbGFzcyA9IFRyYW5zYWN0aW9uO1xuICB0cmFuc2FjdGlvbkRlbGV0ZWQ6IEV2ZW50RW1pdHRlcjxUcmFuc2FjdGlvbj4gPSBuZXcgRXZlbnRFbWl0dGVyPFRyYW5zYWN0aW9uPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnksXG4gICAgcHJvdGVjdGVkIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNhY3Rpb25SZWNlaXB0U2VydmljZTogVHJhbnNhY3Rpb25SZWNlaXB0U2VydmljZVxuICApIHtcbiAgICBzdXBlcihodHRwLCBldmVudERpc3BhdGNoZXJTZXJ2aWNlLCBlbnZpcm9ubWVudCwgdG9hc3RTZXJ2aWNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gZXZlbnRzIGZyb20gRXZlbnQgRGlzcGF0Y2hlciBzZXJ2aWNlc1xuICAgKi9cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuRGVwcmVjaWF0aW9uQ2hhbmdlKCk7XG4gICAgdGhpcy5saXN0ZW5Qcm9wZXJ0eVNoYXJlVXBkYXRlKCk7XG4gICAgdGhpcy5saXN0ZW5SZWNlaXB0QWRkZWQoKTtcbiAgICB0aGlzLmxpc3RlblJlY2VpcHREZWxldGVkKCk7XG4gICAgdGhpcy5saXN0ZW5WZWhpY2xlQ2xhaW1DaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgYWxsIHVzZXIncyBUYXhUYW5rIHRyYW5zYWN0aW9uc1xuICAgKi9cbiAgZ2V0KCk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIGlmICghdGhpcy5jYWNoZSkge1xuICAgICAgLy8gc2V0IGNhY2hlIGFzIGRlZmF1bHQgZW1wdHkgYXJyYXkgdG8gYXZvaWQgbXVsdGlwbGUgYmFja2VuZCByZXF1ZXN0c1xuICAgICAgdGhpcy5jYWNoZSA9IFtdO1xuICAgICAgdGhpcy5mZXRjaCgpXG4gICAgICAgIC5zdWJzY3JpYmUoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSkgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0cmFuc2FjdGlvbnM7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jYWNoZVN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgIC8vIGFzc2lnbiBjaGlsZCB0cmFuc2FjdGlvbnMgKGZlZXMpIHRvIHBhcmVudCB0cmFuc2FjdGlvbnNcbiAgICAgIG1hcCgodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKTogVHJhbnNhY3Rpb25bXSA9PiB7XG4gICAgICAgIHRyYW5zYWN0aW9ucy5mb3JFYWNoKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiB2b2lkID0+IHtcbiAgICAgICAgICB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMgPSB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIC8vIGdldCBsaXN0IG9mIGNoaWxkIHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgLmZpbHRlcigodDogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHQucGFyZW50VHJhbnNhY3Rpb24gJiYgdC5wYXJlbnRUcmFuc2FjdGlvbi5pZCA9PT0gdHJhbnNhY3Rpb24uaWQpO1xuICAgICAgICB9KTtcbiAgICAgICAgc29ydCh0cmFuc2FjdGlvbnMsICdkYXRlJywgZmFsc2UpO1xuICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb25zO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBzaW5nbGUgbmV3IHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSBtb2RlbCBOZXcgVHJhbnNhY3Rpb24gaW5zdGFuY2UgZm9yIHNhdmluZ1xuICAgKi9cbiAgYWRkKG1vZGVsOiBUcmFuc2FjdGlvbik6IE9ic2VydmFibGU8VHJhbnNhY3Rpb24+IHtcbiAgICAvLyB3ZSBkb24ndCBoYXZlIFBPU1QgQVBJIGVuZHBvaW50IGZvciBzaW5nbGUgdHJhbnNhY3Rpb25cbiAgICByZXR1cm4gdGhpcy5hZGRCYXRjaChbbW9kZWxdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgobmV3VHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKTogVHJhbnNhY3Rpb24gPT4ge1xuICAgICAgICAgIC8vIEBUT0RPIGFsZXhcbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2goXG4gICAgICAgICAgICBuZXcgQXBwRXZlbnQ8VHJhbnNhY3Rpb24+KEFwcEV2ZW50VHlwZUVudW0uVFJBTlNBQ1RJT05fQ1JFQVRFRCwgbmV3VHJhbnNhY3Rpb25zWzBdKVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICByZXR1cm4gbmV3VHJhbnNhY3Rpb25zWzBdO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgdHJhbnNhY3Rpb25zIHJlbGF0ZWQgd2l0aCBwcm9wZXJ0eVxuICAgKi9cbiAgZ2V0QnlQcm9wZXJ0eUlkKHByb3BlcnR5SWQ6IG51bWJlcik6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbltdID0+IHtcbiAgICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb25zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb24ucHJvcGVydHk/LmlkID09PSBwcm9wZXJ0eUlkO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiB0cmFuc2FjdGlvbnMgd2l0aCB0YW5rIHR5cGUgJ1dvcmsnXG4gICAqL1xuICBnZXRXb3JrVHJhbnNhY3Rpb25zKCk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbltdID0+IHtcbiAgICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb25zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc1dvcmtUYW5rKCkpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbGlzdCBvZiBwcm9wZXJ0eSBob2xkaW5nIGNvc3RzICh0cmFuc2FjdGlvbnMgcmVsYXRlZCB0byB2YWNhbnQgbGFuZCBwcm9wZXJ0eSlcbiAgICovXG4gIGdldFByb3BlcnR5SG9sZGluZ0Nvc3RzKHByb3BlcnR5SWQ6IG51bWJlcik6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxuICAgICAgYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0/cHJvcGVydHlJZD0ke3Byb3BlcnR5SWR9JnByb3BlcnR5Q2F0ZWdvcnlJZD0ke1Byb3BlcnR5Q2F0ZWdvcnlMaXN0RW51bS5WQUNBTlRfTEFORH1gXG4gICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodHJhbnNhY3Rpb25zQmFzZTogVHJhbnNhY3Rpb25CYXNlW10pOiBUcmFuc2FjdGlvbltdID0+IHtcbiAgICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb25zQmFzZS5tYXAoKHRyYW5zYWN0aW9uQmFzZTogVHJhbnNhY3Rpb25CYXNlKTogVHJhbnNhY3Rpb24gPT4gcGxhaW5Ub0NsYXNzKFRyYW5zYWN0aW9uLCB0cmFuc2FjdGlvbkJhc2UpKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgdGF4YWJsZSB0cmFuc2FjdGlvbnMgd2l0aCB0YW5rIHR5cGUgJ1dvcmsnXG4gICAqL1xuICBnZXRUYXhhYmxlV29ya1RyYW5zYWN0aW9ucygpOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRXb3JrVHJhbnNhY3Rpb25zKClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IFRyYW5zYWN0aW9uW10gPT4ge1xuICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbnMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+ICEhdHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cy50YXhSZXR1cm5JdGVtKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogYWRkIG11bHRpcGxlIHRyYW5zYWN0aW9uc1xuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb25zIExpc3Qgb2YgbmV3IFRyYW5zYWN0aW9uIGluc3RhbmNlcyBmb3Igc2F2aW5nXG4gICAqL1xuICBhZGRCYXRjaCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uW10+IHtcbiAgICB0cmFuc2FjdGlvbnMgPSBfLmNsb25lRGVlcCh0cmFuc2FjdGlvbnMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfWAsIHRyYW5zYWN0aW9ucylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBUcmFuc2FjdGlvbkJhc2VbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGFkZGVkVHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdID0gcmVzcG9uc2UubWFwKChpdGVtOiBUcmFuc2FjdGlvbkJhc2UpID0+IHBsYWluVG9DbGFzcyhUcmFuc2FjdGlvbiwgaXRlbSkpO1xuXG4gICAgICAgICAgdHJhbnNhY3Rpb25zLmZvckVhY2goKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbiwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgLy8gQFRPRE8gYmFja2VuZDogbmVlZCB0byB1cGxvYWQgZmlsZSBpbiB0aGUgc2FtZSBiYWNrZW5kIGVuZHBvaW50IHdpdGggdHJhbnNhY3Rpb24gYWRkL3VwZGF0ZVxuICAgICAgICAgICAgLy8gY2hlY2sgaWYgcGFzc2VkIHJlY2VpcHQgYW5kIHVwbG9hZCBmaWxlXG4gICAgICAgICAgICBpZiAodHJhbnNhY3Rpb24uZmlsZSkge1xuICAgICAgICAgICAgICB0cmFuc2FjdGlvbi5pZCA9IHJlc3BvbnNlW2luZGV4XS5pZDtcbiAgICAgICAgICAgICAgYWRkZWRUcmFuc2FjdGlvbnNbaW5kZXhdLmZpbGUgPSB0cmFuc2FjdGlvbi5maWxlO1xuICAgICAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uVFJBTlNBQ1RJT05fVVBEQVRFRF9XSVRIX1JFQ0VJUFQsIGFkZGVkVHJhbnNhY3Rpb25zW2luZGV4XSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBAVE9ETyBWaWt0b3I6IGltcGxlbWVudCBBUEkgZm9yIHNhdmluZyBvZiBuZXN0ZWQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICAvLyBhZGQgY2hpbGQgdHJhbnNhY3Rpb25zIGlmIGV4aXN0XG4gICAgICAgICAgICBpZiAodHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgICB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMuZm9yRWFjaCgoY2hpbGRUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHtcbiAgICAgICAgICAgICAgICBjaGlsZFRyYW5zYWN0aW9uLnBhcmVudFRyYW5zYWN0aW9uID0gcGxhaW5Ub0NsYXNzKFRyYW5zYWN0aW9uLCB7aWQ6IGFkZGVkVHJhbnNhY3Rpb25zW2luZGV4XS5pZH0pO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgdGhpcy5hZGRCYXRjaCh0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMpLnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBhZGQgdHJhbnNmZXIgdHJhbnNhY3Rpb24gdG8gY2FjaGVcbiAgICAgICAgICAgIGlmICh0cmFuc2FjdGlvbi5vcGVyYXRpb24gPT09IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bS5UUkFOU0ZFUikge1xuICAgICAgICAgICAgICBhZGRlZFRyYW5zYWN0aW9ucy5wdXNoKGFkZGVkVHJhbnNhY3Rpb25zWzBdLnRyYW5zZmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGlmICh0aGlzLmNhY2hlKSB7XG4gICAgICAgICAgICB0aGlzLmNhY2hlLnB1c2goLi4uYWRkZWRUcmFuc2FjdGlvbnMpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChcbiAgICAgICAgICAgIG5ldyBBcHBFdmVudDxUcmFuc2FjdGlvbltdPihBcHBFdmVudFR5cGVFbnVtLlRSQU5TQUNUSU9OU19DUkVBVEVELCBhZGRlZFRyYW5zYWN0aW9ucylcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgcmV0dXJuIGFkZGVkVHJhbnNhY3Rpb25zO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB1cGRhdGUgZXhpc3RpbmcgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIHRyYW5zYWN0aW9uIFRyYW5zYWN0aW9uIGluc3RhbmNlIGZvciB1cGRhdGluZ1xuICAgKi9cbiAgdXBkYXRlKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IE9ic2VydmFibGU8VHJhbnNhY3Rpb24+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS8ke3RyYW5zYWN0aW9uLmlkfWAsIHRyYW5zYWN0aW9uKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IFRyYW5zYWN0aW9uQmFzZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb24gPSBwbGFpblRvQ2xhc3MoVHJhbnNhY3Rpb24sIHJlc3BvbnNlKTtcblxuICAgICAgICAgIC8vIEBUT0RPIG5lZWQgdG8gdXBsb2FkIGZpbGUgaW4gdGhlIHNhbWUgYmFja2VuZCBlbmRwb2ludCB3aXRoIHRyYW5zYWN0aW9uIGFkZC91cGRhdGVcbiAgICAgICAgICAvLyBjaGVjayBpZiBwYXNzZWQgbmV3IHJlY2VpcHQgYW5kIHVwbG9hZCBmaWxlXG4gICAgICAgICAgaWYgKHRyYW5zYWN0aW9uLmZpbGUpIHtcbiAgICAgICAgICAgIHVwZGF0ZWRUcmFuc2FjdGlvbi5maWxlID0gdHJhbnNhY3Rpb24uZmlsZTtcbiAgICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTl9VUERBVEVEX1dJVEhfUkVDRUlQVCwgdXBkYXRlZFRyYW5zYWN0aW9uKSk7XG4gICAgICAgICAgICAvLyByZWNlaXB0IGZpbGUgd2FzIHJlbW92ZWQgZnJvbSBmb3JtIC0gd2Ugc2hvdWxkIGRlbGV0ZSByZWNlaXB0IGZyb20gdHJhbnNhY3Rpb25cbiAgICAgICAgICB9IGVsc2UgaWYgKCF0cmFuc2FjdGlvbi5maWxlICYmIHRyYW5zYWN0aW9uLnJlY2VpcHQpIHtcbiAgICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTl9VUERBVEVEX1dJVEhfREVMRVRFRF9SRUNFSVBULCB1cGRhdGVkVHJhbnNhY3Rpb24pKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBAVE9ETyBWaWt0b3I6IGltcGxlbWVudCBBUEkgZm9yIHNhdmluZyBvZiBuZXN0ZWQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgaWYgKHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgIC8vIGFkZCBwYXJlbnQgdHJhbnNhY3Rpb24gdG8gY2hpbGQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMuZm9yRWFjaCgoY2hpbGRUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHtcbiAgICAgICAgICAgICAgY2hpbGRUcmFuc2FjdGlvbi5wYXJlbnRUcmFuc2FjdGlvbiA9IHBsYWluVG9DbGFzcyhUcmFuc2FjdGlvbiwge2lkOiB1cGRhdGVkVHJhbnNhY3Rpb24uaWR9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gc2VwYXJhdGUgY2hpbGQgdHJhbnNhY3Rpb25zIGJ5IGlkIGV4aXN0aW5nIHRvIGRlZmluZSBhZGQgb3IgdXBkYXRlIGFjdGlvbi5cbiAgICAgICAgICAgIGNvbnN0IGNoaWxkVHJhbnNhY3Rpb25zVG9VcGRhdGU6IFRyYW5zYWN0aW9uW10gPSB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMuZmlsdGVyKCh0OiBUcmFuc2FjdGlvbikgPT4gdC5pZCk7XG4gICAgICAgICAgICBjb25zdCBjaGlsZFRyYW5zYWN0aW9uc1RvQWRkOiBUcmFuc2FjdGlvbltdID0gdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zLmZpbHRlcigodDogVHJhbnNhY3Rpb24pID0+ICF0LmlkKTtcblxuICAgICAgICAgICAgLy8gdXBkYXRlIGNoaWxkIHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgaWYgKGNoaWxkVHJhbnNhY3Rpb25zVG9VcGRhdGUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlQmF0Y2goY2hpbGRUcmFuc2FjdGlvbnNUb1VwZGF0ZSkuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGFkZCBjaGlsZCB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIGlmIChjaGlsZFRyYW5zYWN0aW9uc1RvQWRkLmxlbmd0aCkge1xuICAgICAgICAgICAgICB0aGlzLmFkZEJhdGNoKGNoaWxkVHJhbnNhY3Rpb25zVG9BZGQpLnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMucmVwbGFjZUluQ2FjaGUodXBkYXRlZFRyYW5zYWN0aW9uKTtcblxuICAgICAgICAgIHJldHVybiB1cGRhdGVkVHJhbnNhY3Rpb247XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIHVwZGF0ZSBtdWx0aXBsZSB0cmFuc2FjdGlvbnNcbiAgICogQHBhcmFtIHRyYW5zYWN0aW9ucyBsaXN0IG9mIHRyYW5zYWN0aW9ucyBmb3IgdXBkYXRpbmdcbiAgICovXG4gIHVwZGF0ZUJhdGNoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9YCwgdHJhbnNhY3Rpb25zKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IFRyYW5zYWN0aW9uQmFzZVtdKSA9PiB7XG4gICAgICAgICAgY29uc3QgdXBkYXRlZFRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSA9IHJlc3BvbnNlLm1hcCgoaXRlbTogVHJhbnNhY3Rpb25CYXNlKSA9PiBwbGFpblRvQ2xhc3MoVHJhbnNhY3Rpb24sIGl0ZW0pKTtcblxuICAgICAgICAgIHVwZGF0ZWRUcmFuc2FjdGlvbnMuZm9yRWFjaCgodXBkYXRlZFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4ge1xuICAgICAgICAgICAgcmVwbGFjZSh0aGlzLmNhY2hlLCB1cGRhdGVkVHJhbnNhY3Rpb24pO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIHJldHVybiB1cGRhdGVkVHJhbnNhY3Rpb25zO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBkZWxldGUgdHJhbnNhY3Rpb24gYW5kIHJlbGF0ZWQgdHJhbnNhY3Rpb25zXG4gICAqIEBwYXJhbSBtb2RlbFxuICAgKi9cbiAgZGVsZXRlKG1vZGVsOiBUcmFuc2FjdGlvbik6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9LyR7bW9kZWwuaWR9YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCk6IHZvaWQgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0aGlzLmNhY2hlLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB7XG4gICAgICAgICAgICAvLyB3aGVuIGRlbGV0ZSB0cmFuc2ZlciB3ZSBkZWxldGUgYWN0dWFsbHkgMiB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIGlmIChtb2RlbC5pc1RyYW5zZmVyKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGlkczogbnVtYmVyW10gPSBbbW9kZWwuaWRdO1xuXG4gICAgICAgICAgICAgIC8vIGdldCBpZCBvZiByZWxhdGVkIHRyYW5zZmVyIHRyYW5zYWN0aW9uXG4gICAgICAgICAgICAgIGlmIChtb2RlbC50cmFuc2Zlcikge1xuICAgICAgICAgICAgICAgIC8vIGp1c3QgdGFrZSBpZCBpZiB3ZSBkZWxldGUgc291cmNlIHRyYW5zYWN0aW9uXG4gICAgICAgICAgICAgICAgaWRzLnB1c2gobW9kZWwudHJhbnNmZXIuaWQpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIGZpbmQgc291cmNlIHRyYW5zYWN0aW9uIGlkIGlmIHdlIGRlbGV0ZSBkZXN0aW5hdGlvbiB0cmFuc2FjdGlvblxuICAgICAgICAgICAgICAgIGlkcy5wdXNoKHRoaXMuY2FjaGUuZmluZCgodDogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHQudHJhbnNmZXIuaWQgPT09IG1vZGVsLmlkKS5pZCk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4gIWlkcy5pbmNsdWRlcyh0cmFuc2FjdGlvbi5pZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbi5pZCAhPT0gbW9kZWwuaWQgJiYgdHJhbnNhY3Rpb24ucGFyZW50VHJhbnNhY3Rpb24/LmlkICE9PSBtb2RlbC5pZDtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChcbiAgICAgICAgICAgIG5ldyBBcHBFdmVudDxUcmFuc2FjdGlvbj4oQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTl9ERUxFVEVELCBtb2RlbClcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25EZWxldGVkLmVtaXQobW9kZWwpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjYWxjdWxhdGUgZ3Jvc3MgaW5jb21lIGFtb3VudCBiYXNlZCBvbiB0cmFuc2FjdGlvbiBhbW91bnQgYW5kIHRheGVzIChmZWVzKVxuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb24gVHJhbnNhY3Rpb24gaW5zdGFuY2UgZm9yIGNhbGN1bGF0aW9uXG4gICAqL1xuICBjYWxjdWxhdGVHcm9zc0Ftb3VudCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBudW1iZXIge1xuICAgIGxldCBhbW91bnQ6IG51bWJlciA9IHRyYW5zYWN0aW9uLmFtb3VudCB8fCAwO1xuXG4gICAgLy8gZ3Jvc3MgaW5jb21lIGFtb3VudCBpbmNsdWRlcyBhbW91bnQgb2YgZmVlcyBmb3IgcHJvcGVydHkgdGFuayBhbmQgdGF4IGZvciB3b3JrIHRhbmtcbiAgICBpZiAodHJhbnNhY3Rpb24uaXNQcm9wZXJ0eVRhbmsoKSkge1xuICAgICAgYW1vdW50ICs9IHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5yZWR1Y2UoKHN1bTogbnVtYmVyLCBpdGVtOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgaXRlbS5hbW91bnQsIDApO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBAVE9ETyBBbGV4OiBmaXggbG9naWMgYWZ0ZXIgVFQtNjQxIHJlYWR5XG4gICAgICBhbW91bnQgKz0gKHRyYW5zYWN0aW9uLnRheCB8fCAwKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBsYWJlbCBmb3IgdHJhbnNhY3Rpb24gdGF4IGZpZWxkIGRlcGVuZGVkIG9mIHNlbGVjdGVkIGNoYXJ0IGFjY291bnQuXG4gICAqIHRheCB0eXBlIGRlcGVuZHMgb2YgY2hhcnQgYWNjb3VudCBoZWFkaW5nIG9yIGNhdGVnb3J5LlxuICAgKi9cbiAgZ2V0VGF4TGFiZWwoY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50cyk6IENoYXJ0QWNjb3VudHNUYXhMYWJlbHNFbnVtIHtcbiAgICAvLyBnZXQgc2ltcGxlIGFycmF5IG9mIGlkcyBmcm9tIGVudW0gd2l0aCB0YXhhYmxlIGNoYXJ0IGFjY291bnRzIGhlYWRpbmdzXG4gICAgY29uc3QgdGF4YWJsZUNBSGVhZGluZ3NJZHM6IG51bWJlcltdID0gZW51bVRvTGlzdChDaGFydEFjY291bnRzSGVhZGluZ1RheGFibGVFbnVtKVxuICAgICAgLm1hcCgoaXRlbTogeyBsYWJlbDogc3RyaW5nLCB2YWx1ZTogbnVtYmVyIH0pID0+IGl0ZW0udmFsdWUpO1xuICAgIC8vIGdldCBzaW1wbGUgYXJyYXkgb2YgaWRzIGZyb20gZW51bSB3aXRoIHRheCBkZWR1Y3RpYmxlIGNoYXJ0IGFjY291bnRzIGhlYWRpbmdzXG4gICAgY29uc3QgZGVkdWN0aWJsZUNBSGVhZGluZ3NJZHM6IG51bWJlcltdID0gZW51bVRvTGlzdChDaGFydEFjY291bnRzSGVhZGluZ1RheERlZHVjdGlibGVFbnVtKVxuICAgICAgLm1hcCgoaXRlbTogeyBsYWJlbDogc3RyaW5nLCB2YWx1ZTogbnVtYmVyIH0pID0+IGl0ZW0udmFsdWUpO1xuXG4gICAgLy8gY2hlY2sgaWYgb25lIG9mIGlkcyBhcnJheXMgaW5jbHVkZXMgY3VycmVudCBjaGFydCBhY2NvdW50cyBoZWFkaW5nIGlkIGFuZCBzZXQgdGF4IGxhYmVsXG4gICAgLy8gb3RoZXJ3aXNlIGxhYmVsIGlzIGVtcHR5IGZvciB0aGlzIGNsYXNzXG4gICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICBjYXNlIHRheGFibGVDQUhlYWRpbmdzSWRzLmluY2x1ZGVzKGNoYXJ0QWNjb3VudHMuaGVhZGluZz8uaWQpOlxuICAgICAgICByZXR1cm4gQ2hhcnRBY2NvdW50c1RheExhYmVsc0VudW0uVEFYX1BBSUQ7XG4gICAgICBjYXNlIGRlZHVjdGlibGVDQUhlYWRpbmdzSWRzLmluY2x1ZGVzKGNoYXJ0QWNjb3VudHMuaGVhZGluZz8uaWQpOlxuICAgICAgICByZXR1cm4gQ2hhcnRBY2NvdW50c1RheExhYmVsc0VudW0uVEFYX0RFRFVDVEVEO1xuICAgICAgY2FzZSBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLndvcmtJbmNvbWUuaW5jbHVkZXMoY2hhcnRBY2NvdW50cy5jYXRlZ29yeSk6XG4gICAgICAgIHJldHVybiBDaGFydEFjY291bnRzVGF4TGFiZWxzRW51bS5UQVhfV0lUSEhFTEQ7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnQgcmVsYXRlZCB0byBEZXByZWNpYXRpb24gY2hhbmdpbmdcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuRGVwcmVjaWF0aW9uQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLkRFUFJFQ0lBVElPTl9ERUxFVEVEKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5mZXRjaCgpXG4gICAgICAgIC5zdWJzY3JpYmUoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSkgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0cmFuc2FjdGlvbnM7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gRXZlbnREaXNwYXRjaGVyU2VydmljZSBldmVudCByZWxhdGVkIHRvIFByb3BlcnR5IFNoYXJlIGNoYW5naW5nXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblByb3BlcnR5U2hhcmVVcGRhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfU0hBUkVfVVBEQVRFRCkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVzZXRDYWNoZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuUmVjZWlwdEFkZGVkKCkge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlRSQU5TQUNUSU9OX1JFQ0VJUFRfQ1JFQVRFRCkuc3Vic2NyaWJlKCh0cmFuc2FjdGlvblJlY2VpcHQ6IFRyYW5zYWN0aW9uUmVjZWlwdCkgPT4ge1xuICAgICAgY29uc3QgdHJhbnNhY3Rpb25Ub1VwZGF0ZTogVHJhbnNhY3Rpb24gPSB0aGlzLmZpbmQodHJhbnNhY3Rpb25SZWNlaXB0LnRyYW5zYWN0aW9uLmlkKTtcblxuICAgICAgLy8gd2UgZG9uJ3QgbmVlZCB0byBrZWVwIGZpbGUgYWZ0ZXIgc2F2ZVxuICAgICAgdHJhbnNhY3Rpb25Ub1VwZGF0ZS5maWxlID0gbnVsbDtcbiAgICAgIHRyYW5zYWN0aW9uVG9VcGRhdGUucmVjZWlwdCA9IHRyYW5zYWN0aW9uUmVjZWlwdDtcbiAgICAgIHRoaXMucmVwbGFjZUluQ2FjaGUodHJhbnNhY3Rpb25Ub1VwZGF0ZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblJlY2VpcHREZWxldGVkKCkge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlRSQU5TQUNUSU9OX1JFQ0VJUFRfREVMRVRFRCkuc3Vic2NyaWJlKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHtcbiAgICAgIGNvbnN0IHRyYW5zYWN0aW9uVG9VcGRhdGU6IFRyYW5zYWN0aW9uID0gdGhpcy5maW5kKHRyYW5zYWN0aW9uLmlkKTtcblxuICAgICAgdHJhbnNhY3Rpb25Ub1VwZGF0ZS5yZWNlaXB0ID0gbnVsbDtcbiAgICAgIHRoaXMucmVwbGFjZUluQ2FjaGUodHJhbnNhY3Rpb25Ub1VwZGF0ZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblZlaGljbGVDbGFpbUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKFtcbiAgICAgIEFwcEV2ZW50VHlwZUVudW0uVkVISUNMRV9DTEFJTV9DUkVBVEVELFxuICAgICAgQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX1VQREFURUQsXG4gICAgICBBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fREVUQUlMU19DUkVBVEVELFxuICAgICAgQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX0RFVEFJTFNfVVBEQVRFRFxuICAgIF0pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSByZXBsYWNlSW5DYWNoZSh0cmFuc2FjdGlvblRvUmVwbGFjZTogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICByZXBsYWNlKHRoaXMuY2FjaGUsIHRyYW5zYWN0aW9uVG9SZXBsYWNlKTtcbiAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gIH1cbn1cbiJdfQ==
348
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN4RyxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNySCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN4RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHM0QsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdE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QixNQUFNOzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVVJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiBhcyBUcmFuc2FjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcmVwbGFjZSwgc29ydCB9IGZyb20gJy4uLy4uLy4uL2Z1bmN0aW9ucy9hcnJheSc7XG5pbXBvcnQgeyBlbnVtVG9MaXN0IH0gZnJvbSAnLi4vLi4vLi4vZnVuY3Rpb25zL2VudW0tdG8tbGlzdCc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzSGVhZGluZ1RheGFibGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtaGVhZGluZy10YXhhYmxlLmVudW0nO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0hlYWRpbmdUYXhEZWR1Y3RpYmxlRW51bSB9IGZyb20gJy4uLy4uLy4uL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWhlYWRpbmctdGF4LWRlZHVjdGlibGUuZW51bSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0gfSBmcm9tICcuLi8uLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi1vcGVyYXRpb24uZW51bSc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QvcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtY2F0ZWdvcmllcy5jb25zdCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgQXBwRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50JztcbmltcG9ydCB7IFRyYW5zYWN0aW9uUmVjZWlwdCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1yZWNlaXB0JztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNUYXhMYWJlbHNFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLXRheC1sYWJlbHMuZW51bSc7XG5pbXBvcnQgeyBQcm9wZXJ0eUNhdGVnb3J5TGlzdEVudW0gfSBmcm9tICcuLi8uLi8uLi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1saXN0LmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25SZWNlaXB0U2VydmljZSB9IGZyb20gJy4vdHJhbnNhY3Rpb24tcmVjZWlwdC90cmFuc2FjdGlvbi1yZWNlaXB0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdG9hc3QvdG9hc3Quc2VydmljZSc7XG5cbi8qKlxuICogU2VydmljZSBmb3IgdHJhbnNhY3Rpb25zIGJ1c2luZXNzIGxvZ2ljXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFRyYW5zYWN0aW9uQmFzZSwgVHJhbnNhY3Rpb24+IHtcbiAgLy8gdXJsIHBhcnQgZm9yIFRyYW5zYWN0aW9uIEFQSVxuICB1cmw6IHN0cmluZyA9ICd0cmFuc2FjdGlvbnMnO1xuICBtb2RlbENsYXNzID0gVHJhbnNhY3Rpb247XG4gIHRyYW5zYWN0aW9uRGVsZXRlZDogRXZlbnRFbWl0dGVyPFRyYW5zYWN0aW9uPiA9IG5ldyBFdmVudEVtaXR0ZXI8VHJhbnNhY3Rpb24+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueSxcbiAgICBwcm90ZWN0ZWQgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2FjdGlvblJlY2VpcHRTZXJ2aWNlOiBUcmFuc2FjdGlvblJlY2VpcHRTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGh0dHAsIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsIGVudmlyb25tZW50LCB0b2FzdFNlcnZpY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiBldmVudHMgZnJvbSBFdmVudCBEaXNwYXRjaGVyIHNlcnZpY2VzXG4gICAqL1xuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5EZXByZWNpYXRpb25DaGFuZ2UoKTtcbiAgICB0aGlzLmxpc3RlblByb3BlcnR5U2hhcmVVcGRhdGUoKTtcbiAgICB0aGlzLmxpc3RlblJlY2VpcHRBZGRlZCgpO1xuICAgIHRoaXMubGlzdGVuUmVjZWlwdERlbGV0ZWQoKTtcbiAgICB0aGlzLmxpc3RlblZlaGljbGVDbGFpbUNoYW5nZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiBhbGwgdXNlcidzIFRheFRhbmsgdHJhbnNhY3Rpb25zXG4gICAqL1xuICBnZXQoKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgaWYgKCF0aGlzLmNhY2hlKSB7XG4gICAgICAvLyBzZXQgY2FjaGUgYXMgZGVmYXVsdCBlbXB0eSBhcnJheSB0byBhdm9pZCBtdWx0aXBsZSBiYWNrZW5kIHJlcXVlc3RzXG4gICAgICB0aGlzLmNhY2hlID0gW107XG4gICAgICB0aGlzLmZldGNoKClcbiAgICAgICAgLnN1YnNjcmliZSgodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKSA9PiB7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHRyYW5zYWN0aW9ucztcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNhY2hlU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKFxuICAgICAgLy8gYXNzaWduIGNoaWxkIHRyYW5zYWN0aW9ucyAoZmVlcykgdG8gcGFyZW50IHRyYW5zYWN0aW9uc1xuICAgICAgbWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbltdID0+IHtcbiAgICAgICAgdHJhbnNhY3Rpb25zLmZvckVhY2goKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IHZvaWQgPT4ge1xuICAgICAgICAgIHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucyA9IHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgLy8gZ2V0IGxpc3Qgb2YgY2hpbGQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICAuZmlsdGVyKCh0OiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdC5wYXJlbnRUcmFuc2FjdGlvbiAmJiB0LnBhcmVudFRyYW5zYWN0aW9uLmlkID09PSB0cmFuc2FjdGlvbi5pZCk7XG4gICAgICAgIH0pO1xuICAgICAgICBzb3J0KHRyYW5zYWN0aW9ucywgJ2RhdGUnLCBmYWxzZSk7XG4gICAgICAgIHJldHVybiB0cmFuc2FjdGlvbnM7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIHNpbmdsZSBuZXcgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIG1vZGVsIE5ldyBUcmFuc2FjdGlvbiBpbnN0YW5jZSBmb3Igc2F2aW5nXG4gICAqL1xuICBhZGQobW9kZWw6IFRyYW5zYWN0aW9uKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbj4ge1xuICAgIC8vIHdlIGRvbid0IGhhdmUgUE9TVCBBUEkgZW5kcG9pbnQgZm9yIHNpbmdsZSB0cmFuc2FjdGlvblxuICAgIHJldHVybiB0aGlzLmFkZEJhdGNoKFttb2RlbF0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChuZXdUcmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbiA9PiB7XG4gICAgICAgICAgLy8gQFRPRE8gYWxleFxuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChcbiAgICAgICAgICAgIG5ldyBBcHBFdmVudDxUcmFuc2FjdGlvbj4oQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTl9DUkVBVEVELCBuZXdUcmFuc2FjdGlvbnNbMF0pXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHJldHVybiBuZXdUcmFuc2FjdGlvbnNbMF07XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCB0cmFuc2FjdGlvbnMgcmVsYXRlZCB3aXRoIHByb3BlcnR5XG4gICAqL1xuICBnZXRCeVByb3BlcnR5SWQocHJvcGVydHlJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IFRyYW5zYWN0aW9uW10gPT4ge1xuICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbnMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbi5wcm9wZXJ0eT8uaWQgPT09IHByb3BlcnR5SWQ7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBsaXN0IG9mIHRyYW5zYWN0aW9ucyB3aXRoIHRhbmsgdHlwZSAnV29yaydcbiAgICovXG4gIGdldFdvcmtUcmFuc2FjdGlvbnMoKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IFRyYW5zYWN0aW9uW10gPT4ge1xuICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbnMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzV29ya1RhbmsoKSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBsaXN0IG9mIHByb3BlcnR5IGhvbGRpbmcgY29zdHMgKHRyYW5zYWN0aW9ucyByZWxhdGVkIHRvIHZhY2FudCBsYW5kIHByb3BlcnR5KVxuICAgKi9cbiAgZ2V0UHJvcGVydHlIb2xkaW5nQ29zdHMocHJvcGVydHlJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXG4gICAgICBgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfT9wcm9wZXJ0eUlkPSR7cHJvcGVydHlJZH0mcHJvcGVydHlDYXRlZ29yeUlkPSR7UHJvcGVydHlDYXRlZ29yeUxpc3RFbnVtLlZBQ0FOVF9MQU5EfWBcbiAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh0cmFuc2FjdGlvbnNCYXNlOiBUcmFuc2FjdGlvbkJhc2VbXSk6IFRyYW5zYWN0aW9uW10gPT4ge1xuICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbnNCYXNlLm1hcCgodHJhbnNhY3Rpb25CYXNlOiBUcmFuc2FjdGlvbkJhc2UpOiBUcmFuc2FjdGlvbiA9PiBwbGFpblRvQ2xhc3MoVHJhbnNhY3Rpb24sIHRyYW5zYWN0aW9uQmFzZSkpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiB0YXhhYmxlIHRyYW5zYWN0aW9ucyB3aXRoIHRhbmsgdHlwZSAnV29yaydcbiAgICovXG4gIGdldFRheGFibGVXb3JrVHJhbnNhY3Rpb25zKCk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmdldFdvcmtUcmFuc2FjdGlvbnMoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKTogVHJhbnNhY3Rpb25bXSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRyYW5zYWN0aW9ucy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gISF0cmFuc2FjdGlvbi5jaGFydEFjY291bnRzLnRheFJldHVybkl0ZW0pO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBhZGQgbXVsdGlwbGUgdHJhbnNhY3Rpb25zXG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbnMgTGlzdCBvZiBuZXcgVHJhbnNhY3Rpb24gaW5zdGFuY2VzIGZvciBzYXZpbmdcbiAgICovXG4gIGFkZEJhdGNoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHRyYW5zYWN0aW9ucyA9IF8uY2xvbmVEZWVwKHRyYW5zYWN0aW9ucyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9YCwgdHJhbnNhY3Rpb25zKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IFRyYW5zYWN0aW9uQmFzZVtdKSA9PiB7XG4gICAgICAgICAgY29uc3QgYWRkZWRUcmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10gPSByZXNwb25zZS5tYXAoKGl0ZW06IFRyYW5zYWN0aW9uQmFzZSkgPT4gcGxhaW5Ub0NsYXNzKFRyYW5zYWN0aW9uLCBpdGVtKSk7XG5cbiAgICAgICAgICB0cmFuc2FjdGlvbnMuZm9yRWFjaCgodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICAvLyBAVE9ETyBiYWNrZW5kOiBuZWVkIHRvIHVwbG9hZCBmaWxlIGluIHRoZSBzYW1lIGJhY2tlbmQgZW5kcG9pbnQgd2l0aCB0cmFuc2FjdGlvbiBhZGQvdXBkYXRlXG4gICAgICAgICAgICAvLyBjaGVjayBpZiBwYXNzZWQgcmVjZWlwdCBhbmQgdXBsb2FkIGZpbGVcbiAgICAgICAgICAgIGlmICh0cmFuc2FjdGlvbi5maWxlKSB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uLmlkID0gcmVzcG9uc2VbaW5kZXhdLmlkO1xuICAgICAgICAgICAgICBhZGRlZFRyYW5zYWN0aW9uc1tpbmRleF0uZmlsZSA9IHRyYW5zYWN0aW9uLmZpbGU7XG4gICAgICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTl9VUERBVEVEX1dJVEhfUkVDRUlQVCwgYWRkZWRUcmFuc2FjdGlvbnNbaW5kZXhdKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEBUT0RPIFZpa3RvcjogaW1wbGVtZW50IEFQSSBmb3Igc2F2aW5nIG9mIG5lc3RlZCB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIC8vIGFkZCBjaGlsZCB0cmFuc2FjdGlvbnMgaWYgZXhpc3RcbiAgICAgICAgICAgIGlmICh0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5mb3JFYWNoKChjaGlsZFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIGNoaWxkVHJhbnNhY3Rpb24ucGFyZW50VHJhbnNhY3Rpb24gPSBwbGFpblRvQ2xhc3MoVHJhbnNhY3Rpb24sIHtpZDogYWRkZWRUcmFuc2FjdGlvbnNbaW5kZXhdLmlkfSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB0aGlzLmFkZEJhdGNoKHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucykuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGFkZCB0cmFuc2ZlciB0cmFuc2FjdGlvbiB0byBjYWNoZVxuICAgICAgICAgICAgaWYgKHRyYW5zYWN0aW9uLm9wZXJhdGlvbiA9PT0gVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtLlRSQU5TRkVSKSB7XG4gICAgICAgICAgICAgIGFkZGVkVHJhbnNhY3Rpb25zLnB1c2goYWRkZWRUcmFuc2FjdGlvbnNbMF0udHJhbnNmZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKHRoaXMuY2FjaGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2FjaGUucHVzaCguLi5hZGRlZFRyYW5zYWN0aW9ucyk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKFxuICAgICAgICAgICAgbmV3IEFwcEV2ZW50PFRyYW5zYWN0aW9uW10+KEFwcEV2ZW50VHlwZUVudW0uVFJBTlNBQ1RJT05TX0NSRUFURUQsIGFkZGVkVHJhbnNhY3Rpb25zKVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICByZXR1cm4gYWRkZWRUcmFuc2FjdGlvbnM7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIHVwZGF0ZSBleGlzdGluZyB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb24gVHJhbnNhY3Rpb24gaW5zdGFuY2UgZm9yIHVwZGF0aW5nXG4gICAqL1xuICB1cGRhdGUodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9LyR7dHJhbnNhY3Rpb24uaWR9YCwgdHJhbnNhY3Rpb24pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogVHJhbnNhY3Rpb25CYXNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgdXBkYXRlZFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbiA9IHBsYWluVG9DbGFzcyhUcmFuc2FjdGlvbiwgcmVzcG9uc2UpO1xuXG4gICAgICAgICAgLy8gQFRPRE8gbmVlZCB0byB1cGxvYWQgZmlsZSBpbiB0aGUgc2FtZSBiYWNrZW5kIGVuZHBvaW50IHdpdGggdHJhbnNhY3Rpb24gYWRkL3VwZGF0ZVxuICAgICAgICAgIC8vIGNoZWNrIGlmIHBhc3NlZCBuZXcgcmVjZWlwdCBhbmQgdXBsb2FkIGZpbGVcbiAgICAgICAgICBpZiAodHJhbnNhY3Rpb24uZmlsZSkge1xuICAgICAgICAgICAgdXBkYXRlZFRyYW5zYWN0aW9uLmZpbGUgPSB0cmFuc2FjdGlvbi5maWxlO1xuICAgICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlRSQU5TQUNUSU9OX1VQREFURURfV0lUSF9SRUNFSVBULCB1cGRhdGVkVHJhbnNhY3Rpb24pKTtcbiAgICAgICAgICAgIC8vIHJlY2VpcHQgZmlsZSB3YXMgcmVtb3ZlZCBmcm9tIGZvcm0gLSB3ZSBzaG91bGQgZGVsZXRlIHJlY2VpcHQgZnJvbSB0cmFuc2FjdGlvblxuICAgICAgICAgIH0gZWxzZSBpZiAoIXRyYW5zYWN0aW9uLmZpbGUgJiYgdHJhbnNhY3Rpb24ucmVjZWlwdCkge1xuICAgICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlRSQU5TQUNUSU9OX1VQREFURURfV0lUSF9ERUxFVEVEX1JFQ0VJUFQsIHVwZGF0ZWRUcmFuc2FjdGlvbikpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIEBUT0RPIFZpa3RvcjogaW1wbGVtZW50IEFQSSBmb3Igc2F2aW5nIG9mIG5lc3RlZCB0cmFuc2FjdGlvbnNcbiAgICAgICAgICBpZiAodHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgLy8gYWRkIHBhcmVudCB0cmFuc2FjdGlvbiB0byBjaGlsZCB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5mb3JFYWNoKChjaGlsZFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4ge1xuICAgICAgICAgICAgICBjaGlsZFRyYW5zYWN0aW9uLnBhcmVudFRyYW5zYWN0aW9uID0gcGxhaW5Ub0NsYXNzKFRyYW5zYWN0aW9uLCB7aWQ6IHVwZGF0ZWRUcmFuc2FjdGlvbi5pZH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyBzZXBhcmF0ZSBjaGlsZCB0cmFuc2FjdGlvbnMgYnkgaWQgZXhpc3RpbmcgdG8gZGVmaW5lIGFkZCBvciB1cGRhdGUgYWN0aW9uLlxuICAgICAgICAgICAgY29uc3QgY2hpbGRUcmFuc2FjdGlvbnNUb1VwZGF0ZTogVHJhbnNhY3Rpb25bXSA9IHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5maWx0ZXIoKHQ6IFRyYW5zYWN0aW9uKSA9PiB0LmlkKTtcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkVHJhbnNhY3Rpb25zVG9BZGQ6IFRyYW5zYWN0aW9uW10gPSB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMuZmlsdGVyKCh0OiBUcmFuc2FjdGlvbikgPT4gIXQuaWQpO1xuXG4gICAgICAgICAgICAvLyB1cGRhdGUgY2hpbGQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICBpZiAoY2hpbGRUcmFuc2FjdGlvbnNUb1VwZGF0ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgdGhpcy51cGRhdGVCYXRjaChjaGlsZFRyYW5zYWN0aW9uc1RvVXBkYXRlKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gYWRkIGNoaWxkIHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgaWYgKGNoaWxkVHJhbnNhY3Rpb25zVG9BZGQubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHRoaXMuYWRkQmF0Y2goY2hpbGRUcmFuc2FjdGlvbnNUb0FkZCkuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5yZXBsYWNlSW5DYWNoZSh1cGRhdGVkVHJhbnNhY3Rpb24pO1xuXG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRUcmFuc2FjdGlvbjtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogdXBkYXRlIG11bHRpcGxlIHRyYW5zYWN0aW9uc1xuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb25zIGxpc3Qgb2YgdHJhbnNhY3Rpb25zIGZvciB1cGRhdGluZ1xuICAgKi9cbiAgdXBkYXRlQmF0Y2godHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH1gLCB0cmFuc2FjdGlvbnMpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogVHJhbnNhY3Rpb25CYXNlW10pID0+IHtcbiAgICAgICAgICBjb25zdCB1cGRhdGVkVHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdID0gcmVzcG9uc2UubWFwKChpdGVtOiBUcmFuc2FjdGlvbkJhc2UpID0+IHBsYWluVG9DbGFzcyhUcmFuc2FjdGlvbiwgaXRlbSkpO1xuXG4gICAgICAgICAgdXBkYXRlZFRyYW5zYWN0aW9ucy5mb3JFYWNoKCh1cGRhdGVkVHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiB7XG4gICAgICAgICAgICByZXBsYWNlKHRoaXMuY2FjaGUsIHVwZGF0ZWRUcmFuc2FjdGlvbik7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRUcmFuc2FjdGlvbnM7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGRlbGV0ZSB0cmFuc2FjdGlvbiBhbmQgcmVsYXRlZCB0cmFuc2FjdGlvbnNcbiAgICogQHBhcmFtIG1vZGVsXG4gICAqL1xuICBkZWxldGUobW9kZWw6IFRyYW5zYWN0aW9uKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHttb2RlbC5pZH1gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKTogdm9pZCA9PiB7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHRoaXMuY2FjaGUuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHtcbiAgICAgICAgICAgIC8vIHdoZW4gZGVsZXRlIHRyYW5zZmVyIHdlIGRlbGV0ZSBhY3R1YWxseSAyIHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgaWYgKG1vZGVsLmlzVHJhbnNmZXIpIHtcbiAgICAgICAgICAgICAgY29uc3QgaWRzOiBudW1iZXJbXSA9IFttb2RlbC5pZF07XG5cbiAgICAgICAgICAgICAgLy8gZ2V0IGlkIG9mIHJlbGF0ZWQgdHJhbnNmZXIgdHJhbnNhY3Rpb25cbiAgICAgICAgICAgICAgaWYgKG1vZGVsLnRyYW5zZmVyKSB7XG4gICAgICAgICAgICAgICAgLy8ganVzdCB0YWtlIGlkIGlmIHdlIGRlbGV0ZSBzb3VyY2UgdHJhbnNhY3Rpb25cbiAgICAgICAgICAgICAgICBpZHMucHVzaChtb2RlbC50cmFuc2Zlci5pZCk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gZmluZCBzb3VyY2UgdHJhbnNhY3Rpb24gaWQgaWYgd2UgZGVsZXRlIGRlc3RpbmF0aW9uIHRyYW5zYWN0aW9uXG4gICAgICAgICAgICAgICAgaWRzLnB1c2godGhpcy5jYWNoZS5maW5kKCh0OiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdC50cmFuc2Zlci5pZCA9PT0gbW9kZWwuaWQpLmlkKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiAhaWRzLmluY2x1ZGVzKHRyYW5zYWN0aW9uLmlkKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHRyYW5zYWN0aW9uLmlkICE9PSBtb2RlbC5pZCAmJiB0cmFuc2FjdGlvbi5wYXJlbnRUcmFuc2FjdGlvbj8uaWQgIT09IG1vZGVsLmlkO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKFxuICAgICAgICAgICAgbmV3IEFwcEV2ZW50PFRyYW5zYWN0aW9uPihBcHBFdmVudFR5cGVFbnVtLlRSQU5TQUNUSU9OX0RFTEVURUQsIG1vZGVsKVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkRlbGV0ZWQuZW1pdChtb2RlbCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGNhbGN1bGF0ZSBncm9zcyBpbmNvbWUgYW1vdW50IGJhc2VkIG9uIHRyYW5zYWN0aW9uIGFtb3VudCBhbmQgdGF4ZXMgKGZlZXMpXG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbiBUcmFuc2FjdGlvbiBpbnN0YW5jZSBmb3IgY2FsY3VsYXRpb25cbiAgICovXG4gIGNhbGN1bGF0ZUdyb3NzQW1vdW50KHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IG51bWJlciB7XG4gICAgbGV0IGFtb3VudDogbnVtYmVyID0gdHJhbnNhY3Rpb24uYW1vdW50IHx8IDA7XG5cbiAgICAvLyBncm9zcyBpbmNvbWUgYW1vdW50IGluY2x1ZGVzIGFtb3VudCBvZiBmZWVzIGZvciBwcm9wZXJ0eSB0YW5rIGFuZCB0YXggZm9yIHdvcmsgdGFua1xuICAgIGlmICh0cmFuc2FjdGlvbi5pc1Byb3BlcnR5VGFuaygpKSB7XG4gICAgICBhbW91bnQgKz0gdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zLnJlZHVjZSgoc3VtOiBudW1iZXIsIGl0ZW06IFRyYW5zYWN0aW9uKSA9PiBzdW0gKyBpdGVtLmFtb3VudCwgMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEBUT0RPIEFsZXg6IGZpeCBsb2dpYyBhZnRlciBUVC02NDEgcmVhZHlcbiAgICAgIGFtb3VudCArPSAodHJhbnNhY3Rpb24udGF4IHx8IDApO1xuICAgIH1cblxuICAgIHJldHVybiBhbW91bnQ7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxhYmVsIGZvciB0cmFuc2FjdGlvbiB0YXggZmllbGQgZGVwZW5kZWQgb2Ygc2VsZWN0ZWQgY2hhcnQgYWNjb3VudC5cbiAgICogdGF4IHR5cGUgZGVwZW5kcyBvZiBjaGFydCBhY2NvdW50IGhlYWRpbmcgb3IgY2F0ZWdvcnkuXG4gICAqL1xuICBnZXRUYXhMYWJlbChjaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzKTogQ2hhcnRBY2NvdW50c1RheExhYmVsc0VudW0ge1xuICAgIC8vIGdldCBzaW1wbGUgYXJyYXkgb2YgaWRzIGZyb20gZW51bSB3aXRoIHRheGFibGUgY2hhcnQgYWNjb3VudHMgaGVhZGluZ3NcbiAgICBjb25zdCB0YXhhYmxlQ0FIZWFkaW5nc0lkczogbnVtYmVyW10gPSBlbnVtVG9MaXN0KENoYXJ0QWNjb3VudHNIZWFkaW5nVGF4YWJsZUVudW0pXG4gICAgICAubWFwKChpdGVtOiB7IGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBudW1iZXIgfSkgPT4gaXRlbS52YWx1ZSk7XG4gICAgLy8gZ2V0IHNpbXBsZSBhcnJheSBvZiBpZHMgZnJvbSBlbnVtIHdpdGggdGF4IGRlZHVjdGlibGUgY2hhcnQgYWNjb3VudHMgaGVhZGluZ3NcbiAgICBjb25zdCBkZWR1Y3RpYmxlQ0FIZWFkaW5nc0lkczogbnVtYmVyW10gPSBlbnVtVG9MaXN0KENoYXJ0QWNjb3VudHNIZWFkaW5nVGF4RGVkdWN0aWJsZUVudW0pXG4gICAgICAubWFwKChpdGVtOiB7IGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBudW1iZXIgfSkgPT4gaXRlbS52YWx1ZSk7XG5cbiAgICAvLyBjaGVjayBpZiBvbmUgb2YgaWRzIGFycmF5cyBpbmNsdWRlcyBjdXJyZW50IGNoYXJ0IGFjY291bnRzIGhlYWRpbmcgaWQgYW5kIHNldCB0YXggbGFiZWxcbiAgICAvLyBvdGhlcndpc2UgbGFiZWwgaXMgZW1wdHkgZm9yIHRoaXMgY2xhc3NcbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIGNhc2UgdGF4YWJsZUNBSGVhZGluZ3NJZHMuaW5jbHVkZXMoY2hhcnRBY2NvdW50cy5oZWFkaW5nPy5pZCk6XG4gICAgICAgIHJldHVybiBDaGFydEFjY291bnRzVGF4TGFiZWxzRW51bS5UQVhfUEFJRDtcbiAgICAgIGNhc2UgZGVkdWN0aWJsZUNBSGVhZGluZ3NJZHMuaW5jbHVkZXMoY2hhcnRBY2NvdW50cy5oZWFkaW5nPy5pZCk6XG4gICAgICAgIHJldHVybiBDaGFydEFjY291bnRzVGF4TGFiZWxzRW51bS5UQVhfREVEVUNURUQ7XG4gICAgICBjYXNlIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMud29ya0luY29tZS5pbmNsdWRlcyhjaGFydEFjY291bnRzLmNhdGVnb3J5KTpcbiAgICAgICAgcmV0dXJuIENoYXJ0QWNjb3VudHNUYXhMYWJlbHNFbnVtLlRBWF9XSVRISEVMRDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gRXZlbnREaXNwYXRjaGVyU2VydmljZSBldmVudCByZWxhdGVkIHRvIERlcHJlY2lhdGlvbiBjaGFuZ2luZ1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5EZXByZWNpYXRpb25DaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uREVQUkVDSUFUSU9OX0RFTEVURUQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmZldGNoKClcbiAgICAgICAgLnN1YnNjcmliZSgodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKSA9PiB7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHRyYW5zYWN0aW9ucztcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50IHJlbGF0ZWQgdG8gUHJvcGVydHkgU2hhcmUgY2hhbmdpbmdcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuUHJvcGVydHlTaGFyZVVwZGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9TSEFSRV9VUERBVEVEKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZXNldENhY2hlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5SZWNlaXB0QWRkZWQoKSB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uVFJBTlNBQ1RJT05fUkVDRUlQVF9DUkVBVEVEKS5zdWJzY3JpYmUoKHRyYW5zYWN0aW9uUmVjZWlwdDogVHJhbnNhY3Rpb25SZWNlaXB0KSA9PiB7XG4gICAgICBjb25zdCB0cmFuc2FjdGlvblRvVXBkYXRlOiBUcmFuc2FjdGlvbiA9IHRoaXMuZmluZCh0cmFuc2FjdGlvblJlY2VpcHQudHJhbnNhY3Rpb24uaWQpO1xuXG4gICAgICAvLyB3ZSBkb24ndCBuZWVkIHRvIGtlZXAgZmlsZSBhZnRlciBzYXZlXG4gICAgICB0cmFuc2FjdGlvblRvVXBkYXRlLmZpbGUgPSBudWxsO1xuICAgICAgdHJhbnNhY3Rpb25Ub1VwZGF0ZS5yZWNlaXB0ID0gdHJhbnNhY3Rpb25SZWNlaXB0O1xuICAgICAgdGhpcy5yZXBsYWNlSW5DYWNoZSh0cmFuc2FjdGlvblRvVXBkYXRlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuUmVjZWlwdERlbGV0ZWQoKSB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uVFJBTlNBQ1RJT05fUkVDRUlQVF9ERUxFVEVEKS5zdWJzY3JpYmUoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4ge1xuICAgICAgY29uc3QgdHJhbnNhY3Rpb25Ub1VwZGF0ZTogVHJhbnNhY3Rpb24gPSB0aGlzLmZpbmQodHJhbnNhY3Rpb24uaWQpO1xuXG4gICAgICB0cmFuc2FjdGlvblRvVXBkYXRlLnJlY2VpcHQgPSBudWxsO1xuICAgICAgdGhpcy5yZXBsYWNlSW5DYWNoZSh0cmFuc2FjdGlvblRvVXBkYXRlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVmVoaWNsZUNsYWltQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oW1xuICAgICAgQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX0NSRUFURUQsXG4gICAgICBBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fVVBEQVRFRCxcbiAgICAgIEFwcEV2ZW50VHlwZUVudW0uVkVISUNMRV9DTEFJTV9ERVRBSUxTX1VQREFURURcbiAgICBdKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5yZXNldENhY2hlKCk7XG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgcmVwbGFjZUluQ2FjaGUodHJhbnNhY3Rpb25Ub1JlcGxhY2U6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgcmVwbGFjZSh0aGlzLmNhY2hlLCB0cmFuc2FjdGlvblRvUmVwbGFjZSk7XG4gICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICB9XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { Inject, Injectable } from '@angular/core';
2
2
  import { VehicleClaimDetails } from '../../../models';
3
3
  import { ReplaySubject } from 'rxjs';
4
- import { map, take } from 'rxjs/operators';
4
+ import { map } from 'rxjs/operators';
5
5
  import { plainToClass } from 'class-transformer';
6
6
  import { AppEvent } from '../../../models/event/app-event';
7
7
  import { AppEventTypeEnum } from '../../../models/event/app-event-type.enum';
@@ -70,11 +70,12 @@ export class VehicleClaimDetailsService {
70
70
  * @TODO Vik: Best period move this and related logic to backend
71
71
  */
72
72
  updateToManual() {
73
- // We are sure this.cache exist here because logbook best period calculation is based on vehicle claim details,
74
- // so before we can get logbook best period changes, we must get vehicle claim details
73
+ // no need to update if cache not exist
74
+ if (!this.cache) {
75
+ return;
76
+ }
75
77
  const vehicleClaimDetails = plainToClass(VehicleClaimDetails, Object.assign({}, this.cache, { isManual: true }));
76
- // take(1) is using to avoid unnecessary callback calling whe user updated details directly
77
- this.update(vehicleClaimDetails).pipe(take(1)).subscribe();
78
+ this.update(vehicleClaimDetails).subscribe();
78
79
  }
79
80
  }
80
81
  VehicleClaimDetailsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: VehicleClaimDetailsService, deps: [{ token: 'environment' }, { token: i1.HttpClient }, { token: i2.EventDispatcherService }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -88,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
88
89
  type: Inject,
89
90
  args: ['environment']
90
91
  }] }, { type: i1.HttpClient }, { type: i2.EventDispatcherService }]; } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1jbGFpbS1kZXRhaWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC92ZWhpY2xlL3ZlaGljbGUtY2xhaW0tZGV0YWlscy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBaUIsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRSxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7OztBQUc3RTs7R0FFRztBQUlILE1BQU0sT0FBTywwQkFBMEI7SUFLckMsWUFDbUMsV0FBZ0IsRUFDekMsSUFBZ0IsRUFDaEIsc0JBQThDO1FBRnJCLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBQ3pDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQU54RCxpQkFBWSxHQUF1QyxJQUFJLGFBQWEsQ0FBc0IsQ0FBQyxDQUFDLENBQUM7UUFDN0YsUUFBRyxHQUFXLHVCQUF1QixDQUFDO1FBT3BDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxHQUFHO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FB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LG1CQUFtQixHQUF3QixZQUFZLENBQzNELG1CQUFtQixFQUNuQixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQ2hELENBQUM7UUFFRiwyRkFBMkY7UUFDM0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM3RCxDQUFDOzt3SEE1RlUsMEJBQTBCLGtCQU0zQixhQUFhOzRIQU5aLDBCQUEwQixjQUZ6QixNQUFNOzRGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9JLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmVoaWNsZUNsYWltRGV0YWlscyBhcyBWZWhpY2xlQ2xhaW1EZXRhaWxzQmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscy92ZWhpY2xlL3ZlaGljbGUtY2xhaW0tZGV0YWlscyc7XG5pbXBvcnQgeyBMb2dib29rUGVyaW9kLCBWZWhpY2xlQ2xhaW1EZXRhaWxzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZXZlbnQvZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5cbi8qKlxuICogQFRPRE8gVFQtMTc3NyBBbGV4OiBleHRlbmQgZnJvbSByZXN0IHNlcnZpY2Ugd2hlbiBpdCByZWZhY3RvcmVkXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFZlaGljbGVDbGFpbURldGFpbHNTZXJ2aWNlIGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBjYWNoZTogVmVoaWNsZUNsYWltRGV0YWlscztcbiAgY2FjaGVTdWJqZWN0OiBSZXBsYXlTdWJqZWN0PFZlaGljbGVDbGFpbURldGFpbHM+ID0gbmV3IFJlcGxheVN1YmplY3Q8VmVoaWNsZUNsYWltRGV0YWlscz4oMSk7XG4gIHVybDogc3RyaW5nID0gJ3ZlaGljbGUtY2xhaW0tZGV0YWlscyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueSxcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5CZXN0UGVyaW9kQ2hhbmdlcygpO1xuICB9XG5cbiAgZ2V0KCk6IE9ic2VydmFibGU8VmVoaWNsZUNsYWltRGV0YWlscz4ge1xuICAgIGlmICghdGhpcy5jYWNoZSkge1xuICAgICAgdGhpcy5odHRwLmdldChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfWApXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgocmVzcG9uc2U6IG9iamVjdCk6IFZlaGljbGVDbGFpbURldGFpbHMgPT4gcGxhaW5Ub0NsYXNzKFZlaGljbGVDbGFpbURldGFpbHMsIHJlc3BvbnNlWydoeWRyYTptZW1iZXInXVswXSwge2V4Y2x1ZGVQcmVmaXhlczogWydAJ119KSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCh2ZWhpY2xlQ2xhaW1EZXRhaWxzOiBWZWhpY2xlQ2xhaW1EZXRhaWxzKSA9PiB7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHZlaGljbGVDbGFpbURldGFpbHM7XG4gICAgICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jYWNoZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBhZGQoZGV0YWlsczogVmVoaWNsZUNsYWltRGV0YWlscyk6IE9ic2VydmFibGU8VmVoaWNsZUNsYWltRGV0YWlscz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfWAsIGRldGFpbHMpLnBpcGUoXG4gICAgICBtYXAoKG5ld0RldGFpbHM6IFZlaGljbGVDbGFpbURldGFpbHNCYXNlKSA9PiB7XG4gICAgICAgIGNvbnN0IGRldGFpbHM6IFZlaGljbGVDbGFpbURldGFpbHMgPSBwbGFpblRvQ2xhc3MoVmVoaWNsZUNsYWltRGV0YWlscywgbmV3RGV0YWlscyk7XG5cbiAgICAgICAgdGhpcy5jYWNoZSA9IGRldGFpbHM7XG4gICAgICAgIHRoaXMuY2FjaGVTdWJqZWN0Lm5leHQoZGV0YWlscyk7XG5cbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fREVUQUlMU19DUkVBVEVELCBkZXRhaWxzKSlcblxuICAgICAgICByZXR1cm4gZGV0YWlscztcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgdXBkYXRlKGRldGFpbHM6IFZlaGljbGVDbGFpbURldGFpbHMpOiBPYnNlcnZhYmxlPFZlaGljbGVDbGFpbURldGFpbHM+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS8ke2RldGFpbHMuaWR9YCwgZGV0YWlscykucGlwZShcbiAgICAgIG1hcCgodXBkYXRlZERldGFpbHM6IFZlaGljbGVDbGFpbURldGFpbHNCYXNlKSA9PiB7XG4gICAgICAgIGNvbnN0IGRldGFpbHM6IFZlaGljbGVDbGFpbURldGFpbHMgPSBwbGFpblRvQ2xhc3MoVmVoaWNsZUNsYWltRGV0YWlscywgdXBkYXRlZERldGFpbHMsIHtleGNsdWRlUHJlZml4ZXM6IFsnQCddfSk7XG5cbiAgICAgICAgdGhpcy5jYWNoZSA9IGRldGFpbHM7XG4gICAgICAgIHRoaXMuY2FjaGVTdWJqZWN0Lm5leHQoZGV0YWlscyk7XG5cbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fREVUQUlMU19VUERBVEVELCBkZXRhaWxzKSlcblxuICAgICAgICByZXR1cm4gZGV0YWlscztcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cblxuICAvKipcbiAgICogTGlzdGVuIGxvZ2Jvb2sgYmVzdCBwZXJpb2QgdXBkYXRlc1xuICAgKiBAVE9ETyBWaWs6IEJlc3QgcGVyaW9kIG1vdmUgdGhpcyBhbmQgcmVsYXRlZCBsb2dpYyB0byBiYWNrZW5kXG4gICAqL1xuICBwcml2YXRlIGxpc3RlbkJlc3RQZXJpb2RDaGFuZ2VzKCkge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfTE9HQk9PS19CRVNUX1BFUklPRF9VUERBVEVEKVxuICAgICAgLnN1YnNjcmliZSgoYmVzdFBlcmlvZDogTG9nYm9va1BlcmlvZCkgPT4ge1xuICAgICAgICAvLyBTZXQgZGV0YWlscyBhcyBtYW51YWwgaWYgYmVzdCBwZXJpb2Qgc3RvcCBleGlzdCAocmVtb3ZlZCBsb2dib29rIGNhc2UpXG4gICAgICAgIGlmICghYmVzdFBlcmlvZCkge1xuICAgICAgICAgIHRoaXMudXBkYXRlVG9NYW51YWwoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuXG4gIC8qKlxuICAgKiBTZXQgdmVoaWNsZSBjbGFpbSBkZXRhaWxzIGFzIG1hbnVhbFxuICAgKiBAVE9ETyBWaWs6IEJlc3QgcGVyaW9kIG1vdmUgdGhpcyBhbmQgcmVsYXRlZCBsb2dpYyB0byBiYWNrZW5kXG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZVRvTWFudWFsKCk6IHZvaWQge1xuICAgIC8vIFdlIGFyZSBzdXJlIHRoaXMuY2FjaGUgZXhpc3QgaGVyZSBiZWNhdXNlIGxvZ2Jvb2sgYmVzdCBwZXJpb2QgY2FsY3VsYXRpb24gaXMgYmFzZWQgb24gdmVoaWNsZSBjbGFpbSBkZXRhaWxzLFxuICAgIC8vIHNvIGJlZm9yZSB3ZSBjYW4gZ2V0IGxvZ2Jvb2sgYmVzdCBwZXJpb2QgY2hhbmdlcywgd2UgbXVzdCBnZXQgdmVoaWNsZSBjbGFpbSBkZXRhaWxzXG4gICAgY29uc3QgdmVoaWNsZUNsYWltRGV0YWlsczogVmVoaWNsZUNsYWltRGV0YWlscyA9IHBsYWluVG9DbGFzcyhcbiAgICAgIFZlaGljbGVDbGFpbURldGFpbHMsXG4gICAgICBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmNhY2hlLCB7aXNNYW51YWw6IHRydWV9KVxuICAgICk7XG5cbiAgICAvLyB0YWtlKDEpIGlzIHVzaW5nIHRvIGF2b2lkIHVubmVjZXNzYXJ5IGNhbGxiYWNrIGNhbGxpbmcgd2hlIHVzZXIgdXBkYXRlZCBkZXRhaWxzIGRpcmVjdGx5XG4gICAgdGhpcy51cGRhdGUodmVoaWNsZUNsYWltRGV0YWlscykucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1jbGFpbS1kZXRhaWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC92ZWhpY2xlL3ZlaGljbGUtY2xhaW0tZGV0YWlscy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBaUIsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRSxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQVEsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7O0FBRzdFOztHQUVHO0FBSUgsTUFBTSxPQUFPLDBCQUEwQjtJQUtyQyxZQUNtQyxXQUFnQixFQUN6QyxJQUFnQixFQUNoQixzQkFBOEM7UUFGckIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFDekMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBTnhELGlCQUFZLEdBQXVDLElBQUksYUFBYSxDQUFzQixDQUFDLENBQUMsQ0FBQztRQUM3RixRQUFHLEdBQVcsdUJBQXVCLENBQUM7UUFPcEMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELEdBQUc7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFB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QUU7WUFDZixPQUFPO1NBQ1I7UUFFRCxNQUFNLG1CQUFtQixHQUF3QixZQUFZLENBQzNELG1CQUFtQixFQUNuQixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQ2hELENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDL0MsQ0FBQzs7d0hBOUZVLDBCQUEwQixrQkFNM0IsYUFBYTs0SEFOWiwwQkFBMEIsY0FGekIsTUFBTTs0RkFFUCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZlaGljbGVDbGFpbURldGFpbHMgYXMgVmVoaWNsZUNsYWltRGV0YWlsc0Jhc2UgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMvdmVoaWNsZS92ZWhpY2xlLWNsYWltLWRldGFpbHMnO1xuaW1wb3J0IHsgTG9nYm9va1BlcmlvZCwgVmVoaWNsZUNsYWltRGV0YWlscyB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgRXZlbnREaXNwYXRjaGVyU2VydmljZSB9IGZyb20gJy4uLy4uL2V2ZW50L2V2ZW50LWRpc3BhdGNoZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9ldmVudC1saXN0ZW5lci5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEBUT0RPIFRULTE3NzcgQWxleDogZXh0ZW5kIGZyb20gcmVzdCBzZXJ2aWNlIHdoZW4gaXQgcmVmYWN0b3JlZFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBWZWhpY2xlQ2xhaW1EZXRhaWxzU2VydmljZSBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgY2FjaGU6IFZlaGljbGVDbGFpbURldGFpbHM7XG4gIGNhY2hlU3ViamVjdDogUmVwbGF5U3ViamVjdDxWZWhpY2xlQ2xhaW1EZXRhaWxzPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFZlaGljbGVDbGFpbURldGFpbHM+KDEpO1xuICB1cmw6IHN0cmluZyA9ICd2ZWhpY2xlLWNsYWltLWRldGFpbHMnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnksXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgZXZlbnREaXNwYXRjaGVyU2VydmljZTogRXZlbnREaXNwYXRjaGVyU2VydmljZVxuICApIHtcbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpO1xuICB9XG5cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuQmVzdFBlcmlvZENoYW5nZXMoKTtcbiAgfVxuXG4gIGdldCgpOiBPYnNlcnZhYmxlPFZlaGljbGVDbGFpbURldGFpbHM+IHtcbiAgICBpZiAoIXRoaXMuY2FjaGUpIHtcbiAgICAgIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH1gKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3QpOiBWZWhpY2xlQ2xhaW1EZXRhaWxzID0+IHBsYWluVG9DbGFzcyhWZWhpY2xlQ2xhaW1EZXRhaWxzLCByZXNwb25zZVsnaHlkcmE6bWVtYmVyJ11bMF0sIHtleGNsdWRlUHJlZml4ZXM6IFsnQCddfSkpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgodmVoaWNsZUNsYWltRGV0YWlsczogVmVoaWNsZUNsYWltRGV0YWlscykgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB2ZWhpY2xlQ2xhaW1EZXRhaWxzO1xuICAgICAgICAgIHRoaXMuY2FjaGVTdWJqZWN0Lm5leHQodGhpcy5jYWNoZSk7XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY2FjaGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgYWRkKGRldGFpbHM6IFZlaGljbGVDbGFpbURldGFpbHMpOiBPYnNlcnZhYmxlPFZlaGljbGVDbGFpbURldGFpbHM+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH1gLCBkZXRhaWxzKS5waXBlKFxuICAgICAgbWFwKChuZXdEZXRhaWxzOiBWZWhpY2xlQ2xhaW1EZXRhaWxzQmFzZSkgPT4ge1xuICAgICAgICBjb25zdCBkZXRhaWxzOiBWZWhpY2xlQ2xhaW1EZXRhaWxzID0gcGxhaW5Ub0NsYXNzKFZlaGljbGVDbGFpbURldGFpbHMsIG5ld0RldGFpbHMpO1xuXG4gICAgICAgIHRoaXMuY2FjaGUgPSBkZXRhaWxzO1xuICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KGRldGFpbHMpO1xuXG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX0RFVEFJTFNfQ1JFQVRFRCwgZGV0YWlscykpXG5cbiAgICAgICAgcmV0dXJuIGRldGFpbHM7XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIHVwZGF0ZShkZXRhaWxzOiBWZWhpY2xlQ2xhaW1EZXRhaWxzKTogT2JzZXJ2YWJsZTxWZWhpY2xlQ2xhaW1EZXRhaWxzPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHtkZXRhaWxzLmlkfWAsIGRldGFpbHMpLnBpcGUoXG4gICAgICBtYXAoKHVwZGF0ZWREZXRhaWxzOiBWZWhpY2xlQ2xhaW1EZXRhaWxzQmFzZSkgPT4ge1xuICAgICAgICBjb25zdCBkZXRhaWxzOiBWZWhpY2xlQ2xhaW1EZXRhaWxzID0gcGxhaW5Ub0NsYXNzKFZlaGljbGVDbGFpbURldGFpbHMsIHVwZGF0ZWREZXRhaWxzLCB7ZXhjbHVkZVByZWZpeGVzOiBbJ0AnXX0pO1xuXG4gICAgICAgIHRoaXMuY2FjaGUgPSBkZXRhaWxzO1xuICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KGRldGFpbHMpO1xuXG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX0RFVEFJTFNfVVBEQVRFRCwgZGV0YWlscykpXG5cbiAgICAgICAgcmV0dXJuIGRldGFpbHM7XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG5cbiAgLyoqXG4gICAqIExpc3RlbiBsb2dib29rIGJlc3QgcGVyaW9kIHVwZGF0ZXNcbiAgICogQFRPRE8gVmlrOiBCZXN0IHBlcmlvZCBtb3ZlIHRoaXMgYW5kIHJlbGF0ZWQgbG9naWMgdG8gYmFja2VuZFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5CZXN0UGVyaW9kQ2hhbmdlcygpIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0xPR0JPT0tfQkVTVF9QRVJJT0RfVVBEQVRFRClcbiAgICAgIC5zdWJzY3JpYmUoKGJlc3RQZXJpb2Q6IExvZ2Jvb2tQZXJpb2QpID0+IHtcbiAgICAgICAgLy8gU2V0IGRldGFpbHMgYXMgbWFudWFsIGlmIGJlc3QgcGVyaW9kIHN0b3AgZXhpc3QgKHJlbW92ZWQgbG9nYm9vayBjYXNlKVxuICAgICAgICBpZiAoIWJlc3RQZXJpb2QpIHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZVRvTWFudWFsKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cblxuICAvKipcbiAgICogU2V0IHZlaGljbGUgY2xhaW0gZGV0YWlscyBhcyBtYW51YWxcbiAgICogQFRPRE8gVmlrOiBCZXN0IHBlcmlvZCBtb3ZlIHRoaXMgYW5kIHJlbGF0ZWQgbG9naWMgdG8gYmFja2VuZFxuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVUb01hbnVhbCgpOiB2b2lkIHtcbiAgICAvLyBubyBuZWVkIHRvIHVwZGF0ZSBpZiBjYWNoZSBub3QgZXhpc3RcbiAgICBpZiAoIXRoaXMuY2FjaGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB2ZWhpY2xlQ2xhaW1EZXRhaWxzOiBWZWhpY2xlQ2xhaW1EZXRhaWxzID0gcGxhaW5Ub0NsYXNzKFxuICAgICAgVmVoaWNsZUNsYWltRGV0YWlscyxcbiAgICAgIE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY2FjaGUsIHtpc01hbnVhbDogdHJ1ZX0pXG4gICAgKTtcblxuICAgIHRoaXMudXBkYXRlKHZlaGljbGVDbGFpbURldGFpbHMpLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
@@ -3,7 +3,7 @@ import { VehicleClaim } from '../../../models';
3
3
  import { RestService } from '../rest/rest.service';
4
4
  import { AppEventTypeEnum } from '../../../models/event/app-event-type.enum';
5
5
  import { combineLatest } from 'rxjs';
6
- import { map, take } from 'rxjs/operators';
6
+ import { map } from 'rxjs/operators';
7
7
  import { AppEvent } from '../../../models/event/app-event';
8
8
  import { plainToClass } from 'class-transformer';
9
9
  import * as i0 from "@angular/core";
@@ -34,10 +34,7 @@ export class VehicleClaimService extends RestService {
34
34
  * when details method changed, all claims current values become 0
35
35
  */
36
36
  listenVehicleClaimDetailsChanges() {
37
- this.eventDispatcherService.on([
38
- AppEventTypeEnum.VEHICLE_CLAIM_DETAILS_CREATED,
39
- AppEventTypeEnum.VEHICLE_CLAIM_DETAILS_UPDATED
40
- ])
37
+ this.eventDispatcherService.on(AppEventTypeEnum.VEHICLE_CLAIM_DETAILS_UPDATED)
41
38
  .subscribe(() => {
42
39
  this.resetCache();
43
40
  });
@@ -62,14 +59,17 @@ export class VehicleClaimService extends RestService {
62
59
  * @TODO Vik: Best period move this and related logic to backend
63
60
  */
64
61
  updateWorkUsage(bestPeriod) {
65
- // We are sure this.cache exist here because logbook best period calculation is based on vehicle claims,
66
- // so before we can get logbook best period changes, we must get vehicle claims
62
+ // no need to update if cache not exist
63
+ if (!this.cache) {
64
+ return;
65
+ }
66
+ // @TODO Vik (TT-2210): need batch endpoint for this update
67
+ // @TODO Alex (TT-2210): fix frontend when endpoint ready
67
68
  const batch$ = this.cache.map((claim) => {
68
69
  const claimToUpdate = plainToClass(VehicleClaim, Object.assign({}, claim, { workUsage: bestPeriod === null || bestPeriod === void 0 ? void 0 : bestPeriod.getWorkUsageByClaim(claim) }));
69
70
  return this.update(claimToUpdate);
70
71
  });
71
- // take(1) is using to avoid unnecessary callback calling whe user updated details directly
72
- combineLatest(batch$).pipe(take(1)).subscribe();
72
+ combineLatest(batch$).subscribe();
73
73
  }
74
74
  }
75
75
  VehicleClaimService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: VehicleClaimService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
@@ -80,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
80
80
  providedIn: 'root'
81
81
  }]
82
82
  }] });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1jbGFpbS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvdmVoaWNsZS92ZWhpY2xlLWNsYWltLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQWlCLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFLakQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFdBQTJDO0lBSHBGOztRQUlFLGVBQVUsR0FBd0IsWUFBWSxDQUFDO1FBQy9DLFFBQUcsR0FBVyxnQkFBZ0IsQ0FBQztLQThFaEM7SUE1RUMsWUFBWTtRQUNWLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxHQUFHLENBQUMsS0FBbUI7UUFDckIsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDMUIsR0FBRyxDQUFDLENBQUMsWUFBMEIsRUFBRSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUV6RyxPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFtQixFQUFFLGNBQXNCLEVBQUU7UUFDbEQsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQzFDLEdBQUcsQ0FBQyxDQUFDLFlBQTBCLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFFekcsT0FBTyxZQUFZLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSyxnQ0FBZ0M7UUFDdEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztZQUM3QixnQkFBZ0IsQ0FBQyw2QkFBNkI7WUFDOUMsZ0JBQWdCLENBQUMsNkJBQTZCO1NBQy9DLENBQUM7YUFDQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVEOzs7T0FHRztJQUNLLHVCQUF1QjtRQUM3QixJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLG1DQUFtQyxDQUFDO2FBQ2pGLFNBQVMsQ0FBQyxDQUFDLFVBQXlCLEVBQUUsRUFBRTtZQUN2Qyx3REFBd0Q7WUFDeEQsbUZBQW1GO1lBQ25GLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ2YsT0FBTzthQUNSO1lBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFHRDs7O09BR0c7SUFDSyxlQUFlLENBQUMsVUFBeUI7UUFDL0Msd0dBQXdHO1FBQ3hHLCtFQUErRTtRQUMvRSxNQUFNLE1BQU0sR0FBK0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFtQixFQUFFLEVBQUU7WUFDaEYsTUFBTSxhQUFhLEdBQWlCLFlBQVksQ0FDOUMsWUFBWSxFQUNaLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFDLFNBQVMsRUFBRSxVQUFVLGFBQVYsVUFBVSx1QkFBVixVQUFVLENBQUUsbUJBQW1CLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQyxDQUM5RSxDQUFDO1lBRUYsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFBO1FBRUYsMkZBQTJGO1FBQzNGLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbEQsQ0FBQzs7aUhBL0VVLG1CQUFtQjtxSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZlaGljbGVDbGFpbSBhcyBWZWhpY2xlQ2xhaW1CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzL3ZlaGljbGUvdmVoaWNsZS1jbGFpbSc7XG5pbXBvcnQgeyBMb2dib29rUGVyaW9kLCBWZWhpY2xlQ2xhaW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9yZXN0L3Jlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBWZWhpY2xlQ2xhaW1TZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8VmVoaWNsZUNsYWltQmFzZSwgVmVoaWNsZUNsYWltPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgbW9kZWxDbGFzczogdHlwZW9mIFZlaGljbGVDbGFpbSA9IFZlaGljbGVDbGFpbTtcbiAgdXJsOiBzdHJpbmcgPSAndmVoaWNsZS1jbGFpbXMnO1xuXG4gIGxpc3RlbkV2ZW50cygpIHtcbiAgICB0aGlzLmxpc3RlblZlaGljbGVDbGFpbURldGFpbHNDaGFuZ2VzKCk7XG4gICAgdGhpcy5saXN0ZW5CZXN0UGVyaW9kQ2hhbmdlcygpO1xuICB9XG5cbiAgYWRkKG1vZGVsOiBWZWhpY2xlQ2xhaW0pOiBPYnNlcnZhYmxlPFZlaGljbGVDbGFpbT4ge1xuICAgIHJldHVybiBzdXBlci5hZGQobW9kZWwpLnBpcGUoXG4gICAgICBtYXAoKHZlaGljbGVDbGFpbTogVmVoaWNsZUNsYWltKSA9PiB7XG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX0NSRUFURUQsIHZlaGljbGVDbGFpbSkpO1xuXG4gICAgICAgIHJldHVybiB2ZWhpY2xlQ2xhaW07XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICB1cGRhdGUobW9kZWw6IFZlaGljbGVDbGFpbSwgcXVlcnlQYXJhbXM6IG9iamVjdCA9IHt9KTogT2JzZXJ2YWJsZTxWZWhpY2xlQ2xhaW0+IHtcbiAgICByZXR1cm4gc3VwZXIudXBkYXRlKG1vZGVsLCBxdWVyeVBhcmFtcykucGlwZShcbiAgICAgIG1hcCgodmVoaWNsZUNsYWltOiBWZWhpY2xlQ2xhaW0pID0+IHtcbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fVVBEQVRFRCwgdmVoaWNsZUNsYWltKSk7XG5cbiAgICAgICAgcmV0dXJuIHZlaGljbGVDbGFpbTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRhaWxzIGNoYW5nZXMgbWF5IGFmZmVjdCB2ZWhpY2xlIGNsYWltczpcbiAgICogd2hlbiBkZXRhaWxzIG1ldGhvZCBjaGFuZ2VkLCBhbGwgY2xhaW1zIGN1cnJlbnQgdmFsdWVzIGJlY29tZSAwXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblZlaGljbGVDbGFpbURldGFpbHNDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihbXG4gICAgICBBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fREVUQUlMU19DUkVBVEVELFxuICAgICAgQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX0RFVEFJTFNfVVBEQVRFRFxuICAgIF0pXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5yZXNldENhY2hlKCk7XG4gICAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIEJlc3QgcGVyaW9kIGNoYW5nZXMgYWZmZWN0IHRvIGNsYWltcyB3b3JrVXNhZ2VcbiAgICogQFRPRE8gVmlrOiBCZXN0IHBlcmlvZCBtb3ZlIHRoaXMgYW5kIHJlbGF0ZWQgbG9naWMgdG8gYmFja2VuZFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5CZXN0UGVyaW9kQ2hhbmdlcygpIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0xPR0JPT0tfQkVTVF9QRVJJT0RfVVBEQVRFRClcbiAgICAgIC5zdWJzY3JpYmUoKGJlc3RQZXJpb2Q6IExvZ2Jvb2tQZXJpb2QpID0+IHtcbiAgICAgICAgLy8gbm8gbmVlZCB0byB1cGRhdGUgY2xhaW1zIHdoZW4gYmVzdCBwZXJpb2QgYmVjb21lIG51bGxcbiAgICAgICAgLy8gKGNhc2Ugd2hlbiBsb2dib29rIHJlbW92ZWQgYW5kIHVzZXIgZG9uJ3QgaGF2ZSBlbm91Z2ggbG9nYm9va3MgZm9yIGNsYWltIHBlcmlvZClcbiAgICAgICAgaWYgKCFiZXN0UGVyaW9kKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVXb3JrVXNhZ2UoYmVzdFBlcmlvZCk7XG4gICAgICB9KTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB3b3JrVXNhZ2UgZm9yIGFsbCB2ZWhpY2xlIGNsYWltcyBpZiBsb2dib29rIGJlc3QgcGVyaW9kIGNoYW5nZWRcbiAgICogQFRPRE8gVmlrOiBCZXN0IHBlcmlvZCBtb3ZlIHRoaXMgYW5kIHJlbGF0ZWQgbG9naWMgdG8gYmFja2VuZFxuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVXb3JrVXNhZ2UoYmVzdFBlcmlvZDogTG9nYm9va1BlcmlvZCk6IHZvaWQge1xuICAgIC8vIFdlIGFyZSBzdXJlIHRoaXMuY2FjaGUgZXhpc3QgaGVyZSBiZWNhdXNlIGxvZ2Jvb2sgYmVzdCBwZXJpb2QgY2FsY3VsYXRpb24gaXMgYmFzZWQgb24gdmVoaWNsZSBjbGFpbXMsXG4gICAgLy8gc28gYmVmb3JlIHdlIGNhbiBnZXQgbG9nYm9vayBiZXN0IHBlcmlvZCBjaGFuZ2VzLCB3ZSBtdXN0IGdldCB2ZWhpY2xlIGNsYWltc1xuICAgIGNvbnN0IGJhdGNoJDogT2JzZXJ2YWJsZTxWZWhpY2xlQ2xhaW0+W10gPSB0aGlzLmNhY2hlLm1hcCgoY2xhaW06IFZlaGljbGVDbGFpbSkgPT4ge1xuICAgICAgY29uc3QgY2xhaW1Ub1VwZGF0ZTogVmVoaWNsZUNsYWltID0gcGxhaW5Ub0NsYXNzKFxuICAgICAgICBWZWhpY2xlQ2xhaW0sXG4gICAgICAgIE9iamVjdC5hc3NpZ24oe30sIGNsYWltLCB7d29ya1VzYWdlOiBiZXN0UGVyaW9kPy5nZXRXb3JrVXNhZ2VCeUNsYWltKGNsYWltKX0pXG4gICAgICApO1xuXG4gICAgICByZXR1cm4gdGhpcy51cGRhdGUoY2xhaW1Ub1VwZGF0ZSk7XG4gICAgfSlcblxuICAgIC8vIHRha2UoMSkgaXMgdXNpbmcgdG8gYXZvaWQgdW5uZWNlc3NhcnkgY2FsbGJhY2sgY2FsbGluZyB3aGUgdXNlciB1cGRhdGVkIGRldGFpbHMgZGlyZWN0bHlcbiAgICBjb21iaW5lTGF0ZXN0KGJhdGNoJCkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1jbGFpbS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvdmVoaWNsZS92ZWhpY2xlLWNsYWltLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQWlCLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQVEsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUtqRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBMkM7SUFIcEY7O1FBSUUsZUFBVSxHQUF3QixZQUFZLENBQUM7UUFDL0MsUUFBRyxHQUFXLGdCQUFnQixDQUFDO0tBK0VoQztJQTdFQyxZQUFZO1FBQ1YsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELEdBQUcsQ0FBQyxLQUFtQjtRQUNyQixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUMxQixHQUFHLENBQUMsQ0FBQyxZQUEwQixFQUFFLEVBQUU7WUFDakMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO1lBRXpHLE9BQU8sWUFBWSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQW1CLEVBQUUsY0FBc0IsRUFBRTtRQUNsRCxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDMUMsR0FBRyxDQUFDLENBQUMsWUFBMEIsRUFBRSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUV6RyxPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNLLGdDQUFnQztRQUN0QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLDZCQUE2QixDQUFDO2FBQzNFLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssdUJBQXVCO1FBQzdCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsbUNBQW1DLENBQUM7YUFDakYsU0FBUyxDQUFDLENBQUMsVUFBeUIsRUFBRSxFQUFFO1lBQ3ZDLHdEQUF3RDtZQUN4RCxtRkFBbUY7WUFDbkYsSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDZixPQUFPO2FBQ1I7WUFFRCxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUdEOzs7T0FHRztJQUNLLGVBQWUsQ0FBQyxVQUF5QjtRQUMvQyx1Q0FBdUM7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixPQUFPO1NBQ1I7UUFFRCwyREFBMkQ7UUFDM0QseURBQXlEO1FBQ3pELE1BQU0sTUFBTSxHQUErQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQW1CLEVBQUUsRUFBRTtZQUNoRixNQUFNLGFBQWEsR0FBaUIsWUFBWSxDQUM5QyxZQUFZLEVBQ1osTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUMsU0FBUyxFQUFFLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLENBQzlFLENBQUM7WUFFRixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUE7UUFFRixhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDcEMsQ0FBQzs7aUhBaEZVLG1CQUFtQjtxSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZlaGljbGVDbGFpbSBhcyBWZWhpY2xlQ2xhaW1CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzL3ZlaGljbGUvdmVoaWNsZS1jbGFpbSc7XG5pbXBvcnQgeyBMb2dib29rUGVyaW9kLCBWZWhpY2xlQ2xhaW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9yZXN0L3Jlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBWZWhpY2xlQ2xhaW1TZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8VmVoaWNsZUNsYWltQmFzZSwgVmVoaWNsZUNsYWltPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgbW9kZWxDbGFzczogdHlwZW9mIFZlaGljbGVDbGFpbSA9IFZlaGljbGVDbGFpbTtcbiAgdXJsOiBzdHJpbmcgPSAndmVoaWNsZS1jbGFpbXMnO1xuXG4gIGxpc3RlbkV2ZW50cygpIHtcbiAgICB0aGlzLmxpc3RlblZlaGljbGVDbGFpbURldGFpbHNDaGFuZ2VzKCk7XG4gICAgdGhpcy5saXN0ZW5CZXN0UGVyaW9kQ2hhbmdlcygpO1xuICB9XG5cbiAgYWRkKG1vZGVsOiBWZWhpY2xlQ2xhaW0pOiBPYnNlcnZhYmxlPFZlaGljbGVDbGFpbT4ge1xuICAgIHJldHVybiBzdXBlci5hZGQobW9kZWwpLnBpcGUoXG4gICAgICBtYXAoKHZlaGljbGVDbGFpbTogVmVoaWNsZUNsYWltKSA9PiB7XG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX0NSRUFURUQsIHZlaGljbGVDbGFpbSkpO1xuXG4gICAgICAgIHJldHVybiB2ZWhpY2xlQ2xhaW07XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICB1cGRhdGUobW9kZWw6IFZlaGljbGVDbGFpbSwgcXVlcnlQYXJhbXM6IG9iamVjdCA9IHt9KTogT2JzZXJ2YWJsZTxWZWhpY2xlQ2xhaW0+IHtcbiAgICByZXR1cm4gc3VwZXIudXBkYXRlKG1vZGVsLCBxdWVyeVBhcmFtcykucGlwZShcbiAgICAgIG1hcCgodmVoaWNsZUNsYWltOiBWZWhpY2xlQ2xhaW0pID0+IHtcbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fVVBEQVRFRCwgdmVoaWNsZUNsYWltKSk7XG5cbiAgICAgICAgcmV0dXJuIHZlaGljbGVDbGFpbTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRhaWxzIGNoYW5nZXMgbWF5IGFmZmVjdCB2ZWhpY2xlIGNsYWltczpcbiAgICogd2hlbiBkZXRhaWxzIG1ldGhvZCBjaGFuZ2VkLCBhbGwgY2xhaW1zIGN1cnJlbnQgdmFsdWVzIGJlY29tZSAwXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblZlaGljbGVDbGFpbURldGFpbHNDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fREVUQUlMU19VUERBVEVEKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBCZXN0IHBlcmlvZCBjaGFuZ2VzIGFmZmVjdCB0byBjbGFpbXMgd29ya1VzYWdlXG4gICAqIEBUT0RPIFZpazogQmVzdCBwZXJpb2QgbW92ZSB0aGlzIGFuZCByZWxhdGVkIGxvZ2ljIHRvIGJhY2tlbmRcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuQmVzdFBlcmlvZENoYW5nZXMoKSB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uVkVISUNMRV9MT0dCT09LX0JFU1RfUEVSSU9EX1VQREFURUQpXG4gICAgICAuc3Vic2NyaWJlKChiZXN0UGVyaW9kOiBMb2dib29rUGVyaW9kKSA9PiB7XG4gICAgICAgIC8vIG5vIG5lZWQgdG8gdXBkYXRlIGNsYWltcyB3aGVuIGJlc3QgcGVyaW9kIGJlY29tZSBudWxsXG4gICAgICAgIC8vIChjYXNlIHdoZW4gbG9nYm9vayByZW1vdmVkIGFuZCB1c2VyIGRvbid0IGhhdmUgZW5vdWdoIGxvZ2Jvb2tzIGZvciBjbGFpbSBwZXJpb2QpXG4gICAgICAgIGlmICghYmVzdFBlcmlvZCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlV29ya1VzYWdlKGJlc3RQZXJpb2QpO1xuICAgICAgfSk7XG4gIH1cblxuXG4gIC8qKlxuICAgKiBVcGRhdGUgd29ya1VzYWdlIGZvciBhbGwgdmVoaWNsZSBjbGFpbXMgaWYgbG9nYm9vayBiZXN0IHBlcmlvZCBjaGFuZ2VkXG4gICAqIEBUT0RPIFZpazogQmVzdCBwZXJpb2QgbW92ZSB0aGlzIGFuZCByZWxhdGVkIGxvZ2ljIHRvIGJhY2tlbmRcbiAgICovXG4gIHByaXZhdGUgdXBkYXRlV29ya1VzYWdlKGJlc3RQZXJpb2Q6IExvZ2Jvb2tQZXJpb2QpOiB2b2lkIHtcbiAgICAvLyBubyBuZWVkIHRvIHVwZGF0ZSBpZiBjYWNoZSBub3QgZXhpc3RcbiAgICBpZiAoIXRoaXMuY2FjaGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBAVE9ETyBWaWsgKFRULTIyMTApOiBuZWVkIGJhdGNoIGVuZHBvaW50IGZvciB0aGlzIHVwZGF0ZVxuICAgIC8vIEBUT0RPIEFsZXggKFRULTIyMTApOiBmaXggZnJvbnRlbmQgd2hlbiBlbmRwb2ludCByZWFkeVxuICAgIGNvbnN0IGJhdGNoJDogT2JzZXJ2YWJsZTxWZWhpY2xlQ2xhaW0+W10gPSB0aGlzLmNhY2hlLm1hcCgoY2xhaW06IFZlaGljbGVDbGFpbSkgPT4ge1xuICAgICAgY29uc3QgY2xhaW1Ub1VwZGF0ZTogVmVoaWNsZUNsYWltID0gcGxhaW5Ub0NsYXNzKFxuICAgICAgICBWZWhpY2xlQ2xhaW0sXG4gICAgICAgIE9iamVjdC5hc3NpZ24oe30sIGNsYWltLCB7d29ya1VzYWdlOiBiZXN0UGVyaW9kPy5nZXRXb3JrVXNhZ2VCeUNsYWltKGNsYWltKX0pXG4gICAgICApO1xuXG4gICAgICByZXR1cm4gdGhpcy51cGRhdGUoY2xhaW1Ub1VwZGF0ZSk7XG4gICAgfSlcblxuICAgIGNvbWJpbmVMYXRlc3QoYmF0Y2gkKS5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
@@ -1,3 +1,4 @@
1
1
  export * from './http';
2
+ export * from './affiliate/rewardful/rewardful.service';
2
3
  export * from './vehicle';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2h0dHAnO1xuZXhwb3J0ICogZnJvbSAnLi92ZWhpY2xlJztcbiJdfQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaHR0cCc7XG5leHBvcnQgKiBmcm9tICcuL2FmZmlsaWF0ZS9yZXdhcmRmdWwvcmV3YXJkZnVsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi92ZWhpY2xlJztcbiJdfQ==
@@ -101,6 +101,8 @@ export * from './lib/db/Enums/salary-forecast-frequency.enum';
101
101
  export * from './lib/db/Enums/service-notification-status.enum';
102
102
  export * from './lib/db/Enums/service-notification-type.enum';
103
103
  export * from './lib/db/Enums/sole-depreciation-method.enum';
104
+ export * from './lib/db/Enums/sole-invoice-statuses.enum';
105
+ export * from './lib/db/Enums/sole-invoice-template-tax-type.enum';
104
106
  export * from './lib/db/Enums/subscription/service-payment-status.enum';
105
107
  export * from './lib/db/Enums/subscription/service-price-recurring-interval.enum';
106
108
  export * from './lib/db/Enums/subscription/service-price-type.enum';
@@ -408,4 +410,4 @@ export * from './lib/interceptors/interceptors.module';
408
410
  */
409
411
  export * from './lib/forms';
410
412
  export * from './lib/validators';
411
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0ZBQW9GO0FBRXBGOztHQUVHO0FBQ0gsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQzs7R0FFRztBQUNILGNBQWMsbUJBQW1CLENBQUM7QUFFbEMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxtRUFBbUUsQ0FBQztBQUNsRixjQUFjLCtFQUErRSxDQUFDO0FBQzlGLGNBQWMsMkVBQTJFLENBQUM7QUFDMUYsY0FBYyxtRUFBbUUsQ0FBQztBQUNsRixjQUFjLCtFQUErRSxDQUFDO0FBQzlGLGNBQWMsZ0ZBQWdGLENBQUM7QUFDL0YsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsaUVBQWlFLENB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eDogQ3JlYXRlIGluZGV4ZXMgZXZlcnl3aGVyZSBhbmQgYnJlYWsgdGhpcyBmaWxlIHRvIGltcG9ydHMgZnJvbSBpbmRleGVzXG5cbi8qKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHR0LWNvcmVcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHQtY29yZS5tb2R1bGUnO1xuXG4vKipcbiAqIENvbGxlY3Rpb25zXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9hY2NvdW50LXNldHVwLWl0ZW0uY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9iYW5rLWFjY291bnQuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9iYW5rLXRyYW5zYWN0aW9uLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvY2hhcnQtYWNjb3VudHMuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9jbGllbnQuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9jbGllbnQtbW92ZW1lbnQuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9jbGllbnQtcG9ydGZvbGlvLXJlcG9ydC5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2NvbGxlY3Rpb24tZGljdGlvbmFyeSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9kZXByZWNpYXRpb24uY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9kZXByZWNpYXRpb24tZm9yZWNhc3QuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9lbXBsb3llZS5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2luY29tZS1zb3VyY2UuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9sb2FuL2xvYW4uY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9sb2FuL2xvYW4tcGF5bWVudC5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL21lc3NhZ2UuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9tZXNzYWdlLWRvY3VtZW50LmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvcHJvcGVydHkvcHJvcGVydHkuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9wcm9wZXJ0eS9wcm9wZXJ0eS1zYWxlL3Byb3BlcnR5LXNhbGUuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9yZXBvcnQvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi1sdnAtcmVwb3J0LWl0ZW0uY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9yZXBvcnQvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi1yZXBvcnQtaXRlbS5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL3JlcG9ydC9wcm9wZXJ0eS9wcm9wZXJ0eS1yZXBvcnQtaXRlbS5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL3JlcG9ydC9wcm9wZXJ0eS9wcm9wZXJ0eS1yZXBvcnQtaXRlbS10cmFuc2FjdGlvbi5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL3JlcG9ydC9wcm9wZXJ0eS9wcm9wZXJ0eS1yZXBvcnQtaXRlbS1kZXByZWNpYXRpb24uY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9yZXBvcnQvdmVoaWNsZS1leHBlbnNlL3ZlaGljbGUtZXhwZW5zZS5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL3N1YnNjcmlwdGlvbi9zZXJ2aWNlLXN1YnNjcmlwdGlvbi5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL3RheC1zdW1tYXJ5L3JlcG9ydC1pdGVtLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvdGF4LXN1bW1hcnkvdGF4LXJldHVybi1jYXRlZ29yaWVzLmNvbnN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL3RheC1yZXZpZXcuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24uY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy91c2VyLWV2ZW50LXNldHRpbmcuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9leHBvcnRhYmxlLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvY2xpZW50LWludml0ZS5jb2xsZWN0aW9uJztcblxuLyoqXG4gKiBEQiBtb2RlbHNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvTW9kZWxzL2Fic3RyYWN0LW1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL01vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1iYXNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLWNhdGVnb3J5LmUtY29sbGVjdGlvbic7XG5cbi8qKlxuICogREIgZW51bXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvYWRkcmVzcy10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9iYW5rLWFjY291bnQtc3RhdHVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvYmFuay1hY2NvdW50LXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9iYW5rLWNvbm5lY3Rpb24tc3RhdHVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvYmFuay10cmFuc2FjdGlvbi10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1jYXRlZ29yeS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWV0cC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWhlYWRpbmctbGlzdC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWhlYWRpbmctdGF4YWJsZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWhlYWRpbmctbGlzdC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWhlYWRpbmctdGF4LWRlZHVjdGlibGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1oZWFkaW5nLXZlaGljbGUtbGlzdC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWxpc3QuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1tZXRhZGF0YS1saXN0LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtbWV0YWRhdGEtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGF0LXN0YXR1cy5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2xpZW50LWRldGFpbHMtbWVkaWNhcmUtZXhlbXB0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2xpZW50LWRldGFpbHMtd29yay1kZXByZWNpYXRpb24tY2FsY3VsYXRpb24uZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jbGllbnQtZGV0YWlscy13b3JraW5nLWhvbGlkYXktbWFrZXIuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NsaWVudC1pbnZpdGUtc3RhdHVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2xpZW50LWludml0ZS10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9kZXByZWNpYXRpb24tY2FsY3VsYXRpb24uZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9kZXByZWNpYXRpb24tY2FsY3VsYXRpb24tcGVyY2VudC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2RlcHJlY2lhdGlvbi10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvZGVwcmVjaWF0aW9uLXdyaXRlLW9mZi1hbW91bnQuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2Zpcm0tdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvaW5jb21lLXNvdXJjZS1mb3JlY2FzdC10cnVzdC10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvaW5jb21lLXNvdXJjZS10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvaW5jb21lLXNvdXJjZS10eXBlLWxpc3Qtb3RoZXIuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9pbmNvbWUtc291cmNlLXR5cGUtbGlzdC1zb2xlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvaW5jb21lLXNvdXJjZS10eXBlLWxpc3Qtd29yay5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvaW52aXRlLXN0YXR1cy5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvbG9hbi1iYW5rLXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9sb2FuLWZyZXF1ZW5jeS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2xvYW4taW50ZXJlc3QtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2xvYW4tcGF5b3V0LXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9sb2FuLXJlcGF5bWVudC1mcmVxdWVuY3kuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9sb2FuLXJlcGF5bWVudC10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvbG9hbi10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvbG9hbi12ZWhpY2xlLXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3Bob25lLXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3Byb3BlcnR5L3Byb3BlcnR5LWRlcHJlY2lhdGlvbi1jYWxjdWxhdGlvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3Byb3BlcnR5L3Byb3BlcnR5LWNhdGVnb3J5LWxpc3QuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1zaGFyZS1hY2Nlc3MuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1zaGFyZS1zdGF0dXMuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3JlZ2lzdHJhdGlvbi1pbnZpdGUtc3RhdHVzLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9zYWxhcnktZm9yZWNhc3QtZnJlcXVlbmN5LmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9zZXJ2aWNlLW5vdGlmaWNhdGlvbi1zdGF0dXMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9zZXJ2aWNlLW5vdGlmaWNhdGlvbi10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9zb2xlLWRlcHJlY2lhdGlvbi1tZXRob2QuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3N1YnNjcmlwdGlvbi9zZXJ2aWNlLXBheW1lbnQtc3RhdHVzLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9zdWJzY3JpcHRpb24vc2VydmljZS1wcmljZS1yZWN1cnJpbmctaW50ZXJ2YWwuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9zdWJzY3JpcHRpb24vc2VydmljZS1wcmljZS10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc3Vic2NyaXB0aW9uL3NlcnZpY2UtcHJvZHVjdC1zdGF0dXMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9zdWJzY3JpcHRpb24vc2VydmljZS1wcm9kdWN0LWlkLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9zdWJzY3JpcHRpb24vc2VydmljZS1zdWJzY3JpcHRpb24tc3RhdHVzLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9zcGFyZS1kb2N1bWVudC1zcGFyZS10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90YW5rLXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RheC1jYWxjdWxhdGlvbi1tZWRpY2FyZS1leGVtcHRpb24uZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90YXgtY2FsY3VsYXRpb24tdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdGF4LXJldHVybi1jYXRlZ29yeS1saXN0LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdGF4LXJldHVybi1jYXRlZ29yeS1zZWN0aW9uLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90YXgtcmV2aWV3LXN0YXR1cy5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdGF4LXN1bW1hcnktbGlzdC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RheC1zdW1tYXJ5LXNlY3Rpb24uZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90YXgtc3VtbWFyeS10YXgtc3VtbWFyeS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdGlja2V0LWZlZWRiYWNrLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdGlja2V0LXN0YXR1cy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RpY2tldC10eXBlcy5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdHJhbnNhY3Rpb24tb3BlcmF0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdHJhbnNhY3Rpb24tc291cmNlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdHJhbnNhY3Rpb24tdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdXNlci1ldmVudC1zdGF0dXMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy91c2VyLWV2ZW50LXR5cGUtZnJlcXVlbmN5LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdXNlci1ldmVudC10eXBlLXVzZXItdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3VzZXItZXZlbnQtdHlwZS1lbXBsb3llZS10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdXNlci1ldmVudC10eXBlLWNsaWVudC10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy91c2VyLW1lZGljYXJlLWV4ZW1wdGlvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3VzZXItcm9sZXMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy91c2VyLXN0YXR1cy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3VzZXItdGl0bGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy91c2VyLXdvcmstZGVwcmVjaWF0aW9uLWNhbGN1bGF0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdXNlci13b3JraW5nLWhvbGlkYXktbWFrZXIuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3ZlaGljbGUtY2xhaW0tZGV0YWlscy1tZXRob2QuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy92ZWhpY2xlLWxvZ2Jvb2stcHVycG9zZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvcHJvcGVydHkvcHJvcGVydHktc2FsZS90YXgtZXhlbXB0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvcHJvcGVydHkvcHJvcGVydHktc2FsZS90YXgtZXhlbXB0aW9uLW1ldGFkYXRhLmVudW0nO1xuXG4vKipcbiAqIE1vZGVscyBhbmQgcmVsYXRlZCBlbnVtcyBhbmQgY29uc3RzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9hY2NvdW50LXNldHVwL2FjY291bnQtc2V0dXAtaXRlbSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9hZGRyZXNzL2FkZHJlc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2FkZHJlc3MvY291bnRyeSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYWRnZS9iYWRnZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFkZ2UvYmFkZ2UtY29sb3IuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL2JhbmsnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JhbmsvYmFuay1hY2NvdW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL2JhbmstYWNjb3VudC1jaGFydC1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL2JhbmstYWNjb3VudC1wcm9wZXJ0eSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay9iYW5rLWFjY291bnQtdHlwZXMuY29uc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JhbmsvYmFuay1jb25uZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL2JhbmstbG9naW4tZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay9iYW5rLXRyYW5zYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL2JhbmstdHJhbnNhY3Rpb24tY2hhcnQtZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay9iYW5rLXRyYW5zYWN0aW9uLXN1bW1hcnktZmllbGRzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JhbmsvYmFzaXEtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL2Jhc2lxLWpvYic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay9iYXNpcS10b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay90eXBlLWxvYW4uY29uc3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYm9ycm93aW5nLWV4cGVuc2UvYm9ycm93aW5nLWV4cGVuc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JvcnJvd2luZy1leHBlbnNlL2JvcnJvd2luZy1leHBlbnNlLWxvYW4nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhcnQvY2hhcnQtZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhcnQvY2hhcnQtc2VyaWUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLWNhdGVnb3JpZXMuY29uc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLWNhdGVnb3J5LmUtY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtZGVwcmVjaWF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy1oZWFkaW5nJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy1tZXRhZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtdGF4LWxhYmVscy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy12YWx1ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGF0L2NoYXQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXQvY2hhdC12aWV3LXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhdC9tZXNzYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGF0L21lc3NhZ2UtZG9jdW1lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2xpZW50L2NsaWVudC1kZXRhaWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jbGllbnQvY2xpZW50LWluY29tZS10eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2xpZW50L2NsaWVudC1pbnZpdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NsaWVudC9jbGllbnQtbW92ZW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NsaWVudC9jbGllbnQtcG9ydGZvbGlvLWNoYXJ0LWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NsaWVudC9jbGllbnQtcG9ydGZvbGlvLXJlcG9ydCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jb2xvci9hbHBoYWJldC1jb2xvcnMuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kaWN0aW9uYXJ5L2RpY3Rpb25hcnknO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi1jYXBpdGFsLXByb2plY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24tZm9yZWNhc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24tZ3JvdXAuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi1ncm91cCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi1ncm91cC1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLWdyb3Vwcy5jb25zdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi1yZWNlaXB0JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RpY3Rpb25hcnkvZGljdGlvbmFyeSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kb2N1bWVudC9kb2N1bWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZG9jdW1lbnQvZG9jdW1lbnQtYXBpLXVybC1wcmVmaXguZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZG9jdW1lbnQvZG9jdW1lbnQtZmlsZS10eXBlcy5jb25zdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZG9jdW1lbnQvZG9jdW1lbnQtZm9sZGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2VtcGxveWVlL2VtcGxveWVlLWRldGFpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2VtcGxveWVlL2VtcGxveWVlLWludml0ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9lbmRwb2ludC9lbmRwb2ludCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZW5kcG9pbnQvZW5kcG9pbnRzLmNvbnN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9leHBvcnQvZXhwb3J0LWRhdGEtdGFibGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2V4cG9ydC9leHBvcnQtZm9ybWF0LmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZmlsZS9pY29ucy1maWxlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZmluYW5jaWFsLXllYXIvZmluYW5jaWFsLXllYXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2ZpbmFuY2lhbC15ZWFyL21vbnRoLW5hbWUtc2hvcnQuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZmluYW5jaWFsLXllYXIvbW9udGgtbnVtYmVyLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2ZpbmFuY2lhbC15ZWFyL21vbnRocy5jb25zdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9maXJtL2Zpcm0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaW5jb21lLXBvc2l0aW9uL2luY29tZS1wb3NpdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2luY29tZS1zb3VyY2UvaW5jb21lLXNvdXJjZS1jaGFydC1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UtZm9yZWNhc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2luY29tZS1zb3VyY2UvaW5jb21lLXNvdXJjZS10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pbmNvbWUtc291cmNlL3NhbGFyeS1mb3JlY2FzdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaW5jb21lLXNvdXJjZS9zb2xlLWZvcmVjYXN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2xvYW4vbG9hbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbG9hbi9sb2FuLW1heC1udW1iZXItb2YtcGF5bWVudHMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbG9hbi9sb2FuLXBheW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2xvYW4vbG9hbi1wYXlvdXQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wZGYvcGRmLW9yaWVudGF0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3BkZi9wZGYtc2V0dGluZ3MnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcGhvbmUvcGhvbmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvY2FsY3VsYXRpb24tZm9ybS1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9jYWxjdWxhdGlvbi1mb3JtLXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvY2FwaXRhbC1jb3N0cy1pdG1lcy5jb25zdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvY29yZWxvZ2ljLXN1Z2dlc3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3NoYXJlLWZpbHRlci1vcHRpb25zLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktY2F0ZWdvcnktbW92ZW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LWRvY3VtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1lcXVpdHktY2hhcnQtZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktZXF1aXR5LWNoYXJ0LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LWZvcmVjYXN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1zaGFyZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc2FsZS9wcm9wZXJ0eS1zYWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1zYWxlL3RheC1leGVtcHRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvdGF4LWV4ZW1wdGlvbi1tZXRhZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc2FsZS9wcm9wZXJ0eS1zYWxlLXRheC1leGVtcHRpb24tbWV0YWRhdGEnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc3Vic2NyaXB0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS12YWx1YXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcmVnaXN0cmF0aW9uLWludml0ZS9yZWdpc3RyYXRpb24taW52aXRlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3JlcG9ydC9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLWx2cC1yZXBvcnQtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcmVwb3J0L2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24tcmVwb3J0LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3JlcG9ydC9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLWx2cC1hc3NldC10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcmVwb3J0L215LXRheCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9yZXBvcnQvcHJvcGVydHkvcHJvcGVydHktcmVwb3J0LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3JlcG9ydC9wcm9wZXJ0eS9wcm9wZXJ0eS1yZXBvcnQtaXRlbS10cmFuc2FjdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9yZXBvcnQvdmVoaWNsZS1leHBlbnNlL3ZlaGljbGUtZXhwZW5zZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXJ2aWNlLXN1YnNjcmlwdGlvbi9tb2R1bGUtdXJsLWxpc3QuY29uc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2UtcGF5bWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2VydmljZS1zdWJzY3JpcHRpb24vc2VydmljZS1wcmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2VydmljZS1zdWJzY3JpcHRpb24vc2VydmljZS1wcm9kdWN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXJ2aWNlLXN1YnNjcmlwdGlvbi9zZXJ2aWNlLXN1YnNjcmlwdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2VydmljZS1zdWJzY3JpcHRpb24vc2VydmljZS1zdWJzY3JpcHRpb24taXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2VydmljZS1zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLWRlc2NyaXB0aW9uLmNvbnN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXJ2aWNlLXN1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24tdGl0bGUuY29uc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3N1YnNjcmlwdGlvbi10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdGF4LXJldmlldy90YXgtcmV2aWV3JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RheC1zdW1tYXJ5L3JlcG9ydC1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90YXgtc3VtbWFyeS9yZXBvcnQtaXRlbS1kZXRhaWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90YXgtc3VtbWFyeS90YXgtc3VtbWFyeSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdGF4LXN1bW1hcnkvdGF4LXN1bW1hcnktc2VjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdGF4LXN1bW1hcnkvdGF4LXN1bW1hcnktdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RvYXN0L3RvYXN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90b2FzdC90b2FzdC10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdHJhbnNhY3Rpb24vaW5jb21lLWFtb3VudC10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1jYXRlZ29yeS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1tZXRhZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tcmVjZWlwdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy91c2VyL215LWFjY291bnQtaGlzdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci9teS1hY2NvdW50LWhpc3RvcnktaW5pdGlhdGVkLWJ5LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3VzZXIvbXktYWNjb3VudC1oaXN0b3J5LXN0YXR1cy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy91c2VyL215LWFjY291bnQtaGlzdG9yeS10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci9vY2N1cGF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy91c2VyL3VzZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3VzZXIvdXNlci1yb2xlcy5jb25zdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci91c2VyLXRvLXJlZ2lzdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy91c2VyL3VzZXItd29yay1wb3NpdGlvbi5jb25zdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy91c2VyLWV2ZW50L3VzZXItZXZlbnQtdHlwZS1jYXRlZ29yeSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci1ldmVudC91c2VyLWV2ZW50LXNldHRpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3VzZXItZXZlbnQvdXNlci1ldmVudC1zZXR0aW5nLWZpZWxkLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3VzZXItZXZlbnQvdXNlci1ldmVudC10eXBlJztcblxuLyoqXG4gKiBTZXJ2aWNlc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2FjY291bnQtc2V0dXAvYWNjb3VudC1zZXR1cC5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9hZGRyZXNzL2FkZHJlc3Muc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2Fzc2V0L2Fzc2V0cy5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYXV0aC9hdXRoLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYXV0aC9qd3Quc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvYmFuay9iYW5rLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9iYW5rL2JhbmstYWNjb3VudC9iYW5rLWFjY291bnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9iYW5rL2JhbmstYWNjb3VudC1jYWxjdWxhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvYmFuay9iYW5rLWNvbm5lY3Rpb24vYmFuay1jb25uZWN0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9iYW5rL2JhbmstdHJhbnNhY3Rpb24vYmFuay10cmFuc2FjdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2JhbmsvYmFuay10cmFuc2FjdGlvbi1jYWxjdWxhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvYmFuay9iYXNpcS9iYXNpcS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9sb2FuL2JvcnJvd2luZy1leHBlbnNlL2JvcnJvd2luZy1leHBlbnNlLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy1kZXByZWNpYXRpb25zL2NoYXJ0LWFjY291bnRzLWRlcHJlY2lhdGlvbnMuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvY2hhdC9jaGF0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9jaGF0L21lc3NhZ2UvbWVzc2FnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvY2hhdC9tZXNzYWdlLWRvY3VtZW50L21lc3NhZ2UtZG9jdW1lbnQuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvZmlybS9jbGllbnQtaW52aXRlL2NsaWVudC1pbnZpdGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2Zpcm0vY2xpZW50LW1vdmVtZW50L2NsaWVudC1tb3ZlbWVudC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvZmlybS9wb3J0Zm9saW8tcmVwb3J0L2NsaWVudC1wb3J0Zm9saW8tcmVwb3J0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9maXJtL3BvcnRmb2xpby1yZXBvcnQvY2xpZW50LXBvcnRmb2xpby1yZXBvcnQuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvZGVwcmVjaWF0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9kb2N1bWVudC9kb2N1bWVudC1mb2xkZXIvZG9jdW1lbnQtZm9sZGVyLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2Zpcm0vZW1wbG95ZWUvZW1wbG95ZWUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2Zpcm0vZW1wbG95ZWUtaW52aXRlL2VtcGxveWVlLWludml0ZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvZmlybS9jbGllbnQtaW5jb21lL2NsaWVudC1pbmNvbWUtdHlwZXMuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2V2ZW50L2V2ZW50LWRpc3BhdGNoZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9ldmVudC9zc2Uuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvZmlybS9maXJtLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9leHBvcnQvZXhwb3J0LWZvcm1hdHRlci5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaGVhZGVyLXRpdGxlL2hlYWRlci10aXRsZS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2luY29tZS1zb3VyY2UvaW5jb21lLXNvdXJjZS1mb3JlY2FzdC9pbmNvbWUtc291cmNlLWZvcmVjYXN0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9pbmNvbWUtc291cmNlL3NhbGFyeS1mb3JlY2FzdC9zYWxhcnktZm9yZWNhc3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2luY29tZS1zb3VyY2Uvc29sZS1mb3JlY2FzdC9zb2xlLWZvcmVjYXN0LnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9pbnRlcmNvbS9pbnRlcmNvbS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMva29tcGFzc2lmeS9rb21wYXNzaWZ5LnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2xvYW4vbG9hbi5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9zZXJ2aWNlLW5vdGlmaWNhdGlvbi9zZXJ2aWNlLW5vdGlmaWNhdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcGRmL3BkZi1mcm9tLWRvbS1lbGVtZW50L3BkZi1mcm9tLWRvbS1lbGVtZW50LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcGRmL3BkZi1mcm9tLXRhYmxlL3BkZi1mcm9tLWh0bWwtdGFibGUvcGRmLWZyb20taHRtbC10YWJsZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3BkZi9wZGYtZnJvbS10YWJsZS9wZGYtZnJvbS1kYXRhLXRhYmxlL3BkZi1mcm9tLWRhdGEtdGFibGUuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3ByZWxvYWRlci9wcmVsb2FkZXIuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3JlcG9ydC9wcm9wZXJ0eS9wcm9wZXJ0eS10cmFuc2FjdGlvbi1yZXBvcnQuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3Byb3BlcnR5L2NvcmVsb2dpYy9jb3JlbG9naWMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3Byb3BlcnR5L3Byb3BlcnR5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcHJvcGVydHkvcHJvcGVydHktY2FsY3VsYXRpb24vcHJvcGVydHktY2FsY3VsYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3Byb3BlcnR5L3Byb3BlcnR5LWNhdGVnb3J5L3Byb3BlcnR5LWNhdGVnb3J5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9wcm9wZXJ0eS9wcm9wZXJ0eS1kb2N1bWVudC9wcm9wZXJ0eS1kb2N1bWVudC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvcHJvcGVydHkvcHJvcGVydHktc2hhcmUvcHJvcGVydHktc2hhcmUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvcHJvcGVydHktc2FsZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3Byb3BlcnR5L2VxdWl0eS1wb3NpdGlvbi1jaGFydC9lcXVpdHktcG9zaXRpb24tY2hhcnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3Byb3BlcnR5L3Byb3BlcnR5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1tb3ZlbWVudC9wcm9wZXJ0eS1jYXRlZ29yeS1tb3ZlbWVudC5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9zdWJzY3JpcHRpb24vc2VydmljZS1wcmljZS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC90YXgtcmV2aWV3L3RheC1yZXZpZXcuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3RheC1yZXZpZXcvdGF4LXJldmlldy1oaXN0b3J5L3RheC1yZXZpZXctaGlzdG9yeS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC90YXgtc3VtbWFyeS90YXgtc3VtbWFyeS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdG9hc3QvdG9hc3Quc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tY2FsY3VsYXRpb24uc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvdXNlci9vY2N1cGF0aW9uL29jY3VwYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3VzZXIvdXNlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3VzZXIvdXNlci1zd2l0Y2hlci5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC91c2VyL3VzZXItZXZlbnQtc2V0dGluZy91c2VyLWV2ZW50LXNldHRpbmcuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3VzZXIvdXNlci1ldmVudC10eXBlL3VzZXItZXZlbnQtdHlwZS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMveGxzeC94bHN4LnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvdGF4LWV4ZW1wdGlvbi90YXgtZXhlbXB0aW9uLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2ZhY2Vib29rL2ZhY2Vib29rLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3R1dG9yaWFsLXZpZGVvL3R1dG9yaWFsLXZpZGVvLnNlcnZpY2UnO1xuXG4vKipcbiAqIEludGVyZmFjZXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9hc3NldC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9hc3NldC1lbnRpdHktdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvYXNzZXQtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvY2hhcnQtZGF0YS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9jaGFydC1zZXJpZS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9kb2N1bWVudC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9kb2N1bWVudGFibGUuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvZXZlbnQtbGlzdGVuZXIuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvaW5jb21lLXNvdXJjZS1mb3JlY2FzdC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9vcHRpb24uaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvcGhvdG9hYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvcmVjZWlwdC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy90YW5rLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL3RhYmxlLWV4cG9ydGFibGUuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvdXBkYXRhYmxlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2V4cGVuc2UuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvdHV0b3JpYWwtdmlkZW8vdmlkZW8tc291cmNlLmludGVyZmFjZSc7XG5cbi8qKlxuICogRnVuY3Rpb25zXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1bmN0aW9ucy9jbG9uZS1kZWVwJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1bmN0aW9ucy9jcmVhdGUtZGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mdW5jdGlvbnMvZW51bS10by1saXN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1bmN0aW9ucy9nZXQtZG9jLWljb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZnVuY3Rpb25zL21hdC1vcHRpb25zLWZ1bmN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mdW5jdGlvbnMvbWF0LXNvcnQtb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mdW5jdGlvbnMvcm91bmQtdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZnVuY3Rpb25zL3RheC1yZXZpZXctZmlsdGVyLXByZWRpY2F0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mdW5jdGlvbnMvYXJyYXknO1xuXG4vKipcbiAqIEludGVyY2VwdG9yc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmNlcHRvcnMvaW50ZXJjZXB0b3JzLm1vZHVsZSc7XG5cbi8qKlxuICogRm9ybXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmFsaWRhdG9ycyc7XG4iXX0=
413
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0ZBQW9GO0FBRXBGOztHQUVHO0FBQ0gsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQzs7R0FFRztBQUNILGNBQWMsbUJBQW1CLENBQUM7QUFFbEMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxtRUFBbUUsQ0FBQztBQUNsRixjQUFjLCtFQUErRSxDQUFDO0FBQzlGLGNBQWMsMkVBQTJFLENBQUM7QUFDMUYsY0FBYyxtRUFBbUUsQ0FBQztBQUNsRixjQUFjLCtFQUErRSxDQUFDO0FBQzlGLGNBQWMsZ0ZBQWdGLENBQUM7QUFDL0YsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsaUVBQWlFLENB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YyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBUT0RPIEFsZXg6IENyZWF0ZSBpbmRleGVzIGV2ZXJ5d2hlcmUgYW5kIGJyZWFrIHRoaXMgZmlsZSB0byBpbXBvcnRzIGZyb20gaW5kZXhlc1xuXG4vKipcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0dC1jb3JlXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL3R0LWNvcmUubW9kdWxlJztcblxuLyoqXG4gKiBDb2xsZWN0aW9uc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2NvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvYWNjb3VudC1zZXR1cC1pdGVtLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvYmFuay1hY2NvdW50LmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvYmFuay10cmFuc2FjdGlvbi5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2NoYXJ0LWFjY291bnRzLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvY2xpZW50LmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvY2xpZW50LW1vdmVtZW50LmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvY2xpZW50LXBvcnRmb2xpby1yZXBvcnQuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9jb2xsZWN0aW9uLWRpY3Rpb25hcnknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvZGVwcmVjaWF0aW9uLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvZGVwcmVjaWF0aW9uLWZvcmVjYXN0LmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvZW1wbG95ZWUuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9pbmNvbWUtc291cmNlLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvbG9hbi9sb2FuLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvbG9hbi9sb2FuLXBheW1lbnQuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9tZXNzYWdlLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvbWVzc2FnZS1kb2N1bWVudC5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL3Byb3BlcnR5L3Byb3BlcnR5LmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvcHJvcGVydHkvcHJvcGVydHktc2FsZS9wcm9wZXJ0eS1zYWxlLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvcmVwb3J0L2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24tbHZwLXJlcG9ydC1pdGVtLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvcmVwb3J0L2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24tcmVwb3J0LWl0ZW0uY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9yZXBvcnQvcHJvcGVydHkvcHJvcGVydHktcmVwb3J0LWl0ZW0uY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9yZXBvcnQvcHJvcGVydHkvcHJvcGVydHktcmVwb3J0LWl0ZW0tdHJhbnNhY3Rpb24uY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9yZXBvcnQvcHJvcGVydHkvcHJvcGVydHktcmVwb3J0LWl0ZW0tZGVwcmVjaWF0aW9uLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvcmVwb3J0L3ZlaGljbGUtZXhwZW5zZS92ZWhpY2xlLWV4cGVuc2UuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy9zdWJzY3JpcHRpb24vc2VydmljZS1zdWJzY3JpcHRpb24uY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy90YXgtc3VtbWFyeS9yZXBvcnQtaXRlbS5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL3RheC1zdW1tYXJ5L3RheC1yZXR1cm4tY2F0ZWdvcmllcy5jb25zdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9ucy90YXgtcmV2aWV3LmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvdXNlci1ldmVudC1zZXR0aW5nLmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMvZXhwb3J0YWJsZS5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxlY3Rpb25zL2NsaWVudC1pbnZpdGUuY29sbGVjdGlvbic7XG5cbi8qKlxuICogREIgbW9kZWxzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL01vZGVscy9hYnN0cmFjdC1tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9Nb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tYmFzZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy1jYXRlZ29yeS5lLWNvbGxlY3Rpb24nO1xuXG4vKipcbiAqIERCIGVudW1zXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2FkZHJlc3MtdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvYmFuay1hY2NvdW50LXN0YXR1cy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2JhbmstYWNjb3VudC10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvYmFuay1jb25uZWN0aW9uLXN0YXR1cy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2JhbmstdHJhbnNhY3Rpb24tdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtY2F0ZWdvcnkuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1ldHAuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1oZWFkaW5nLWxpc3QuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1oZWFkaW5nLXRheGFibGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1oZWFkaW5nLWxpc3QuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1oZWFkaW5nLXRheC1kZWR1Y3RpYmxlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtaGVhZGluZy12ZWhpY2xlLWxpc3QuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1saXN0LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtbWV0YWRhdGEtbGlzdC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLW1ldGFkYXRhLXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2hhdC1zdGF0dXMuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NsaWVudC1kZXRhaWxzLW1lZGljYXJlLWV4ZW1wdGlvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NsaWVudC1kZXRhaWxzLXdvcmstZGVwcmVjaWF0aW9uLWNhbGN1bGF0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvY2xpZW50LWRldGFpbHMtd29ya2luZy1ob2xpZGF5LW1ha2VyLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9jbGllbnQtaW52aXRlLXN0YXR1cy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2NsaWVudC1pbnZpdGUtdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvZGVwcmVjaWF0aW9uLWNhbGN1bGF0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvZGVwcmVjaWF0aW9uLWNhbGN1bGF0aW9uLXBlcmNlbnQuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9kZXByZWNpYXRpb24tdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2RlcHJlY2lhdGlvbi13cml0ZS1vZmYtYW1vdW50LmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9maXJtLXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2luY29tZS1zb3VyY2UtZm9yZWNhc3QtdHJ1c3QtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2luY29tZS1zb3VyY2UtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2luY29tZS1zb3VyY2UtdHlwZS1saXN0LW90aGVyLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvaW5jb21lLXNvdXJjZS10eXBlLWxpc3Qtc29sZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2luY29tZS1zb3VyY2UtdHlwZS1saXN0LXdvcmsuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2ludml0ZS1zdGF0dXMuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2xvYW4tYmFuay10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvbG9hbi1mcmVxdWVuY3kuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9sb2FuLWludGVyZXN0LXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9sb2FuLXBheW91dC10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvbG9hbi1yZXBheW1lbnQtZnJlcXVlbmN5LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvbG9hbi1yZXBheW1lbnQtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2xvYW4tdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL2xvYW4tdmVoaWNsZS10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9waG9uZS10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1kZXByZWNpYXRpb24tY2FsY3VsYXRpb24uZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1saXN0LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvcHJvcGVydHkvcHJvcGVydHktc2hhcmUtYWNjZXNzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvcHJvcGVydHkvcHJvcGVydHktc2hhcmUtc3RhdHVzLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9yZWdpc3RyYXRpb24taW52aXRlLXN0YXR1cy5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc2FsYXJ5LWZvcmVjYXN0LWZyZXF1ZW5jeS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc2VydmljZS1ub3RpZmljYXRpb24tc3RhdHVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc2VydmljZS1ub3RpZmljYXRpb24tdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc29sZS1kZXByZWNpYXRpb24tbWV0aG9kLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc29sZS1pbnZvaWNlLXN0YXR1c2VzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc29sZS1pbnZvaWNlLXRlbXBsYXRlLXRheC10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy9zdWJzY3JpcHRpb24vc2VydmljZS1wYXltZW50LXN0YXR1cy5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc3Vic2NyaXB0aW9uL3NlcnZpY2UtcHJpY2UtcmVjdXJyaW5nLWludGVydmFsLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc3Vic2NyaXB0aW9uL3NlcnZpY2UtcHJpY2UtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3N1YnNjcmlwdGlvbi9zZXJ2aWNlLXByb2R1Y3Qtc3RhdHVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc3Vic2NyaXB0aW9uL3NlcnZpY2UtcHJvZHVjdC1pZC5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc3Vic2NyaXB0aW9uL3NlcnZpY2Utc3Vic2NyaXB0aW9uLXN0YXR1cy5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvc3BhcmUtZG9jdW1lbnQtc3BhcmUtdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90YXgtY2FsY3VsYXRpb24tbWVkaWNhcmUtZXhlbXB0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdGF4LWNhbGN1bGF0aW9uLXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RheC1yZXR1cm4tY2F0ZWdvcnktbGlzdC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RheC1yZXR1cm4tY2F0ZWdvcnktc2VjdGlvbi5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdGF4LXJldmlldy1zdGF0dXMuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RheC1zdW1tYXJ5LWxpc3QuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90YXgtc3VtbWFyeS1zZWN0aW9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdGF4LXN1bW1hcnktdGF4LXN1bW1hcnkuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RpY2tldC1mZWVkYmFjay5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RpY2tldC1zdGF0dXMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy90aWNrZXQtdHlwZXMuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RyYW5zYWN0aW9uLW9wZXJhdGlvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RyYW5zYWN0aW9uLXNvdXJjZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3RyYW5zYWN0aW9uLXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3VzZXItZXZlbnQtc3RhdHVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdXNlci1ldmVudC10eXBlLWZyZXF1ZW5jeS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3VzZXItZXZlbnQtdHlwZS11c2VyLXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy91c2VyLWV2ZW50LXR5cGUtZW1wbG95ZWUtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3VzZXItZXZlbnQtdHlwZS1jbGllbnQtdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdXNlci1tZWRpY2FyZS1leGVtcHRpb24uZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy91c2VyLXJvbGVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdXNlci1zdGF0dXMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy91c2VyLXRpdGxlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdXNlci13b3JrLWRlcHJlY2lhdGlvbi1jYWxjdWxhdGlvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3VzZXItd29ya2luZy1ob2xpZGF5LW1ha2VyLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYi9FbnVtcy92ZWhpY2xlLWNsYWltLWRldGFpbHMtbWV0aG9kLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGIvRW51bXMvdmVoaWNsZS1sb2dib29rLXB1cnBvc2UuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvdGF4LWV4ZW1wdGlvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RiL0VudW1zL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvdGF4LWV4ZW1wdGlvbi1tZXRhZGF0YS5lbnVtJztcblxuLyoqXG4gKiBNb2RlbHMgYW5kIHJlbGF0ZWQgZW51bXMgYW5kIGNvbnN0c1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYWNjb3VudC1zZXR1cC9hY2NvdW50LXNldHVwLWl0ZW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYWRkcmVzcy9hZGRyZXNzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9hZGRyZXNzL2NvdW50cnknO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFkZ2UvYmFkZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JhZGdlL2JhZGdlLWNvbG9yLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay9iYW5rJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL2JhbmstYWNjb3VudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay9iYW5rLWFjY291bnQtY2hhcnQtZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay9iYW5rLWFjY291bnQtcHJvcGVydHknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JhbmsvYmFuay1hY2NvdW50LXR5cGVzLmNvbnN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL2JhbmstY29ubmVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay9iYW5rLWxvZ2luLWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JhbmsvYmFuay10cmFuc2FjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay9iYW5rLXRyYW5zYWN0aW9uLWNoYXJ0LWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JhbmsvYmFuay10cmFuc2FjdGlvbi1zdW1tYXJ5LWZpZWxkcy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYW5rL2Jhc2lxLWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFuay9iYXNpcS1qb2InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JhbmsvYmFzaXEtdG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JhbmsvdHlwZS1sb2FuLmNvbnN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2JvcnJvd2luZy1leHBlbnNlL2JvcnJvd2luZy1leHBlbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9ib3Jyb3dpbmctZXhwZW5zZS9ib3Jyb3dpbmctZXhwZW5zZS1sb2FuJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXJ0L2NoYXJ0LWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXJ0L2NoYXJ0LXNlcmllJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy1jYXRlZ29yaWVzLmNvbnN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy1jYXRlZ29yeS5lLWNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLWRlcHJlY2lhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtaGVhZGluZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtbWV0YWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLXRheC1sYWJlbHMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtdmFsdWUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhdC9jaGF0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGF0L2NoYXQtdmlldy10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NoYXQvbWVzc2FnZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhdC9tZXNzYWdlLWRvY3VtZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NsaWVudC9jbGllbnQtZGV0YWlscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2xpZW50L2NsaWVudC1pbmNvbWUtdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NsaWVudC9jbGllbnQtaW52aXRlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jbGllbnQvY2xpZW50LW1vdmVtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jbGllbnQvY2xpZW50LXBvcnRmb2xpby1jaGFydC1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jbGllbnQvY2xpZW50LXBvcnRmb2xpby1yZXBvcnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY29sb3IvYWxwaGFiZXQtY29sb3JzLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGljdGlvbmFyeS9kaWN0aW9uYXJ5JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24tY2FwaXRhbC1wcm9qZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLWZvcmVjYXN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLWdyb3VwLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24tZ3JvdXAnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24tZ3JvdXAtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi1ncm91cHMuY29uc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24tcmVjZWlwdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kaWN0aW9uYXJ5L2RpY3Rpb25hcnknO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZG9jdW1lbnQvZG9jdW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RvY3VtZW50L2RvY3VtZW50LWFwaS11cmwtcHJlZml4LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RvY3VtZW50L2RvY3VtZW50LWZpbGUtdHlwZXMuY29uc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RvY3VtZW50L2RvY3VtZW50LWZvbGRlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9lbXBsb3llZS9lbXBsb3llZS1kZXRhaWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9lbXBsb3llZS9lbXBsb3llZS1pbnZpdGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZW5kcG9pbnQvZW5kcG9pbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2VuZHBvaW50L2VuZHBvaW50cy5jb25zdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZXhwb3J0L2V4cG9ydC1kYXRhLXRhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9leHBvcnQvZXhwb3J0LWZvcm1hdC5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2ZpbGUvaWNvbnMtZmlsZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2ZpbmFuY2lhbC15ZWFyL2ZpbmFuY2lhbC15ZWFyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9maW5hbmNpYWwteWVhci9tb250aC1uYW1lLXNob3J0LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2ZpbmFuY2lhbC15ZWFyL21vbnRoLW51bWJlci5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9maW5hbmNpYWwteWVhci9tb250aHMuY29uc3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZmlybS9maXJtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2luY29tZS1wb3NpdGlvbi9pbmNvbWUtcG9zaXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaW5jb21lLXNvdXJjZS9pbmNvbWUtc291cmNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UtY2hhcnQtZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaW5jb21lLXNvdXJjZS9pbmNvbWUtc291cmNlLWZvcmVjYXN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UtdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaW5jb21lLXNvdXJjZS9zYWxhcnktZm9yZWNhc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2luY29tZS1zb3VyY2Uvc29sZS1mb3JlY2FzdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9sb2FuL2xvYW4nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2xvYW4vbG9hbi1tYXgtbnVtYmVyLW9mLXBheW1lbnRzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2xvYW4vbG9hbi1wYXltZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9sb2FuL2xvYW4tcGF5b3V0JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcGRmL3BkZi1vcmllbnRhdGlvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wZGYvcGRmLXNldHRpbmdzJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Bob25lL3Bob25lJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L2NhbGN1bGF0aW9uLWZvcm0taXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvY2FsY3VsYXRpb24tZm9ybS10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L2NhcGl0YWwtY29zdHMtaXRtZXMuY29uc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L2NvcmVsb2dpYy1zdWdnZXN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9zaGFyZS1maWx0ZXItb3B0aW9ucy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktY2F0ZWdvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LWNhdGVnb3J5LW1vdmVtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1kb2N1bWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktZXF1aXR5LWNoYXJ0LWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LWVxdWl0eS1jaGFydC1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1mb3JlY2FzdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc2hhcmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvcHJvcGVydHktc2FsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc2FsZS90YXgtZXhlbXB0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1zYWxlL3RheC1leGVtcHRpb24tbWV0YWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvcHJvcGVydHktc2FsZS10YXgtZXhlbXB0aW9uLW1ldGFkYXRhJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXN1YnNjcmlwdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktdmFsdWF0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3JlZ2lzdHJhdGlvbi1pbnZpdGUvcmVnaXN0cmF0aW9uLWludml0ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9yZXBvcnQvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi1sdnAtcmVwb3J0LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3JlcG9ydC9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLXJlcG9ydC1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9yZXBvcnQvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi1sdnAtYXNzZXQtdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3JlcG9ydC9teS10YXgnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcmVwb3J0L3Byb3BlcnR5L3Byb3BlcnR5LXJlcG9ydC1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9yZXBvcnQvcHJvcGVydHkvcHJvcGVydHktcmVwb3J0LWl0ZW0tdHJhbnNhY3Rpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcmVwb3J0L3ZlaGljbGUtZXhwZW5zZS92ZWhpY2xlLWV4cGVuc2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2VydmljZS1zdWJzY3JpcHRpb24vbW9kdWxlLXVybC1saXN0LmNvbnN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXJ2aWNlLXN1YnNjcmlwdGlvbi9zZXJ2aWNlLXBheW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2UtcHJpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2UtcHJvZHVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2VydmljZS1zdWJzY3JpcHRpb24vc2VydmljZS1zdWJzY3JpcHRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2Utc3Vic2NyaXB0aW9uLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3N1YnNjcmlwdGlvbi1kZXNjcmlwdGlvbi5jb25zdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2VydmljZS1zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLXRpdGxlLmNvbnN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXJ2aWNlLXN1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24tdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RheC1yZXZpZXcvdGF4LXJldmlldyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90YXgtc3VtbWFyeS9yZXBvcnQtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdGF4LXN1bW1hcnkvcmVwb3J0LWl0ZW0tZGV0YWlscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdGF4LXN1bW1hcnkvdGF4LXN1bW1hcnknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RheC1zdW1tYXJ5L3RheC1zdW1tYXJ5LXNlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RheC1zdW1tYXJ5L3RheC1zdW1tYXJ5LXR5cGUuZW51bSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90b2FzdC90b2FzdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdG9hc3QvdG9hc3QtdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RyYW5zYWN0aW9uL2luY29tZS1hbW91bnQtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tY2F0ZWdvcnkuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tbWV0YWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLXJlY2VpcHQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci9teS1hY2NvdW50LWhpc3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3VzZXIvbXktYWNjb3VudC1oaXN0b3J5LWluaXRpYXRlZC1ieS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy91c2VyL215LWFjY291bnQtaGlzdG9yeS1zdGF0dXMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci9teS1hY2NvdW50LWhpc3RvcnktdHlwZS5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3VzZXIvb2NjdXBhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci91c2VyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy91c2VyL3VzZXItcm9sZXMuY29uc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3VzZXIvdXNlci10by1yZWdpc3Rlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci91c2VyLXdvcmstcG9zaXRpb24uY29uc3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdXNlci1ldmVudC91c2VyLWV2ZW50LXR5cGUtY2F0ZWdvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3VzZXItZXZlbnQvdXNlci1ldmVudC1zZXR0aW5nJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy91c2VyLWV2ZW50L3VzZXItZXZlbnQtc2V0dGluZy1maWVsZC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy91c2VyLWV2ZW50L3VzZXItZXZlbnQtdHlwZSc7XG5cbi8qKlxuICogU2VydmljZXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hY2NvdW50LXNldHVwL2FjY291bnQtc2V0dXAuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvYWRkcmVzcy9hZGRyZXNzLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hc3NldC9hc3NldHMuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2F1dGgvYXV0aC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2F1dGgvand0LnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2JhbmsvYmFuay5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvYmFuay9iYW5rLWFjY291bnQvYmFuay1hY2NvdW50LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYmFuay9iYW5rLWFjY291bnQtY2FsY3VsYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2JhbmsvYmFuay1jb25uZWN0aW9uL2JhbmstY29ubmVjdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvYmFuay9iYW5rLXRyYW5zYWN0aW9uL2JhbmstdHJhbnNhY3Rpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9iYW5rL2JhbmstdHJhbnNhY3Rpb24tY2FsY3VsYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2JhbmsvYmFzaXEvYmFzaXEuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvbG9hbi9ib3Jyb3dpbmctZXhwZW5zZS9ib3Jyb3dpbmctZXhwZW5zZS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtZGVwcmVjaWF0aW9ucy9jaGFydC1hY2NvdW50cy1kZXByZWNpYXRpb25zLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2NoYXQvY2hhdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvY2hhdC9tZXNzYWdlL21lc3NhZ2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2NoYXQvbWVzc2FnZS1kb2N1bWVudC9tZXNzYWdlLWRvY3VtZW50LnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2Zpcm0vY2xpZW50LWludml0ZS9jbGllbnQtaW52aXRlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9maXJtL2NsaWVudC1tb3ZlbWVudC9jbGllbnQtbW92ZW1lbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2Zpcm0vcG9ydGZvbGlvLXJlcG9ydC9jbGllbnQtcG9ydGZvbGlvLXJlcG9ydC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvZmlybS9wb3J0Zm9saW8tcmVwb3J0L2NsaWVudC1wb3J0Zm9saW8tcmVwb3J0LnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2RlcHJlY2lhdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvZG9jdW1lbnQvZG9jdW1lbnQtZm9sZGVyL2RvY3VtZW50LWZvbGRlci5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9maXJtL2VtcGxveWVlL2VtcGxveWVlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9maXJtL2VtcGxveWVlLWludml0ZS9lbXBsb3llZS1pbnZpdGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2Zpcm0vY2xpZW50LWluY29tZS9jbGllbnQtaW5jb21lLXR5cGVzLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZXZlbnQvc3NlLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL2Zpcm0vZmlybS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZXhwb3J0L2V4cG9ydC1mb3JtYXR0ZXIuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2hlYWRlci10aXRsZS9oZWFkZXItdGl0bGUuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvaW5jb21lLXNvdXJjZS9pbmNvbWUtc291cmNlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UtZm9yZWNhc3QvaW5jb21lLXNvdXJjZS1mb3JlY2FzdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvaW5jb21lLXNvdXJjZS9zYWxhcnktZm9yZWNhc3Qvc2FsYXJ5LWZvcmVjYXN0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9pbmNvbWUtc291cmNlL3NvbGUtZm9yZWNhc3Qvc29sZS1mb3JlY2FzdC5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaW50ZXJjb20vaW50ZXJjb20uc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2tvbXBhc3NpZnkva29tcGFzc2lmeS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9sb2FuL2xvYW4uc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvc2VydmljZS1ub3RpZmljYXRpb24vc2VydmljZS1ub3RpZmljYXRpb24uc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3BkZi9wZGYtZnJvbS1kb20tZWxlbWVudC9wZGYtZnJvbS1kb20tZWxlbWVudC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3BkZi9wZGYtZnJvbS10YWJsZS9wZGYtZnJvbS1odG1sLXRhYmxlL3BkZi1mcm9tLWh0bWwtdGFibGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wZGYvcGRmLWZyb20tdGFibGUvcGRmLWZyb20tZGF0YS10YWJsZS9wZGYtZnJvbS1kYXRhLXRhYmxlLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wcmVsb2FkZXIvcHJlbG9hZGVyLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9yZXBvcnQvcHJvcGVydHkvcHJvcGVydHktdHJhbnNhY3Rpb24tcmVwb3J0LnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wcm9wZXJ0eS9jb3JlbG9naWMvY29yZWxvZ2ljLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9wcm9wZXJ0eS9wcm9wZXJ0eS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3Byb3BlcnR5L3Byb3BlcnR5LWNhbGN1bGF0aW9uL3Byb3BlcnR5LWNhbGN1bGF0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS9wcm9wZXJ0eS1jYXRlZ29yeS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvcHJvcGVydHkvcHJvcGVydHktZG9jdW1lbnQvcHJvcGVydHktZG9jdW1lbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3Byb3BlcnR5L3Byb3BlcnR5LXNoYXJlL3Byb3BlcnR5LXNoYXJlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9wcm9wZXJ0eS9wcm9wZXJ0eS1zYWxlL3Byb3BlcnR5LXNhbGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wcm9wZXJ0eS9lcXVpdHktcG9zaXRpb24tY2hhcnQvZXF1aXR5LXBvc2l0aW9uLWNoYXJ0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9wcm9wZXJ0eS9wcm9wZXJ0eS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvcHJvcGVydHkvcHJvcGVydHktY2F0ZWdvcnktbW92ZW1lbnQvcHJvcGVydHktY2F0ZWdvcnktbW92ZW1lbnQuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvc3Vic2NyaXB0aW9uL3N1YnNjcmlwdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvc3Vic2NyaXB0aW9uL3NlcnZpY2UtcHJpY2Uuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvdGF4LXJldmlldy90YXgtcmV2aWV3LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC90YXgtcmV2aWV3L3RheC1yZXZpZXctaGlzdG9yeS90YXgtcmV2aWV3LWhpc3Rvcnkuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvdGF4LXN1bW1hcnkvdGF4LXN1bW1hcnkuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RvYXN0L3RvYXN0LnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24uc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLWNhbGN1bGF0aW9uLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3VzZXIvb2NjdXBhdGlvbi9vY2N1cGF0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC91c2VyL3VzZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy91c2VyL3VzZXItc3dpdGNoZXIuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2h0dHAvdXNlci91c2VyLWV2ZW50LXNldHRpbmcvdXNlci1ldmVudC1zZXR0aW5nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC91c2VyL3VzZXItZXZlbnQtdHlwZS91c2VyLWV2ZW50LXR5cGUuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3hsc3gveGxzeC5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9wcm9wZXJ0eS9wcm9wZXJ0eS1zYWxlL3RheC1leGVtcHRpb24vdGF4LWV4ZW1wdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC9mYWNlYm9vay9mYWNlYm9vay5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaHR0cC90dXRvcmlhbC12aWRlby90dXRvcmlhbC12aWRlby5zZXJ2aWNlJztcblxuLyoqXG4gKiBJbnRlcmZhY2VzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvYXNzZXQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvYXNzZXQtZW50aXR5LXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2Fzc2V0LXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2NoYXJ0LWRhdGEuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvY2hhcnQtc2VyaWUuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvZG9jdW1lbnQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvZG9jdW1lbnRhYmxlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2luY29tZS1zb3VyY2UtZm9yZWNhc3QuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvb3B0aW9uLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL3Bob3RvYWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL3JlY2VpcHQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvdGFuay5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy90YWJsZS1leHBvcnRhYmxlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL3VwZGF0YWJsZS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9leHBlbnNlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9odHRwL3R1dG9yaWFsLXZpZGVvL3ZpZGVvLXNvdXJjZS5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEZ1bmN0aW9uc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mdW5jdGlvbnMvY2xvbmUtZGVlcCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mdW5jdGlvbnMvY3JlYXRlLWRhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZnVuY3Rpb25zL2VudW0tdG8tbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mdW5jdGlvbnMvZ2V0LWRvYy1pY29uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1bmN0aW9ucy9tYXQtb3B0aW9ucy1mdW5jdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZnVuY3Rpb25zL21hdC1zb3J0LW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZnVuY3Rpb25zL3JvdW5kLXRvJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1bmN0aW9ucy90YXgtcmV2aWV3LWZpbHRlci1wcmVkaWNhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZnVuY3Rpb25zL2FycmF5JztcblxuLyoqXG4gKiBJbnRlcmNlcHRvcnNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJjZXB0b3JzL2ludGVyY2VwdG9ycy5tb2R1bGUnO1xuXG4vKipcbiAqIEZvcm1zXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZhbGlkYXRvcnMnO1xuIl19