taxtank-core 0.33.59 → 0.33.61

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. package/esm2022/src/lib/collections/asset-sale.collection.mjs +4 -1
  2. package/esm2022/src/lib/collections/collection-dictionary.mjs +10 -1
  3. package/esm2022/src/lib/collections/collection.mjs +1 -1
  4. package/esm2022/src/lib/collections/holding/holding-sale.collection.mjs +3 -3
  5. package/esm2022/src/lib/collections/holding/holding-trade.collection.mjs +78 -0
  6. package/esm2022/src/lib/collections/holding/holding.collection.mjs +19 -54
  7. package/esm2022/src/lib/collections/holding/index.mjs +3 -2
  8. package/esm2022/src/lib/db/Enums/holding/holding-trade-type.enum.mjs +6 -0
  9. package/esm2022/src/lib/db/Enums/holding/holding-type-category.enum.mjs +1 -1
  10. package/esm2022/src/lib/db/Enums/holding/index.mjs +2 -1
  11. package/esm2022/src/lib/db/Models/holding/holding-sale.mjs +1 -1
  12. package/esm2022/src/lib/db/Models/holding/holding-trade-import.mjs +3 -0
  13. package/esm2022/src/lib/db/Models/holding/holding-trade.mjs +3 -0
  14. package/esm2022/src/lib/db/Models/holding/index.mjs +2 -2
  15. package/esm2022/src/lib/forms/abstract.form.mjs +12 -2
  16. package/esm2022/src/lib/forms/bank/bank-account/bank-account-properties.form.mjs +3 -4
  17. package/esm2022/src/lib/forms/holding/holding-reinvest.form.mjs +14 -14
  18. package/esm2022/src/lib/forms/holding/holding-sale.form.mjs +3 -2
  19. package/esm2022/src/lib/forms/holding/holding-trade/holding-trade-filter.form.mjs +25 -0
  20. package/esm2022/src/lib/forms/holding/holding-trade/holding-trade.form.mjs +30 -0
  21. package/esm2022/src/lib/forms/holding/holding-trade/index.mjs +3 -0
  22. package/esm2022/src/lib/forms/holding/holding-trade-import.form.mjs +25 -0
  23. package/esm2022/src/lib/forms/holding/index.mjs +3 -3
  24. package/esm2022/src/lib/models/endpoint/endpoints.const.mjs +9 -9
  25. package/esm2022/src/lib/models/holding/holding-reinvest.mjs +4 -4
  26. package/esm2022/src/lib/models/holding/holding-sale.mjs +10 -1
  27. package/esm2022/src/lib/models/holding/holding-trade-import.mjs +16 -0
  28. package/esm2022/src/lib/models/holding/holding-trade.mjs +77 -0
  29. package/esm2022/src/lib/models/holding/holding-type-exchange.mjs +4 -1
  30. package/esm2022/src/lib/models/holding/holding-type.mjs +4 -1
  31. package/esm2022/src/lib/models/holding/holding.mjs +44 -71
  32. package/esm2022/src/lib/models/holding/index.mjs +4 -3
  33. package/esm2022/src/lib/services/account-setup/account-setup.service.mjs +3 -3
  34. package/esm2022/src/lib/services/http/holding/holding-trade-import/holding-trade-import-messages.enum.mjs +9 -0
  35. package/esm2022/src/lib/services/http/holding/holding-trade-import/holding-trade-import.service.mjs +37 -0
  36. package/esm2022/src/lib/services/http/holding/holding-trade-messages.enum.mjs +10 -0
  37. package/esm2022/src/lib/services/http/holding/holding-trade.service.mjs +44 -0
  38. package/esm2022/src/lib/services/http/holding/index.mjs +5 -6
  39. package/esm2022/src/lib/services/http/rest/rest.service.mjs +8 -6
  40. package/esm2022/src/lib/services/http/transaction/transaction-allocation/allocation-rule/allocation-rule.service.mjs +5 -3
  41. package/fesm2022/taxtank-core.mjs +347 -193
  42. package/fesm2022/taxtank-core.mjs.map +1 -1
  43. package/package.json +1 -1
  44. package/src/lib/collections/asset-sale.collection.d.ts +3 -0
  45. package/src/lib/collections/collection-dictionary.d.ts +1 -0
  46. package/src/lib/collections/holding/holding-sale.collection.d.ts +4 -4
  47. package/src/lib/collections/holding/holding-trade.collection.d.ts +21 -0
  48. package/src/lib/collections/holding/holding.collection.d.ts +7 -10
  49. package/src/lib/collections/holding/index.d.ts +2 -1
  50. package/src/lib/db/Enums/holding/holding-trade-type.enum.d.ts +4 -0
  51. package/src/lib/db/Enums/holding/index.d.ts +1 -0
  52. package/src/lib/db/Models/holding/holding-sale.d.ts +2 -2
  53. package/src/lib/db/Models/holding/holding-trade-import.d.ts +8 -0
  54. package/src/lib/db/Models/holding/{holding.d.ts → holding-trade.d.ts} +1 -1
  55. package/src/lib/db/Models/holding/index.d.ts +1 -1
  56. package/src/lib/forms/abstract.form.d.ts +3 -1
  57. package/src/lib/forms/bank/bank-account/bank-account-properties.form.d.ts +1 -1
  58. package/src/lib/forms/holding/holding-reinvest.form.d.ts +5 -5
  59. package/src/lib/forms/holding/holding-sale.form.d.ts +2 -2
  60. package/src/lib/forms/holding/holding-trade/holding-trade-filter.form.d.ts +9 -0
  61. package/src/lib/forms/holding/holding-trade/holding-trade.form.d.ts +9 -0
  62. package/src/lib/forms/holding/holding-trade/index.d.ts +2 -0
  63. package/src/lib/forms/holding/holding-trade-import.form.d.ts +8 -0
  64. package/src/lib/forms/holding/index.d.ts +2 -2
  65. package/src/lib/models/holding/holding-reinvest.d.ts +2 -2
  66. package/src/lib/models/holding/holding-sale.d.ts +16 -4
  67. package/src/lib/models/holding/holding-trade-import.d.ts +8 -0
  68. package/src/lib/models/holding/holding-trade.d.ts +41 -0
  69. package/src/lib/models/holding/holding-type-exchange.d.ts +3 -0
  70. package/src/lib/models/holding/holding-type.d.ts +3 -0
  71. package/src/lib/models/holding/holding.d.ts +18 -34
  72. package/src/lib/models/holding/index.d.ts +3 -2
  73. package/src/lib/services/account-setup/account-setup.service.d.ts +2 -2
  74. package/src/lib/services/http/holding/{holding-import/holding-import-messages.enum.d.ts → holding-trade-import/holding-trade-import-messages.enum.d.ts} +1 -1
  75. package/src/lib/services/http/holding/holding-trade-import/holding-trade-import.service.d.ts +17 -0
  76. package/src/lib/services/http/holding/{holding-messages.enum.d.ts → holding-trade-messages.enum.d.ts} +1 -1
  77. package/src/lib/services/http/holding/holding-trade.service.d.ts +20 -0
  78. package/src/lib/services/http/holding/index.d.ts +4 -5
  79. package/src/lib/services/http/rest/rest.service.d.ts +4 -4
  80. package/src/lib/services/http/transaction/transaction-allocation/allocation-rule/allocation-rule.service.d.ts +1 -3
  81. package/esm2022/src/lib/db/Models/holding/holding-import.mjs +0 -3
  82. package/esm2022/src/lib/db/Models/holding/holding.mjs +0 -3
  83. package/esm2022/src/lib/forms/holding/holding-import.form.mjs +0 -25
  84. package/esm2022/src/lib/forms/holding/holding.form.mjs +0 -28
  85. package/esm2022/src/lib/models/holding/holding-import.mjs +0 -16
  86. package/esm2022/src/lib/services/http/holding/holding-import/holding-import-messages.enum.mjs +0 -9
  87. package/esm2022/src/lib/services/http/holding/holding-import/holding-import.service.mjs +0 -37
  88. package/esm2022/src/lib/services/http/holding/holding-messages.enum.mjs +0 -10
  89. package/esm2022/src/lib/services/http/holding/holding-sale-messages.enum.mjs +0 -8
  90. package/esm2022/src/lib/services/http/holding/holding.service.mjs +0 -44
  91. package/src/lib/db/Models/holding/holding-import.d.ts +0 -8
  92. package/src/lib/forms/holding/holding-import.form.d.ts +0 -8
  93. package/src/lib/forms/holding/holding.form.d.ts +0 -8
  94. package/src/lib/models/holding/holding-import.d.ts +0 -8
  95. package/src/lib/services/http/holding/holding-import/holding-import.service.d.ts +0 -17
  96. package/src/lib/services/http/holding/holding-sale-messages.enum.d.ts +0 -6
  97. package/src/lib/services/http/holding/holding.service.d.ts +0 -20
@@ -105,10 +105,10 @@ export const ENDPOINTS = {
105
105
  LOANS_PAYOUT_DELETE: new Endpoint('DELETE', '\\/loans\\/\\d+\\/payout\\/\\d+'),
106
106
  LOANS_CALCULATION_POST: new Endpoint('POST', '\\/bank-accounts\\/loans\\/calculation'),
107
107
  LOGIN_POST: new Endpoint('POST', '\\/login'),
108
- HOLDINGS_GET: new Endpoint('GET', '\\/holdings'),
109
- HOLDINGS_POST: new Endpoint('POST', '\\/holdings'),
110
- HOLDINGS_PUT: new Endpoint('PUT', '\\/holdings\\/\\d+'),
111
- HOLDINGS_DELETE: new Endpoint('DELETE', '\\/holdings\\/\\d+'),
108
+ HOLDING_TRADE_GET: new Endpoint('GET', '\\/holding-trades'),
109
+ HOLDING_TRADE_POST: new Endpoint('POST', '\\/holding-trades'),
110
+ HOLDING_TRADE_PUT: new Endpoint('PUT', '\\/holding-trades\\/\\d+'),
111
+ HOLDING_TRADE_DELETE: new Endpoint('DELETE', '\\/holding-trades\\/\\d+'),
112
112
  HOLDING_TYPES_GET: new Endpoint('GET', '\\/holding-types'),
113
113
  HOLDING_TYPES_POST: new Endpoint('POST', '\\/holding-types'),
114
114
  HOLDING_TYPES_PUT: new Endpoint('PUT', '\\/holding-types\\/\\d+'),
@@ -117,10 +117,10 @@ export const ENDPOINTS = {
117
117
  HOLDING_SALES_POST: new Endpoint('POST', '\\/holding-sales'),
118
118
  HOLDING_SALES_PUT: new Endpoint('PUT', '\\/holding-sales\\/\\d+'),
119
119
  HOLDING_SALES_DELETE: new Endpoint('DELETE', '\\/holding-sales\\/\\d+'),
120
- HOLDING_IMPORTS_GET: new Endpoint('GET', '\\/holding-imports'),
121
- HOLDING_IMPORTS_POST: new Endpoint('POST', '\\/holding-imports'),
122
- HOLDING_IMPORTS_PUT: new Endpoint('PUT', '\\/holding-imports\\/\\d+'),
123
- HOLDING_IMPORTS_DELETE: new Endpoint('DELETE', '\\/holding-imports\\/\\d+'),
120
+ HOLDING_TRADE_IMPORTS_GET: new Endpoint('GET', '\\/holding-trade-imports'),
121
+ HOLDING_TRADE_IMPORTS_POST: new Endpoint('POST', '\\/holding-trade-imports'),
122
+ HOLDING_TRADE_IMPORTS_PUT: new Endpoint('PUT', '\\/holding-trade-imports\\/\\d+'),
123
+ HOLDING_TRADE_IMPORTS_DELETE: new Endpoint('DELETE', '\\/holding-trade-imports\\/\\d+'),
124
124
  NOTIFICATIONS_GET: new Endpoint('GET', '\\/service-notifications'),
125
125
  OCCUPATIONS_GET: new Endpoint('GET', '\\/occupations'),
126
126
  PROPERTIES_GET: new Endpoint('GET', '\\/properties'),
@@ -261,4 +261,4 @@ export const ENDPOINTS = {
261
261
  VEHICLE_CLAIM_DETAILS_POST: new Endpoint('POST', '\\/vehicle-claim-details'),
262
262
  VEHICLE_CLAIM_DETAILS_PUT: new Endpoint('PUT', '\\/vehicle-claim-details\\/\\d+'),
263
263
  };
264
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5kcG9pbnRzLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9lbmRwb2ludC9lbmRwb2ludHMuY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV0Qzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQThCO0lBQ2xELG9CQUFvQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxxQkFBcUIsQ0FBQztJQUNoRSxxQkFBcUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUscUJBQXFCLENBQUM7SUFDbEUsb0JBQW9CLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLDRCQUE0QixDQUFDO0lBQ3ZFLHVCQUF1QixFQUFFLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRSw0QkFBNEIsQ0FBQztJQUU3RSxTQUFTLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQztJQUMxQyxpQkFBaUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLENBQUM7SUFDMUQsa0JBQWtCLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDO0lBQzVELGlCQUFpQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSx5QkFBeUIsQ0FBQztJQUNqRSxvQkFBb0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUscUJBQXFCLENBQUM7SUFDakUsb0JBQW9CLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLHFCQUFxQixDQUFDO0lBQ2hFLHFCQUFxQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxzQkFBc0IsQ0FBQztJQUNsRSx3QkFBd0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVB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QztJQUNyRSxxQkFBcUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsOEJBQThCLENBQUM7SUFDMUUsbUJBQW1CLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLHFCQUFxQixDQUFDO0lBQy9ELG9CQUFvQixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQztJQUNqRSxtQkFBbUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsNEJBQTRCLENBQUM7SUFDdEUsc0JBQXNCLEVBQUUsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFLDRCQUE0QixDQUFDO0lBQzVFLG9CQUFvQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSx3QkFBd0IsQ0FBQztJQUNuRSxxQkFBcUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsd0JBQXdCLENBQUM7SUFDckUsb0JBQW9CLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLCtCQUErQixDQUFDO0lBQzFFLHVCQUF1QixFQUFFLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRSwrQkFBK0IsQ0FBQztJQUNoRix5QkFBeUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsMEJBQTBCLENBQUM7SUFDMUUsMEJBQTBCLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLDBCQUEwQixDQUFDO0lBQzVFLHlCQUF5QixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxpQ0FBaUMsQ0FBQztDQUNsRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW5kcG9pbnQgfSBmcm9tICcuL2VuZHBvaW50JztcclxuXHJcbi8qKlxyXG4gKiBMaXN0IG9mIGFsbCBhcHAgZW5kcG9pbnRzXHJcbiAqIEBUT0RPIEFsZXgvVmlrOiBDcmVhdGUgc29tZSBzbWFydCBzeXN0ZW0gZm9yIHByZWxvYWRlciBlbmRwb2ludHMuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgRU5EUE9JTlRTOiB7W2tleTogc3RyaW5nXTogRW5kcG9pbnR9ID0ge1xyXG4gIEFMTE9DQVRJT05fUlVMRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2FsbG9jYXRpb24tcnVsZXMnKSxcclxuICBBTExPQ0FUSU9OX1JVTEVTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2FsbG9jYXRpb24tcnVsZXMnKSxcclxuICBBTExPQ0FUSU9OX1JVTEVTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9hbGxvY2F0aW9uLXJ1bGVzXFxcXC9cXFxcZCsnKSxcclxuICBBTExPQ0FUSU9OX1JVTEVTX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9hbGxvY2F0aW9uLXJ1bGVzXFxcXC9cXFxcZCsnKSxcclxuXHJcbiAgQkFOS1NfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2JhbmtzJyksXHJcbiAgQkFOS19BQ0NPVU5UU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvYmFuay1hY2NvdW50cycpLFxyXG4gIEJBTktfQUNDT1VOVFNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvYmFuay1hY2NvdW50cycpLFxyXG4gIEJBTktfQUNDT1VOVFNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2JhbmstYWNjb3VudHNcXFxcL1xcXFxkKycpLFxyXG4gIEJBTktfQ09OTkVDVElPTl9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9iYW5rLWNvbm5lY3Rpb25zJyksXHJcbiAgQkFOS19DT05ORUNUSU9OU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvYmFuay1jb25uZWN0aW9ucycpLFxyXG4gIEJBTktfVFJBTlNBQ1RJT05TX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9iYW5rLXRyYW5zYWN0aW9ucycpLFxyXG4gIEJBTktfVFJBTlNBQ1RJT05TX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9iYW5rLXRyYW5zYWN0aW9uc1xcXFwvXFxcXGQrJyksXHJcbiAgQkFOS19UUkFOU0FDVElPTlNfSU1QT1JUX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2JhbmstdHJhbnNhY3Rpb25zXFxcXC9cXFxcZCtcXFxcL2ltcG9ydCcpLFxyXG4gIEJBU0lRX0FDQ09VTlRTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9iYXNpcVxcXFwvYWNjb3VudHMnKSxcclxuICBCQVNJUV9UT0tFTl9HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvYmFzaXFcXFxcL3Rva2VucycpLFxyXG4gIEJBU0lRX0RFTEVURTogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9iYW5rLWNvbm5lY3Rpb25zL1xcXFxkK1xcXFwvcmVtb3ZlLWJhc2lxJyksXHJcbiAgQkFTSVFfVVNFUl9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9iYXNpcVxcXFwvdXNlcicpLFxyXG5cclxuICBCVURHRVRTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9idWRnZXRzJyksXHJcbiAgQlVER0VUU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9idWRnZXRzJyksXHJcbiAgQlVER0VUU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvYnVkZ2V0c1xcXFwvXFxcXGQrJyksXHJcbiAgQlVER0VUU19ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvYnVkZ2V0c1xcXFwvXFxcXGQrJyksXHJcblxyXG4gIEJPUlJPV0lOR19FWFBFTlNFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvYm9ycm93aW5nLWV4cGVuc2VzJyksXHJcblxyXG4gIENIQVJUU19JTkNPTUVfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2NoYXJ0c1xcXFwvXFxcXGluY29tZXMnKSxcclxuICBDSEFSVFNfRVhQRU5TRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2NoYXJ0c1xcXFwvXFxcXGV4cGVuc2VzJyksXHJcbiAgQ0hBUlRfQUNDT1VOVFNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2NoYXJ0LWFjY291bnRzJyksXHJcbiAgQ0hBUlRfQUNDT1VOVFNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvY2hhcnQtYWNjb3VudHMnKSxcclxuICBDSEFSVF9BQ0NPVU5UU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvY2hhcnQtYWNjb3VudHNcXFxcL1xcXFxkKycpLFxyXG4gIENIQVJUX0FDQ09VTlRTX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9jaGFydC1hY2NvdW50c1xcXFwvXFxcXGQrJyksXHJcbiAgQ0xJRU5UU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvY2xpZW50cycpLFxyXG4gIENMSUVOVFNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2NsaWVudHMnKSxcclxuICBDTElFTlRTX0VYQ0xVREVfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2NsaWVudHNcXFxcL1xcXFxkK1xcXFwvZXhjbHVkZScpLFxyXG4gIENMSUVOVFNfSU5WSVRFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvY2xpZW50LWludml0ZXMnKSxcclxuICBDTElFTlRTX0lOVklURVNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvY2xpZW50LWludml0ZXMnKSxcclxuICBDTElFTlRTX0lOVklURVNfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL2NsaWVudC1pbnZpdGVzXFxcXC9cXFxcZCsnKSxcclxuICBDTElFTlRTX0lOVklURVNfQUNDRVBUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2NsaWVudC1pbnZpdGVzXFxcXC9cXFxcZCtcXFxcL2FjY2VwdCcpLFxyXG4gIENMSUVOVFNfSU5WSVRFU19SRUpFQ1Q6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvY2xpZW50LWludml0ZXNcXFxcL1xcXFxkK1xcXFwvcmVqZWN0JyksXHJcbiAgQ0xJRU5UU19JTlZJVEVTX1JFU0VORDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvY2xpZW50LWludml0ZXNcXFxcL1xcXFxkK1xcXFwvcmVzZW5kJyksXHJcbiAgQ0xJRU5UX01PVkVNRU5UU19DTE9TRTogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9jbGllbnQtbW92ZW1lbnRzXFxcXC9cXFxcZCtcXFxcL2Nsb3NlJyksXHJcbiAgQ0xJRU5UX01PVkVNRU5UU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvY2xpZW50LW1vdmVtZW50cycpLFxyXG4gIENMSUVOVF9NT1ZFTUVOVFNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvY2xpZW50LW1vdmVtZW50cycpLFxyXG4gIENPVU5UUklFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvY291bnRyaWVzJyksXHJcbiAgQ09SRUxPR0lDX1RPS0VOX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnL2FjY2Vzc1xcXFwvb2F1dGhcXFxcL3Rva2VuLiokJyksXHJcblxyXG4gIEFOTlVBTF9DTElFTlRfREVUQUlMU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvYW5udWFsLWNsaWVudC1kZXRhaWxzJyksXHJcbiAgQU5OVUFMX0NMSUVOVF9ERVRBSUxTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2FubnVhbC1jbGllbnQtZGV0YWlscycpLFxyXG4gIEFOTlVBTF9DTElFTlRfREVUQUlMU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvYW5udWFsLWNsaWVudC1kZXRhaWxzXFxcXC9cXFxcZCsnKSxcclxuICBBTk5VQUxfQ0xJRU5UX0RFVEFJTFNfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL2FubnVhbC1jbGllbnQtZGV0YWlsc1xcXFwvXFxcXGQrJyksXHJcblxyXG4gIENBUElUQUxfTE9TU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvY2FwaXRhbC1sb3NzZXMnKSxcclxuICBDQVBJVEFMX0xPU1NfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvY2FwaXRhbC1sb3NzZXMnKSxcclxuICBDQVBJVEFMX0xPU1NfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2NhcGl0YWwtbG9zc2VzXFxcXC9cXFxcZCsnKSxcclxuICBDQVBJVEFMX0xPU1NfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL2NhcGl0YWwtbG9zc2VzXFxcXC9cXFxcZCsnKSxcclxuXHJcbiAgREVQUkVDSUFUSU9OU19PUEVOSU5HX1BPU1Q6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvZGVwcmVjaWF0aW9uc1xcXFwvXFxcXG9wZW5pbmctYmFsYW5jZScpLFxyXG4gIERFUFJFQ0lBVElPTlNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2RlcHJlY2lhdGlvbnMnKSxcclxuICBERVBSRUNJQVRJT05TX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2RlcHJlY2lhdGlvbnMnKSxcclxuICBERVBSRUNJQVRJT05TX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9kZXByZWNpYXRpb25zXFxcXC9cXFxcZCsnKSxcclxuICBERVBSRUNJQVRJT05TX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9kZXByZWNpYXRpb25zXFxcXC9cXFxcZCsnKSxcclxuXHJcbiAgRE9XTkxPQURfRklMRV9HRVQ6ICBuZXcgRW5kcG9pbnQoICdHRVQnLCAnXFxcXC9maWxlc1xcXFwvXFxcXGQrXFxcXC9kb3dubG9hZCcpLFxyXG5cclxuICBFTVBMT1lFRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2VtcGxveWVlcycpLFxyXG4gIEVNUExPWUVFU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvZW1wbG95ZWVzXFxcXC9cXFxcZCsnKSxcclxuICBFTVBMT1lFRVNfREVBQ1RJVkFURV9QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvZW1wbG95ZWVzXFxcXC9cXFxcZCtcXFxcL1xcXFxkZWFjdGl2YXRlJyksXHJcbiAgRU1QTE9ZRUVTX0FDVElWQVRFX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9lbXBsb3llZXNcXFxcL1xcXFxkK1xcXFwvXFxcXGFjdGl2YXRlJyksXHJcbiAgRU1QTE9ZRUVTX0lOVklURVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2VtcGxveWVlLWludml0ZXMnKSxcclxuICBFTVBMT1lFRVNfSU5WSVRFU19ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvZW1wbG95ZWUtaW52aXRlc1xcXFwvXFxcXGQrJyksXHJcbiAgRU1QTE9ZRUVTX0lOVklURV9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9lbXBsb3llZS1pbnZpdGVzJyksXHJcbiAgRU1QTE9ZRUVTX0lOVklURVNfUkVTRU5EX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2VtcGxveWVlLWludml0ZXNcXFxcL1xcXFxkK1xcXFwvXFxcXHJlc2VuZCcpLFxyXG5cclxuICBGQUNFQk9PS19MT0dJTl9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC91c2Vyc1xcXFwvYXV0aGVudGljYXRpb25cXFxcL2ZhY2Vib29rJyksXHJcbiAgRklMRV9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9hcGlcXFxcL2ZpbGVzJyksXHJcbiAgRklSTV9HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvZmlybXMnKSxcclxuICBGSVJNX0NVUlJFTlRfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2Zpcm1zXFxcXC9jdXJyZW50JyksXHJcbiAgRklSTV9DVVJSRU5UX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9maXJtc1xcXFwvY3VycmVudCcpLFxyXG4gIEZJUk1fSU5WSVRFX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2Zpcm0taW52aXRlcycpLFxyXG4gIEZJUk1fUkVHSVNUUkFUSU9OX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2Zpcm1zXFxcXC9yZWdpc3RyYXRpb24nKSxcclxuXHJcbiAgRklSTV9CUkFOQ0hfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2Zpcm0tYnJhbmNoZXMnKSxcclxuICBGSVJNX0JSQU5DSF9QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvZmlybS1icmFuY2hlc1xcXFwvXFxcXGQrJyksXHJcbiAgRklSTV9CUkFOQ0hfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvZmlybS1icmFuY2hlcycpLFxyXG4gIEZJUk1fQlJBTkNIX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9maXJtLWJyYW5jaGVzXFxcXC9cXFxcZCsnKSxcclxuXHJcbiAgRk9MREVSU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvZm9sZGVycycpLFxyXG4gIEZPTERFUlNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvZm9sZGVycycpLFxyXG4gIEZPTERFUlNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2ZvbGRlcnNcXFxcL1xcXFxkKycpLFxyXG4gIEZPTERFUlNfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL2ZvbGRlcnNcXFxcL1xcXFxkKycpLFxyXG5cclxuICBET0NVTUVOVFNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2ZvbGRlci1kb2N1bWVudHMnKSxcclxuICBET0NVTUVOVFNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvZm9sZGVyLWRvY3VtZW50cycpLFxyXG4gIERPQ1VNRU5UU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvZm9sZGVyLWRvY3VtZW50c1xcXFwvXFxcXGQrJyksXHJcbiAgRE9DVU1FTlRTX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9mb2xkZXItZG9jdW1lbnRzXFxcXC9cXFxcZCsnKSxcclxuXHJcbiAgR09PR0xFX0xPR0lOX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3VzZXJzXFxcXC9hdXRoZW50aWNhdGlvblxcXFwvZ29vZ2xlJyksXHJcblxyXG4gIElOQ09NRV9TT1VSQ0VTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9pbmNvbWUtc291cmNlcycpLFxyXG4gIElOQ09NRV9TT1VSQ0VTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2luY29tZS1zb3VyY2VzJyksXHJcbiAgSU5DT01FX1NPVVJDRVNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2luY29tZS1zb3VyY2VzJyksXHJcbiAgSU5DT01FX1NPVVJDRVNfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL2luY29tZS1zb3VyY2VzXFxcXC9cXFxcZCsnKSxcclxuICBJTkNPTUVfU09VUkNFX0ZPUkVDQVNUX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9pbmNvbWUtc291cmNlLWZvcmVjYXN0cycpLFxyXG4gIElOQ09NRV9TT1VSQ0VfRk9SRUNBU1RfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvaW5jb21lLXNvdXJjZS1mb3JlY2FzdHMnKSxcclxuICBJTkNPTUVfU09VUkNFX0ZPUkVDQVNUX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9pbmNvbWUtc291cmNlLWZvcmVjYXN0cycpLFxyXG4gIElOQ09NRV9TT1VSQ0VfRk9SRUNBU1RfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL2luY29tZS1zb3VyY2UtZm9yZWNhc3RzXFxcXC9cXFxcZCsnKSxcclxuICBJTkNPTUVfU09VUkNFX1RZUEVTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9pbmNvbWUtc291cmNlLXR5cGVzJyksXHJcblxyXG4gIExPQU5TX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9iYW5rLWFjY291bnRzXFxcXC9sb2FucycpLFxyXG4gIExPQU5TX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2JhbmstYWNjb3VudHNcXFxcL2xvYW5zJyksXHJcbiAgTE9BTlNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2JhbmstYWNjb3VudHNcXFxcL2xvYW5zL1xcXFxkKycpLFxyXG4gIExPQU5TX1BBWU9VVF9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9sb2Fuc1xcXFwvXFxcXGQrXFxcXC9wYXlvdXQnKSxcclxuICBMT0FOU19QQVlPVVRfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2xvYW5zXFxcXC9cXFxcZCtcXFxcL3BheW91dFxcXFwvXFxcXGQrJyksXHJcbiAgTE9BTlNfUEFZT1VUX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9sb2Fuc1xcXFwvXFxcXGQrXFxcXC9wYXlvdXRcXFxcL1xcXFxkKycpLFxyXG4gIExPQU5TX0NBTENVTEFUSU9OX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2JhbmstYWNjb3VudHNcXFxcL2xvYW5zXFxcXC9jYWxjdWxhdGlvbicpLFxyXG4gIExPR0lOX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2xvZ2luJyksXHJcblxyXG4gIEhPTERJTkdTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9ob2xkaW5ncycpLFxyXG4gIEhPTERJTkdTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2hvbGRpbmdzJyksXHJcbiAgSE9MRElOR1NfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2hvbGRpbmdzXFxcXC9cXFxcZCsnKSxcclxuICBIT0xESU5HU19ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvaG9sZGluZ3NcXFxcL1xcXFxkKycpLFxyXG4gIEhPTERJTkdfVFlQRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2hvbGRpbmctdHlwZXMnKSxcclxuICBIT0xESU5HX1RZUEVTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2hvbGRpbmctdHlwZXMnKSxcclxuICBIT0xESU5HX1RZUEVTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9ob2xkaW5nLXR5cGVzXFxcXC9cXFxcZCsnKSxcclxuICBIT0xESU5HX1RZUEVTX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9ob2xkaW5nLXR5cGVzXFxcXC9cXFxcZCsnKSxcclxuICBIT0xESU5HX1NBTEVTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9ob2xkaW5nLXNhbGVzJyksXHJcbiAgSE9MRElOR19TQUxFU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9ob2xkaW5nLXNhbGVzJyksXHJcbiAgSE9MRElOR19TQUxFU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvaG9sZGluZy1zYWxlc1xcXFwvXFxcXGQrJyksXHJcbiAgSE9MRElOR19TQUxFU19ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvaG9sZGluZy1zYWxlc1xcXFwvXFxcXGQrJyksXHJcbiAgSE9MRElOR19JTVBPUlRTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9ob2xkaW5nLWltcG9ydHMnKSxcclxuICBIT0xESU5HX0lNUE9SVFNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvaG9sZGluZy1pbXBvcnRzJyksXHJcbiAgSE9MRElOR19JTVBPUlRTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9ob2xkaW5nLWltcG9ydHNcXFxcL1xcXFxkKycpLFxyXG4gIEhPTERJTkdfSU1QT1JUU19ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvaG9sZGluZy1pbXBvcnRzXFxcXC9cXFxcZCsnKSxcclxuXHJcbiAgTk9USUZJQ0FUSU9OU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvc2VydmljZS1ub3RpZmljYXRpb25zJyksXHJcblxyXG4gIE9DQ1VQQVRJT05TX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9vY2N1cGF0aW9ucycpLFxyXG5cclxuICBQUk9QRVJUSUVTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9wcm9wZXJ0aWVzJyksXHJcbiAgUFJPUEVSVElFU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9wcm9wZXJ0aWVzJyksXHJcbiAgUFJPUEVSVFlfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3Byb3BlcnRpZXMvXFxcXGQrJyksXHJcbiAgUFJPUEVSVFlfU1VCU0NSSVBUSU9OU19ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvcHJvcGVydHktc3Vic2NyaXB0aW9uc1xcXFwvXFxcXGQrJyksXHJcbiAgUFJPUEVSVFlfU1VCU0NSSVBUSU9OU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9wcm9wZXJ0eS1zdWJzY3JpcHRpb25zJyksXHJcbiAgUFJPUEVSVElFU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvcHJvcGVydGllcycpLFxyXG4gIFBST1BFUlRJRVNfQ0FURUdPUklFU19FUVVJVFlfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3Byb3BlcnRpZXNcXFxcL2NhdGVnb3JpZXNcXFxcL2VxdWl0eScpLFxyXG4gIFBST1BFUlRJRVNfQ0FURUdPUklFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvcHJvcGVydGllc1xcXFwvY2F0ZWdvcmllcycpLFxyXG4gIFBST1BFUlRJRVNfQ0FURUdPUklFU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvcHJvcGVydGllc1xcXFwvY2F0ZWdvcmllc1xcXFwvXFxcXGQrJyksXHJcbiAgUFJPUEVSVElFU19DQVRFR09SSUVTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3Byb3BlcnRpZXNcXFxcL2NhdGVnb3JpZXMnKSxcclxuICBQUk9QRVJUSUVTX0NBVEVHT1JJRVNfTU9WRU1FTlRTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9wcm9wZXJ0eS1jYXRlZ29yeS1tb3ZlbWVudHMnKSxcclxuICBQUk9QRVJUSUVTX0NBVEVHT1JZX01PVkVNRU5UU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9wcm9wZXJ0eS1jYXRlZ29yeS1tb3ZlbWVudHMnKSxcclxuICBQUk9QRVJUSUVTX0NBVEVHT1JZX01PVkVNRU5UU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvcHJvcGVydHktY2F0ZWdvcnktbW92ZW1lbnRzXFxcXC9cXFxcZCsnKSxcclxuICBQUk9QRVJUSUVTX1NIQVJFU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvcHJvcGVydGllc1xcXFwvc2hhcmVzXFxcXC9cXFxcZCsnKSxcclxuICBQUk9QRVJUSUVTX1NIQVJFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvcHJvcGVydGllc1xcXFwvc2hhcmVzJyksXHJcbiAgUFJPUEVSVElFU19TSEFSRVNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvcHJvcGVydGllc1xcXFwvc2hhcmVzJyksXHJcbiAgUFJPUEVSVElFU19WQUxVQVRJT05TX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9wcm9wZXJ0eS12YWx1YXRpb25zJyksXHJcbiAgUFJPUEVSVElFU19WQUxVQVRJT05TX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3Byb3BlcnR5LXZhbHVhdGlvbnMnKSxcclxuICBQUk9QRVJUSUVTX1ZBTFVBVElPTlNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3Byb3BlcnR5LXZhbHVhdGlvbnNcXFxcL1xcXFxkKycpLFxyXG4gIFBST1BFUlRJRVNfVkFMVUFUSU9OU19ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvcHJvcGVydHktdmFsdWF0aW9uc1xcXFwvXFxcXGQrJyksXHJcbiAgUFJPUEVSVElFU19ERUFDVElWQVRFX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9wcm9wZXJ0aWVzXFxcXC9cXFxcZCtcXFxcL2RlYWN0aXZhdGUnKSxcclxuICBQUk9QRVJUSUVTX0RFUFJFQ0lBVElPTl9DQVBJVEFMX1BST0pFQ1RfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2RlcHJlY2lhdGlvbi1jYXBpdGFsLXByb2plY3RzJyksXHJcbiAgUFJPUEVSVElFU19ERVBSRUNJQVRJT05fQ0FQSVRBTF9QUk9KRUNUX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2RlcHJlY2lhdGlvbi1jYXBpdGFsLXByb2plY3RzJyksXHJcbiAgUFJPUEVSVElFU19ERVBSRUNJQVRJT05fQ0FQSVRBTF9QUk9KRUNUX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9kZXByZWNpYXRpb24tY2FwaXRhbC1wcm9qZWN0c1xcXFwvXFxcXGQrJyksXHJcbiAgUFJPUEVSVElFU19ERVBSRUNJQVRJT05fQ0FQSVRBTF9QUk9KRUNUX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9kZXByZWNpYXRpb24tY2FwaXRhbC1wcm9qZWN0c1xcXFwvXFxcXGQrJyksXHJcbiAgUFJPUEVSVElFU19ET0NVTUVOVFNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3Byb3BlcnR5LWRvY3VtZW50cycpLFxyXG4gIFBST1BFUlRJRVNfRE9DVU1FTlRTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3Byb3BlcnR5LWRvY3VtZW50cycpLFxyXG4gIFBST1BFUlRJRVNfRE9DVU1FTlRTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9wcm9wZXJ0eS1kb2N1bWVudHNcXFxcL1xcXFxkKycpLFxyXG4gIFBST1BFUlRJRVNfRE9DVU1FTlRTX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9wcm9wZXJ0eS1kb2N1bWVudHNcXFxcL1xcXFxkKycpLFxyXG4gIFBST1BFUlRJRVNfU0FMRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3Byb3BlcnRpZXNcXFxcL3NhbGVzJyksXHJcbiAgUFJPUEVSVElFU19TVUdHRVNUSU9OU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJy9wcm9wZXJ0eVxcXFwvXFxcXHcrXFxcXC92MlxcXFwvLiokJyksXHJcbiAgQk9SUk9XSU5HX1JFUE9SVFNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2JvcnJvd2luZy1yZXBvcnRzJyksXHJcbiAgQk9SUk9XSU5HX1JFUE9SVFNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvYm9ycm93aW5nLXJlcG9ydHMnKSxcclxuICBCT1JST1dJTkdfUkVQT1JUU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvYm9ycm93aW5nLXJlcG9ydHMvXFxcXGQrJyksXHJcblxyXG4gIC8vIEBUT0RPIHJlbmFtZVxyXG4gIFBST1JBVElPTl9DT1NUX1BPU1Q6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvc2VydmljZS1zdWJzY3JpcHRpb25zXFxcXC9cXFxcZCtcXFxcL3Byb3JhdGlvbi1jb3N0JyksXHJcblxyXG4gIFNBTEFSWV9GT1JFQ0FTVF9HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvc2FsYXJ5LWZvcmVjYXN0cycpLFxyXG4gIFNBTEFSWV9GT1JFQ0FTVF9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9zYWxhcnktZm9yZWNhc3RzJyksXHJcbiAgU0FMQVJZX0ZPUkVDQVNUX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9zYWxhcnktZm9yZWNhc3RzJyksXHJcbiAgU0VSVklDRV9QUklDRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3NlcnZpY2UtcHJpY2VzJyksXHJcbiAgU0VSVklDRV9QUk9EVUNUU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvc2VydmljZS1wcm9kdWN0cycpLFxyXG4gIFNFUlZJQ0VfUEFZTUVOVFNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3NlcnZpY2UtcGF5bWVudHMnKSxcclxuICBTRVJWSUNFX1NVQlNDUklQVElPTlNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3NlcnZpY2Utc3Vic2NyaXB0aW9ucycpLFxyXG4gIFNFUlZJQ0VfU1VCU0NSSVBUSU9OU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9zZXJ2aWNlLXN1YnNjcmlwdGlvbnMnKSxcclxuICBTRVJWSUNFX1NVQlNDUklQVElPTlNfQ0FOQ0VMOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3NlcnZpY2Utc3Vic2NyaXB0aW9uc1xcXFwvXFxcXGQrXFxcXC9jYW5jZWwnKSxcclxuICBTRVJWSUNFX1NVQlNDUklQVElPTlNfUkVORVc6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvc2VydmljZS1zdWJzY3JpcHRpb25zXFxcXC9cXFxcZCtcXFxcL3JlbmV3YWwnKSxcclxuICBTRVJWSUNFX1BBWU1FTlRfSU5WT0lDRV9VUkxfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3NlcnZpY2UtcGF5bWVudHNcXFxcL1xcXFxkK1xcXFwvaW52b2ljZS11cmwnKSxcclxuICBTRVJWSUNFX1BBWU1FTlRfTUVUSE9EU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvc2VydmljZS1wYXltZW50LW1ldGhvZHMnKSxcclxuICBTRVJWSUNFX1BBWU1FTlRfTUVUSE9EU19ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvc2VydmljZS1wYXltZW50LW1ldGhvZHNcXFxcL1xcXFxkKycpLFxyXG4gIFNFUlZJQ0VfUEFZTUVOVF9NRVRIT0RTX0dFVF9TRUNSRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvc2VydmljZS1wYXltZW50LW1ldGhvZHNcXFxcL3NldHVwLWludGVudC1zZWNyZXQnKSxcclxuICBTRVJWSUNFX1BBWU1FTlRfTUVUSE9EU19ERUZBVUxUX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9zZXJ2aWNlLXBheW1lbnQtbWV0aG9kc1xcXFwvXFxcXGQrXFxcXC9kZWZhdWx0JyksXHJcbiAgU1VCU0NSSVBUSU9OX0lURU1TX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9zZXJ2aWNlLXN1YnNjcmlwdGlvbnNcXFxcL1xcXFxkK1xcXFwvaXRlbXMnKSxcclxuXHJcbiAgU09MRV9CVVNJTkVTU0VTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9zb2xlLWJ1c2luZXNzZXMnKSxcclxuICBTT0xFX0JVU0lORVNTRVNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvc29sZS1idXNpbmVzc2VzJyksXHJcbiAgU09MRV9CVVNJTkVTU0VTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9zb2xlLWJ1c2luZXNzZXNcXFxcL1xcXFxkKycpLFxyXG4gIFNPTEVfQlVTSU5FU1NfTE9TU0VTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9zb2xlLWJ1c2luZXNzLWxvc3NlcycpLFxyXG4gIFNPTEVfQlVTSU5FU1NfTE9TU0VTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3NvbGUtYnVzaW5lc3MtbG9zc2VzJyksXHJcbiAgU09MRV9CVVNJTkVTU19MT1NTRVNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3NvbGUtYnVzaW5lc3MtbG9zc2VzXFxcXC9cXFxcZCsnKSxcclxuICBTT0xFX0JVU0lORVNTX0xPU1NfT0ZGU0VUX1JVTEVTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9zb2xlLWJ1c2luZXNzLWxvc3Mtb2Zmc2V0LXJ1bGVzJyksXHJcbiAgU09MRV9CVVNJTkVTU19MT0dPX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3NvbGUtYnVzaW5lc3Nlc1xcXFwvXFxcXGQrXFxcXC9sb2dvJyksXHJcblxyXG4gIFNPTEVfQ09OVEFDVFNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3NvbGUtY29udGFjdHMnKSxcclxuICBTT0xFX0NPTlRBQ1RTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3NvbGUtY29udGFjdHMnKSxcclxuICBTT0xFX0NPTlRBQ1RTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9zb2xlLWNvbnRhY3RzXFxcXC9cXFxcZCsnKSxcclxuXHJcbiAgQkFTX1JFUE9SVFNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2Jhcy1yZXBvcnRzJyksXHJcbiAgQkFTX1JFUE9SVFNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvYmFzLXJlcG9ydHMnKSxcclxuICBCQVNfUkVQT1JUU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvYmFzLXJlcG9ydHNcXFxcL1xcXFxkKycpLFxyXG5cclxuICBCVVNJTkVTU19BQ1RJVklUSUVTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9zb2xlLWJ1c2luZXNzLWFjdGl2aXRpZXMnKSxcclxuXHJcbiAgU09MRV9ERVBSRUNJQVRJT05fTUVUSE9EU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvc29sZS1kZXByZWNpYXRpb24tbWV0aG9kcycpLFxyXG4gIFNPTEVfREVQUkVDSUFUSU9OX01FVEhPRFNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3NvbGUtZGVwcmVjaWF0aW9uLW1ldGhvZHNcXFxcL1xcXFxkKycpLFxyXG5cclxuICBTT0xFX0RFVEFJTFNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3NvbGUtZGV0YWlscycpLFxyXG4gIFNPTEVfREVUQUlMU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvc29sZS1kZXRhaWxzXFxcXC9cXFxcZCsnKSxcclxuXHJcbiAgU09MRV9GT1JFQ0FTVFNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvc29sZS1mb3JlY2FzdHMnKSxcclxuICBTT0xFX0ZPUkVDQVNUU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvc29sZS1mb3JlY2FzdHNcXFxcL1xcXFxkKycpLFxyXG4gIFNPTEVfRk9SRUNBU1RTX1BVVF9CQVRDSDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9zb2xlLWZvcmVjYXN0cycpLFxyXG5cclxuICBTT0xFX0lOVk9JQ0VTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9zb2xlLWludm9pY2VzJyksXHJcbiAgU09MRV9JTlZPSUNFU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9zb2xlLWludm9pY2VzJyksXHJcbiAgU09MRV9JTlZPSUNFU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvc29sZS1pbnZvaWNlc1xcXFwvXFxcXGQrJyksXHJcbiAgU09MRV9JTlZPSUNFU19ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvc29sZS1pbnZvaWNlc1xcXFwvXFxcXGQrJyksXHJcbiAgU09MRV9JTlZPSUNFU19FTUFJTF9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9zb2xlLWludm9pY2VzXFxcXC9cXFxcZCtcXFxcL3NlbmQnKSxcclxuICBTT0xFX0lOVk9JQ0VfVEVNUExBVEVTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9zb2xlLWludm9pY2UtdGVtcGxhdGVzJyksXHJcbiAgU09MRV9JTlZPSUNFX1RFTVBMQVRFU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9zb2xlLWludm9pY2UtdGVtcGxhdGVzJyksXHJcbiAgU09MRV9JTlZPSUNFX1RFTVBMQVRFU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvc29sZS1pbnZvaWNlLXRlbXBsYXRlc1xcXFwvXFxcXGQrJyksXHJcbiAgU09MRV9JTlZPSUNFX1RFTVBMQVRFU19ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvc29sZS1pbnZvaWNlLXRlbXBsYXRlc1xcXFwvXFxcXGQrJyksXHJcblxyXG4gIFRBWF9FWEVNUFRJT05TX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC90YXgtZXhlbXB0aW9ucycpLFxyXG5cclxuICBUQVhfQ0FMQ1VMQVRJT05fUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvdGF4LWNhbGN1bGF0aW9uJyksXHJcbiAgVEFYX1JFVklFV1NfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3RheC1yZXZpZXdzJyksXHJcbiAgVEFYX1JFVklFV1NfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL3RheC1yZXZpZXdzXFxcXC9cXFxcZCsnKSxcclxuICBUQVhfUkVWSUVXU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC90YXgtcmV2aWV3cycpLFxyXG4gIFRBWF9SRVZJRVdTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC90YXgtcmV2aWV3c1xcXFwvXFxcXGQrJyksXHJcbiAgVEFYX1NVTU1BUllfQUNUVUFMX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC90YXgtc3VtbWFyeVxcXFwvYWN0dWFscycpLFxyXG4gIFRBWF9TVU1NQVJZX0ZPUkVDQVNUX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC90YXgtc3VtbWFyeVxcXFwvZm9yZWNhc3RzJyksXHJcbiAgVFJBTlNBQ1RJT05fREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL3RyYW5zYWN0aW9uc1xcXFwvXFxcXGQrJyksXHJcbiAgVFJBTlNBQ1RJT05fUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3RyYW5zYWN0aW9uc1xcXFwvXFxcXGQrJyksXHJcbiAgVFJBTlNBQ1RJT05TX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC90cmFuc2FjdGlvbnMnKSxcclxuICBUUkFOU0FDVElPTlNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvdHJhbnNhY3Rpb25zJyksXHJcbiAgVFJBTlNBQ1RJT05TX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC90cmFuc2FjdGlvbnMnKSxcclxuICBUUkFOU0FDVElPTlNfQUxMT0NBVElPTlNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3RyYW5zYWN0aW9uLWFsbG9jYXRpb25zJyksXHJcbiAgVFJBTlNBQ1RJT05TX0FMTE9DQVRJT05TX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3RyYW5zYWN0aW9uLWFsbG9jYXRpb25zJyksXHJcbiAgVFJBTlNBQ1RJT05TX0FMTE9DQVRJT05TX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC90cmFuc2FjdGlvbi1hbGxvY2F0aW9uc1xcXFwvXFxcXGQrJyksXHJcbiAgVFJBTlNBQ1RJT05TX0FMTE9DQVRJT05TX0JBVENIX0RFTEVURTogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvdHJhbnNhY3Rpb24tYWxsb2NhdGlvbnNcXFxcL2RlbGV0ZScpLFxyXG5cclxuICBVU0VSX0NPTkZJUk1BVElPTl9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC91c2Vyc1xcXFwvY29uZmlybWF0aW9uJyksXHJcbiAgVVNFUl9DT05GSVJNQVRJT05fUkVTRU5EX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3VzZXJzXFxcXC9jb25maXJtYXRpb25cXFxcL3Jlc2VuZCcpLFxyXG4gIFVTRVJfQ1VSUkVOVF9HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvdXNlcnNcXFxcL2N1cnJlbnQnKSxcclxuICBVU0VSX0NVUlJFTlRfUEFTU1dPUkRfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3VzZXJzXFxcXC9wYXNzd29yZFxcXFwvY2hhbmdlJyksXHJcbiAgVVNFUl9FVkVOVF9TRVRUSU5HU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvdXNlci1ldmVudC1zZXR0aW5ncycpLFxyXG4gIFVTRVJfRVZFTlRfVFlQRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3VzZXItZXZlbnQtdHlwZXMnKSxcclxuICBVU0VSX0lOVklURV9ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvdXNlcnNcXFxcL2ludml0ZVxcXFwvXFxcXGQrJyksXHJcbiAgVVNFUl9JTlZJVEVfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvdXNlcnNcXFxcL2ludml0ZScpLFxyXG4gIFVTRVJfSU5WSVRFX1JFU0VORF9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC91c2Vyc1xcXFwvaW52aXRlL1xcXFxkK1xcXFwvcmVzZW5kJyksXHJcbiAgVVNFUl9QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvdXNlcnNcXFxcL1xcXFxkKycpLFxyXG4gIFVTRVJfUkVHSVNUUkFUSU9OX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3VzZXJzXFxcXC9yZWdpc3RyYXRpb24nKSxcclxuICBVU0VSX1JFU0VUX1BBU1NXT1JEX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC91c2Vyc1xcXFwvcGFzc3dvcmRcXFxcL3Jlc2V0JyksXHJcbiAgVVNFUl9TRUFSQ0hfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3VzZXJzXFxcXC9zZWFyY2gnKSxcclxuICBVU0VSX1VQREFURV9QSE9UT19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC91c2Vyc1xcXFwvcGhvdG8nKSxcclxuICBVU0VSX1NUQVRVU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvdXNlcnNcXFxcL3N0YXR1cycpLFxyXG4gIFVTRVJfUkVDT1ZFUllfUEFTU1dPUkRfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3VzZXJzXFxcXC9wYXNzd29yZFxcXFwvcmVjb3ZlcnknKSxcclxuICBVU0VSX1BBU1NXT1JEX1JFU0VUX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9wYXNzd29yZFxcXFwvcmVzZXQnKSxcclxuXHJcbiAgVkVISUNMRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3ZlaGljbGVzJyksXHJcbiAgVkVISUNMRVNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvdmVoaWNsZXMnKSxcclxuICBWRUhJQ0xFU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvdmVoaWNsZXNcXFxcL1xcXFxkKycpLFxyXG4gIFZFSElDTEVfQ0xBSU1TX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC92ZWhpY2xlLWNsYWltcycpLFxyXG4gIFZFSElDTEVfQ0xBSU1TX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3ZlaGljbGUtY2xhaW1zJyksXHJcbiAgVkVISUNMRV9DTEFJTVNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3ZlaGljbGUtY2xhaW1zXFxcXC9cXFxcZCsnKSxcclxuICBIT01FX09GRklDRV9DTEFJTV9HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvaG9tZS1vZmZpY2UtY2xhaW1zJyksXHJcbiAgSE9NRV9PRkZJQ0VfQ0xBSU1fUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvaG9tZS1vZmZpY2UtY2xhaW1zJyksXHJcbiAgSE9NRV9PRkZJQ0VfQ0xBSU1fUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2hvbWUtb2ZmaWNlLWNsYWltc1xcXFwvXFxcXGQrJyksXHJcbiAgSE9NRV9PRkZJQ0VfTE9HX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9ob21lLW9mZmljZS1sb2dzJyksXHJcbiAgSE9NRV9PRkZJQ0VfTE9HX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2hvbWUtb2ZmaWNlLWxvZ3MnKSxcclxuICBIT01FX09GRklDRV9MT0dfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2hvbWUtb2ZmaWNlLWxvZ3NcXFxcL1xcXFxkKycpLFxyXG4gIEhPTUVfT0ZGSUNFX0xPR19ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvaG9tZS1vZmZpY2UtbG9nc1xcXFwvXFxcXGQrJyksXHJcbiAgVkVISUNMRV9MT0dCT09LU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvdmVoaWNsZXNcXFxcL2xvZ2Jvb2tzJyksXHJcbiAgVkVISUNMRV9MT0dCT09LU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC92ZWhpY2xlc1xcXFwvbG9nYm9va3MnKSxcclxuICBWRUhJQ0xFX0xPR0JPT0tTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC92ZWhpY2xlc1xcXFwvbG9nYm9va3NcXFxcL1xcXFxkKycpLFxyXG4gIFZFSElDTEVfTE9HQk9PS1NfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL3ZlaGljbGVzXFxcXC9sb2dib29rc1xcXFwvXFxcXGQrJyksXHJcbiAgVkVISUNMRV9DTEFJTV9ERVRBSUxTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC92ZWhpY2xlLWNsYWltLWRldGFpbHMnKSxcclxuICBWRUhJQ0xFX0NMQUlNX0RFVEFJTFNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvdmVoaWNsZS1jbGFpbS1kZXRhaWxzJyksXHJcbiAgVkVISUNMRV9DTEFJTV9ERVRBSUxTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC92ZWhpY2xlLWNsYWltLWRldGFpbHNcXFxcL1xcXFxkKycpLFxyXG59O1xyXG4iXX0=
264
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5kcG9pbnRzLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9lbmRwb2ludC9lbmRwb2ludHMuY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV0Qzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQThCO0lBQ2xELG9CQUFvQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxxQkFBcUIsQ0FBQztJQUNoRSxxQkFBcUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUscUJBQXFCLENBQUM7SUFDbEUsb0JBQW9CLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLDRCQUE0QixDQUFDO0lBQ3ZFLHVCQUF1QixFQUFFLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRSw0QkFBNEIsQ0FBQztJQUU3RSxTQUFTLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQztJQUMxQyxpQkFBaUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLENBQUM7SUFDMUQsa0JBQWtCLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDO0lBQzVELGlCQUFpQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSx5QkFBeUIsQ0FBQztJQUNqRSxvQkFBb0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUscUJBQXFCLENBQUM7SUFDakUsb0JBQW9CLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLHFCQUFxQixDQUFDO0lBQ2hFLHFCQUFxQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxzQkFBc0IsQ0FBQztJQUNsRSx3QkFBd0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVB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RSx1QkFBdUIsQ0FBQztJQUNyRSxxQkFBcUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsOEJBQThCLENBQUM7SUFDMUUsbUJBQW1CLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLHFCQUFxQixDQUFDO0lBQy9ELG9CQUFvQixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQztJQUNqRSxtQkFBbUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsNEJBQTRCLENBQUM7SUFDdEUsc0JBQXNCLEVBQUUsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFLDRCQUE0QixDQUFDO0lBQzVFLG9CQUFvQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSx3QkFBd0IsQ0FBQztJQUNuRSxxQkFBcUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsd0JBQXdCLENBQUM7SUFDckUsb0JBQW9CLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLCtCQUErQixDQUFDO0lBQzFFLHVCQUF1QixFQUFFLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRSwrQkFBK0IsQ0FBQztJQUNoRix5QkFBeUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsMEJBQTBCLENBQUM7SUFDMUUsMEJBQTBCLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLDBCQUEwQixDQUFDO0lBQzVFLHlCQUF5QixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxpQ0FBaUMsQ0FBQztDQUNsRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW5kcG9pbnQgfSBmcm9tICcuL2VuZHBvaW50JztcclxuXHJcbi8qKlxyXG4gKiBMaXN0IG9mIGFsbCBhcHAgZW5kcG9pbnRzXHJcbiAqIEBUT0RPIEFsZXgvVmlrOiBDcmVhdGUgc29tZSBzbWFydCBzeXN0ZW0gZm9yIHByZWxvYWRlciBlbmRwb2ludHMuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgRU5EUE9JTlRTOiB7W2tleTogc3RyaW5nXTogRW5kcG9pbnR9ID0ge1xyXG4gIEFMTE9DQVRJT05fUlVMRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2FsbG9jYXRpb24tcnVsZXMnKSxcclxuICBBTExPQ0FUSU9OX1JVTEVTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2FsbG9jYXRpb24tcnVsZXMnKSxcclxuICBBTExPQ0FUSU9OX1JVTEVTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9hbGxvY2F0aW9uLXJ1bGVzXFxcXC9cXFxcZCsnKSxcclxuICBBTExPQ0FUSU9OX1JVTEVTX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9hbGxvY2F0aW9uLXJ1bGVzXFxcXC9cXFxcZCsnKSxcclxuXHJcbiAgQkFOS1NfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2JhbmtzJyksXHJcbiAgQkFOS19BQ0NPVU5UU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvYmFuay1hY2NvdW50cycpLFxyXG4gIEJBTktfQUNDT1VOVFNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvYmFuay1hY2NvdW50cycpLFxyXG4gIEJBTktfQUNDT1VOVFNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2JhbmstYWNjb3VudHNcXFxcL1xcXFxkKycpLFxyXG4gIEJBTktfQ09OTkVDVElPTl9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9iYW5rLWNvbm5lY3Rpb25zJyksXHJcbiAgQkFOS19DT05ORUNUSU9OU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvYmFuay1jb25uZWN0aW9ucycpLFxyXG4gIEJBTktfVFJBTlNBQ1RJT05TX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9iYW5rLXRyYW5zYWN0aW9ucycpLFxyXG4gIEJBTktfVFJBTlNBQ1RJT05TX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9iYW5rLXRyYW5zYWN0aW9uc1xcXFwvXFxcXGQrJyksXHJcbiAgQkFOS19UUkFOU0FDVElPTlNfSU1QT1JUX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2JhbmstdHJhbnNhY3Rpb25zXFxcXC9cXFxcZCtcXFxcL2ltcG9ydCcpLFxyXG4gIEJBU0lRX0FDQ09VTlRTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9iYXNpcVxcXFwvYWNjb3VudHMnKSxcclxuICBCQVNJUV9UT0tFTl9HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvYmFzaXFcXFxcL3Rva2VucycpLFxyXG4gIEJBU0lRX0RFTEVURTogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9iYW5rLWNvbm5lY3Rpb25zL1xcXFxkK1xcXFwvcmVtb3ZlLWJhc2lxJyksXHJcbiAgQkFTSVFfVVNFUl9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9iYXNpcVxcXFwvdXNlcicpLFxyXG5cclxuICBCVURHRVRTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9idWRnZXRzJyksXHJcbiAgQlVER0VUU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9idWRnZXRzJyksXHJcbiAgQlVER0VUU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvYnVkZ2V0c1xcXFwvXFxcXGQrJyksXHJcbiAgQlVER0VUU19ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvYnVkZ2V0c1xcXFwvXFxcXGQrJyksXHJcblxyXG4gIEJPUlJPV0lOR19FWFBFTlNFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvYm9ycm93aW5nLWV4cGVuc2VzJyksXHJcblxyXG4gIENIQVJUU19JTkNPTUVfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2NoYXJ0c1xcXFwvXFxcXGluY29tZXMnKSxcclxuICBDSEFSVFNfRVhQRU5TRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2NoYXJ0c1xcXFwvXFxcXGV4cGVuc2VzJyksXHJcbiAgQ0hBUlRfQUNDT1VOVFNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2NoYXJ0LWFjY291bnRzJyksXHJcbiAgQ0hBUlRfQUNDT1VOVFNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvY2hhcnQtYWNjb3VudHMnKSxcclxuICBDSEFSVF9BQ0NPVU5UU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvY2hhcnQtYWNjb3VudHNcXFxcL1xcXFxkKycpLFxyXG4gIENIQVJUX0FDQ09VTlRTX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9jaGFydC1hY2NvdW50c1xcXFwvXFxcXGQrJyksXHJcbiAgQ0xJRU5UU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvY2xpZW50cycpLFxyXG4gIENMSUVOVFNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2NsaWVudHMnKSxcclxuICBDTElFTlRTX0VYQ0xVREVfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2NsaWVudHNcXFxcL1xcXFxkK1xcXFwvZXhjbHVkZScpLFxyXG4gIENMSUVOVFNfSU5WSVRFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvY2xpZW50LWludml0ZXMnKSxcclxuICBDTElFTlRTX0lOVklURVNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvY2xpZW50LWludml0ZXMnKSxcclxuICBDTElFTlRTX0lOVklURVNfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL2NsaWVudC1pbnZpdGVzXFxcXC9cXFxcZCsnKSxcclxuICBDTElFTlRTX0lOVklURVNfQUNDRVBUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2NsaWVudC1pbnZpdGVzXFxcXC9cXFxcZCtcXFxcL2FjY2VwdCcpLFxyXG4gIENMSUVOVFNfSU5WSVRFU19SRUpFQ1Q6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvY2xpZW50LWludml0ZXNcXFxcL1xcXFxkK1xcXFwvcmVqZWN0JyksXHJcbiAgQ0xJRU5UU19JTlZJVEVTX1JFU0VORDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvY2xpZW50LWludml0ZXNcXFxcL1xcXFxkK1xcXFwvcmVzZW5kJyksXHJcbiAgQ0xJRU5UX01PVkVNRU5UU19DTE9TRTogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9jbGllbnQtbW92ZW1lbnRzXFxcXC9cXFxcZCtcXFxcL2Nsb3NlJyksXHJcbiAgQ0xJRU5UX01PVkVNRU5UU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvY2xpZW50LW1vdmVtZW50cycpLFxyXG4gIENMSUVOVF9NT1ZFTUVOVFNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvY2xpZW50LW1vdmVtZW50cycpLFxyXG4gIENPVU5UUklFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvY291bnRyaWVzJyksXHJcbiAgQ09SRUxPR0lDX1RPS0VOX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnL2FjY2Vzc1xcXFwvb2F1dGhcXFxcL3Rva2VuLiokJyksXHJcblxyXG4gIEFOTlVBTF9DTElFTlRfREVUQUlMU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvYW5udWFsLWNsaWVudC1kZXRhaWxzJyksXHJcbiAgQU5OVUFMX0NMSUVOVF9ERVRBSUxTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2FubnVhbC1jbGllbnQtZGV0YWlscycpLFxyXG4gIEFOTlVBTF9DTElFTlRfREVUQUlMU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvYW5udWFsLWNsaWVudC1kZXRhaWxzXFxcXC9cXFxcZCsnKSxcclxuICBBTk5VQUxfQ0xJRU5UX0RFVEFJTFNfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL2FubnVhbC1jbGllbnQtZGV0YWlsc1xcXFwvXFxcXGQrJyksXHJcblxyXG4gIENBUElUQUxfTE9TU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvY2FwaXRhbC1sb3NzZXMnKSxcclxuICBDQVBJVEFMX0xPU1NfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvY2FwaXRhbC1sb3NzZXMnKSxcclxuICBDQVBJVEFMX0xPU1NfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2NhcGl0YWwtbG9zc2VzXFxcXC9cXFxcZCsnKSxcclxuICBDQVBJVEFMX0xPU1NfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL2NhcGl0YWwtbG9zc2VzXFxcXC9cXFxcZCsnKSxcclxuXHJcbiAgREVQUkVDSUFUSU9OU19PUEVOSU5HX1BPU1Q6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvZGVwcmVjaWF0aW9uc1xcXFwvXFxcXG9wZW5pbmctYmFsYW5jZScpLFxyXG4gIERFUFJFQ0lBVElPTlNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2RlcHJlY2lhdGlvbnMnKSxcclxuICBERVBSRUNJQVRJT05TX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2RlcHJlY2lhdGlvbnMnKSxcclxuICBERVBSRUNJQVRJT05TX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9kZXByZWNpYXRpb25zXFxcXC9cXFxcZCsnKSxcclxuICBERVBSRUNJQVRJT05TX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9kZXByZWNpYXRpb25zXFxcXC9cXFxcZCsnKSxcclxuXHJcbiAgRE9XTkxPQURfRklMRV9HRVQ6ICBuZXcgRW5kcG9pbnQoICdHRVQnLCAnXFxcXC9maWxlc1xcXFwvXFxcXGQrXFxcXC9kb3dubG9hZCcpLFxyXG5cclxuICBFTVBMT1lFRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2VtcGxveWVlcycpLFxyXG4gIEVNUExPWUVFU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvZW1wbG95ZWVzXFxcXC9cXFxcZCsnKSxcclxuICBFTVBMT1lFRVNfREVBQ1RJVkFURV9QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvZW1wbG95ZWVzXFxcXC9cXFxcZCtcXFxcL1xcXFxkZWFjdGl2YXRlJyksXHJcbiAgRU1QTE9ZRUVTX0FDVElWQVRFX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9lbXBsb3llZXNcXFxcL1xcXFxkK1xcXFwvXFxcXGFjdGl2YXRlJyksXHJcbiAgRU1QTE9ZRUVTX0lOVklURVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2VtcGxveWVlLWludml0ZXMnKSxcclxuICBFTVBMT1lFRVNfSU5WSVRFU19ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvZW1wbG95ZWUtaW52aXRlc1xcXFwvXFxcXGQrJyksXHJcbiAgRU1QTE9ZRUVTX0lOVklURV9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9lbXBsb3llZS1pbnZpdGVzJyksXHJcbiAgRU1QTE9ZRUVTX0lOVklURVNfUkVTRU5EX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2VtcGxveWVlLWludml0ZXNcXFxcL1xcXFxkK1xcXFwvXFxcXHJlc2VuZCcpLFxyXG5cclxuICBGQUNFQk9PS19MT0dJTl9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC91c2Vyc1xcXFwvYXV0aGVudGljYXRpb25cXFxcL2ZhY2Vib29rJyksXHJcbiAgRklMRV9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9hcGlcXFxcL2ZpbGVzJyksXHJcbiAgRklSTV9HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvZmlybXMnKSxcclxuICBGSVJNX0NVUlJFTlRfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2Zpcm1zXFxcXC9jdXJyZW50JyksXHJcbiAgRklSTV9DVVJSRU5UX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9maXJtc1xcXFwvY3VycmVudCcpLFxyXG4gIEZJUk1fSU5WSVRFX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2Zpcm0taW52aXRlcycpLFxyXG4gIEZJUk1fUkVHSVNUUkFUSU9OX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2Zpcm1zXFxcXC9yZWdpc3RyYXRpb24nKSxcclxuXHJcbiAgRklSTV9CUkFOQ0hfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2Zpcm0tYnJhbmNoZXMnKSxcclxuICBGSVJNX0JSQU5DSF9QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvZmlybS1icmFuY2hlc1xcXFwvXFxcXGQrJyksXHJcbiAgRklSTV9CUkFOQ0hfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvZmlybS1icmFuY2hlcycpLFxyXG4gIEZJUk1fQlJBTkNIX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9maXJtLWJyYW5jaGVzXFxcXC9cXFxcZCsnKSxcclxuXHJcbiAgRk9MREVSU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvZm9sZGVycycpLFxyXG4gIEZPTERFUlNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvZm9sZGVycycpLFxyXG4gIEZPTERFUlNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2ZvbGRlcnNcXFxcL1xcXFxkKycpLFxyXG4gIEZPTERFUlNfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL2ZvbGRlcnNcXFxcL1xcXFxkKycpLFxyXG5cclxuICBET0NVTUVOVFNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2ZvbGRlci1kb2N1bWVudHMnKSxcclxuICBET0NVTUVOVFNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvZm9sZGVyLWRvY3VtZW50cycpLFxyXG4gIERPQ1VNRU5UU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvZm9sZGVyLWRvY3VtZW50c1xcXFwvXFxcXGQrJyksXHJcbiAgRE9DVU1FTlRTX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9mb2xkZXItZG9jdW1lbnRzXFxcXC9cXFxcZCsnKSxcclxuXHJcbiAgR09PR0xFX0xPR0lOX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3VzZXJzXFxcXC9hdXRoZW50aWNhdGlvblxcXFwvZ29vZ2xlJyksXHJcblxyXG4gIElOQ09NRV9TT1VSQ0VTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9pbmNvbWUtc291cmNlcycpLFxyXG4gIElOQ09NRV9TT1VSQ0VTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2luY29tZS1zb3VyY2VzJyksXHJcbiAgSU5DT01FX1NPVVJDRVNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2luY29tZS1zb3VyY2VzJyksXHJcbiAgSU5DT01FX1NPVVJDRVNfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL2luY29tZS1zb3VyY2VzXFxcXC9cXFxcZCsnKSxcclxuICBJTkNPTUVfU09VUkNFX0ZPUkVDQVNUX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9pbmNvbWUtc291cmNlLWZvcmVjYXN0cycpLFxyXG4gIElOQ09NRV9TT1VSQ0VfRk9SRUNBU1RfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvaW5jb21lLXNvdXJjZS1mb3JlY2FzdHMnKSxcclxuICBJTkNPTUVfU09VUkNFX0ZPUkVDQVNUX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9pbmNvbWUtc291cmNlLWZvcmVjYXN0cycpLFxyXG4gIElOQ09NRV9TT1VSQ0VfRk9SRUNBU1RfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL2luY29tZS1zb3VyY2UtZm9yZWNhc3RzXFxcXC9cXFxcZCsnKSxcclxuICBJTkNPTUVfU09VUkNFX1RZUEVTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9pbmNvbWUtc291cmNlLXR5cGVzJyksXHJcblxyXG4gIExPQU5TX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9iYW5rLWFjY291bnRzXFxcXC9sb2FucycpLFxyXG4gIExPQU5TX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2JhbmstYWNjb3VudHNcXFxcL2xvYW5zJyksXHJcbiAgTE9BTlNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2JhbmstYWNjb3VudHNcXFxcL2xvYW5zL1xcXFxkKycpLFxyXG4gIExPQU5TX1BBWU9VVF9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9sb2Fuc1xcXFwvXFxcXGQrXFxcXC9wYXlvdXQnKSxcclxuICBMT0FOU19QQVlPVVRfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2xvYW5zXFxcXC9cXFxcZCtcXFxcL3BheW91dFxcXFwvXFxcXGQrJyksXHJcbiAgTE9BTlNfUEFZT1VUX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9sb2Fuc1xcXFwvXFxcXGQrXFxcXC9wYXlvdXRcXFxcL1xcXFxkKycpLFxyXG4gIExPQU5TX0NBTENVTEFUSU9OX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2JhbmstYWNjb3VudHNcXFxcL2xvYW5zXFxcXC9jYWxjdWxhdGlvbicpLFxyXG4gIExPR0lOX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2xvZ2luJyksXHJcblxyXG4gIEhPTERJTkdfVFJBREVfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2hvbGRpbmctdHJhZGVzJyksXHJcbiAgSE9MRElOR19UUkFERV9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9ob2xkaW5nLXRyYWRlcycpLFxyXG4gIEhPTERJTkdfVFJBREVfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2hvbGRpbmctdHJhZGVzXFxcXC9cXFxcZCsnKSxcclxuICBIT0xESU5HX1RSQURFX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9ob2xkaW5nLXRyYWRlc1xcXFwvXFxcXGQrJyksXHJcbiAgSE9MRElOR19UWVBFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvaG9sZGluZy10eXBlcycpLFxyXG4gIEhPTERJTkdfVFlQRVNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvaG9sZGluZy10eXBlcycpLFxyXG4gIEhPTERJTkdfVFlQRVNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2hvbGRpbmctdHlwZXNcXFxcL1xcXFxkKycpLFxyXG4gIEhPTERJTkdfVFlQRVNfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL2hvbGRpbmctdHlwZXNcXFxcL1xcXFxkKycpLFxyXG4gIEhPTERJTkdfU0FMRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2hvbGRpbmctc2FsZXMnKSxcclxuICBIT0xESU5HX1NBTEVTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2hvbGRpbmctc2FsZXMnKSxcclxuICBIT0xESU5HX1NBTEVTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9ob2xkaW5nLXNhbGVzXFxcXC9cXFxcZCsnKSxcclxuICBIT0xESU5HX1NBTEVTX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9ob2xkaW5nLXNhbGVzXFxcXC9cXFxcZCsnKSxcclxuICBIT0xESU5HX1RSQURFX0lNUE9SVFNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2hvbGRpbmctdHJhZGUtaW1wb3J0cycpLFxyXG4gIEhPTERJTkdfVFJBREVfSU1QT1JUU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9ob2xkaW5nLXRyYWRlLWltcG9ydHMnKSxcclxuICBIT0xESU5HX1RSQURFX0lNUE9SVFNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2hvbGRpbmctdHJhZGUtaW1wb3J0c1xcXFwvXFxcXGQrJyksXHJcbiAgSE9MRElOR19UUkFERV9JTVBPUlRTX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9ob2xkaW5nLXRyYWRlLWltcG9ydHNcXFxcL1xcXFxkKycpLFxyXG5cclxuICBOT1RJRklDQVRJT05TX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9zZXJ2aWNlLW5vdGlmaWNhdGlvbnMnKSxcclxuXHJcbiAgT0NDVVBBVElPTlNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL29jY3VwYXRpb25zJyksXHJcblxyXG4gIFBST1BFUlRJRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3Byb3BlcnRpZXMnKSxcclxuICBQUk9QRVJUSUVTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3Byb3BlcnRpZXMnKSxcclxuICBQUk9QRVJUWV9QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvcHJvcGVydGllcy9cXFxcZCsnKSxcclxuICBQUk9QRVJUWV9TVUJTQ1JJUFRJT05TX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9wcm9wZXJ0eS1zdWJzY3JpcHRpb25zXFxcXC9cXFxcZCsnKSxcclxuICBQUk9QRVJUWV9TVUJTQ1JJUFRJT05TX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3Byb3BlcnR5LXN1YnNjcmlwdGlvbnMnKSxcclxuICBQUk9QRVJUSUVTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9wcm9wZXJ0aWVzJyksXHJcbiAgUFJPUEVSVElFU19DQVRFR09SSUVTX0VRVUlUWV9HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvcHJvcGVydGllc1xcXFwvY2F0ZWdvcmllc1xcXFwvZXF1aXR5JyksXHJcbiAgUFJPUEVSVElFU19DQVRFR09SSUVTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9wcm9wZXJ0aWVzXFxcXC9jYXRlZ29yaWVzJyksXHJcbiAgUFJPUEVSVElFU19DQVRFR09SSUVTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9wcm9wZXJ0aWVzXFxcXC9jYXRlZ29yaWVzXFxcXC9cXFxcZCsnKSxcclxuICBQUk9QRVJUSUVTX0NBVEVHT1JJRVNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvcHJvcGVydGllc1xcXFwvY2F0ZWdvcmllcycpLFxyXG4gIFBST1BFUlRJRVNfQ0FURUdPUklFU19NT1ZFTUVOVFNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3Byb3BlcnR5LWNhdGVnb3J5LW1vdmVtZW50cycpLFxyXG4gIFBST1BFUlRJRVNfQ0FURUdPUllfTU9WRU1FTlRTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3Byb3BlcnR5LWNhdGVnb3J5LW1vdmVtZW50cycpLFxyXG4gIFBST1BFUlRJRVNfQ0FURUdPUllfTU9WRU1FTlRTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9wcm9wZXJ0eS1jYXRlZ29yeS1tb3ZlbWVudHNcXFxcL1xcXFxkKycpLFxyXG4gIFBST1BFUlRJRVNfU0hBUkVTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9wcm9wZXJ0aWVzXFxcXC9zaGFyZXNcXFxcL1xcXFxkKycpLFxyXG4gIFBST1BFUlRJRVNfU0hBUkVTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9wcm9wZXJ0aWVzXFxcXC9zaGFyZXMnKSxcclxuICBQUk9QRVJUSUVTX1NIQVJFU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9wcm9wZXJ0aWVzXFxcXC9zaGFyZXMnKSxcclxuICBQUk9QRVJUSUVTX1ZBTFVBVElPTlNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3Byb3BlcnR5LXZhbHVhdGlvbnMnKSxcclxuICBQUk9QRVJUSUVTX1ZBTFVBVElPTlNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvcHJvcGVydHktdmFsdWF0aW9ucycpLFxyXG4gIFBST1BFUlRJRVNfVkFMVUFUSU9OU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvcHJvcGVydHktdmFsdWF0aW9uc1xcXFwvXFxcXGQrJyksXHJcbiAgUFJPUEVSVElFU19WQUxVQVRJT05TX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9wcm9wZXJ0eS12YWx1YXRpb25zXFxcXC9cXFxcZCsnKSxcclxuICBQUk9QRVJUSUVTX0RFQUNUSVZBVEVfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3Byb3BlcnRpZXNcXFxcL1xcXFxkK1xcXFwvZGVhY3RpdmF0ZScpLFxyXG4gIFBST1BFUlRJRVNfREVQUkVDSUFUSU9OX0NBUElUQUxfUFJPSkVDVF9HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvZGVwcmVjaWF0aW9uLWNhcGl0YWwtcHJvamVjdHMnKSxcclxuICBQUk9QRVJUSUVTX0RFUFJFQ0lBVElPTl9DQVBJVEFMX1BST0pFQ1RfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvZGVwcmVjaWF0aW9uLWNhcGl0YWwtcHJvamVjdHMnKSxcclxuICBQUk9QRVJUSUVTX0RFUFJFQ0lBVElPTl9DQVBJVEFMX1BST0pFQ1RfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2RlcHJlY2lhdGlvbi1jYXBpdGFsLXByb2plY3RzXFxcXC9cXFxcZCsnKSxcclxuICBQUk9QRVJUSUVTX0RFUFJFQ0lBVElPTl9DQVBJVEFMX1BST0pFQ1RfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL2RlcHJlY2lhdGlvbi1jYXBpdGFsLXByb2plY3RzXFxcXC9cXFxcZCsnKSxcclxuICBQUk9QRVJUSUVTX0RPQ1VNRU5UU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvcHJvcGVydHktZG9jdW1lbnRzJyksXHJcbiAgUFJPUEVSVElFU19ET0NVTUVOVFNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvcHJvcGVydHktZG9jdW1lbnRzJyksXHJcbiAgUFJPUEVSVElFU19ET0NVTUVOVFNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3Byb3BlcnR5LWRvY3VtZW50c1xcXFwvXFxcXGQrJyksXHJcbiAgUFJPUEVSVElFU19ET0NVTUVOVFNfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL3Byb3BlcnR5LWRvY3VtZW50c1xcXFwvXFxcXGQrJyksXHJcbiAgUFJPUEVSVElFU19TQUxFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvcHJvcGVydGllc1xcXFwvc2FsZXMnKSxcclxuICBQUk9QRVJUSUVTX1NVR0dFU1RJT05TX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnL3Byb3BlcnR5XFxcXC9cXFxcdytcXFxcL3YyXFxcXC8uKiQnKSxcclxuICBCT1JST1dJTkdfUkVQT1JUU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvYm9ycm93aW5nLXJlcG9ydHMnKSxcclxuICBCT1JST1dJTkdfUkVQT1JUU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9ib3Jyb3dpbmctcmVwb3J0cycpLFxyXG4gIEJPUlJPV0lOR19SRVBPUlRTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9ib3Jyb3dpbmctcmVwb3J0cy9cXFxcZCsnKSxcclxuXHJcbiAgLy8gQFRPRE8gcmVuYW1lXHJcbiAgUFJPUkFUSU9OX0NPU1RfUE9TVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9zZXJ2aWNlLXN1YnNjcmlwdGlvbnNcXFxcL1xcXFxkK1xcXFwvcHJvcmF0aW9uLWNvc3QnKSxcclxuXHJcbiAgU0FMQVJZX0ZPUkVDQVNUX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9zYWxhcnktZm9yZWNhc3RzJyksXHJcbiAgU0FMQVJZX0ZPUkVDQVNUX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3NhbGFyeS1mb3JlY2FzdHMnKSxcclxuICBTQUxBUllfRk9SRUNBU1RfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3NhbGFyeS1mb3JlY2FzdHMnKSxcclxuICBTRVJWSUNFX1BSSUNFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvc2VydmljZS1wcmljZXMnKSxcclxuICBTRVJWSUNFX1BST0RVQ1RTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9zZXJ2aWNlLXByb2R1Y3RzJyksXHJcbiAgU0VSVklDRV9QQVlNRU5UU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvc2VydmljZS1wYXltZW50cycpLFxyXG4gIFNFUlZJQ0VfU1VCU0NSSVBUSU9OU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvc2VydmljZS1zdWJzY3JpcHRpb25zJyksXHJcbiAgU0VSVklDRV9TVUJTQ1JJUFRJT05TX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3NlcnZpY2Utc3Vic2NyaXB0aW9ucycpLFxyXG4gIFNFUlZJQ0VfU1VCU0NSSVBUSU9OU19DQU5DRUw6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvc2VydmljZS1zdWJzY3JpcHRpb25zXFxcXC9cXFxcZCtcXFxcL2NhbmNlbCcpLFxyXG4gIFNFUlZJQ0VfU1VCU0NSSVBUSU9OU19SRU5FVzogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9zZXJ2aWNlLXN1YnNjcmlwdGlvbnNcXFxcL1xcXFxkK1xcXFwvcmVuZXdhbCcpLFxyXG4gIFNFUlZJQ0VfUEFZTUVOVF9JTlZPSUNFX1VSTF9HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvc2VydmljZS1wYXltZW50c1xcXFwvXFxcXGQrXFxcXC9pbnZvaWNlLXVybCcpLFxyXG4gIFNFUlZJQ0VfUEFZTUVOVF9NRVRIT0RTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9zZXJ2aWNlLXBheW1lbnQtbWV0aG9kcycpLFxyXG4gIFNFUlZJQ0VfUEFZTUVOVF9NRVRIT0RTX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9zZXJ2aWNlLXBheW1lbnQtbWV0aG9kc1xcXFwvXFxcXGQrJyksXHJcbiAgU0VSVklDRV9QQVlNRU5UX01FVEhPRFNfR0VUX1NFQ1JFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9zZXJ2aWNlLXBheW1lbnQtbWV0aG9kc1xcXFwvc2V0dXAtaW50ZW50LXNlY3JldCcpLFxyXG4gIFNFUlZJQ0VfUEFZTUVOVF9NRVRIT0RTX0RFRkFVTFRfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3NlcnZpY2UtcGF5bWVudC1tZXRob2RzXFxcXC9cXFxcZCtcXFxcL2RlZmF1bHQnKSxcclxuICBTVUJTQ1JJUFRJT05fSVRFTVNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3NlcnZpY2Utc3Vic2NyaXB0aW9uc1xcXFwvXFxcXGQrXFxcXC9pdGVtcycpLFxyXG5cclxuICBTT0xFX0JVU0lORVNTRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3NvbGUtYnVzaW5lc3NlcycpLFxyXG4gIFNPTEVfQlVTSU5FU1NFU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9zb2xlLWJ1c2luZXNzZXMnKSxcclxuICBTT0xFX0JVU0lORVNTRVNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3NvbGUtYnVzaW5lc3Nlc1xcXFwvXFxcXGQrJyksXHJcbiAgU09MRV9CVVNJTkVTU19MT1NTRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3NvbGUtYnVzaW5lc3MtbG9zc2VzJyksXHJcbiAgU09MRV9CVVNJTkVTU19MT1NTRVNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvc29sZS1idXNpbmVzcy1sb3NzZXMnKSxcclxuICBTT0xFX0JVU0lORVNTX0xPU1NFU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvc29sZS1idXNpbmVzcy1sb3NzZXNcXFxcL1xcXFxkKycpLFxyXG4gIFNPTEVfQlVTSU5FU1NfTE9TU19PRkZTRVRfUlVMRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3NvbGUtYnVzaW5lc3MtbG9zcy1vZmZzZXQtcnVsZXMnKSxcclxuICBTT0xFX0JVU0lORVNTX0xPR09fUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvc29sZS1idXNpbmVzc2VzXFxcXC9cXFxcZCtcXFxcL2xvZ28nKSxcclxuXHJcbiAgU09MRV9DT05UQUNUU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvc29sZS1jb250YWN0cycpLFxyXG4gIFNPTEVfQ09OVEFDVFNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvc29sZS1jb250YWN0cycpLFxyXG4gIFNPTEVfQ09OVEFDVFNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3NvbGUtY29udGFjdHNcXFxcL1xcXFxkKycpLFxyXG5cclxuICBCQVNfUkVQT1JUU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvYmFzLXJlcG9ydHMnKSxcclxuICBCQVNfUkVQT1JUU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9iYXMtcmVwb3J0cycpLFxyXG4gIEJBU19SRVBPUlRTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9iYXMtcmVwb3J0c1xcXFwvXFxcXGQrJyksXHJcblxyXG4gIEJVU0lORVNTX0FDVElWSVRJRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3NvbGUtYnVzaW5lc3MtYWN0aXZpdGllcycpLFxyXG5cclxuICBTT0xFX0RFUFJFQ0lBVElPTl9NRVRIT0RTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9zb2xlLWRlcHJlY2lhdGlvbi1tZXRob2RzJyksXHJcbiAgU09MRV9ERVBSRUNJQVRJT05fTUVUSE9EU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvc29sZS1kZXByZWNpYXRpb24tbWV0aG9kc1xcXFwvXFxcXGQrJyksXHJcblxyXG4gIFNPTEVfREVUQUlMU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvc29sZS1kZXRhaWxzJyksXHJcbiAgU09MRV9ERVRBSUxTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9zb2xlLWRldGFpbHNcXFxcL1xcXFxkKycpLFxyXG5cclxuICBTT0xFX0ZPUkVDQVNUU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9zb2xlLWZvcmVjYXN0cycpLFxyXG4gIFNPTEVfRk9SRUNBU1RTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9zb2xlLWZvcmVjYXN0c1xcXFwvXFxcXGQrJyksXHJcbiAgU09MRV9GT1JFQ0FTVFNfUFVUX0JBVENIOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3NvbGUtZm9yZWNhc3RzJyksXHJcblxyXG4gIFNPTEVfSU5WT0lDRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3NvbGUtaW52b2ljZXMnKSxcclxuICBTT0xFX0lOVk9JQ0VTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3NvbGUtaW52b2ljZXMnKSxcclxuICBTT0xFX0lOVk9JQ0VTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9zb2xlLWludm9pY2VzXFxcXC9cXFxcZCsnKSxcclxuICBTT0xFX0lOVk9JQ0VTX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9zb2xlLWludm9pY2VzXFxcXC9cXFxcZCsnKSxcclxuICBTT0xFX0lOVk9JQ0VTX0VNQUlMX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3NvbGUtaW52b2ljZXNcXFxcL1xcXFxkK1xcXFwvc2VuZCcpLFxyXG4gIFNPTEVfSU5WT0lDRV9URU1QTEFURVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3NvbGUtaW52b2ljZS10ZW1wbGF0ZXMnKSxcclxuICBTT0xFX0lOVk9JQ0VfVEVNUExBVEVTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3NvbGUtaW52b2ljZS10ZW1wbGF0ZXMnKSxcclxuICBTT0xFX0lOVk9JQ0VfVEVNUExBVEVTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9zb2xlLWludm9pY2UtdGVtcGxhdGVzXFxcXC9cXFxcZCsnKSxcclxuICBTT0xFX0lOVk9JQ0VfVEVNUExBVEVTX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9zb2xlLWludm9pY2UtdGVtcGxhdGVzXFxcXC9cXFxcZCsnKSxcclxuXHJcbiAgVEFYX0VYRU1QVElPTlNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3RheC1leGVtcHRpb25zJyksXHJcblxyXG4gIFRBWF9DQUxDVUxBVElPTl9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC90YXgtY2FsY3VsYXRpb24nKSxcclxuICBUQVhfUkVWSUVXU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvdGF4LXJldmlld3MnKSxcclxuICBUQVhfUkVWSUVXU19ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvdGF4LXJldmlld3NcXFxcL1xcXFxkKycpLFxyXG4gIFRBWF9SRVZJRVdTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3RheC1yZXZpZXdzJyksXHJcbiAgVEFYX1JFVklFV1NfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3RheC1yZXZpZXdzXFxcXC9cXFxcZCsnKSxcclxuICBUQVhfU1VNTUFSWV9BQ1RVQUxfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3RheC1zdW1tYXJ5XFxcXC9hY3R1YWxzJyksXHJcbiAgVEFYX1NVTU1BUllfRk9SRUNBU1RfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3RheC1zdW1tYXJ5XFxcXC9mb3JlY2FzdHMnKSxcclxuICBUUkFOU0FDVElPTl9ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvdHJhbnNhY3Rpb25zXFxcXC9cXFxcZCsnKSxcclxuICBUUkFOU0FDVElPTl9QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvdHJhbnNhY3Rpb25zXFxcXC9cXFxcZCsnKSxcclxuICBUUkFOU0FDVElPTlNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3RyYW5zYWN0aW9ucycpLFxyXG4gIFRSQU5TQUNUSU9OU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC90cmFuc2FjdGlvbnMnKSxcclxuICBUUkFOU0FDVElPTlNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3RyYW5zYWN0aW9ucycpLFxyXG4gIFRSQU5TQUNUSU9OU19BTExPQ0FUSU9OU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvdHJhbnNhY3Rpb24tYWxsb2NhdGlvbnMnKSxcclxuICBUUkFOU0FDVElPTlNfQUxMT0NBVElPTlNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvdHJhbnNhY3Rpb24tYWxsb2NhdGlvbnMnKSxcclxuICBUUkFOU0FDVElPTlNfQUxMT0NBVElPTlNfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL3RyYW5zYWN0aW9uLWFsbG9jYXRpb25zXFxcXC9cXFxcZCsnKSxcclxuICBUUkFOU0FDVElPTlNfQUxMT0NBVElPTlNfQkFUQ0hfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC90cmFuc2FjdGlvbi1hbGxvY2F0aW9uc1xcXFwvZGVsZXRlJyksXHJcblxyXG4gIFVTRVJfQ09ORklSTUFUSU9OX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3VzZXJzXFxcXC9jb25maXJtYXRpb24nKSxcclxuICBVU0VSX0NPTkZJUk1BVElPTl9SRVNFTkRfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvdXNlcnNcXFxcL2NvbmZpcm1hdGlvblxcXFwvcmVzZW5kJyksXHJcbiAgVVNFUl9DVVJSRU5UX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC91c2Vyc1xcXFwvY3VycmVudCcpLFxyXG4gIFVTRVJfQ1VSUkVOVF9QQVNTV09SRF9QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvdXNlcnNcXFxcL3Bhc3N3b3JkXFxcXC9jaGFuZ2UnKSxcclxuICBVU0VSX0VWRU5UX1NFVFRJTkdTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC91c2VyLWV2ZW50LXNldHRpbmdzJyksXHJcbiAgVVNFUl9FVkVOVF9UWVBFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvdXNlci1ldmVudC10eXBlcycpLFxyXG4gIFVTRVJfSU5WSVRFX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC91c2Vyc1xcXFwvaW52aXRlXFxcXC9cXFxcZCsnKSxcclxuICBVU0VSX0lOVklURV9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC91c2Vyc1xcXFwvaW52aXRlJyksXHJcbiAgVVNFUl9JTlZJVEVfUkVTRU5EX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3VzZXJzXFxcXC9pbnZpdGUvXFxcXGQrXFxcXC9yZXNlbmQnKSxcclxuICBVU0VSX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC91c2Vyc1xcXFwvXFxcXGQrJyksXHJcbiAgVVNFUl9SRUdJU1RSQVRJT05fUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvdXNlcnNcXFxcL3JlZ2lzdHJhdGlvbicpLFxyXG4gIFVTRVJfUkVTRVRfUEFTU1dPUkRfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3VzZXJzXFxcXC9wYXNzd29yZFxcXFwvcmVzZXQnKSxcclxuICBVU0VSX1NFQVJDSF9HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvdXNlcnNcXFxcL3NlYXJjaCcpLFxyXG4gIFVTRVJfVVBEQVRFX1BIT1RPX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3VzZXJzXFxcXC9waG90bycpLFxyXG4gIFVTRVJfU1RBVFVTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC91c2Vyc1xcXFwvc3RhdHVzJyksXHJcbiAgVVNFUl9SRUNPVkVSWV9QQVNTV09SRF9QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvdXNlcnNcXFxcL3Bhc3N3b3JkXFxcXC9yZWNvdmVyeScpLFxyXG4gIFVTRVJfUEFTU1dPUkRfUkVTRVRfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3Bhc3N3b3JkXFxcXC9yZXNldCcpLFxyXG5cclxuICBWRUhJQ0xFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvdmVoaWNsZXMnKSxcclxuICBWRUhJQ0xFU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC92ZWhpY2xlcycpLFxyXG4gIFZFSElDTEVTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC92ZWhpY2xlc1xcXFwvXFxcXGQrJyksXHJcbiAgVkVISUNMRV9DTEFJTVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3ZlaGljbGUtY2xhaW1zJyksXHJcbiAgVkVISUNMRV9DTEFJTVNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvdmVoaWNsZS1jbGFpbXMnKSxcclxuICBWRUhJQ0xFX0NMQUlNU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvdmVoaWNsZS1jbGFpbXNcXFxcL1xcXFxkKycpLFxyXG4gIEhPTUVfT0ZGSUNFX0NMQUlNX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9ob21lLW9mZmljZS1jbGFpbXMnKSxcclxuICBIT01FX09GRklDRV9DTEFJTV9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9ob21lLW9mZmljZS1jbGFpbXMnKSxcclxuICBIT01FX09GRklDRV9DTEFJTV9QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvaG9tZS1vZmZpY2UtY2xhaW1zXFxcXC9cXFxcZCsnKSxcclxuICBIT01FX09GRklDRV9MT0dfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2hvbWUtb2ZmaWNlLWxvZ3MnKSxcclxuICBIT01FX09GRklDRV9MT0dfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvaG9tZS1vZmZpY2UtbG9ncycpLFxyXG4gIEhPTUVfT0ZGSUNFX0xPR19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvaG9tZS1vZmZpY2UtbG9nc1xcXFwvXFxcXGQrJyksXHJcbiAgSE9NRV9PRkZJQ0VfTE9HX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9ob21lLW9mZmljZS1sb2dzXFxcXC9cXFxcZCsnKSxcclxuICBWRUhJQ0xFX0xPR0JPT0tTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC92ZWhpY2xlc1xcXFwvbG9nYm9va3MnKSxcclxuICBWRUhJQ0xFX0xPR0JPT0tTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3ZlaGljbGVzXFxcXC9sb2dib29rcycpLFxyXG4gIFZFSElDTEVfTE9HQk9PS1NfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3ZlaGljbGVzXFxcXC9sb2dib29rc1xcXFwvXFxcXGQrJyksXHJcbiAgVkVISUNMRV9MT0dCT09LU19ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvdmVoaWNsZXNcXFxcL2xvZ2Jvb2tzXFxcXC9cXFxcZCsnKSxcclxuICBWRUhJQ0xFX0NMQUlNX0RFVEFJTFNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3ZlaGljbGUtY2xhaW0tZGV0YWlscycpLFxyXG4gIFZFSElDTEVfQ0xBSU1fREVUQUlMU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC92ZWhpY2xlLWNsYWltLWRldGFpbHMnKSxcclxuICBWRUhJQ0xFX0NMQUlNX0RFVEFJTFNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3ZlaGljbGUtY2xhaW0tZGV0YWlsc1xcXFwvXFxcXGQrJyksXHJcbn07XHJcbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { Transaction } from '../transaction';
3
- import { Holding } from './holding';
3
+ import { HoldingTrade } from './holding-trade';
4
4
  import { AbstractModel } from '../../db/Models';
5
5
  import { Type } from 'class-transformer';
6
6
  import { HoldingType } from './holding-type';
@@ -14,9 +14,9 @@ __decorate([
14
14
  Type(() => Transaction)
15
15
  ], HoldingReinvest.prototype, "transaction", void 0);
16
16
  __decorate([
17
- Type(() => Holding)
18
- ], HoldingReinvest.prototype, "holding", void 0);
17
+ Type(() => HoldingTrade)
18
+ ], HoldingReinvest.prototype, "trade", void 0);
19
19
  __decorate([
20
20
  Type(() => HoldingType)
21
21
  ], HoldingReinvest.prototype, "holdingType", void 0);
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy1yZWludmVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvaG9sZGluZy9ob2xkaW5nLXJlaW52ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3Qzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxhQUFhO0NBU2pEO0FBUEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDO29EQUNDO0FBR3pCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQztnREFDSDtBQUdqQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7b0RBQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IEhvbGRpbmcgfSBmcm9tICcuL2hvbGRpbmcnO1xuaW1wb3J0IHsgQWJzdHJhY3RNb2RlbCB9IGZyb20gJy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgSG9sZGluZ1R5cGUgfSBmcm9tICcuL2hvbGRpbmctdHlwZSc7XG5cbi8qKlxuICogSGVscGVyIGNsYXNzIGZvciBob2xkaW5nIHJlaW52ZXN0IGZ1bmN0aW9uYWxpdHkuXG4gKiBSZWludmVzdCAtIGdldCBkaXZpZGVuZHMgYW5kIGRpcmVjdGx5IGJ1eSBob2xkaW5nc1xuICovXG5leHBvcnQgY2xhc3MgSG9sZGluZ1JlaW52ZXN0IGV4dGVuZHMgQWJzdHJhY3RNb2RlbCB7XG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uKVxuICB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb247XG5cbiAgQFR5cGUoKCkgPT4gSG9sZGluZylcbiAgaG9sZGluZzogSG9sZGluZztcblxuICBAVHlwZSgoKSA9PiBIb2xkaW5nVHlwZSlcbiAgaG9sZGluZ1R5cGU6IEhvbGRpbmdUeXBlO1xufVxuIl19
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy1yZWludmVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvaG9sZGluZy9ob2xkaW5nLXJlaW52ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDOzs7R0FHRztBQUNILE1BQU0sT0FBTyxlQUFnQixTQUFRLGFBQWE7Q0FTakQ7QUFQQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7b0RBQ0M7QUFHekI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDOzhDQUNMO0FBR3BCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQztvREFDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgSG9sZGluZ1RyYWRlIH0gZnJvbSAnLi9ob2xkaW5nLXRyYWRlJztcbmltcG9ydCB7IEFic3RyYWN0TW9kZWwgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEhvbGRpbmdUeXBlIH0gZnJvbSAnLi9ob2xkaW5nLXR5cGUnO1xuXG4vKipcbiAqIEhlbHBlciBjbGFzcyBmb3IgaG9sZGluZyByZWludmVzdCBmdW5jdGlvbmFsaXR5LlxuICogUmVpbnZlc3QgLSBnZXQgZGl2aWRlbmRzIGFuZCBkaXJlY3RseSBidXkgaG9sZGluZ3NcbiAqL1xuZXhwb3J0IGNsYXNzIEhvbGRpbmdSZWludmVzdCBleHRlbmRzIEFic3RyYWN0TW9kZWwge1xuICBAVHlwZSgoKSA9PiBUcmFuc2FjdGlvbilcbiAgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uO1xuXG4gIEBUeXBlKCgpID0+IEhvbGRpbmdUcmFkZSlcbiAgdHJhZGU6IEhvbGRpbmdUcmFkZTtcblxuICBAVHlwZSgoKSA9PiBIb2xkaW5nVHlwZSlcbiAgaG9sZGluZ1R5cGU6IEhvbGRpbmdUeXBlO1xufVxuIl19
@@ -2,6 +2,9 @@ import { __decorate } from "tslib";
2
2
  import { Transform, Type } from 'class-transformer';
3
3
  import { AppFile } from '../file';
4
4
  import { AssetSale } from '../asset-sale';
5
+ /**
6
+ * @TODO vik rename to HoldingTradeParcel when backend ready
7
+ */
5
8
  export class HoldingSale extends AssetSale {
6
9
  /**
7
10
  * netCapitalGain is different from grossCapitalGain only when 1 year rule applied
@@ -21,9 +24,15 @@ export class HoldingSale extends AssetSale {
21
24
  getPurchasePrice(holding) {
22
25
  return holding.price * this.quantity;
23
26
  }
27
+ /**
28
+ * total price of sale
29
+ */
24
30
  get netCost() {
25
31
  return this.cost - this.fee;
26
32
  }
33
+ /**
34
+ * total price of sale without fee
35
+ */
27
36
  get cost() {
28
37
  return this.price * this.quantity;
29
38
  }
@@ -34,4 +43,4 @@ __decorate([
34
43
  __decorate([
35
44
  Type(() => AppFile)
36
45
  ], HoldingSale.prototype, "file", void 0);
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy1zYWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9ob2xkaW5nL2hvbGRpbmctc2FsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsTUFBTSxPQUFPLFdBQVksU0FBUSxTQUFTO0lBWXhDOztPQUVHO0lBQ0gsNEJBQTRCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixLQUFLLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDNUUsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQixDQUFDLE9BQWdCO1FBQy9CLE9BQU8sT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBbENDO0lBREMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQzs0Q0FDbEQ7QUFHbEI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDO3lDQUNOIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNmb3JtLCBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgSG9sZGluZyB9IGZyb20gJy4vaG9sZGluZyc7XG5pbXBvcnQgeyBBcHBGaWxlIH0gZnJvbSAnLi4vZmlsZSc7XG5pbXBvcnQgeyBBc3NldFNhbGUgfSBmcm9tICcuLi9hc3NldC1zYWxlJztcblxuZXhwb3J0IGNsYXNzIEhvbGRpbmdTYWxlIGV4dGVuZHMgQXNzZXRTYWxlIHtcbiAgcXVhbnRpdHk6IG51bWJlcjtcbiAgcHJpY2U6IG51bWJlcjtcbiAgZmVlOiBudW1iZXI7XG4gIHRvdGFsOiBudW1iZXI7XG5cbiAgQFRyYW5zZm9ybSgoeyB2YWx1ZSB9KSA9PiAoeyBpZDogdmFsdWUuaWQgfSksIHsgdG9QbGFpbk9ubHk6IHRydWUgfSlcbiAgaG9sZGluZz86IEhvbGRpbmc7XG5cbiAgQFR5cGUoKCkgPT4gQXBwRmlsZSlcbiAgZmlsZTogQXBwRmlsZTtcblxuICAvKipcbiAgICogbmV0Q2FwaXRhbEdhaW4gaXMgZGlmZmVyZW50IGZyb20gZ3Jvc3NDYXBpdGFsR2FpbiBvbmx5IHdoZW4gMSB5ZWFyIHJ1bGUgYXBwbGllZFxuICAgKi9cbiAgaXNPbmVZZWFyRXhlbXB0aW9uQXBwbGljYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ncm9zc0NhcGl0YWxHYWluICE9PSB0aGlzLm5ldENhcGl0YWxHYWluO1xuICB9XG5cbiAgZ2V0IGNvbmNlc3Npb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pc09uZVllYXJFeGVtcHRpb25BcHBsaWNhYmxlKCkgPyAnNTAlICgxIHllYXIgcnVsZSknIDogJ05vbmUnO1xuICB9XG5cbiAgZ2V0Q29zdEJhc2UoaG9sZGluZzogSG9sZGluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UHVyY2hhc2VQcmljZShob2xkaW5nKSArIGhvbGRpbmcuZmVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFB1cmNoYXNlIHByaWNlIG9mIHNvbGQgaXRlbXNcbiAgICovXG4gIGdldFB1cmNoYXNlUHJpY2UoaG9sZGluZzogSG9sZGluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIGhvbGRpbmcucHJpY2UgKiB0aGlzLnF1YW50aXR5O1xuICB9XG5cbiAgZ2V0IG5ldENvc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jb3N0IC0gdGhpcy5mZWU7XG4gIH1cblxuICBnZXQgY29zdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnByaWNlICogdGhpcy5xdWFudGl0eTtcbiAgfVxufVxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy1zYWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9ob2xkaW5nL2hvbGRpbmctc2FsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sV0FBWSxTQUFRLFNBQVM7SUFleEM7O09BRUc7SUFDSCw0QkFBNEI7UUFDMUIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLEtBQUssSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM1RSxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXFCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFDdEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZ0JBQWdCLENBQUMsT0FBcUI7UUFDcEMsT0FBTyxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBeENDO0lBREMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQzs0Q0FDN0M7QUFHdkI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDO3lDQUNOIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNmb3JtLCBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgSG9sZGluZ1RyYWRlIH0gZnJvbSAnLi9ob2xkaW5nLXRyYWRlJztcbmltcG9ydCB7IEFwcEZpbGUgfSBmcm9tICcuLi9maWxlJztcbmltcG9ydCB7IEFzc2V0U2FsZSB9IGZyb20gJy4uL2Fzc2V0LXNhbGUnO1xuXG4vKipcbiAqIEBUT0RPIHZpayByZW5hbWUgdG8gSG9sZGluZ1RyYWRlUGFyY2VsIHdoZW4gYmFja2VuZCByZWFkeVxuICovXG5leHBvcnQgY2xhc3MgSG9sZGluZ1NhbGUgZXh0ZW5kcyBBc3NldFNhbGUge1xuICBxdWFudGl0eTogbnVtYmVyO1xuICBwcmljZTogbnVtYmVyO1xuICBmZWU6IG51bWJlcjtcbiAgdG90YWw6IG51bWJlcjtcblxuICAvKipcbiAgICogQFRPRE8gdmlrIDQ1MjEgcmVtb3ZlXG4gICAqL1xuICBAVHJhbnNmb3JtKCh7IHZhbHVlIH0pID0+ICh7IGlkOiB2YWx1ZS5pZCB9KSwgeyB0b1BsYWluT25seTogdHJ1ZSB9KVxuICBob2xkaW5nPzogSG9sZGluZ1RyYWRlO1xuXG4gIEBUeXBlKCgpID0+IEFwcEZpbGUpXG4gIGZpbGU6IEFwcEZpbGU7XG5cbiAgLyoqXG4gICAqIG5ldENhcGl0YWxHYWluIGlzIGRpZmZlcmVudCBmcm9tIGdyb3NzQ2FwaXRhbEdhaW4gb25seSB3aGVuIDEgeWVhciBydWxlIGFwcGxpZWRcbiAgICovXG4gIGlzT25lWWVhckV4ZW1wdGlvbkFwcGxpY2FibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ3Jvc3NDYXBpdGFsR2FpbiAhPT0gdGhpcy5uZXRDYXBpdGFsR2FpbjtcbiAgfVxuXG4gIGdldCBjb25jZXNzaW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXNPbmVZZWFyRXhlbXB0aW9uQXBwbGljYWJsZSgpID8gJzUwJSAoMSB5ZWFyIHJ1bGUpJyA6ICdOb25lJztcbiAgfVxuXG4gIGdldENvc3RCYXNlKGhvbGRpbmc6IEhvbGRpbmdUcmFkZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UHVyY2hhc2VQcmljZShob2xkaW5nKSArIGhvbGRpbmcuZmVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFB1cmNoYXNlIHByaWNlIG9mIHNvbGQgaXRlbXNcbiAgICovXG4gIGdldFB1cmNoYXNlUHJpY2UoaG9sZGluZzogSG9sZGluZ1RyYWRlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gaG9sZGluZy5wcmljZSAqIHRoaXMucXVhbnRpdHk7XG4gIH1cblxuICAvKipcbiAgICogdG90YWwgcHJpY2Ugb2Ygc2FsZVxuICAgKi9cbiAgZ2V0IG5ldENvc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jb3N0IC0gdGhpcy5mZWU7XG4gIH1cblxuICAvKipcbiAgICogdG90YWwgcHJpY2Ugb2Ygc2FsZSB3aXRob3V0IGZlZVxuICAgKi9cbiAgZ2V0IGNvc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wcmljZSAqIHRoaXMucXVhbnRpdHk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { __decorate } from "tslib";
2
+ import { HoldingTrade, ObservableModel } from '../../db/Models';
3
+ import { Type } from 'class-transformer';
4
+ export class HoldingTradeImport extends ObservableModel {
5
+ static { this.className = 'HoldingTradeImport'; }
6
+ }
7
+ __decorate([
8
+ Type(() => Date)
9
+ ], HoldingTradeImport.prototype, "createdAt", void 0);
10
+ __decorate([
11
+ Type(() => Date)
12
+ ], HoldingTradeImport.prototype, "updatedAt", void 0);
13
+ __decorate([
14
+ Type(() => HoldingTrade)
15
+ ], HoldingTradeImport.prototype, "holdings", void 0);
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy10cmFkZS1pbXBvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL2hvbGRpbmcvaG9sZGluZy10cmFkZS1pbXBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXpDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxlQUFlO2FBQzlDLGNBQVMsR0FBRyxvQkFBb0IsQ0FBQzs7QUFHeEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO3FEQUNEO0FBRWhCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztxREFDRDtBQUVoQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0RBQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIb2xkaW5nVHJhZGUsIE9ic2VydmFibGVNb2RlbCB9IGZyb20gJy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuXG5leHBvcnQgY2xhc3MgSG9sZGluZ1RyYWRlSW1wb3J0IGV4dGVuZHMgT2JzZXJ2YWJsZU1vZGVsIHtcbiAgc3RhdGljIGNsYXNzTmFtZSA9ICdIb2xkaW5nVHJhZGVJbXBvcnQnO1xuICBvcmlnaW5hbE5hbWU6IHN0cmluZztcbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgY3JlYXRlZEF0OiBEYXRlO1xuICBAVHlwZSgoKSA9PiBEYXRlKVxuICB1cGRhdGVkQXQ6IERhdGU7XG4gIEBUeXBlKCgpID0+IEhvbGRpbmdUcmFkZSlcbiAgaG9sZGluZ3M/OiBIb2xkaW5nVHJhZGVbXTtcbn1cbiJdfQ==
@@ -0,0 +1,77 @@
1
+ import { __decorate } from "tslib";
2
+ import { Expose, Transform, Type, plainToClass } from 'class-transformer';
3
+ import { User } from '../user';
4
+ import { HoldingType } from './holding-type';
5
+ import { AppFile } from '../file';
6
+ import { AbstractModel } from '../../db/Models';
7
+ import { FinancialYear } from '../financial-year';
8
+ import { HoldingTradeTypeEnum, HoldingTypeCategoryEnum } from '../../db/Enums';
9
+ export class HoldingTrade extends AbstractModel {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.isTaxFree = false;
13
+ this.quantity = 0;
14
+ this.price = 0;
15
+ this.type = HoldingTradeTypeEnum.BUY;
16
+ }
17
+ isPurchase() {
18
+ return this.type === HoldingTradeTypeEnum.BUY;
19
+ }
20
+ get typeLabel() {
21
+ return this.isPurchase() ? 'Buy' : 'Sell';
22
+ }
23
+ /**
24
+ * Get total purchasing price
25
+ */
26
+ get total() {
27
+ return this.price * this.quantity;
28
+ }
29
+ /**
30
+ * @TODO vik remove
31
+ */
32
+ get marketValue() {
33
+ return this.quantity * this.holdingType.price;
34
+ }
35
+ /**
36
+ * Get percent difference between current and buy price
37
+ * @TODO vik/alex no need to pass holdingType, should come from backend
38
+ */
39
+ get growthCoefficient() {
40
+ return this.holdingType.price / this.price - 1;
41
+ }
42
+ heldMoreYear() {
43
+ const yearTime = 1000 * 60 * 60 * 24 * 365;
44
+ return (new FinancialYear().startDate.getTime() - this.date.getTime()) > yearTime;
45
+ }
46
+ }
47
+ __decorate([
48
+ Type(() => Date)
49
+ ], HoldingTrade.prototype, "date", void 0);
50
+ __decorate([
51
+ Type(() => User)
52
+ ], HoldingTrade.prototype, "user", void 0);
53
+ __decorate([
54
+ Type(() => HoldingType)
55
+ ], HoldingTrade.prototype, "holdingType", void 0);
56
+ __decorate([
57
+ Type(() => AppFile)
58
+ ], HoldingTrade.prototype, "file", void 0);
59
+ __decorate([
60
+ Transform(({ obj }) => {
61
+ const holdingType = plainToClass(HoldingType, obj.holdingType);
62
+ if (holdingType) {
63
+ return holdingType.isOther() ? null : holdingType.category;
64
+ }
65
+ if (obj.category) {
66
+ return [
67
+ HoldingTypeCategoryEnum.COLLECTIBLE,
68
+ HoldingTypeCategoryEnum.UNLISTED_STOCK,
69
+ HoldingTypeCategoryEnum.UNLISTED_UNIT,
70
+ HoldingTypeCategoryEnum.OTHER
71
+ ].includes(obj.category) ? null : obj.category;
72
+ }
73
+ return HoldingTypeCategoryEnum.STOCK;
74
+ }, { toClassOnly: true }),
75
+ Expose({ toClassOnly: true })
76
+ ], HoldingTrade.prototype, "category", void 0);
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy10cmFkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvaG9sZGluZy9ob2xkaW5nLXRyYWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMvQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9FLE1BQU0sT0FBTyxZQUFhLFNBQVEsYUFBYTtJQUEvQzs7UUFDRSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFFYixVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBRVYsU0FBSSxHQUFHLG9CQUFvQixDQUFDLEdBQUcsQ0FBQztJQXlFbEMsQ0FBQztJQW5DQyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLG9CQUFvQixDQUFDLEdBQUcsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzVDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztJQUNoRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsWUFBWTtRQUNWLE1BQU0sUUFBUSxHQUFXLElBQUksR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFFbkQsT0FBTyxDQUFDLElBQUksYUFBYSxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUM7SUFDcEYsQ0FBQztDQUNGO0FBdEVDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzswQ0FDTjtBQUdYO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzswQ0FDTjtBQU1YO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQztpREFDQztBQUd6QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7MENBQ047QUFxQmlCO0lBZjlCLFNBQVMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRTtRQUNyQixNQUFNLFdBQVcsR0FBZ0IsWUFBWSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDM0UsSUFBSSxXQUFXLEVBQUU7WUFDZixPQUFPLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFBO1NBQzNEO1FBQ0QsSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFO1lBQ2hCLE9BQU87Z0JBQ0wsdUJBQXVCLENBQUMsV0FBVztnQkFDbkMsdUJBQXVCLENBQUMsY0FBYztnQkFDdEMsdUJBQXVCLENBQUMsYUFBYTtnQkFDckMsdUJBQXVCLENBQUMsS0FBSzthQUM5QixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztTQUNoRDtRQUNELE9BQU8sdUJBQXVCLENBQUMsS0FBSyxDQUFDO0lBQ3ZDLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUN4QixNQUFNLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7OENBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXhwb3NlLCBUcmFuc2Zvcm0sIFR5cGUsIHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi91c2VyJztcbmltcG9ydCB7IEhvbGRpbmdUeXBlIH0gZnJvbSAnLi9ob2xkaW5nLXR5cGUnO1xuaW1wb3J0IHsgQXBwRmlsZSB9IGZyb20gJy4uL2ZpbGUnO1xuaW1wb3J0IHsgQWJzdHJhY3RNb2RlbCB9IGZyb20gJy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBGaW5hbmNpYWxZZWFyIH0gZnJvbSAnLi4vZmluYW5jaWFsLXllYXInO1xuaW1wb3J0IHsgSG9sZGluZ1RyYWRlVHlwZUVudW0sIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMnO1xuXG5leHBvcnQgY2xhc3MgSG9sZGluZ1RyYWRlIGV4dGVuZHMgQWJzdHJhY3RNb2RlbCB7XG4gIGlzVGF4RnJlZSA9IGZhbHNlO1xuICBxdWFudGl0eSA9IDA7XG4gIG93bmVyc2hpcFBlcmNlbnQ/OiBudW1iZXI7XG4gIHByaWNlID0gMDtcbiAgZmVlOiBudW1iZXI7XG4gIHR5cGUgPSBIb2xkaW5nVHJhZGVUeXBlRW51bS5CVVk7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgZGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBVc2VyKVxuICB1c2VyOiBVc2VyO1xuXG4gIC8qKlxuICAgKiBAVE9ETyB2aWsgNDUyMSByZW5hbWUgdG8gaG9sZGluZ1xuICAgKi9cbiAgQFR5cGUoKCkgPT4gSG9sZGluZ1R5cGUpXG4gIGhvbGRpbmdUeXBlOiBIb2xkaW5nVHlwZTtcblxuICBAVHlwZSgoKSA9PiBBcHBGaWxlKVxuICBmaWxlOiBBcHBGaWxlO1xuXG4gIC8qKlxuICAgKiBAVE9ETyBBcnRlbS9BbGV4IGxvb2tzIGJhZCwgY29tZSB1cCB3aXRoIGEgYmV0dGVyIHNvbHV0aW9uXG4gICAqIGdldCBjdXJyZW50IGNhdGVnb3J5LCBpbiBob2xkaW5nIHdlIGFyZSBpbnRlcmVzdGVkIGluIDMgbWFpbiBjYXRlZ29yaWVzOiBzdG9jay9jcnlwdG8vb3RoZXJcbiAgICovXG4gIEBUcmFuc2Zvcm0oKHsgb2JqIH0pID0+IHtcbiAgICBjb25zdCBob2xkaW5nVHlwZTogSG9sZGluZ1R5cGUgPSBwbGFpblRvQ2xhc3MoSG9sZGluZ1R5cGUsIG9iai5ob2xkaW5nVHlwZSlcbiAgICBpZiAoaG9sZGluZ1R5cGUpIHtcbiAgICAgIHJldHVybiBob2xkaW5nVHlwZS5pc090aGVyKCkgPyBudWxsIDogaG9sZGluZ1R5cGUuY2F0ZWdvcnlcbiAgICB9XG4gICAgaWYgKG9iai5jYXRlZ29yeSkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uQ09MTEVDVElCTEUsXG4gICAgICAgIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLlVOTElTVEVEX1NUT0NLLFxuICAgICAgICBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5VTkxJU1RFRF9VTklULFxuICAgICAgICBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5PVEhFUlxuICAgICAgXS5pbmNsdWRlcyhvYmouY2F0ZWdvcnkpID8gbnVsbCA6IG9iai5jYXRlZ29yeTtcbiAgICB9XG4gICAgcmV0dXJuIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLlNUT0NLO1xuICB9LCB7IHRvQ2xhc3NPbmx5OiB0cnVlIH0pXG4gIEBFeHBvc2UoeyB0b0NsYXNzT25seTogdHJ1ZSB9KSBjYXRlZ29yeTogSG9sZGluZ1R5cGVDYXRlZ29yeUVudW07XG5cbiAgaXNQdXJjaGFzZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBIb2xkaW5nVHJhZGVUeXBlRW51bS5CVVk7XG4gIH1cblxuICBnZXQgdHlwZUxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXNQdXJjaGFzZSgpID8gJ0J1eScgOiAnU2VsbCc7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRvdGFsIHB1cmNoYXNpbmcgcHJpY2VcbiAgICovXG4gIGdldCB0b3RhbCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnByaWNlICogdGhpcy5xdWFudGl0eTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyB2aWsgcmVtb3ZlXG4gICAqL1xuICBnZXQgbWFya2V0VmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5xdWFudGl0eSAqIHRoaXMuaG9sZGluZ1R5cGUucHJpY2U7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHBlcmNlbnQgZGlmZmVyZW5jZSBiZXR3ZWVuIGN1cnJlbnQgYW5kIGJ1eSBwcmljZVxuICAgKiBAVE9ETyB2aWsvYWxleCBubyBuZWVkIHRvIHBhc3MgaG9sZGluZ1R5cGUsIHNob3VsZCBjb21lIGZyb20gYmFja2VuZFxuICAgKi9cbiAgZ2V0IGdyb3d0aENvZWZmaWNpZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaG9sZGluZ1R5cGUucHJpY2UgLyB0aGlzLnByaWNlIC0gMTtcbiAgfVxuXG4gIGhlbGRNb3JlWWVhcigpOiBib29sZWFuIHtcbiAgICBjb25zdCB5ZWFyVGltZTogbnVtYmVyID0gMTAwMCAqIDYwICogNjAgKiAyNCAqIDM2NTtcblxuICAgIHJldHVybiAobmV3IEZpbmFuY2lhbFllYXIoKS5zdGFydERhdGUuZ2V0VGltZSgpIC0gdGhpcy5kYXRlLmdldFRpbWUoKSkgPiB5ZWFyVGltZTtcbiAgfVxufVxuIl19
@@ -2,6 +2,9 @@ import { __decorate } from "tslib";
2
2
  import { Type } from 'class-transformer';
3
3
  import { AbstractModel } from '../../db/Models';
4
4
  import { HoldingType } from './holding-type';
5
+ /**
6
+ * @TODO rename 4521 to HoldingExchange when backend ready
7
+ */
5
8
  export class HoldingTypeExchange extends AbstractModel {
6
9
  }
7
10
  __decorate([
@@ -10,4 +13,4 @@ __decorate([
10
13
  __decorate([
11
14
  Type(() => HoldingType)
12
15
  ], HoldingTypeExchange.prototype, "holdingTypes", void 0);
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy10eXBlLWV4Y2hhbmdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9ob2xkaW5nL2hvbGRpbmctdHlwZS1leGNoYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGFBQWE7Q0FZckQ7QUFKQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7OERBQ1E7QUFHekI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDO3lEQUNLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUeXBlfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQge0Fic3RyYWN0TW9kZWx9IGZyb20gJy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQge0hvbGRpbmdUeXBlfSBmcm9tICcuL2hvbGRpbmctdHlwZSc7XG5cbmV4cG9ydCBjbGFzcyBIb2xkaW5nVHlwZUV4Y2hhbmdlIGV4dGVuZHMgQWJzdHJhY3RNb2RlbCB7XG4gIGNvZGU/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGN1cnJlbmN5Pzogc3RyaW5nO1xuICBjbG9zZVRpbWU/OiBzdHJpbmc7XG4gIHRpbWV6b25lPzogc3RyaW5nO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIGV4Y2hhbmdlVXBkYXRlZEF0PzogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBIb2xkaW5nVHlwZSlcbiAgaG9sZGluZ1R5cGVzPzogSG9sZGluZ1R5cGVbXTtcbn1cbiJdfQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy10eXBlLWV4Y2hhbmdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9ob2xkaW5nL2hvbGRpbmctdHlwZS1leGNoYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0M7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsYUFBYTtDQVlyRDtBQUpDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzs4REFDUTtBQUd6QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7eURBQ0siLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgQWJzdHJhY3RNb2RlbCB9IGZyb20gJy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBIb2xkaW5nVHlwZSB9IGZyb20gJy4vaG9sZGluZy10eXBlJztcblxuLyoqXG4gKiBAVE9ETyByZW5hbWUgNDUyMSB0byBIb2xkaW5nRXhjaGFuZ2Ugd2hlbiBiYWNrZW5kIHJlYWR5XG4gKi9cbmV4cG9ydCBjbGFzcyBIb2xkaW5nVHlwZUV4Y2hhbmdlIGV4dGVuZHMgQWJzdHJhY3RNb2RlbCB7XG4gIGNvZGU/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGN1cnJlbmN5Pzogc3RyaW5nO1xuICBjbG9zZVRpbWU/OiBzdHJpbmc7XG4gIHRpbWV6b25lPzogc3RyaW5nO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIGV4Y2hhbmdlVXBkYXRlZEF0PzogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBIb2xkaW5nVHlwZSlcbiAgaG9sZGluZ1R5cGVzPzogSG9sZGluZ1R5cGVbXTtcbn1cbiJdfQ==
@@ -5,6 +5,9 @@ import { User } from '../user';
5
5
  import { AbstractModel } from '../../db/Models';
6
6
  import { HoldingTypeExchange } from './holding-type-exchange';
7
7
  import { AppFile } from '../file';
8
+ /**
9
+ * @TODO vik 4521 rename to Holding when backend ready
10
+ */
8
11
  export class HoldingType extends AbstractModel {
9
12
  /**
10
13
  * @TODO Alex move to translation file
@@ -61,4 +64,4 @@ __decorate([
61
64
  __decorate([
62
65
  Type(() => HoldingTypeExchange)
63
66
  ], HoldingType.prototype, "exchange", void 0);
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9ob2xkaW5nL2hvbGRpbmctdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFbEMsTUFBTSxPQUFPLFdBQVksU0FBUSxhQUFhO0lBa0M1Qzs7T0FFRztJQUNILElBQUksYUFBYTtRQUNmLFFBQVEsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNyQixLQUFLLHVCQUF1QixDQUFDLEtBQUs7Z0JBQ2hDLE9BQU8sUUFBUSxDQUFDO1lBQ2xCLEtBQUssdUJBQXVCLENBQUMsTUFBTTtnQkFDakMsT0FBTyxTQUFTLENBQUM7WUFDbkIsS0FBSyx1QkFBdUIsQ0FBQyxXQUFXO2dCQUN0QyxPQUFPLGNBQWMsQ0FBQztZQUN4QixLQUFLLHVCQUF1QixDQUFDLGNBQWM7Z0JBQ3pDLE9BQU8sZ0JBQWdCLENBQUM7WUFDMUIsS0FBSyx1QkFBdUIsQ0FBQyxhQUFhO2dCQUN4QyxPQUFPLGVBQWUsQ0FBQztZQUN6QjtnQkFDRSxPQUFPLE9BQU8sQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTztZQUNMLHVCQUF1QixDQUFDLFdBQVc7WUFDbkMsdUJBQXVCLENBQUMsY0FBYztZQUN0Qyx1QkFBdUIsQ0FBQyxhQUFhO1lBQ3JDLHVCQUF1QixDQUFDLEtBQUs7U0FDOUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLHVCQUF1QixDQUFDLEtBQUssQ0FBQztJQUN6RCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyx1QkFBdUIsQ0FBQyxNQUFNLENBQUM7SUFDMUQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNsRSxDQUFDO0NBQ0Y7QUFyREM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDO3lDQUNOO0FBRWQ7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDOzZEQUNlO0FBRWhDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzs4Q0FDQTtBQUVqQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7eUNBQ0w7QUFFWjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzs2Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi91c2VyJztcbmltcG9ydCB7IEFic3RyYWN0TW9kZWwgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IHsgSG9sZGluZ1R5cGVFeGNoYW5nZSB9IGZyb20gJy4vaG9sZGluZy10eXBlLWV4Y2hhbmdlJztcbmltcG9ydCB7IEFwcEZpbGUgfSBmcm9tICcuLi9maWxlJztcblxuZXhwb3J0IGNsYXNzIEhvbGRpbmdUeXBlIGV4dGVuZHMgQWJzdHJhY3RNb2RlbCB7XG4gIGNhdGVnb3J5PzogSG9sZGluZ1R5cGVDYXRlZ29yeUVudW07XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHRpY2tlcj86IHN0cmluZztcbiAgcHJpY2U/OiBudW1iZXI7XG4gIG9wZW5QcmljZT86IG51bWJlcjtcbiAgaGlnaFByaWNlPzogbnVtYmVyO1xuICBsb3dQcmljZT86IG51bWJlcjtcbiAgdm9sdW1lPzogbnVtYmVyO1xuICBlbWE1MGQ/OiBudW1iZXI7XG4gIGVtYTIwMGQ/OiBudW1iZXI7XG4gIGhpZ2hQcmljZTI1MGQ/OiBudW1iZXI7XG4gIGxvd1ByaWNlMjUwZD86IG51bWJlcjtcbiAgYXZnVm9sdW1lMTRkPzogbnVtYmVyO1xuICBhdmdWb2x1bWU1MGQ/OiBudW1iZXI7XG4gIGF2Z1ZvbHVtZTIwMGQ/OiBudW1iZXI7XG4gIG1hcmtldENhcD86IG51bWJlcjtcbiAgYmV0YT86IG51bWJlcjtcbiAgYWRqdXN0ZWRQcmljZT86IG51bWJlcjtcbiAgaXNEZWxpc3RlZD86IGJvb2xlYW47XG4gIHBlUmF0aW8/OiBudW1iZXI7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBkaXZpZGVuZFBlcmNlbnQ/OiBudW1iZXI7XG4gIEBUeXBlKCgpID0+IEFwcEZpbGUpXG4gIGZpbGU6IEFwcEZpbGU7XG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIGxhc3RVcGRhdGVEYXRlT25FeGNoYW5nZT86IERhdGU7XG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIHVwZGF0ZWRBdD86IERhdGU7XG4gIEBUeXBlKCgpID0+IFVzZXIpXG4gIHVzZXI/OiBVc2VyO1xuICBAVHlwZSgoKSA9PiBIb2xkaW5nVHlwZUV4Y2hhbmdlKVxuICBleGNoYW5nZT86IEhvbGRpbmdUeXBlRXhjaGFuZ2U7XG5cbiAgLyoqXG4gICAqIEBUT0RPIEFsZXggbW92ZSB0byB0cmFuc2xhdGlvbiBmaWxlXG4gICAqL1xuICBnZXQgY2F0ZWdvcnlMYWJlbCgpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodGhpcy5jYXRlZ29yeSkge1xuICAgICAgY2FzZSBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5TVE9DSzpcbiAgICAgICAgcmV0dXJuICdTaGFyZXMnO1xuICAgICAgY2FzZSBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5DUllQVE86XG4gICAgICAgIHJldHVybiAnQ3J5cHRvcyc7XG4gICAgICBjYXNlIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLkNPTExFQ1RJQkxFOlxuICAgICAgICByZXR1cm4gJ0NvbGxlY3RpYmxlcyc7XG4gICAgICBjYXNlIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLlVOTElTVEVEX1NUT0NLOlxuICAgICAgICByZXR1cm4gJ1VubGlzdGVkIHN0b2NrJztcbiAgICAgIGNhc2UgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uVU5MSVNURURfVU5JVDpcbiAgICAgICAgcmV0dXJuICdVbmxpc3RlZCB1bml0JztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnT3RoZXInO1xuICAgIH1cbiAgfVxuXG4gIGlzT3RoZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFtcbiAgICAgIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLkNPTExFQ1RJQkxFLFxuICAgICAgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uVU5MSVNURURfU1RPQ0ssXG4gICAgICBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5VTkxJU1RFRF9VTklULFxuICAgICAgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uT1RIRVJcbiAgICBdLmluY2x1ZGVzKHRoaXMuY2F0ZWdvcnkpO1xuICB9XG5cbiAgaXNTaGFyZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jYXRlZ29yeSA9PT0gSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uU1RPQ0s7XG4gIH1cblxuICBpc0NyeXB0bygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jYXRlZ29yeSA9PT0gSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uQ1JZUFRPO1xuICB9XG5cbiAgLyoqXG4gICAqIGNyeXB0byBpbmNsdWRlIHBhaXJzIGluIHRpY2tlciwgc2hvdWxkIGJlIGV4Y2x1ZGVkIGJlZm9yZWcgZGlzcGxheSB0byB1c2VyXG4gICAqL1xuICBnZXRUaWNrZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pc0NyeXB0bygpID8gdGhpcy50aWNrZXIuc2xpY2UoMCwgLTQpIDogdGhpcy50aWNrZXI7XG4gIH1cbn1cbiJdfQ==
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9ob2xkaW5nL2hvbGRpbmctdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFbEM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sV0FBWSxTQUFRLGFBQWE7SUFrQzVDOztPQUVHO0lBQ0gsSUFBSSxhQUFhO1FBQ2YsUUFBUSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3JCLEtBQUssdUJBQXVCLENBQUMsS0FBSztnQkFDaEMsT0FBTyxRQUFRLENBQUM7WUFDbEIsS0FBSyx1QkFBdUIsQ0FBQyxNQUFNO2dCQUNqQyxPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLHVCQUF1QixDQUFDLFdBQVc7Z0JBQ3RDLE9BQU8sY0FBYyxDQUFDO1lBQ3hCLEtBQUssdUJBQXVCLENBQUMsY0FBYztnQkFDekMsT0FBTyxnQkFBZ0IsQ0FBQztZQUMxQixLQUFLLHVCQUF1QixDQUFDLGFBQWE7Z0JBQ3hDLE9BQU8sZUFBZSxDQUFDO1lBQ3pCO2dCQUNFLE9BQU8sT0FBTyxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPO1lBQ0wsdUJBQXVCLENBQUMsV0FBVztZQUNuQyx1QkFBdUIsQ0FBQyxjQUFjO1lBQ3RDLHVCQUF1QixDQUFDLGFBQWE7WUFDckMsdUJBQXVCLENBQUMsS0FBSztTQUM5QixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssdUJBQXVCLENBQUMsS0FBSyxDQUFDO0lBQ3pELENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLHVCQUF1QixDQUFDLE1BQU0sQ0FBQztJQUMxRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ2xFLENBQUM7Q0FDRjtBQXJEQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7eUNBQ047QUFFZDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7NkRBQ2U7QUFFaEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDOzhDQUNBO0FBRWpCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzt5Q0FDTDtBQUVaO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDOzZDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3VzZXInO1xuaW1wb3J0IHsgQWJzdHJhY3RNb2RlbCB9IGZyb20gJy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBIb2xkaW5nVHlwZUV4Y2hhbmdlIH0gZnJvbSAnLi9ob2xkaW5nLXR5cGUtZXhjaGFuZ2UnO1xuaW1wb3J0IHsgQXBwRmlsZSB9IGZyb20gJy4uL2ZpbGUnO1xuXG4vKipcbiAqIEBUT0RPIHZpayA0NTIxIHJlbmFtZSB0byBIb2xkaW5nIHdoZW4gYmFja2VuZCByZWFkeVxuICovXG5leHBvcnQgY2xhc3MgSG9sZGluZ1R5cGUgZXh0ZW5kcyBBYnN0cmFjdE1vZGVsIHtcbiAgY2F0ZWdvcnk/OiBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bTtcbiAgbmFtZT86IHN0cmluZztcbiAgdGlja2VyPzogc3RyaW5nO1xuICBwcmljZT86IG51bWJlcjtcbiAgb3BlblByaWNlPzogbnVtYmVyO1xuICBoaWdoUHJpY2U/OiBudW1iZXI7XG4gIGxvd1ByaWNlPzogbnVtYmVyO1xuICB2b2x1bWU/OiBudW1iZXI7XG4gIGVtYTUwZD86IG51bWJlcjtcbiAgZW1hMjAwZD86IG51bWJlcjtcbiAgaGlnaFByaWNlMjUwZD86IG51bWJlcjtcbiAgbG93UHJpY2UyNTBkPzogbnVtYmVyO1xuICBhdmdWb2x1bWUxNGQ/OiBudW1iZXI7XG4gIGF2Z1ZvbHVtZTUwZD86IG51bWJlcjtcbiAgYXZnVm9sdW1lMjAwZD86IG51bWJlcjtcbiAgbWFya2V0Q2FwPzogbnVtYmVyO1xuICBiZXRhPzogbnVtYmVyO1xuICBhZGp1c3RlZFByaWNlPzogbnVtYmVyO1xuICBpc0RlbGlzdGVkPzogYm9vbGVhbjtcbiAgcGVSYXRpbz86IG51bWJlcjtcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGRpdmlkZW5kUGVyY2VudD86IG51bWJlcjtcbiAgQFR5cGUoKCkgPT4gQXBwRmlsZSlcbiAgZmlsZTogQXBwRmlsZTtcbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgbGFzdFVwZGF0ZURhdGVPbkV4Y2hhbmdlPzogRGF0ZTtcbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgdXBkYXRlZEF0PzogRGF0ZTtcbiAgQFR5cGUoKCkgPT4gVXNlcilcbiAgdXNlcj86IFVzZXI7XG4gIEBUeXBlKCgpID0+IEhvbGRpbmdUeXBlRXhjaGFuZ2UpXG4gIGV4Y2hhbmdlPzogSG9sZGluZ1R5cGVFeGNoYW5nZTtcblxuICAvKipcbiAgICogQFRPRE8gQWxleCBtb3ZlIHRvIHRyYW5zbGF0aW9uIGZpbGVcbiAgICovXG4gIGdldCBjYXRlZ29yeUxhYmVsKCk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0aGlzLmNhdGVnb3J5KSB7XG4gICAgICBjYXNlIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLlNUT0NLOlxuICAgICAgICByZXR1cm4gJ1NoYXJlcyc7XG4gICAgICBjYXNlIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLkNSWVBUTzpcbiAgICAgICAgcmV0dXJuICdDcnlwdG9zJztcbiAgICAgIGNhc2UgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uQ09MTEVDVElCTEU6XG4gICAgICAgIHJldHVybiAnQ29sbGVjdGlibGVzJztcbiAgICAgIGNhc2UgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uVU5MSVNURURfU1RPQ0s6XG4gICAgICAgIHJldHVybiAnVW5saXN0ZWQgc3RvY2snO1xuICAgICAgY2FzZSBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5VTkxJU1RFRF9VTklUOlxuICAgICAgICByZXR1cm4gJ1VubGlzdGVkIHVuaXQnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdPdGhlcic7XG4gICAgfVxuICB9XG5cbiAgaXNPdGhlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gW1xuICAgICAgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uQ09MTEVDVElCTEUsXG4gICAgICBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5VTkxJU1RFRF9TVE9DSyxcbiAgICAgIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLlVOTElTVEVEX1VOSVQsXG4gICAgICBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5PVEhFUlxuICAgIF0uaW5jbHVkZXModGhpcy5jYXRlZ29yeSk7XG4gIH1cblxuICBpc1NoYXJlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNhdGVnb3J5ID09PSBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5TVE9DSztcbiAgfVxuXG4gIGlzQ3J5cHRvKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNhdGVnb3J5ID09PSBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5DUllQVE87XG4gIH1cblxuICAvKipcbiAgICogY3J5cHRvIGluY2x1ZGUgcGFpcnMgaW4gdGlja2VyLCBzaG91bGQgYmUgZXhjbHVkZWQgYmVmb3JlZyBkaXNwbGF5IHRvIHVzZXJcbiAgICovXG4gIGdldFRpY2tlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlzQ3J5cHRvKCkgPyB0aGlzLnRpY2tlci5zbGljZSgwLCAtNCkgOiB0aGlzLnRpY2tlcjtcbiAgfVxufVxuIl19