taxtank-core 0.33.60 → 0.33.61
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2022/src/lib/collections/asset-sale.collection.mjs +4 -1
- package/esm2022/src/lib/collections/collection-dictionary.mjs +10 -1
- package/esm2022/src/lib/collections/collection.mjs +1 -1
- package/esm2022/src/lib/collections/holding/holding-sale.collection.mjs +3 -3
- package/esm2022/src/lib/collections/holding/holding-trade.collection.mjs +78 -0
- package/esm2022/src/lib/collections/holding/holding.collection.mjs +19 -54
- package/esm2022/src/lib/collections/holding/index.mjs +3 -2
- package/esm2022/src/lib/db/Enums/holding/holding-trade-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/holding/holding-type-category.enum.mjs +1 -1
- package/esm2022/src/lib/db/Enums/holding/index.mjs +2 -1
- package/esm2022/src/lib/db/Models/holding/holding-sale.mjs +1 -1
- package/esm2022/src/lib/db/Models/holding/holding-trade-import.mjs +3 -0
- package/esm2022/src/lib/db/Models/holding/holding-trade.mjs +3 -0
- package/esm2022/src/lib/db/Models/holding/index.mjs +2 -2
- package/esm2022/src/lib/forms/abstract.form.mjs +6 -1
- package/esm2022/src/lib/forms/holding/holding-reinvest.form.mjs +14 -14
- package/esm2022/src/lib/forms/holding/holding-sale.form.mjs +3 -2
- package/esm2022/src/lib/forms/holding/holding-trade/holding-trade-filter.form.mjs +25 -0
- package/esm2022/src/lib/forms/holding/holding-trade/holding-trade.form.mjs +30 -0
- package/esm2022/src/lib/forms/holding/holding-trade/index.mjs +3 -0
- package/esm2022/src/lib/forms/holding/holding-trade-import.form.mjs +25 -0
- package/esm2022/src/lib/forms/holding/index.mjs +3 -3
- package/esm2022/src/lib/models/endpoint/endpoints.const.mjs +9 -9
- package/esm2022/src/lib/models/holding/holding-reinvest.mjs +4 -4
- package/esm2022/src/lib/models/holding/holding-sale.mjs +10 -1
- package/esm2022/src/lib/models/holding/holding-trade-import.mjs +16 -0
- package/esm2022/src/lib/models/holding/holding-trade.mjs +77 -0
- package/esm2022/src/lib/models/holding/holding-type-exchange.mjs +4 -1
- package/esm2022/src/lib/models/holding/holding-type.mjs +4 -1
- package/esm2022/src/lib/models/holding/holding.mjs +44 -71
- package/esm2022/src/lib/models/holding/index.mjs +4 -3
- package/esm2022/src/lib/services/account-setup/account-setup.service.mjs +3 -3
- package/esm2022/src/lib/services/http/holding/holding-trade-import/holding-trade-import-messages.enum.mjs +9 -0
- package/esm2022/src/lib/services/http/holding/holding-trade-import/holding-trade-import.service.mjs +37 -0
- package/esm2022/src/lib/services/http/holding/holding-trade-messages.enum.mjs +10 -0
- package/esm2022/src/lib/services/http/holding/holding-trade.service.mjs +44 -0
- package/esm2022/src/lib/services/http/holding/index.mjs +5 -6
- package/fesm2022/taxtank-core.mjs +330 -185
- package/fesm2022/taxtank-core.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/collections/asset-sale.collection.d.ts +3 -0
- package/src/lib/collections/collection-dictionary.d.ts +1 -0
- package/src/lib/collections/holding/holding-sale.collection.d.ts +4 -4
- package/src/lib/collections/holding/holding-trade.collection.d.ts +21 -0
- package/src/lib/collections/holding/holding.collection.d.ts +7 -10
- package/src/lib/collections/holding/index.d.ts +2 -1
- package/src/lib/db/Enums/holding/holding-trade-type.enum.d.ts +4 -0
- package/src/lib/db/Enums/holding/index.d.ts +1 -0
- package/src/lib/db/Models/holding/holding-sale.d.ts +2 -2
- package/src/lib/db/Models/holding/holding-trade-import.d.ts +8 -0
- package/src/lib/db/Models/holding/{holding.d.ts → holding-trade.d.ts} +1 -1
- package/src/lib/db/Models/holding/index.d.ts +1 -1
- package/src/lib/forms/abstract.form.d.ts +2 -0
- package/src/lib/forms/holding/holding-reinvest.form.d.ts +5 -5
- package/src/lib/forms/holding/holding-sale.form.d.ts +2 -2
- package/src/lib/forms/holding/holding-trade/holding-trade-filter.form.d.ts +9 -0
- package/src/lib/forms/holding/holding-trade/holding-trade.form.d.ts +9 -0
- package/src/lib/forms/holding/holding-trade/index.d.ts +2 -0
- package/src/lib/forms/holding/holding-trade-import.form.d.ts +8 -0
- package/src/lib/forms/holding/index.d.ts +2 -2
- package/src/lib/models/holding/holding-reinvest.d.ts +2 -2
- package/src/lib/models/holding/holding-sale.d.ts +16 -4
- package/src/lib/models/holding/holding-trade-import.d.ts +8 -0
- package/src/lib/models/holding/holding-trade.d.ts +41 -0
- package/src/lib/models/holding/holding-type-exchange.d.ts +3 -0
- package/src/lib/models/holding/holding-type.d.ts +3 -0
- package/src/lib/models/holding/holding.d.ts +18 -34
- package/src/lib/models/holding/index.d.ts +3 -2
- package/src/lib/services/account-setup/account-setup.service.d.ts +2 -2
- 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
- package/src/lib/services/http/holding/holding-trade-import/holding-trade-import.service.d.ts +17 -0
- package/src/lib/services/http/holding/{holding-messages.enum.d.ts → holding-trade-messages.enum.d.ts} +1 -1
- package/src/lib/services/http/holding/holding-trade.service.d.ts +20 -0
- package/src/lib/services/http/holding/index.d.ts +4 -5
- package/esm2022/src/lib/db/Models/holding/holding-import.mjs +0 -3
- package/esm2022/src/lib/db/Models/holding/holding.mjs +0 -3
- package/esm2022/src/lib/forms/holding/holding-import.form.mjs +0 -25
- package/esm2022/src/lib/forms/holding/holding.form.mjs +0 -28
- package/esm2022/src/lib/models/holding/holding-import.mjs +0 -16
- package/esm2022/src/lib/services/http/holding/holding-import/holding-import-messages.enum.mjs +0 -9
- package/esm2022/src/lib/services/http/holding/holding-import/holding-import.service.mjs +0 -37
- package/esm2022/src/lib/services/http/holding/holding-messages.enum.mjs +0 -10
- package/esm2022/src/lib/services/http/holding/holding-sale-messages.enum.mjs +0 -8
- package/esm2022/src/lib/services/http/holding/holding.service.mjs +0 -44
- package/src/lib/db/Models/holding/holding-import.d.ts +0 -8
- package/src/lib/forms/holding/holding-import.form.d.ts +0 -8
- package/src/lib/forms/holding/holding.form.d.ts +0 -8
- package/src/lib/models/holding/holding-import.d.ts +0 -8
- package/src/lib/services/http/holding/holding-import/holding-import.service.d.ts +0 -17
- package/src/lib/services/http/holding/holding-sale-messages.enum.d.ts +0 -6
- 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
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
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
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
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 {
|
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(() =>
|
18
|
-
], HoldingReinvest.prototype, "
|
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,
|
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,
|
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,
|
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,
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9ob2xkaW5nL2hvbGRpbmctdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFbEM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sV0FBWSxTQUFRLGFBQWE7SUFrQzVDOztPQUVHO0lBQ0gsSUFBSSxhQUFhO1FBQ2YsUUFBUSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3JCLEtBQUssdUJBQXVCLENBQUMsS0FBSztnQkFDaEMsT0FBTyxRQUFRLENBQUM7WUFDbEIsS0FBSyx1QkFBdUIsQ0FBQyxNQUFNO2dCQUNqQyxPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLHVCQUF1QixDQUFDLFdBQVc7Z0JBQ3RDLE9BQU8sY0FBYyxDQUFDO1lBQ3hCLEtBQUssdUJBQXVCLENBQUMsY0FBYztnQkFDekMsT0FBTyxnQkFBZ0IsQ0FBQztZQUMxQixLQUFLLHVCQUF1QixDQUFDLGFBQWE7Z0JBQ3hDLE9BQU8sZUFBZSxDQUFDO1lBQ3pCO2dCQUNFLE9BQU8sT0FBTyxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPO1lBQ0wsdUJBQXVCLENBQUMsV0FBVztZQUNuQyx1QkFBdUIsQ0FBQyxjQUFjO1lBQ3RDLHVCQUF1QixDQUFDLGFBQWE7WUFDckMsdUJBQXVCLENBQUMsS0FBSztTQUM5QixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssdUJBQXVCLENBQUMsS0FBSyxDQUFDO0lBQ3pELENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLHVCQUF1QixDQUFDLE1BQU0sQ0FBQztJQUMxRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ2xFLENBQUM7Q0FDRjtBQXJEQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7eUNBQ047QUFFZDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7NkRBQ2U7QUFFaEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDOzhDQUNBO0FBRWpCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzt5Q0FDTDtBQUVaO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDOzZDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3VzZXInO1xuaW1wb3J0IHsgQWJzdHJhY3RNb2RlbCB9IGZyb20gJy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBIb2xkaW5nVHlwZUV4Y2hhbmdlIH0gZnJvbSAnLi9ob2xkaW5nLXR5cGUtZXhjaGFuZ2UnO1xuaW1wb3J0IHsgQXBwRmlsZSB9IGZyb20gJy4uL2ZpbGUnO1xuXG4vKipcbiAqIEBUT0RPIHZpayA0NTIxIHJlbmFtZSB0byBIb2xkaW5nIHdoZW4gYmFja2VuZCByZWFkeVxuICovXG5leHBvcnQgY2xhc3MgSG9sZGluZ1R5cGUgZXh0ZW5kcyBBYnN0cmFjdE1vZGVsIHtcbiAgY2F0ZWdvcnk/OiBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bTtcbiAgbmFtZT86IHN0cmluZztcbiAgdGlja2VyPzogc3RyaW5nO1xuICBwcmljZT86IG51bWJlcjtcbiAgb3BlblByaWNlPzogbnVtYmVyO1xuICBoaWdoUHJpY2U/OiBudW1iZXI7XG4gIGxvd1ByaWNlPzogbnVtYmVyO1xuICB2b2x1bWU/OiBudW1iZXI7XG4gIGVtYTUwZD86IG51bWJlcjtcbiAgZW1hMjAwZD86IG51bWJlcjtcbiAgaGlnaFByaWNlMjUwZD86IG51bWJlcjtcbiAgbG93UHJpY2UyNTBkPzogbnVtYmVyO1xuICBhdmdWb2x1bWUxNGQ/OiBudW1iZXI7XG4gIGF2Z1ZvbHVtZTUwZD86IG51bWJlcjtcbiAgYXZnVm9sdW1lMjAwZD86IG51bWJlcjtcbiAgbWFya2V0Q2FwPzogbnVtYmVyO1xuICBiZXRhPzogbnVtYmVyO1xuICBhZGp1c3RlZFByaWNlPzogbnVtYmVyO1xuICBpc0RlbGlzdGVkPzogYm9vbGVhbjtcbiAgcGVSYXRpbz86IG51bWJlcjtcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGRpdmlkZW5kUGVyY2VudD86IG51bWJlcjtcbiAgQFR5cGUoKCkgPT4gQXBwRmlsZSlcbiAgZmlsZTogQXBwRmlsZTtcbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgbGFzdFVwZGF0ZURhdGVPbkV4Y2hhbmdlPzogRGF0ZTtcbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgdXBkYXRlZEF0PzogRGF0ZTtcbiAgQFR5cGUoKCkgPT4gVXNlcilcbiAgdXNlcj86IFVzZXI7XG4gIEBUeXBlKCgpID0+IEhvbGRpbmdUeXBlRXhjaGFuZ2UpXG4gIGV4Y2hhbmdlPzogSG9sZGluZ1R5cGVFeGNoYW5nZTtcblxuICAvKipcbiAgICogQFRPRE8gQWxleCBtb3ZlIHRvIHRyYW5zbGF0aW9uIGZpbGVcbiAgICovXG4gIGdldCBjYXRlZ29yeUxhYmVsKCk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0aGlzLmNhdGVnb3J5KSB7XG4gICAgICBjYXNlIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLlNUT0NLOlxuICAgICAgICByZXR1cm4gJ1NoYXJlcyc7XG4gICAgICBjYXNlIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLkNSWVBUTzpcbiAgICAgICAgcmV0dXJuICdDcnlwdG9zJztcbiAgICAgIGNhc2UgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uQ09MTEVDVElCTEU6XG4gICAgICAgIHJldHVybiAnQ29sbGVjdGlibGVzJztcbiAgICAgIGNhc2UgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uVU5MSVNURURfU1RPQ0s6XG4gICAgICAgIHJldHVybiAnVW5saXN0ZWQgc3RvY2snO1xuICAgICAgY2FzZSBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5VTkxJU1RFRF9VTklUOlxuICAgICAgICByZXR1cm4gJ1VubGlzdGVkIHVuaXQnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdPdGhlcic7XG4gICAgfVxuICB9XG5cbiAgaXNPdGhlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gW1xuICAgICAgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uQ09MTEVDVElCTEUsXG4gICAgICBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5VTkxJU1RFRF9TVE9DSyxcbiAgICAgIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLlVOTElTVEVEX1VOSVQsXG4gICAgICBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5PVEhFUlxuICAgIF0uaW5jbHVkZXModGhpcy5jYXRlZ29yeSk7XG4gIH1cblxuICBpc1NoYXJlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNhdGVnb3J5ID09PSBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5TVE9DSztcbiAgfVxuXG4gIGlzQ3J5cHRvKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNhdGVnb3J5ID09PSBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5DUllQVE87XG4gIH1cblxuICAvKipcbiAgICogY3J5cHRvIGluY2x1ZGUgcGFpcnMgaW4gdGlja2VyLCBzaG91bGQgYmUgZXhjbHVkZWQgYmVmb3JlZyBkaXNwbGF5IHRvIHVzZXJcbiAgICovXG4gIGdldFRpY2tlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlzQ3J5cHRvKCkgPyB0aGlzLnRpY2tlci5zbGljZSgwLCAtNCkgOiB0aGlzLnRpY2tlcjtcbiAgfVxufVxuIl19
|