@uengage.io/platform-sdk 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -2
- package/dist/version.d.ts +1 -1
- package/dist/version.js +2 -2
- package/dist/wallet/client.d.ts +19 -2
- package/dist/wallet/client.js +22 -3
- package/dist/wallet/index.d.ts +2 -2
- package/dist/wallet/index.js +3 -2
- package/dist/wallet/schema.d.ts +83 -0
- package/dist/wallet/schema.js +1 -1
- package/dist/wallet/services.d.ts +14 -2
- package/dist/wallet/services.js +20 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -30,8 +30,15 @@ const acme = await client.business.get(123, { groups: ['profile'] });
|
|
|
30
30
|
const wallet = client.wallet.getWallet({ id: 'business:123' });
|
|
31
31
|
const { balance, balanceMinor, currency } = await wallet.getBalance();
|
|
32
32
|
// wallet.getInstance() / wallet.getCurrency() — wallet identity + currency, without the balance
|
|
33
|
-
// wallet.debit({ referenceId, amountMinor, service: Services.
|
|
34
|
-
// wallet.credit({ ..., reversalOf })
|
|
33
|
+
// wallet.debit({ referenceId, amountMinor, service: Services.FLASH_DELIVERY, description }) — idempotent on referenceId
|
|
34
|
+
// wallet.credit({ ..., reversalOf }) refund capped by that debit; ({ ..., isRefund: true }) uncapped
|
|
35
|
+
// wallet.listTransactions({...}); wallet.getTransaction(id)
|
|
36
|
+
// Legacy-ledger passthroughs, written as top-level ledger fields:
|
|
37
|
+
// taskId, rto (debit), units, serviceBaseCost, paymentId (credit), updatedBy,
|
|
38
|
+
// occurredAt — IST 'YYYY-MM-DD HH:mm:ss', dates the CHARGE not the write
|
|
39
|
+
// (backfills/replays); ≤90 days back, never future. Write time → recordedAt.
|
|
40
|
+
// wallet: {parentBusinessId, childBusinessId} on a write bypasses bId_deduction routing;
|
|
41
|
+
// a child override's parentBusinessId is asserted against the wallet doc (409 on mismatch).
|
|
35
42
|
|
|
36
43
|
client.audit.record({
|
|
37
44
|
event_type: 'business.updated',
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
|
@@ -14,5 +14,5 @@ exports.SDK_VERSION = void 0;
|
|
|
14
14
|
* together (`test/upsell/client.test.ts`), so forgetting this bump fails
|
|
15
15
|
* the build instead of the User-Agent.
|
|
16
16
|
*/
|
|
17
|
-
exports.SDK_VERSION = '2.
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
exports.SDK_VERSION = '2.1.0';
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7Ozs7R0FZRztBQUNVLFFBQUEsV0FBVyxHQUFHLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTWFudWFsbHktbWFpbnRhaW5lZCB2ZXJzaW9uIHN0cmluZyBzdXJmYWNlZCB2aWEgdGhlIGBVc2VyLUFnZW50YFxuICogaGVhZGVyLiBLZXB0IGluIHN5bmMgd2l0aCBgcGFja2FnZS5qc29uYCBieSBoYW5kIGJlY2F1c2UgcHVsbGluZyB0aGVcbiAqIHZhbHVlIGZyb20gcGFja2FnZS5qc29uIGF0IHJ1bnRpbWUgd291bGQgcmVxdWlyZSBlaXRoZXIgYSBKU09OIGltcG9ydFxuICogKFRTIGxpYiBzZXR0aW5ncyBkZXBlbmRlbnQpIG9yIGEgYnVpbGQtdGltZSByZXBsYWNlbWVudCwgYW5kIHRoZVxuICogY29zdCBvZiBvbmUgYnVtcC1pbi10d28tcGxhY2VzIHBlciByZWxlYXNlIGlzIHNtYWxsLlxuICpcbiAqIFRoYXQgY29zdCB3YXMgdW5kZXJlc3RpbWF0ZWQgb25jZTogdGhlIHB1Ymxpc2ggam9iIHZlcmlmaWVzXG4gKiBwYWNrYWdlLmpzb24gYWdhaW5zdCB0aGUgcmVsZWFzZSB0YWcgYnV0IG5ldmVyIHJlYWRzIHRoaXMgZmlsZSwgc28gdGhlXG4gKiB0d28gZHJpZnRlZCBhbmQgMS4wLjAgc2hpcHBlZCByZXBvcnRpbmcgMC45LjEuIEEgdGVzdCBub3cgcGlucyB0aGVtXG4gKiB0b2dldGhlciAoYHRlc3QvdXBzZWxsL2NsaWVudC50ZXN0LnRzYCksIHNvIGZvcmdldHRpbmcgdGhpcyBidW1wIGZhaWxzXG4gKiB0aGUgYnVpbGQgaW5zdGVhZCBvZiB0aGUgVXNlci1BZ2VudC5cbiAqL1xuZXhwb3J0IGNvbnN0IFNES19WRVJTSU9OID0gJzIuMS4wJztcbiJdfQ==
|
package/dist/wallet/client.d.ts
CHANGED
|
@@ -13,9 +13,17 @@ export interface Wallet {
|
|
|
13
13
|
getInstance(): Promise<WalletInstance>;
|
|
14
14
|
/** The wallet's currency `{code, symbol}` (a slice of getInstance()). */
|
|
15
15
|
getCurrency(): Promise<Currency>;
|
|
16
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* POST /v1/wallet/transactions (type=debit). Idempotent on
|
|
18
|
+
* `referenceId`. Pass `wallet` to charge a wallet other than the one
|
|
19
|
+
* this handle routes to.
|
|
20
|
+
*/
|
|
17
21
|
debit(input: DebitInput): Promise<TransactionResult>;
|
|
18
|
-
/**
|
|
22
|
+
/**
|
|
23
|
+
* POST /v1/wallet/transactions (type=credit). Pass `reversalOf` for a
|
|
24
|
+
* refund capped by the original debit, or `isRefund` for one computed
|
|
25
|
+
* independently of it.
|
|
26
|
+
*/
|
|
19
27
|
credit(input: CreditInput): Promise<TransactionResult>;
|
|
20
28
|
/** GET /v1/wallet/transactions — newest-first, keyset-paginated. */
|
|
21
29
|
listTransactions(filter?: ListTransactionsFilter): Promise<TransactionPage>;
|
|
@@ -54,6 +62,15 @@ export declare class InvalidReversalError extends WalletApiError {
|
|
|
54
62
|
export declare class IdempotencyConflictError extends WalletApiError {
|
|
55
63
|
constructor(body: string);
|
|
56
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* A `wallet` override named a `parentBusinessId` the wallet document
|
|
67
|
+
* contradicts (HTTP 409). Nothing was moved — the write is refused rather
|
|
68
|
+
* than charging the right wallet under the wrong identity, which would
|
|
69
|
+
* misattribute the ledger row and split its idempotency scope.
|
|
70
|
+
*/
|
|
71
|
+
export declare class WalletIdentityMismatchError extends WalletApiError {
|
|
72
|
+
constructor(body: string);
|
|
73
|
+
}
|
|
57
74
|
/** The business, or the business its `bId_deduction` points to, does not exist (HTTP 422). */
|
|
58
75
|
export declare class UnresolvableWalletError extends WalletApiError {
|
|
59
76
|
constructor(body: string);
|
package/dist/wallet/client.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WalletNotFoundError = exports.UnresolvableWalletError = exports.IdempotencyConflictError = exports.InvalidReversalError = exports.OverRefundError = exports.InsufficientBalanceError = exports.WalletApiError = void 0;
|
|
3
|
+
exports.WalletNotFoundError = exports.UnresolvableWalletError = exports.WalletIdentityMismatchError = exports.IdempotencyConflictError = exports.InvalidReversalError = exports.OverRefundError = exports.InsufficientBalanceError = exports.WalletApiError = void 0;
|
|
4
4
|
exports.createWalletClient = createWalletClient;
|
|
5
5
|
const config_1 = require("../config");
|
|
6
6
|
const http_1 = require("../http");
|
|
@@ -49,6 +49,19 @@ class IdempotencyConflictError extends WalletApiError {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
exports.IdempotencyConflictError = IdempotencyConflictError;
|
|
52
|
+
/**
|
|
53
|
+
* A `wallet` override named a `parentBusinessId` the wallet document
|
|
54
|
+
* contradicts (HTTP 409). Nothing was moved — the write is refused rather
|
|
55
|
+
* than charging the right wallet under the wrong identity, which would
|
|
56
|
+
* misattribute the ledger row and split its idempotency scope.
|
|
57
|
+
*/
|
|
58
|
+
class WalletIdentityMismatchError extends WalletApiError {
|
|
59
|
+
constructor(body) {
|
|
60
|
+
super(409, body);
|
|
61
|
+
this.name = 'WalletIdentityMismatchError';
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.WalletIdentityMismatchError = WalletIdentityMismatchError;
|
|
52
65
|
/** The business, or the business its `bId_deduction` points to, does not exist (HTTP 422). */
|
|
53
66
|
class UnresolvableWalletError extends WalletApiError {
|
|
54
67
|
constructor(body) {
|
|
@@ -93,6 +106,9 @@ function walletError(status, body) {
|
|
|
93
106
|
return new OverRefundError(body);
|
|
94
107
|
if (status === 409 && code === 'idempotency_conflict')
|
|
95
108
|
return new IdempotencyConflictError(body);
|
|
109
|
+
if (status === 409 && code === 'wallet_identity_mismatch') {
|
|
110
|
+
return new WalletIdentityMismatchError(body);
|
|
111
|
+
}
|
|
96
112
|
if (status === 422 && code === 'invalid_reversal')
|
|
97
113
|
return new InvalidReversalError(body);
|
|
98
114
|
if (status === 422 && code === 'unresolvable_wallet')
|
|
@@ -127,7 +143,10 @@ function createWalletClient(input = {}) {
|
|
|
127
143
|
};
|
|
128
144
|
const postTransaction = async (type, body) => {
|
|
129
145
|
const path = '/v1/wallet/transactions';
|
|
130
|
-
|
|
146
|
+
// The wallet identity is exactly-one-of server-side, so an explicit
|
|
147
|
+
// `wallet` override REPLACES this handle's businessId rather than
|
|
148
|
+
// travelling alongside it — sending both is a 400.
|
|
149
|
+
const payload = JSON.stringify(body.wallet ? { type, ...body } : { businessId, forceChildWallet, type, ...body });
|
|
131
150
|
const config = state.resolve();
|
|
132
151
|
const res = await (0, http_1.sendWithAuthRetry)(config, {
|
|
133
152
|
method: 'POST',
|
|
@@ -220,4 +239,4 @@ function createWalletClient(input = {}) {
|
|
|
220
239
|
};
|
|
221
240
|
return client;
|
|
222
241
|
}
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dhbGxldC9jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBdUpBLGdEQWdIQztBQXZRRCxzQ0FLbUI7QUFDbkIsa0NBQTRDO0FBZ0Q1QyxNQUFhLGNBQWUsU0FBUSxLQUFLO0lBQzlCLE1BQU0sQ0FBUztJQUNmLElBQUksQ0FBUztJQUV0QixZQUFZLE1BQWMsRUFBRSxJQUFZO1FBQ3RDLEtBQUssQ0FBQyxjQUFjLE1BQU0sS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLEdBQUcsZ0JBQWdCLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztDQUNGO0FBVkQsd0NBVUM7QUFFRCx1RUFBdUU7QUFDdkUsTUFBYSx3QkFBeUIsU0FBUSxjQUFjO0lBQ2pELFlBQVksQ0FBUztJQUM5QixZQUFZLFlBQW9CLEVBQUUsSUFBWTtRQUM1QyxLQUFLLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsMEJBQTBCLENBQUM7UUFDdkMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbkMsQ0FBQztDQUNGO0FBUEQsNERBT0M7QUFFRCw4RUFBOEU7QUFDOUUsTUFBYSxlQUFnQixTQUFRLGNBQWM7SUFDakQsWUFBWSxJQUFZO1FBQ3RCLEtBQUssQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0NBQ0Y7QUFMRCwwQ0FLQztBQUVELDhFQUE4RTtBQUM5RSxNQUFhLG9CQUFxQixTQUFRLGNBQWM7SUFDdEQsWUFBWSxJQUFZO1FBQ3RCLEtBQUssQ0FBQyxHQUFHLEVBQUUsSUFBSSxD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LE1BQU0sV0FBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztvQkFDN0QsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFvQixDQUFDO2dCQUMvQyxDQUFDO2dCQUNELEtBQUssQ0FBQyxjQUFjLENBQUMsRUFBRTtvQkFDckIsTUFBTSxJQUFJLEdBQUcsMkJBQTJCLEVBQUUsRUFBRSxDQUFDO29CQUM3QyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQy9CLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBQSx3QkFBaUIsRUFBQyxNQUFNLEVBQUU7d0JBQzFDLE1BQU0sRUFBRSxLQUFLO3dCQUNiLElBQUk7d0JBQ0osR0FBRyxFQUFFLEdBQUcsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLElBQUksVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUU7cUJBQzNELENBQUMsQ0FBQztvQkFDSCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7d0JBQUUsTUFBTSxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO29CQUM3RCxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQXNCLENBQUM7Z0JBQ2pELENBQUM7YUFDRixDQUFDO1lBQ0YsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztLQUNGLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29uZmlnU3RhdGUsXG4gIHR5cGUgUGxhdGZvcm1BdXRoLFxuICB0eXBlIFBsYXRmb3JtQXV0aElucHV0LFxuICB0eXBlIFBsYXRmb3JtQ29uZmlnSW5wdXQsXG59IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBzZW5kV2l0aEF1dGhSZXRyeSB9IGZyb20gJy4uL2h0dHAnO1xuaW1wb3J0IHR5cGUge1xuICBDcmVkaXRJbnB1dCxcbiAgQ3VycmVuY3ksXG4gIERlYml0SW5wdXQsXG4gIEdldFdhbGxldE9wdGlvbnMsXG4gIExpc3RUcmFuc2FjdGlvbnNGaWx0ZXIsXG4gIFRyYW5zYWN0aW9uUGFnZSxcbiAgVHJhbnNhY3Rpb25SZXN1bHQsXG4gIFdhbGxldEJhbGFuY2UsXG4gIFdhbGxldEluc3RhbmNlLFxuICBXYWxsZXRUcmFuc2FjdGlvbixcbn0gZnJvbSAnLi9zY2hlbWEnO1xuXG4vKipcbiAqIEEgaGFuZGxlIHRvIG9uZSBidXNpbmVzcyB3YWxsZXQuIENoZWFwIHRvIGNyZWF0ZSDigJQgYGdldFdhbGxldCguLi4pYFxuICogZG9lcyBubyBJL08uIFRoZSB3YWxsZXQgaXMgcmVzb2x2ZWQgc2VydmVyLXNpZGUgb24gdGhlIGZpcnN0XG4gKiBvcGVyYXRpb24sIHNvIGBVbnJlc29sdmFibGVXYWxsZXRFcnJvcmAgLyBgV2FsbGV0Tm90Rm91bmRFcnJvcmBcbiAqIHN1cmZhY2UgZnJvbSB0aGUgb3BlcmF0aW9uLCBub3QgZnJvbSBgZ2V0V2FsbGV0KClgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdhbGxldCB7XG4gIC8qKiBHRVQgL3YxL3dhbGxldC9iYWxhbmNlIOKAlCByZXNvbHZlcyB0aGUgd2FsbGV0IGFuZCByZXR1cm5zIGl0cyBiYWxhbmNlICsgY3VycmVuY3kuICovXG4gIGdldEJhbGFuY2UoKTogUHJvbWlzZTxXYWxsZXRCYWxhbmNlPjtcbiAgLyoqIEdFVCAvdjEvd2FsbGV0L2luc3RhbmNlIOKAlCB3YWxsZXQgaWRlbnRpdHkgKyBjdXJyZW5jeSwgd2l0aG91dCB0aGUgYmFsYW5jZS4gKi9cbiAgZ2V0SW5zdGFuY2UoKTogUHJvbWlzZTxXYWxsZXRJbnN0YW5jZT47XG4gIC8qKiBUaGUgd2FsbGV0J3MgY3VycmVuY3kgYHtjb2RlLCBzeW1ib2x9YCAoYSBzbGljZSBvZiBnZXRJbnN0YW5jZSgpKS4gKi9cbiAgZ2V0Q3VycmVuY3koKTogUHJvbWlzZTxDdXJyZW5jeT47XG4gIC8qKiBQT1NUIC92MS93YWxsZXQvdHJhbnNhY3Rpb25zICh0eXBlPWRlYml0KS4gSWRlbXBvdGVudCBvbiBgcmVmZXJlbmNlSWRgLiAqL1xuICBkZWJpdChpbnB1dDogRGViaXRJbnB1dCk6IFByb21pc2U8VHJhbnNhY3Rpb25SZXN1bHQ+O1xuICAvKiogUE9TVCAvdjEvd2FsbGV0L3RyYW5zYWN0aW9ucyAodHlwZT1jcmVkaXQpLiBQYXNzIGByZXZlcnNhbE9mYCBmb3IgYSByZWZ1bmQuICovXG4gIGNyZWRpdChpbnB1dDogQ3JlZGl0SW5wdXQpOiBQcm9taXNlPFRyYW5zYWN0aW9uUmVzdWx0PjtcbiAgLyoqIEdFVCAvdjEvd2FsbGV0L3RyYW5zYWN0aW9ucyDigJQgbmV3ZXN0LWZpcnN0LCBrZXlzZXQtcGFnaW5hdGVkLiAqL1xuICBsaXN0VHJhbnNhY3Rpb25zKGZpbHRlcj86IExpc3RUcmFuc2FjdGlvbnNGaWx0ZXIpOiBQcm9taXNlPFRyYW5zYWN0aW9uUGFnZT47XG4gIC8qKiBHRVQgL3YxL3dhbGxldC90cmFuc2FjdGlvbnMvOmlkIOKAlCBzY29wZWQgdG8gdGhpcyB3YWxsZXQuICovXG4gIGdldFRyYW5zYWN0aW9uKGlkOiBzdHJpbmcpOiBQcm9taXNlPFdhbGxldFRyYW5zYWN0aW9uPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXYWxsZXRDbGllbnQge1xuICBjb25maWcoaW5wdXQ6IFBsYXRmb3JtQ29uZmlnSW5wdXQpOiBXYWxsZXRDbGllbnQ7XG4gIGF1dGgoaW5wdXQ6IFBsYXRmb3JtQXV0aElucHV0IHwgUGxhdGZvcm1BdXRoKTogV2FsbGV0Q2xpZW50O1xuICAvKipcbiAgICogQnVpbGQgYSBoYW5kbGUgdG8gYSBidXNpbmVzcyB3YWxsZXQuIFN5bmNocm9ub3VzIGFuZCBJL08tZnJlZSDigJQgaXRcbiAgICogb25seSBwYXJzZXMgYGlkYC4gUmVxdWlyZXMgYSBzZXJ2aWNlIHRva2VuIGNhcnJ5aW5nIHRoZSByZWxldmFudFxuICAgKiBgd2FsbGV0LipgIHNjb3BlIGZvciB0aGUgb3BlcmF0aW9ucyBvbiB0aGUgcmV0dXJuZWQgaGFuZGxlLlxuICAgKi9cbiAgZ2V0V2FsbGV0KG9wdHM6IEdldFdhbGxldE9wdGlvbnMpOiBXYWxsZXQ7XG59XG5cbmV4cG9ydCBjbGFzcyBXYWxsZXRBcGlFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgcmVhZG9ubHkgc3RhdHVzOiBudW1iZXI7XG4gIHJlYWRvbmx5IGJvZHk6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzdGF0dXM6IG51bWJlciwgYm9keTogc3RyaW5nKSB7XG4gICAgc3VwZXIoYHdhbGxldCBBUEkgJHtzdGF0dXN9OiAke2JvZHl9YCk7XG4gICAgdGhpcy5uYW1lID0gJ1dhbGxldEFwaUVycm9yJztcbiAgICB0aGlzLnN0YXR1cyA9IHN0YXR1cztcbiAgICB0aGlzLmJvZHkgPSBib2R5O1xuICB9XG59XG5cbi8qKiBBIGRlYml0IHdvdWxkIG92ZXJkcmF3IHRoZSB3YWxsZXQ7IG5vdGhpbmcgd2FzIG1vdmVkIChIVFRQIDQwOSkuICovXG5leHBvcnQgY2xhc3MgSW5zdWZmaWNpZW50QmFsYW5jZUVycm9yIGV4dGVuZHMgV2FsbGV0QXBpRXJyb3Ige1xuICByZWFkb25seSBiYWxhbmNlTWlub3I6IG51bWJlcjtcbiAgY29uc3RydWN0b3IoYmFsYW5jZU1pbm9yOiBudW1iZXIsIGJvZHk6IHN0cmluZykge1xuICAgIHN1cGVyKDQwOSwgYm9keSk7XG4gICAgdGhpcy5uYW1lID0gJ0luc3VmZmljaWVudEJhbGFuY2VFcnJvcic7XG4gICAgdGhpcy5iYWxhbmNlTWlub3IgPSBiYWxhbmNlTWlub3I7XG4gIH1cbn1cblxuLyoqIEEgcmVmdW5kIHdvdWxkIHB1c2ggdG90YWwgcmV2ZXJzYWxzIHBhc3QgdGhlIG9yaWdpbmFsIGRlYml0IChIVFRQIDQwOSkuICovXG5leHBvcnQgY2xhc3MgT3ZlclJlZnVuZEVycm9yIGV4dGVuZHMgV2FsbGV0QXBpRXJyb3Ige1xuICBjb25zdHJ1Y3Rvcihib2R5OiBzdHJpbmcpIHtcbiAgICBzdXBlcig0MDksIGJvZHkpO1xuICAgIHRoaXMubmFtZSA9ICdPdmVyUmVmdW5kRXJyb3InO1xuICB9XG59XG5cbi8qKiBgcmV2ZXJzYWxPZmAgZG9lc24ndCByZWZlcmVuY2UgYSB2YWxpZCBkZWJpdCBvbiB0aGlzIHdhbGxldCAoSFRUUCA0MjIpLiAqL1xuZXhwb3J0IGNsYXNzIEludmFsaWRSZXZlcnNhbEVycm9yIGV4dGVuZHMgV2FsbGV0QXBpRXJyb3Ige1xuICBjb25zdHJ1Y3Rvcihib2R5OiBzdHJpbmcpIHtcbiAgICBzdXBlcig0MjIsIGJvZHkpO1xuICAgIHRoaXMubmFtZSA9ICdJbnZhbGlkUmV2ZXJzYWxFcnJvcic7XG4gIH1cbn1cblxuLyoqIEEgYHJlZmVyZW5jZUlkYCB3YXMgcmV1c2VkIHdpdGggYSBkaWZmZXJlbnQgYW1vdW50L3R5cGUvc2VydmljZSAoSFRUUCA0MDkpLiAqL1xuZXhwb3J0IGNsYXNzIElkZW1wb3RlbmN5Q29uZmxpY3RFcnJvciBleHRlbmRzIFdhbGxldEFwaUVycm9yIHtcbiAgY29uc3RydWN0b3IoYm9keTogc3RyaW5nKSB7XG4gICAgc3VwZXIoNDA5LCBib2R5KTtcbiAgICB0aGlzLm5hbWUgPSAnSWRlbXBvdGVuY3lDb25mbGljdEVycm9yJztcbiAgfVxufVxuXG4vKiogVGhlIGJ1c2luZXNzLCBvciB0aGUgYnVzaW5lc3MgaXRzIGBiSWRfZGVkdWN0aW9uYCBwb2ludHMgdG8sIGRvZXMgbm90IGV4aXN0IChIVFRQIDQyMikuICovXG5leHBvcnQgY2xhc3MgVW5yZXNvbHZhYmxlV2FsbGV0RXJyb3IgZXh0ZW5kcyBXYWxsZXRBcGlFcnJvciB7XG4gIGNvbnN0cnVjdG9yKGJvZHk6IHN0cmluZykge1xuICAgIHN1cGVyKDQyMiwgYm9keSk7XG4gICAgdGhpcy5uYW1lID0gJ1VucmVzb2x2YWJsZVdhbGxldEVycm9yJztcbiAgfVxufVxuXG4vKiogTm8gd2FsbGV0IGRvY3VtZW50LCBvciBubyBzdWNoIHRyYW5zYWN0aW9uIG9uIHRoaXMgd2FsbGV0IChIVFRQIDQwNCkuICovXG5leHBvcnQgY2xhc3MgV2FsbGV0Tm90Rm91bmRFcnJvciBleHRlbmRzIFdhbGxldEFwaUVycm9yIHtcbiAgY29uc3RydWN0b3IoYm9keTogc3RyaW5nKSB7XG4gICAgc3VwZXIoNDA0LCBib2R5KTtcbiAgICB0aGlzLm5hbWUgPSAnV2FsbGV0Tm90Rm91bmRFcnJvcic7XG4gIH1cbn1cblxuY29uc3QgQlVTSU5FU1NfSURfUkUgPSAvXmJ1c2luZXNzOihcXGQrKSQvO1xuXG4vKiogUGFyc2UgYSB0eXBlZCB3YWxsZXQgaWQgKGBcImJ1c2luZXNzOjg4NDFcImApIGludG8gdGhlIG51bWVyaWMgYnVzaW5lc3MgaWQuICovXG5mdW5jdGlvbiBwYXJzZUJ1c2luZXNzSWQoaWQ6IHN0cmluZyk6IG51bWJlciB7XG4gIGNvbnN0IG1hdGNoID0gQlVTSU5FU1NfSURfUkUuZXhlYyhpZCk7XG4gIGlmICghbWF0Y2gpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgd2FsbGV0LmdldFdhbGxldDogaWQgbXVzdCBsb29rIGxpa2UgXCJidXNpbmVzczo8cG9zaXRpdmUgaW50ZWdlcj5cIiAoZ290IFwiJHtpZH1cIilgLFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIE51bWJlci5wYXJzZUludChtYXRjaFsxXSwgMTApO1xufVxuXG4vKiogTWFwIGEgbm9uLTJ4eCB3YWxsZXQgcmVzcG9uc2UgdG8gdGhlIG1vc3Qgc3BlY2lmaWMgdHlwZWQgZXJyb3IuICovXG5mdW5jdGlvbiB3YWxsZXRFcnJvcihzdGF0dXM6IG51bWJlciwgYm9keTogc3RyaW5nKTogV2FsbGV0QXBpRXJyb3Ige1xuICBsZXQgY29kZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBsZXQgYmFsYW5jZU1pbm9yOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShib2R5KSBhcyB7IGVycm9yPzogc3RyaW5nOyBiYWxhbmNlTWlub3I/OiBudW1iZXIgfTtcbiAgICBjb2RlID0gcGFyc2VkLmVycm9yO1xuICAgIGJhbGFuY2VNaW5vciA9IHBhcnNlZC5iYWxhbmNlTWlub3I7XG4gIH0gY2F0Y2gge1xuICAgIC8vIG5vbi1KU09OIGJvZHkg4oCUIGZhbGwgdGhyb3VnaCB0byBhIGdlbmVyaWMgZXJyb3JcbiAgfVxuICBpZiAoc3RhdHVzID09PSA0MDkgJiYgY29kZSA9PT0gJ2luc3VmZmljaWVudF9iYWxhbmNlJykge1xuICAgIHJldHVybiBuZXcgSW5zdWZmaWNpZW50QmFsYW5jZUVycm9yKGJhbGFuY2VNaW5vciA/PyAwLCBib2R5KTtcbiAgfVxuICBpZiAoc3RhdHVzID09PSA0MDkgJiYgY29kZSA9PT0gJ292ZXJfcmVmdW5kJykgcmV0dXJuIG5ldyBPdmVyUmVmdW5kRXJyb3IoYm9keSk7XG4gIGlmIChzdGF0dXMgPT09IDQwOSAmJiBjb2RlID09PSAnaWRlbXBvdGVuY3lfY29uZmxpY3QnKSByZXR1cm4gbmV3IElkZW1wb3RlbmN5Q29uZmxpY3RFcnJvcihib2R5KTtcbiAgaWYgKHN0YXR1cyA9PT0gNDIyICYmIGNvZGUgPT09ICdpbnZhbGlkX3JldmVyc2FsJykgcmV0dXJuIG5ldyBJbnZhbGlkUmV2ZXJzYWxFcnJvcihib2R5KTtcbiAgaWYgKHN0YXR1cyA9PT0gNDIyICYmIGNvZGUgPT09ICd1bnJlc29sdmFibGVfd2FsbGV0JykgcmV0dXJuIG5ldyBVbnJlc29sdmFibGVXYWxsZXRFcnJvcihib2R5KTtcbiAgaWYgKHN0YXR1cyA9PT0gNDA0KSByZXR1cm4gbmV3IFdhbGxldE5vdEZvdW5kRXJyb3IoYm9keSk7XG4gIHJldHVybiBuZXcgV2FsbGV0QXBpRXJyb3Ioc3RhdHVzLCBib2R5KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVdhbGxldENsaWVudChpbnB1dDogUGxhdGZvcm1Db25maWdJbnB1dCA9IHt9KTogV2FsbGV0Q2xpZW50IHtcbiAgY29uc3Qgc3RhdGUgPSBuZXcgQ29uZmlnU3RhdGUoKTtcbiAgc3RhdGUuYXBwbHkoaW5wdXQpO1xuXG4gIGNvbnN0IGNsaWVudDogV2FsbGV0Q2xpZW50ID0ge1xuICAgIGNvbmZpZyhvcHRzKSB7XG4gICAgICBzdGF0ZS5hcHBseShvcHRzKTtcbiAgICAgIHJldHVybiBjbGllbnQ7XG4gICAgfSxcbiAgICBhdXRoKG9wdHMpIHtcbiAgICAgIHN0YXRlLnNldEF1dGgob3B0cyk7XG4gICAgICByZXR1cm4gY2xpZW50O1xuICAgIH0sXG4gICAgZ2V0V2FsbGV0KG9wdHMpIHtcbiAgICAgIC8vIFBhcnNlIGVhZ2VybHkgc28gYSBtYWxmb3JtZWQgaWQgZmFpbHMgZmFzdCBhdCB0aGUgY2FsbCBzaXRlLFxuICAgICAgLy8gYnV0IGRvIE5PVCByZXNvbHZlIHRoZSB3YWxsZXQgaGVyZSDigJQgdGhhdCBoYXBwZW5zIG9uIHRoZSBmaXJzdFxuICAgICAgLy8gb3BlcmF0aW9uIGFnYWluc3QgdGhlIGhhbmRsZS5cbiAgICAgIGNvbnN0IGJ1c2luZXNzSWQgPSBwYXJzZUJ1c2luZXNzSWQob3B0cy5pZCk7XG4gICAgICBjb25zdCBmb3JjZUNoaWxkV2FsbGV0ID0gb3B0cy5mb3JjZUNoaWxkV2FsbGV0ID09PSB0cnVlO1xuXG4gICAgICBjb25zdCBiYXNlUGFyYW1zID0gKCk6IFVSTFNlYXJjaFBhcmFtcyA9PiB7XG4gICAgICAgIGNvbnN0IHAgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHsgYnVzaW5lc3NJZDogU3RyaW5nKGJ1c2luZXNzSWQpIH0pO1xuICAgICAgICBpZiAoZm9yY2VDaGlsZFdhbGxldCkgcC5zZXQoJ2ZvcmNlQ2hpbGRXYWxsZXQnLCAndHJ1ZScpO1xuICAgICAgICByZXR1cm4gcDtcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHBvc3RUcmFuc2FjdGlvbiA9IGFzeW5jIChcbiAgICAgICAgdHlwZTogJ2RlYml0JyB8ICdjcmVkaXQnLFxuICAgICAgICBib2R5OiBEZWJpdElucHV0IHwgQ3JlZGl0SW5wdXQsXG4gICAgICApOiBQcm9taXNlPFRyYW5zYWN0aW9uUmVzdWx0PiA9PiB7XG4gICAgICAgIGNvbnN0IHBhdGggPSAnL3YxL3dhbGxldC90cmFuc2FjdGlvbnMnO1xuICAgICAgICBjb25zdCBwYXlsb2FkID0gSlNPTi5zdHJpbmdpZnkoeyBidXNpbmVzc0lkLCBmb3JjZUNoaWxkV2FsbGV0LCB0eXBlLCAuLi5ib2R5IH0pO1xuICAgICAgICBjb25zdCBjb25maWcgPSBzdGF0ZS5yZXNvbHZlKCk7XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHNlbmRXaXRoQXV0aFJldHJ5KGNvbmZpZywge1xuICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgdXJsOiBgJHtjb25maWcuYmFzZVVybH0ke3BhdGh9YCxcbiAgICAgICAgICBib2R5OiBwYXlsb2FkLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCFyZXMub2spIHRocm93IHdhbGxldEVycm9yKHJlcy5zdGF0dXMsIGF3YWl0IHJlcy50ZXh0KCkpO1xuICAgICAgICByZXR1cm4gKGF3YWl0IHJlcy5qc29uKCkpIGFzIFRyYW5zYWN0aW9uUmVzdWx0O1xuICAgICAgfTtcblxuICAgICAgY29uc3Qgd2FsbGV0OiBXYWxsZXQgPSB7XG4gICAgICAgIGFzeW5jIGdldEJhbGFuY2UoKSB7XG4gICAgICAgICAgY29uc3QgcGF0aCA9ICcvdjEvd2FsbGV0L2JhbGFuY2UnO1xuICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IHN0YXRlLnJlc29sdmUoKTtcbiAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBzZW5kV2l0aEF1dGhSZXRyeShjb25maWcsIHtcbiAgICAgICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgdXJsOiBgJHtjb25maWcuYmFzZVVybH0ke3BhdGh9PyR7YmFzZVBhcmFtcygpLnRvU3RyaW5nKCl9YCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBpZiAoIXJlcy5vaykgdGhyb3cgd2FsbGV0RXJyb3IocmVzLnN0YXR1cywgYXdhaXQgcmVzLnRleHQoKSk7XG4gICAgICAgICAgcmV0dXJuIChhd2FpdCByZXMuanNvbigpKSBhcyBXYWxsZXRCYWxhbmNlO1xuICAgICAgICB9LFxuICAgICAgICBhc3luYyBnZXRJbnN0YW5jZSgpIHtcbiAgICAgICAgICBjb25zdCBwYXRoID0gJy92MS93YWxsZXQvaW5zdGFuY2UnO1xuICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IHN0YXRlLnJlc29sdmUoKTtcbiAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBzZW5kV2l0aEF1dGhSZXRyeShjb25maWcsIHtcbiAgICAgICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgdXJsOiBgJHtjb25maWcuYmFzZVVybH0ke3BhdGh9PyR7YmFzZVBhcmFtcygpLnRvU3RyaW5nKCl9YCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBpZiAoIXJlcy5vaykgdGhyb3cgd2FsbGV0RXJyb3IocmVzLnN0YXR1cywgYXdhaXQgcmVzLnRleHQoKSk7XG4gICAgICAgICAgcmV0dXJuIChhd2FpdCByZXMuanNvbigpKSBhcyBXYWxsZXRJbnN0YW5jZTtcbiAgICAgICAgfSxcbiAgICAgICAgYXN5bmMgZ2V0Q3VycmVuY3koKSB7XG4gICAgICAgICAgcmV0dXJuIChhd2FpdCB3YWxsZXQuZ2V0SW5zdGFuY2UoKSkuY3VycmVuY3k7XG4gICAgICAgIH0sXG4gICAgICAgIGRlYml0KGJvZHkpIHtcbiAgICAgICAgICByZXR1cm4gcG9zdFRyYW5zYWN0aW9uKCdkZWJpdCcsIGJvZHkpO1xuICAgICAgICB9LFxuICAgICAgICBjcmVkaXQoYm9keSkge1xuICAgICAgICAgIHJldHVybiBwb3N0VHJhbnNhY3Rpb24oJ2NyZWRpdCcsIGJvZHkpO1xuICAgICAgICB9LFxuICAgICAgICBhc3luYyBsaXN0VHJhbnNhY3Rpb25zKGZpbHRlciA9IHt9KSB7XG4gICAgICAgICAgY29uc3QgcCA9IGJhc2VQYXJhbXMoKTtcbiAgICAgICAgICBpZiAoZmlsdGVyLnR5cGUpIHAuc2V0KCd0eXBlJywgZmlsdGVyLnR5cGUpO1xuICAgICAgICAgIGlmIChmaWx0ZXIuZnJvbSkgcC5zZXQoJ2Zyb20nLCBmaWx0ZXIuZnJvbSk7XG4gICAgICAgICAgaWYgKGZpbHRlci50bykgcC5zZXQoJ3RvJywgZmlsdGVyLnRvKTtcbiAgICAgICAgICBpZiAoZmlsdGVyLnNlcnZpY2UgIT09IHVuZGVmaW5lZCkgcC5zZXQoJ3NlcnZpY2UnLCBTdHJpbmcoZmlsdGVyLnNlcnZpY2UpKTtcbiAgICAgICAgICBpZiAoZmlsdGVyLnJlZmVyZW5jZUlkKSBwLnNldCgncmVmZXJlbmNlSWQnLCBmaWx0ZXIucmVmZXJlbmNlSWQpO1xuICAgICAgICAgIGlmIChmaWx0ZXIudGFnKSBwLnNldCgndGFnJywgZmlsdGVyLnRhZyk7XG4gICAgICAgICAgaWYgKGZpbHRlci5jdXJzb3IpIHAuc2V0KCdjdXJzb3InLCBmaWx0ZXIuY3Vyc29yKTtcbiAgICAgICAgICBpZiAoZmlsdGVyLmxpbWl0ICE9PSB1bmRlZmluZWQpIHAuc2V0KCdsaW1pdCcsIFN0cmluZyhmaWx0ZXIubGltaXQpKTtcbiAgICAgICAgICBjb25zdCBwYXRoID0gJy92MS93YWxsZXQvdHJhbnNhY3Rpb25zJztcbiAgICAgICAgICBjb25zdCBjb25maWcgPSBzdGF0ZS5yZXNvbHZlKCk7XG4gICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgc2VuZFdpdGhBdXRoUmV0cnkoY29uZmlnLCB7XG4gICAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgIHVybDogYCR7Y29uZmlnLmJhc2VVcmx9JHtwYXRofT8ke3AudG9TdHJpbmcoKX1gLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGlmICghcmVzLm9rKSB0aHJvdyB3YWxsZXRFcnJvcihyZXMuc3RhdHVzLCBhd2FpdCByZXMudGV4dCgpKTtcbiAgICAgICAgICByZXR1cm4gKGF3YWl0IHJlcy5qc29uKCkpIGFzIFRyYW5zYWN0aW9uUGFnZTtcbiAgICAgICAgfSxcbiAgICAgICAgYXN5bmMgZ2V0VHJhbnNhY3Rpb24oaWQpIHtcbiAgICAgICAgICBjb25zdCBwYXRoID0gYC92MS93YWxsZXQvdHJhbnNhY3Rpb25zLyR7aWR9YDtcbiAgICAgICAgICBjb25zdCBjb25maWcgPSBzdGF0ZS5yZXNvbHZlKCk7XG4gICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgc2VuZFdpdGhBdXRoUmV0cnkoY29uZmlnLCB7XG4gICAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgIHVybDogYCR7Y29uZmlnLmJhc2VVcmx9JHtwYXRofT8ke2Jhc2VQYXJhbXMoKS50b1N0cmluZygpfWAsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgaWYgKCFyZXMub2spIHRocm93IHdhbGxldEVycm9yKHJlcy5zdGF0dXMsIGF3YWl0IHJlcy50ZXh0KCkpO1xuICAgICAgICAgIHJldHVybiAoYXdhaXQgcmVzLmpzb24oKSkgYXMgV2FsbGV0VHJhbnNhY3Rpb247XG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHdhbGxldDtcbiAgICB9LFxuICB9O1xuXG4gIHJldHVybiBjbGllbnQ7XG59XG4iXX0=
|
|
242
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dhbGxldC9jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBK0tBLGdEQXFIQztBQXBTRCxzQ0FLbUI7QUFDbkIsa0NBQTRDO0FBd0Q1QyxNQUFhLGNBQWUsU0FBUSxLQUFLO0lBQzlCLE1BQU0sQ0FBUztJQUNmLElBQUksQ0FBUztJQUV0QixZQUFZLE1BQWMsRUFBRSxJQUFZO1FBQ3RDLEtBQUssQ0FBQyxjQUFjLE1BQU0sS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLEdBQUcsZ0JBQWdCLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztDQUNGO0FBVkQsd0NBVUM7QUFFRCx1RUFBdUU7QUFDdkUsTUFBYSx3QkFBeUIsU0FBUSxjQUFjO0lBQ2pELFlBQVksQ0FBUztJQUM5QixZQUFZLFlBQW9CLEVBQUUsSUFBWTtRQUM1QyxLQUFLLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsMEJBQTBCLENBQUM7UUFDdkMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbkMsQ0FBQztDQUNGO0FBUEQsNERBT0M7QUFFRCw4RUFBOEU7QUFDOUUsTUFBYSxlQUFnQixTQUFRLGNBQWM7SUFDakQsWUFBWSxJQUFZO1FBQ3RCLEtBQUssQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0NBQ0Y7QUFMRCwwQ0FLQztBQUVELDhFQUE4RTtBQUM5RSxNQUFhLG9CQUFxQixTQUFRLGNBQWM7SUFDdEQsWUFBWSxJQUFZO1FBQ3RCLEtBQUssQ0FBQyxHQUFHLEVBQUUsSUFBSSxD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TSxFQUFFLE1BQU0sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7b0JBQzdELE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBc0IsQ0FBQztnQkFDakQsQ0FBQzthQUNGLENBQUM7WUFDRixPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO0tBQ0YsQ0FBQztJQUVGLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb25maWdTdGF0ZSxcbiAgdHlwZSBQbGF0Zm9ybUF1dGgsXG4gIHR5cGUgUGxhdGZvcm1BdXRoSW5wdXQsXG4gIHR5cGUgUGxhdGZvcm1Db25maWdJbnB1dCxcbn0gZnJvbSAnLi4vY29uZmlnJztcbmltcG9ydCB7IHNlbmRXaXRoQXV0aFJldHJ5IH0gZnJvbSAnLi4vaHR0cCc7XG5pbXBvcnQgdHlwZSB7XG4gIENyZWRpdElucHV0LFxuICBDdXJyZW5jeSxcbiAgRGViaXRJbnB1dCxcbiAgR2V0V2FsbGV0T3B0aW9ucyxcbiAgTGlzdFRyYW5zYWN0aW9uc0ZpbHRlcixcbiAgVHJhbnNhY3Rpb25QYWdlLFxuICBUcmFuc2FjdGlvblJlc3VsdCxcbiAgV2FsbGV0QmFsYW5jZSxcbiAgV2FsbGV0SW5zdGFuY2UsXG4gIFdhbGxldFRyYW5zYWN0aW9uLFxufSBmcm9tICcuL3NjaGVtYSc7XG5cbi8qKlxuICogQSBoYW5kbGUgdG8gb25lIGJ1c2luZXNzIHdhbGxldC4gQ2hlYXAgdG8gY3JlYXRlIOKAlCBgZ2V0V2FsbGV0KC4uLilgXG4gKiBkb2VzIG5vIEkvTy4gVGhlIHdhbGxldCBpcyByZXNvbHZlZCBzZXJ2ZXItc2lkZSBvbiB0aGUgZmlyc3RcbiAqIG9wZXJhdGlvbiwgc28gYFVucmVzb2x2YWJsZVdhbGxldEVycm9yYCAvIGBXYWxsZXROb3RGb3VuZEVycm9yYFxuICogc3VyZmFjZSBmcm9tIHRoZSBvcGVyYXRpb24sIG5vdCBmcm9tIGBnZXRXYWxsZXQoKWAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0IHtcbiAgLyoqIEdFVCAvdjEvd2FsbGV0L2JhbGFuY2Ug4oCUIHJlc29sdmVzIHRoZSB3YWxsZXQgYW5kIHJldHVybnMgaXRzIGJhbGFuY2UgKyBjdXJyZW5jeS4gKi9cbiAgZ2V0QmFsYW5jZSgpOiBQcm9taXNlPFdhbGxldEJhbGFuY2U+O1xuICAvKiogR0VUIC92MS93YWxsZXQvaW5zdGFuY2Ug4oCUIHdhbGxldCBpZGVudGl0eSArIGN1cnJlbmN5LCB3aXRob3V0IHRoZSBiYWxhbmNlLiAqL1xuICBnZXRJbnN0YW5jZSgpOiBQcm9taXNlPFdhbGxldEluc3RhbmNlPjtcbiAgLyoqIFRoZSB3YWxsZXQncyBjdXJyZW5jeSBge2NvZGUsIHN5bWJvbH1gIChhIHNsaWNlIG9mIGdldEluc3RhbmNlKCkpLiAqL1xuICBnZXRDdXJyZW5jeSgpOiBQcm9taXNlPEN1cnJlbmN5PjtcbiAgLyoqXG4gICAqIFBPU1QgL3YxL3dhbGxldC90cmFuc2FjdGlvbnMgKHR5cGU9ZGViaXQpLiBJZGVtcG90ZW50IG9uXG4gICAqIGByZWZlcmVuY2VJZGAuIFBhc3MgYHdhbGxldGAgdG8gY2hhcmdlIGEgd2FsbGV0IG90aGVyIHRoYW4gdGhlIG9uZVxuICAgKiB0aGlzIGhhbmRsZSByb3V0ZXMgdG8uXG4gICAqL1xuICBkZWJpdChpbnB1dDogRGViaXRJbnB1dCk6IFByb21pc2U8VHJhbnNhY3Rpb25SZXN1bHQ+O1xuICAvKipcbiAgICogUE9TVCAvdjEvd2FsbGV0L3RyYW5zYWN0aW9ucyAodHlwZT1jcmVkaXQpLiBQYXNzIGByZXZlcnNhbE9mYCBmb3IgYVxuICAgKiByZWZ1bmQgY2FwcGVkIGJ5IHRoZSBvcmlnaW5hbCBkZWJpdCwgb3IgYGlzUmVmdW5kYCBmb3Igb25lIGNvbXB1dGVkXG4gICAqIGluZGVwZW5kZW50bHkgb2YgaXQuXG4gICAqL1xuICBjcmVkaXQoaW5wdXQ6IENyZWRpdElucHV0KTogUHJvbWlzZTxUcmFuc2FjdGlvblJlc3VsdD47XG4gIC8qKiBHRVQgL3YxL3dhbGxldC90cmFuc2FjdGlvbnMg4oCUIG5ld2VzdC1maXJzdCwga2V5c2V0LXBhZ2luYXRlZC4gKi9cbiAgbGlzdFRyYW5zYWN0aW9ucyhmaWx0ZXI/OiBMaXN0VHJhbnNhY3Rpb25zRmlsdGVyKTogUHJvbWlzZTxUcmFuc2FjdGlvblBhZ2U+O1xuICAvKiogR0VUIC92MS93YWxsZXQvdHJhbnNhY3Rpb25zLzppZCDigJQgc2NvcGVkIHRvIHRoaXMgd2FsbGV0LiAqL1xuICBnZXRUcmFuc2FjdGlvbihpZDogc3RyaW5nKTogUHJvbWlzZTxXYWxsZXRUcmFuc2FjdGlvbj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0Q2xpZW50IHtcbiAgY29uZmlnKGlucHV0OiBQbGF0Zm9ybUNvbmZpZ0lucHV0KTogV2FsbGV0Q2xpZW50O1xuICBhdXRoKGlucHV0OiBQbGF0Zm9ybUF1dGhJbnB1dCB8IFBsYXRmb3JtQXV0aCk6IFdhbGxldENsaWVudDtcbiAgLyoqXG4gICAqIEJ1aWxkIGEgaGFuZGxlIHRvIGEgYnVzaW5lc3Mgd2FsbGV0LiBTeW5jaHJvbm91cyBhbmQgSS9PLWZyZWUg4oCUIGl0XG4gICAqIG9ubHkgcGFyc2VzIGBpZGAuIFJlcXVpcmVzIGEgc2VydmljZSB0b2tlbiBjYXJyeWluZyB0aGUgcmVsZXZhbnRcbiAgICogYHdhbGxldC4qYCBzY29wZSBmb3IgdGhlIG9wZXJhdGlvbnMgb24gdGhlIHJldHVybmVkIGhhbmRsZS5cbiAgICovXG4gIGdldFdhbGxldChvcHRzOiBHZXRXYWxsZXRPcHRpb25zKTogV2FsbGV0O1xufVxuXG5leHBvcnQgY2xhc3MgV2FsbGV0QXBpRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHJlYWRvbmx5IHN0YXR1czogbnVtYmVyO1xuICByZWFkb25seSBib2R5OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc3RhdHVzOiBudW1iZXIsIGJvZHk6IHN0cmluZykge1xuICAgIHN1cGVyKGB3YWxsZXQgQVBJICR7c3RhdHVzfTogJHtib2R5fWApO1xuICAgIHRoaXMubmFtZSA9ICdXYWxsZXRBcGlFcnJvcic7XG4gICAgdGhpcy5zdGF0dXMgPSBzdGF0dXM7XG4gICAgdGhpcy5ib2R5ID0gYm9keTtcbiAgfVxufVxuXG4vKiogQSBkZWJpdCB3b3VsZCBvdmVyZHJhdyB0aGUgd2FsbGV0OyBub3RoaW5nIHdhcyBtb3ZlZCAoSFRUUCA0MDkpLiAqL1xuZXhwb3J0IGNsYXNzIEluc3VmZmljaWVudEJhbGFuY2VFcnJvciBleHRlbmRzIFdhbGxldEFwaUVycm9yIHtcbiAgcmVhZG9ubHkgYmFsYW5jZU1pbm9yOiBudW1iZXI7XG4gIGNvbnN0cnVjdG9yKGJhbGFuY2VNaW5vcjogbnVtYmVyLCBib2R5OiBzdHJpbmcpIHtcbiAgICBzdXBlcig0MDksIGJvZHkpO1xuICAgIHRoaXMubmFtZSA9ICdJbnN1ZmZpY2llbnRCYWxhbmNlRXJyb3InO1xuICAgIHRoaXMuYmFsYW5jZU1pbm9yID0gYmFsYW5jZU1pbm9yO1xuICB9XG59XG5cbi8qKiBBIHJlZnVuZCB3b3VsZCBwdXNoIHRvdGFsIHJldmVyc2FscyBwYXN0IHRoZSBvcmlnaW5hbCBkZWJpdCAoSFRUUCA0MDkpLiAqL1xuZXhwb3J0IGNsYXNzIE92ZXJSZWZ1bmRFcnJvciBleHRlbmRzIFdhbGxldEFwaUVycm9yIHtcbiAgY29uc3RydWN0b3IoYm9keTogc3RyaW5nKSB7XG4gICAgc3VwZXIoNDA5LCBib2R5KTtcbiAgICB0aGlzLm5hbWUgPSAnT3ZlclJlZnVuZEVycm9yJztcbiAgfVxufVxuXG4vKiogYHJldmVyc2FsT2ZgIGRvZXNuJ3QgcmVmZXJlbmNlIGEgdmFsaWQgZGViaXQgb24gdGhpcyB3YWxsZXQgKEhUVFAgNDIyKS4gKi9cbmV4cG9ydCBjbGFzcyBJbnZhbGlkUmV2ZXJzYWxFcnJvciBleHRlbmRzIFdhbGxldEFwaUVycm9yIHtcbiAgY29uc3RydWN0b3IoYm9keTogc3RyaW5nKSB7XG4gICAgc3VwZXIoNDIyLCBib2R5KTtcbiAgICB0aGlzLm5hbWUgPSAnSW52YWxpZFJldmVyc2FsRXJyb3InO1xuICB9XG59XG5cbi8qKiBBIGByZWZlcmVuY2VJZGAgd2FzIHJldXNlZCB3aXRoIGEgZGlmZmVyZW50IGFtb3VudC90eXBlL3NlcnZpY2UgKEhUVFAgNDA5KS4gKi9cbmV4cG9ydCBjbGFzcyBJZGVtcG90ZW5jeUNvbmZsaWN0RXJyb3IgZXh0ZW5kcyBXYWxsZXRBcGlFcnJvciB7XG4gIGNvbnN0cnVjdG9yKGJvZHk6IHN0cmluZykge1xuICAgIHN1cGVyKDQwOSwgYm9keSk7XG4gICAgdGhpcy5uYW1lID0gJ0lkZW1wb3RlbmN5Q29uZmxpY3RFcnJvcic7XG4gIH1cbn1cblxuLyoqXG4gKiBBIGB3YWxsZXRgIG92ZXJyaWRlIG5hbWVkIGEgYHBhcmVudEJ1c2luZXNzSWRgIHRoZSB3YWxsZXQgZG9jdW1lbnRcbiAqIGNvbnRyYWRpY3RzIChIVFRQIDQwOSkuIE5vdGhpbmcgd2FzIG1vdmVkIOKAlCB0aGUgd3JpdGUgaXMgcmVmdXNlZCByYXRoZXJcbiAqIHRoYW4gY2hhcmdpbmcgdGhlIHJpZ2h0IHdhbGxldCB1bmRlciB0aGUgd3JvbmcgaWRlbnRpdHksIHdoaWNoIHdvdWxkXG4gKiBtaXNhdHRyaWJ1dGUgdGhlIGxlZGdlciByb3cgYW5kIHNwbGl0IGl0cyBpZGVtcG90ZW5jeSBzY29wZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFdhbGxldElkZW50aXR5TWlzbWF0Y2hFcnJvciBleHRlbmRzIFdhbGxldEFwaUVycm9yIHtcbiAgY29uc3RydWN0b3IoYm9keTogc3RyaW5nKSB7XG4gICAgc3VwZXIoNDA5LCBib2R5KTtcbiAgICB0aGlzLm5hbWUgPSAnV2FsbGV0SWRlbnRpdHlNaXNtYXRjaEVycm9yJztcbiAgfVxufVxuXG4vKiogVGhlIGJ1c2luZXNzLCBvciB0aGUgYnVzaW5lc3MgaXRzIGBiSWRfZGVkdWN0aW9uYCBwb2ludHMgdG8sIGRvZXMgbm90IGV4aXN0IChIVFRQIDQyMikuICovXG5leHBvcnQgY2xhc3MgVW5yZXNvbHZhYmxlV2FsbGV0RXJyb3IgZXh0ZW5kcyBXYWxsZXRBcGlFcnJvciB7XG4gIGNvbnN0cnVjdG9yKGJvZHk6IHN0cmluZykge1xuICAgIHN1cGVyKDQyMiwgYm9keSk7XG4gICAgdGhpcy5uYW1lID0gJ1VucmVzb2x2YWJsZVdhbGxldEVycm9yJztcbiAgfVxufVxuXG4vKiogTm8gd2FsbGV0IGRvY3VtZW50LCBvciBubyBzdWNoIHRyYW5zYWN0aW9uIG9uIHRoaXMgd2FsbGV0IChIVFRQIDQwNCkuICovXG5leHBvcnQgY2xhc3MgV2FsbGV0Tm90Rm91bmRFcnJvciBleHRlbmRzIFdhbGxldEFwaUVycm9yIHtcbiAgY29uc3RydWN0b3IoYm9keTogc3RyaW5nKSB7XG4gICAgc3VwZXIoNDA0LCBib2R5KTtcbiAgICB0aGlzLm5hbWUgPSAnV2FsbGV0Tm90Rm91bmRFcnJvcic7XG4gIH1cbn1cblxuY29uc3QgQlVTSU5FU1NfSURfUkUgPSAvXmJ1c2luZXNzOihcXGQrKSQvO1xuXG4vKiogUGFyc2UgYSB0eXBlZCB3YWxsZXQgaWQgKGBcImJ1c2luZXNzOjg4NDFcImApIGludG8gdGhlIG51bWVyaWMgYnVzaW5lc3MgaWQuICovXG5mdW5jdGlvbiBwYXJzZUJ1c2luZXNzSWQoaWQ6IHN0cmluZyk6IG51bWJlciB7XG4gIGNvbnN0IG1hdGNoID0gQlVTSU5FU1NfSURfUkUuZXhlYyhpZCk7XG4gIGlmICghbWF0Y2gpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgd2FsbGV0LmdldFdhbGxldDogaWQgbXVzdCBsb29rIGxpa2UgXCJidXNpbmVzczo8cG9zaXRpdmUgaW50ZWdlcj5cIiAoZ290IFwiJHtpZH1cIilgLFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIE51bWJlci5wYXJzZUludChtYXRjaFsxXSwgMTApO1xufVxuXG4vKiogTWFwIGEgbm9uLTJ4eCB3YWxsZXQgcmVzcG9uc2UgdG8gdGhlIG1vc3Qgc3BlY2lmaWMgdHlwZWQgZXJyb3IuICovXG5mdW5jdGlvbiB3YWxsZXRFcnJvcihzdGF0dXM6IG51bWJlciwgYm9keTogc3RyaW5nKTogV2FsbGV0QXBpRXJyb3Ige1xuICBsZXQgY29kZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBsZXQgYmFsYW5jZU1pbm9yOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShib2R5KSBhcyB7IGVycm9yPzogc3RyaW5nOyBiYWxhbmNlTWlub3I/OiBudW1iZXIgfTtcbiAgICBjb2RlID0gcGFyc2VkLmVycm9yO1xuICAgIGJhbGFuY2VNaW5vciA9IHBhcnNlZC5iYWxhbmNlTWlub3I7XG4gIH0gY2F0Y2gge1xuICAgIC8vIG5vbi1KU09OIGJvZHkg4oCUIGZhbGwgdGhyb3VnaCB0byBhIGdlbmVyaWMgZXJyb3JcbiAgfVxuICBpZiAoc3RhdHVzID09PSA0MDkgJiYgY29kZSA9PT0gJ2luc3VmZmljaWVudF9iYWxhbmNlJykge1xuICAgIHJldHVybiBuZXcgSW5zdWZmaWNpZW50QmFsYW5jZUVycm9yKGJhbGFuY2VNaW5vciA/PyAwLCBib2R5KTtcbiAgfVxuICBpZiAoc3RhdHVzID09PSA0MDkgJiYgY29kZSA9PT0gJ292ZXJfcmVmdW5kJykgcmV0dXJuIG5ldyBPdmVyUmVmdW5kRXJyb3IoYm9keSk7XG4gIGlmIChzdGF0dXMgPT09IDQwOSAmJiBjb2RlID09PSAnaWRlbXBvdGVuY3lfY29uZmxpY3QnKSByZXR1cm4gbmV3IElkZW1wb3RlbmN5Q29uZmxpY3RFcnJvcihib2R5KTtcbiAgaWYgKHN0YXR1cyA9PT0gNDA5ICYmIGNvZGUgPT09ICd3YWxsZXRfaWRlbnRpdHlfbWlzbWF0Y2gnKSB7XG4gICAgcmV0dXJuIG5ldyBXYWxsZXRJZGVudGl0eU1pc21hdGNoRXJyb3IoYm9keSk7XG4gIH1cbiAgaWYgKHN0YXR1cyA9PT0gNDIyICYmIGNvZGUgPT09ICdpbnZhbGlkX3JldmVyc2FsJykgcmV0dXJuIG5ldyBJbnZhbGlkUmV2ZXJzYWxFcnJvcihib2R5KTtcbiAgaWYgKHN0YXR1cyA9PT0gNDIyICYmIGNvZGUgPT09ICd1bnJlc29sdmFibGVfd2FsbGV0JykgcmV0dXJuIG5ldyBVbnJlc29sdmFibGVXYWxsZXRFcnJvcihib2R5KTtcbiAgaWYgKHN0YXR1cyA9PT0gNDA0KSByZXR1cm4gbmV3IFdhbGxldE5vdEZvdW5kRXJyb3IoYm9keSk7XG4gIHJldHVybiBuZXcgV2FsbGV0QXBpRXJyb3Ioc3RhdHVzLCBib2R5KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVdhbGxldENsaWVudChpbnB1dDogUGxhdGZvcm1Db25maWdJbnB1dCA9IHt9KTogV2FsbGV0Q2xpZW50IHtcbiAgY29uc3Qgc3RhdGUgPSBuZXcgQ29uZmlnU3RhdGUoKTtcbiAgc3RhdGUuYXBwbHkoaW5wdXQpO1xuXG4gIGNvbnN0IGNsaWVudDogV2FsbGV0Q2xpZW50ID0ge1xuICAgIGNvbmZpZyhvcHRzKSB7XG4gICAgICBzdGF0ZS5hcHBseShvcHRzKTtcbiAgICAgIHJldHVybiBjbGllbnQ7XG4gICAgfSxcbiAgICBhdXRoKG9wdHMpIHtcbiAgICAgIHN0YXRlLnNldEF1dGgob3B0cyk7XG4gICAgICByZXR1cm4gY2xpZW50O1xuICAgIH0sXG4gICAgZ2V0V2FsbGV0KG9wdHMpIHtcbiAgICAgIC8vIFBhcnNlIGVhZ2VybHkgc28gYSBtYWxmb3JtZWQgaWQgZmFpbHMgZmFzdCBhdCB0aGUgY2FsbCBzaXRlLFxuICAgICAgLy8gYnV0IGRvIE5PVCByZXNvbHZlIHRoZSB3YWxsZXQgaGVyZSDigJQgdGhhdCBoYXBwZW5zIG9uIHRoZSBmaXJzdFxuICAgICAgLy8gb3BlcmF0aW9uIGFnYWluc3QgdGhlIGhhbmRsZS5cbiAgICAgIGNvbnN0IGJ1c2luZXNzSWQgPSBwYXJzZUJ1c2luZXNzSWQob3B0cy5pZCk7XG4gICAgICBjb25zdCBmb3JjZUNoaWxkV2FsbGV0ID0gb3B0cy5mb3JjZUNoaWxkV2FsbGV0ID09PSB0cnVlO1xuXG4gICAgICBjb25zdCBiYXNlUGFyYW1zID0gKCk6IFVSTFNlYXJjaFBhcmFtcyA9PiB7XG4gICAgICAgIGNvbnN0IHAgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHsgYnVzaW5lc3NJZDogU3RyaW5nKGJ1c2luZXNzSWQpIH0pO1xuICAgICAgICBpZiAoZm9yY2VDaGlsZFdhbGxldCkgcC5zZXQoJ2ZvcmNlQ2hpbGRXYWxsZXQnLCAndHJ1ZScpO1xuICAgICAgICByZXR1cm4gcDtcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHBvc3RUcmFuc2FjdGlvbiA9IGFzeW5jIChcbiAgICAgICAgdHlwZTogJ2RlYml0JyB8ICdjcmVkaXQnLFxuICAgICAgICBib2R5OiBEZWJpdElucHV0IHwgQ3JlZGl0SW5wdXQsXG4gICAgICApOiBQcm9taXNlPFRyYW5zYWN0aW9uUmVzdWx0PiA9PiB7XG4gICAgICAgIGNvbnN0IHBhdGggPSAnL3YxL3dhbGxldC90cmFuc2FjdGlvbnMnO1xuICAgICAgICAvLyBUaGUgd2FsbGV0IGlkZW50aXR5IGlzIGV4YWN0bHktb25lLW9mIHNlcnZlci1zaWRlLCBzbyBhbiBleHBsaWNpdFxuICAgICAgICAvLyBgd2FsbGV0YCBvdmVycmlkZSBSRVBMQUNFUyB0aGlzIGhhbmRsZSdzIGJ1c2luZXNzSWQgcmF0aGVyIHRoYW5cbiAgICAgICAgLy8gdHJhdmVsbGluZyBhbG9uZ3NpZGUgaXQg4oCUIHNlbmRpbmcgYm90aCBpcyBhIDQwMC5cbiAgICAgICAgY29uc3QgcGF5bG9hZCA9IEpTT04uc3RyaW5naWZ5KFxuICAgICAgICAgIGJvZHkud2FsbGV0ID8geyB0eXBlLCAuLi5ib2R5IH0gOiB7IGJ1c2luZXNzSWQsIGZvcmNlQ2hpbGRXYWxsZXQsIHR5cGUsIC4uLmJvZHkgfSxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgY29uZmlnID0gc3RhdGUucmVzb2x2ZSgpO1xuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBzZW5kV2l0aEF1dGhSZXRyeShjb25maWcsIHtcbiAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICBwYXRoLFxuICAgICAgICAgIHVybDogYCR7Y29uZmlnLmJhc2VVcmx9JHtwYXRofWAsXG4gICAgICAgICAgYm9keTogcGF5bG9hZCxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICghcmVzLm9rKSB0aHJvdyB3YWxsZXRFcnJvcihyZXMuc3RhdHVzLCBhd2FpdCByZXMudGV4dCgpKTtcbiAgICAgICAgcmV0dXJuIChhd2FpdCByZXMuanNvbigpKSBhcyBUcmFuc2FjdGlvblJlc3VsdDtcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHdhbGxldDogV2FsbGV0ID0ge1xuICAgICAgICBhc3luYyBnZXRCYWxhbmNlKCkge1xuICAgICAgICAgIGNvbnN0IHBhdGggPSAnL3YxL3dhbGxldC9iYWxhbmNlJztcbiAgICAgICAgICBjb25zdCBjb25maWcgPSBzdGF0ZS5yZXNvbHZlKCk7XG4gICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgc2VuZFdpdGhBdXRoUmV0cnkoY29uZmlnLCB7XG4gICAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgIHVybDogYCR7Y29uZmlnLmJhc2VVcmx9JHtwYXRofT8ke2Jhc2VQYXJhbXMoKS50b1N0cmluZygpfWAsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgaWYgKCFyZXMub2spIHRocm93IHdhbGxldEVycm9yKHJlcy5zdGF0dXMsIGF3YWl0IHJlcy50ZXh0KCkpO1xuICAgICAgICAgIHJldHVybiAoYXdhaXQgcmVzLmpzb24oKSkgYXMgV2FsbGV0QmFsYW5jZTtcbiAgICAgICAgfSxcbiAgICAgICAgYXN5bmMgZ2V0SW5zdGFuY2UoKSB7XG4gICAgICAgICAgY29uc3QgcGF0aCA9ICcvdjEvd2FsbGV0L2luc3RhbmNlJztcbiAgICAgICAgICBjb25zdCBjb25maWcgPSBzdGF0ZS5yZXNvbHZlKCk7XG4gICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgc2VuZFdpdGhBdXRoUmV0cnkoY29uZmlnLCB7XG4gICAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgIHVybDogYCR7Y29uZmlnLmJhc2VVcmx9JHtwYXRofT8ke2Jhc2VQYXJhbXMoKS50b1N0cmluZygpfWAsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgaWYgKCFyZXMub2spIHRocm93IHdhbGxldEVycm9yKHJlcy5zdGF0dXMsIGF3YWl0IHJlcy50ZXh0KCkpO1xuICAgICAgICAgIHJldHVybiAoYXdhaXQgcmVzLmpzb24oKSkgYXMgV2FsbGV0SW5zdGFuY2U7XG4gICAgICAgIH0sXG4gICAgICAgIGFzeW5jIGdldEN1cnJlbmN5KCkge1xuICAgICAgICAgIHJldHVybiAoYXdhaXQgd2FsbGV0LmdldEluc3RhbmNlKCkpLmN1cnJlbmN5O1xuICAgICAgICB9LFxuICAgICAgICBkZWJpdChib2R5KSB7XG4gICAgICAgICAgcmV0dXJuIHBvc3RUcmFuc2FjdGlvbignZGViaXQnLCBib2R5KTtcbiAgICAgICAgfSxcbiAgICAgICAgY3JlZGl0KGJvZHkpIHtcbiAgICAgICAgICByZXR1cm4gcG9zdFRyYW5zYWN0aW9uKCdjcmVkaXQnLCBib2R5KTtcbiAgICAgICAgfSxcbiAgICAgICAgYXN5bmMgbGlzdFRyYW5zYWN0aW9ucyhmaWx0ZXIgPSB7fSkge1xuICAgICAgICAgIGNvbnN0IHAgPSBiYXNlUGFyYW1zKCk7XG4gICAgICAgICAgaWYgKGZpbHRlci50eXBlKSBwLnNldCgndHlwZScsIGZpbHRlci50eXBlKTtcbiAgICAgICAgICBpZiAoZmlsdGVyLmZyb20pIHAuc2V0KCdmcm9tJywgZmlsdGVyLmZyb20pO1xuICAgICAgICAgIGlmIChmaWx0ZXIudG8pIHAuc2V0KCd0bycsIGZpbHRlci50byk7XG4gICAgICAgICAgaWYgKGZpbHRlci5zZXJ2aWNlICE9PSB1bmRlZmluZWQpIHAuc2V0KCdzZXJ2aWNlJywgU3RyaW5nKGZpbHRlci5zZXJ2aWNlKSk7XG4gICAgICAgICAgaWYgKGZpbHRlci5yZWZlcmVuY2VJZCkgcC5zZXQoJ3JlZmVyZW5jZUlkJywgZmlsdGVyLnJlZmVyZW5jZUlkKTtcbiAgICAgICAgICBpZiAoZmlsdGVyLnRhZykgcC5zZXQoJ3RhZycsIGZpbHRlci50YWcpO1xuICAgICAgICAgIGlmIChmaWx0ZXIuY3Vyc29yKSBwLnNldCgnY3Vyc29yJywgZmlsdGVyLmN1cnNvcik7XG4gICAgICAgICAgaWYgKGZpbHRlci5saW1pdCAhPT0gdW5kZWZpbmVkKSBwLnNldCgnbGltaXQnLCBTdHJpbmcoZmlsdGVyLmxpbWl0KSk7XG4gICAgICAgICAgY29uc3QgcGF0aCA9ICcvdjEvd2FsbGV0L3RyYW5zYWN0aW9ucyc7XG4gICAgICAgICAgY29uc3QgY29uZmlnID0gc3RhdGUucmVzb2x2ZSgpO1xuICAgICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHNlbmRXaXRoQXV0aFJldHJ5KGNvbmZpZywge1xuICAgICAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICB1cmw6IGAke2NvbmZpZy5iYXNlVXJsfSR7cGF0aH0/JHtwLnRvU3RyaW5nKCl9YCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBpZiAoIXJlcy5vaykgdGhyb3cgd2FsbGV0RXJyb3IocmVzLnN0YXR1cywgYXdhaXQgcmVzLnRleHQoKSk7XG4gICAgICAgICAgcmV0dXJuIChhd2FpdCByZXMuanNvbigpKSBhcyBUcmFuc2FjdGlvblBhZ2U7XG4gICAgICAgIH0sXG4gICAgICAgIGFzeW5jIGdldFRyYW5zYWN0aW9uKGlkKSB7XG4gICAgICAgICAgY29uc3QgcGF0aCA9IGAvdjEvd2FsbGV0L3RyYW5zYWN0aW9ucy8ke2lkfWA7XG4gICAgICAgICAgY29uc3QgY29uZmlnID0gc3RhdGUucmVzb2x2ZSgpO1xuICAgICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHNlbmRXaXRoQXV0aFJldHJ5KGNvbmZpZywge1xuICAgICAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICB1cmw6IGAke2NvbmZpZy5iYXNlVXJsfSR7cGF0aH0/JHtiYXNlUGFyYW1zKCkudG9TdHJpbmcoKX1gLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGlmICghcmVzLm9rKSB0aHJvdyB3YWxsZXRFcnJvcihyZXMuc3RhdHVzLCBhd2FpdCByZXMudGV4dCgpKTtcbiAgICAgICAgICByZXR1cm4gKGF3YWl0IHJlcy5qc29uKCkpIGFzIFdhbGxldFRyYW5zYWN0aW9uO1xuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIHJldHVybiB3YWxsZXQ7XG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gY2xpZW50O1xufVxuIl19
|
package/dist/wallet/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export type { WalletRef, WalletBalance, WalletInstance, Currency, Amount, Balance, ServiceRef, GetWalletOptions, Breakup, WalletTags, DebitInput, CreditInput, TransactionResult, WalletTransaction, ListTransactionsFilter, TransactionPage, } from './schema';
|
|
1
|
+
export type { WalletRef, WalletBalance, WalletInstance, Currency, Amount, Balance, ServiceRef, GetWalletOptions, Breakup, WalletTags, WalletOverride, DebitInput, CreditInput, TransactionResult, WalletTransaction, ListTransactionsFilter, TransactionPage, } from './schema';
|
|
2
2
|
export { Services, type Service } from './services';
|
|
3
|
-
export { createWalletClient, WalletApiError, InsufficientBalanceError, OverRefundError, InvalidReversalError, IdempotencyConflictError, UnresolvableWalletError, WalletNotFoundError, type WalletClient, type Wallet, } from './client';
|
|
3
|
+
export { createWalletClient, WalletApiError, InsufficientBalanceError, OverRefundError, InvalidReversalError, IdempotencyConflictError, WalletIdentityMismatchError, UnresolvableWalletError, WalletNotFoundError, type WalletClient, type Wallet, } from './client';
|
package/dist/wallet/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WalletNotFoundError = exports.UnresolvableWalletError = exports.IdempotencyConflictError = exports.InvalidReversalError = exports.OverRefundError = exports.InsufficientBalanceError = exports.WalletApiError = exports.createWalletClient = exports.Services = void 0;
|
|
3
|
+
exports.WalletNotFoundError = exports.UnresolvableWalletError = exports.WalletIdentityMismatchError = exports.IdempotencyConflictError = exports.InvalidReversalError = exports.OverRefundError = exports.InsufficientBalanceError = exports.WalletApiError = exports.createWalletClient = exports.Services = void 0;
|
|
4
4
|
var services_1 = require("./services");
|
|
5
5
|
Object.defineProperty(exports, "Services", { enumerable: true, get: function () { return services_1.Services; } });
|
|
6
6
|
var client_1 = require("./client");
|
|
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "InsufficientBalanceError", { enumerable: true, g
|
|
|
10
10
|
Object.defineProperty(exports, "OverRefundError", { enumerable: true, get: function () { return client_1.OverRefundError; } });
|
|
11
11
|
Object.defineProperty(exports, "InvalidReversalError", { enumerable: true, get: function () { return client_1.InvalidReversalError; } });
|
|
12
12
|
Object.defineProperty(exports, "IdempotencyConflictError", { enumerable: true, get: function () { return client_1.IdempotencyConflictError; } });
|
|
13
|
+
Object.defineProperty(exports, "WalletIdentityMismatchError", { enumerable: true, get: function () { return client_1.WalletIdentityMismatchError; } });
|
|
13
14
|
Object.defineProperty(exports, "UnresolvableWalletError", { enumerable: true, get: function () { return client_1.UnresolvableWalletError; } });
|
|
14
15
|
Object.defineProperty(exports, "WalletNotFoundError", { enumerable: true, get: function () { return client_1.WalletNotFoundError; } });
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQW1CQSx1Q0FBb0Q7QUFBM0Msb0dBQUEsUUFBUSxPQUFBO0FBQ2pCLG1DQVlrQjtBQVhoQiw0R0FBQSxrQkFBa0IsT0FBQTtBQUNsQix3R0FBQSxjQUFjLE9BQUE7QUFDZCxrSEFBQSx3QkFBd0IsT0FBQTtBQUN4Qix5R0FBQSxlQUFlLE9BQUE7QUFDZiw4R0FBQSxvQkFBb0IsT0FBQTtBQUNwQixrSEFBQSx3QkFBd0IsT0FBQTtBQUN4QixxSEFBQSwyQkFBMkIsT0FBQTtBQUMzQixpSEFBQSx1QkFBdUIsT0FBQTtBQUN2Qiw2R0FBQSxtQkFBbUIsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIHtcbiAgV2FsbGV0UmVmLFxuICBXYWxsZXRCYWxhbmNlLFxuICBXYWxsZXRJbnN0YW5jZSxcbiAgQ3VycmVuY3ksXG4gIEFtb3VudCxcbiAgQmFsYW5jZSxcbiAgU2VydmljZVJlZixcbiAgR2V0V2FsbGV0T3B0aW9ucyxcbiAgQnJlYWt1cCxcbiAgV2FsbGV0VGFncyxcbiAgV2FsbGV0T3ZlcnJpZGUsXG4gIERlYml0SW5wdXQsXG4gIENyZWRpdElucHV0LFxuICBUcmFuc2FjdGlvblJlc3VsdCxcbiAgV2FsbGV0VHJhbnNhY3Rpb24sXG4gIExpc3RUcmFuc2FjdGlvbnNGaWx0ZXIsXG4gIFRyYW5zYWN0aW9uUGFnZSxcbn0gZnJvbSAnLi9zY2hlbWEnO1xuZXhwb3J0IHsgU2VydmljZXMsIHR5cGUgU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuZXhwb3J0IHtcbiAgY3JlYXRlV2FsbGV0Q2xpZW50LFxuICBXYWxsZXRBcGlFcnJvcixcbiAgSW5zdWZmaWNpZW50QmFsYW5jZUVycm9yLFxuICBPdmVyUmVmdW5kRXJyb3IsXG4gIEludmFsaWRSZXZlcnNhbEVycm9yLFxuICBJZGVtcG90ZW5jeUNvbmZsaWN0RXJyb3IsXG4gIFdhbGxldElkZW50aXR5TWlzbWF0Y2hFcnJvcixcbiAgVW5yZXNvbHZhYmxlV2FsbGV0RXJyb3IsXG4gIFdhbGxldE5vdEZvdW5kRXJyb3IsXG4gIHR5cGUgV2FsbGV0Q2xpZW50LFxuICB0eXBlIFdhbGxldCxcbn0gZnJvbSAnLi9jbGllbnQnO1xuIl19
|
package/dist/wallet/schema.d.ts
CHANGED
|
@@ -67,6 +67,21 @@ export interface Breakup {
|
|
|
67
67
|
}
|
|
68
68
|
/** Searchable key/value metadata attached to a transaction. */
|
|
69
69
|
export type WalletTags = Record<string, string>;
|
|
70
|
+
/**
|
|
71
|
+
* An explicit wallet identity that REPLACES `bId_deduction` routing for
|
|
72
|
+
* one write. For callers that already know which wallet pays (admin
|
|
73
|
+
* tools, uengage-crm) or want to assert an identity the routing tables
|
|
74
|
+
* might disagree with.
|
|
75
|
+
*
|
|
76
|
+
* The currency is NOT part of this — the service still takes it from the
|
|
77
|
+
* business that owns the wallet, so a named wallet cannot be charged at
|
|
78
|
+
* the wrong minor-unit scale.
|
|
79
|
+
*/
|
|
80
|
+
export interface WalletOverride {
|
|
81
|
+
parentBusinessId: string;
|
|
82
|
+
/** `"0"` for the parent business's own wallet. */
|
|
83
|
+
childBusinessId: string;
|
|
84
|
+
}
|
|
70
85
|
/** Fields common to a debit and a credit. */
|
|
71
86
|
interface TransactionInputBase {
|
|
72
87
|
/** Deterministic id of the business event — the idempotency key. */
|
|
@@ -77,14 +92,68 @@ interface TransactionInputBase {
|
|
|
77
92
|
description: string;
|
|
78
93
|
breakup?: Breakup;
|
|
79
94
|
tags?: WalletTags;
|
|
95
|
+
/**
|
|
96
|
+
* Charge this wallet instead of the one this handle's business id
|
|
97
|
+
* routes to — for THIS call only. Bypasses
|
|
98
|
+
* `flash_configuration.bId_deduction` entirely, and cannot be combined
|
|
99
|
+
* with a handle built with `forceChildWallet`.
|
|
100
|
+
*/
|
|
101
|
+
wallet?: WalletOverride;
|
|
102
|
+
/**
|
|
103
|
+
* Flash's natural key for the delivery task. Stored as both `task_id`
|
|
104
|
+
* and `transaction_order_id`. NOT an idempotency key — `referenceId`
|
|
105
|
+
* is; this is the key flash's own pre-check filters on.
|
|
106
|
+
*/
|
|
107
|
+
taskId?: string;
|
|
108
|
+
/**
|
|
109
|
+
* Chargeable units on this line. Defaults to 1 on a DEBIT when `taskId`
|
|
110
|
+
* is set (the legacy writer's credit row carries no `units` key, so
|
|
111
|
+
* credits are not defaulted); an explicit value is honoured on either.
|
|
112
|
+
*/
|
|
113
|
+
units?: number;
|
|
114
|
+
/**
|
|
115
|
+
* Tariff base cost in MAJOR units (not minor, unlike `amountMinor`),
|
|
116
|
+
* caller-denominated and stored unconverted.
|
|
117
|
+
*/
|
|
118
|
+
serviceBaseCost?: number;
|
|
119
|
+
/**
|
|
120
|
+
* When the charge actually OCCURRED, IST `YYYY-MM-DD HH:mm:ss`. Sets
|
|
121
|
+
* the ledger's `inserted_date` — what finance reporting and the
|
|
122
|
+
* `from`/`to` history filter range on — so a backfill or a replay is
|
|
123
|
+
* dated at the event, not at the write. The wall-clock write time is
|
|
124
|
+
* recorded separately as `recordedAt`. Defaults to now; may not be in
|
|
125
|
+
* the future or backdated more than 90 days.
|
|
126
|
+
*/
|
|
127
|
+
occurredAt?: string;
|
|
128
|
+
/**
|
|
129
|
+
* The originating actor, stored as `updated_by` ('PetPooja', a rider
|
|
130
|
+
* id, 'Reconcile'). The OAuth client that authenticated the call is
|
|
131
|
+
* recorded separately and is unaffected.
|
|
132
|
+
*/
|
|
133
|
+
updatedBy?: string;
|
|
80
134
|
}
|
|
81
135
|
export interface DebitInput extends TransactionInputBase {
|
|
82
136
|
/** Allow the balance to go negative (flash migration only — needs sign-off). */
|
|
83
137
|
allowNegative?: boolean;
|
|
138
|
+
/** Return-to-origin leg. Debits only; part of flash's dedupe key. */
|
|
139
|
+
rto?: boolean;
|
|
84
140
|
}
|
|
85
141
|
export interface CreditInput extends TransactionInputBase {
|
|
86
142
|
/** Link a refund to the original debit's `id`; subject to the over-refund guard. */
|
|
87
143
|
reversalOf?: string;
|
|
144
|
+
/**
|
|
145
|
+
* Mark this credit as a refund WITHOUT linking it to an original debit,
|
|
146
|
+
* and so without the over-refund guard. For refunds computed
|
|
147
|
+
* independently of the debit — a partial (buffer-only) refund that can
|
|
148
|
+
* legitimately exceed it. Use `reversalOf` instead when the refund
|
|
149
|
+
* genuinely reverses one known debit and should be capped by it.
|
|
150
|
+
*/
|
|
151
|
+
isRefund?: boolean;
|
|
152
|
+
/**
|
|
153
|
+
* Payment reference. Credits only. The empty string is meaningful and
|
|
154
|
+
* is sent through as-is.
|
|
155
|
+
*/
|
|
156
|
+
paymentId?: string;
|
|
88
157
|
}
|
|
89
158
|
/** What `debit()` / `credit()` return. */
|
|
90
159
|
export interface TransactionResult {
|
|
@@ -110,9 +179,23 @@ export interface WalletTransaction {
|
|
|
110
179
|
reversalOf?: string;
|
|
111
180
|
balanceBefore: Balance;
|
|
112
181
|
balanceAfter: Balance;
|
|
182
|
+
/** When the charge occurred, IST. A backdated write (`occurredAt`) sets it. */
|
|
113
183
|
timestamp: string;
|
|
184
|
+
/**
|
|
185
|
+
* Wall-clock write time, IST. Absent on transactions written before
|
|
186
|
+
* this field existed, where `timestamp` is also the write time.
|
|
187
|
+
*/
|
|
188
|
+
recordedAt?: string;
|
|
114
189
|
currency: Currency;
|
|
115
190
|
wallet: WalletRef;
|
|
191
|
+
taskId?: string;
|
|
192
|
+
rto?: boolean;
|
|
193
|
+
units?: number;
|
|
194
|
+
serviceBaseCost?: number;
|
|
195
|
+
paymentId?: string;
|
|
196
|
+
/** True when the entry is marked a refund (reversal-linked or standalone). */
|
|
197
|
+
refund?: boolean;
|
|
198
|
+
updatedBy?: string;
|
|
116
199
|
}
|
|
117
200
|
export interface ListTransactionsFilter {
|
|
118
201
|
type?: 'debit' | 'credit' | 'all';
|
package/dist/wallet/schema.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dhbGxldC9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuXG4vKipcbiAqIFdhbGxldCBpZGVudGl0eSBpbnNpZGUgdGhlIHBsYXRmb3JtIHdhbGxldCBzZXJ2aWNlLiBgY2hpbGRCdXNpbmVzc0lkYFxuICogaXMgYFwiMFwiYCB3aGVuIHRoZSBwYXJlbnQgYnVzaW5lc3MncyBvd24gd2FsbGV0IGFuc3dlcmVkIChwYXJlbnQtY2hhaW5cbiAqIGJpbGxpbmcgcmVzb2x2ZWQgb24gdGhlIG91dGxldCdzIGJlaGFsZikuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0UmVmIHtcbiAgcGFyZW50QnVzaW5lc3NJZDogc3RyaW5nO1xuICBjaGlsZEJ1c2luZXNzSWQ6IHN0cmluZztcbn1cblxuLyoqIEN1cnJlbmN5IGRlc2NyaXB0b3IgZm9yIGEgd2FsbGV0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBDdXJyZW5jeSB7XG4gIC8qKiBJU08gY29kZSwgZS5nLiBgXCJJTlJcImAuICovXG4gIGNvZGU6IHN0cmluZztcbiAgLyoqIERpc3BsYXkgc3ltYm9sLCBlLmcuIGBcIuKCuVwiYC4gKi9cbiAgc3ltYm9sOiBzdHJpbmc7XG59XG5cbi8qKiBBIHRyYW5zYWN0aW9uIGFtb3VudCBpbiBtYWpvciArIGludGVnZXIgbWlub3IgdW5pdHMuICovXG5leHBvcnQgaW50ZXJmYWNlIEFtb3VudCB7XG4gIGFtb3VudDogbnVtYmVyO1xuICBhbW91bnRNaW5vcjogbnVtYmVyO1xufVxuXG4vKiogQSBiYWxhbmNlIGluIG1ham9yICsgaW50ZWdlciBtaW5vciB1bml0cy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmFsYW5jZSB7XG4gIGJhbGFuY2U6IG51bWJlcjtcbiAgYmFsYW5jZU1pbm9yOiBudW1iZXI7XG59XG5cbi8qKiBBIGNoYXJnZWFibGUgc2VydmljZSwgYXMgcmV0dXJuZWQgb24gYSB0cmFuc2FjdGlvbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZVJlZiB7XG4gIGlkOiBudW1iZXI7XG4gIG5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXYWxsZXRCYWxhbmNlIHtcbiAgLyoqIEJhbGFuY2UgaW4gbWFqb3IgdW5pdHMuICovXG4gIGJhbGFuY2U6IG51bWJlcjtcbiAgLyoqIEJhbGFuY2UgaW4gaW50ZWdlciBtaW5vciB1bml0cywgcGVyIHRoZSB3YWxsZXQncyBjdXJyZW5jeS4gKi9cbiAgYmFsYW5jZU1pbm9yOiBudW1iZXI7XG4gIGN1cnJlbmN5OiBDdXJyZW5jeTtcbn1cblxuLyoqIFdhbGxldCBkZXRhaWxzIChpZGVudGl0eSArIGN1cnJlbmN5KSwgd2l0aG91dCB0aGUgYmFsYW5jZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0SW5zdGFuY2Uge1xuICB3YWxsZXQ6IFdhbGxldFJlZjtcbiAgY3VycmVuY3k6IEN1cnJlbmN5O1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGB3YWxsZXQuZ2V0V2FsbGV0KC4uLilgLlxuICpcbiAqIGBpZGAgaXMgYSB0eXBlZCBlbnRpdHkgcmVmZXJlbmNlLCBlLmcuIGBcImJ1c2luZXNzOjg4NDFcImAgKHNhbWVcbiAqIHByZWZpeGVkIHNoYXBlIHRoZSBwbGF0Zm9ybSB1c2VzIGZvciBKV1Qgc3ViamVjdHMpLiBUb2RheSBvbmx5IHRoZVxuICogYGJ1c2luZXNzOmAgcHJlZml4IGlzIHN1cHBvcnRlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXRXYWxsZXRPcHRpb25zIHtcbiAgaWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIEZvcmNlIHRoZSBidXNpbmVzcydzIG93biAoY2hpbGQpIHdhbGxldCwgYnlwYXNzaW5nIHBhcmVudC1mdW5kaW5nXG4gICAqIHJvdXRpbmcgKGBmbGFzaF9jb25maWd1cmF0aW9uLmJJZF9kZWR1Y3Rpb25gKS4gRGVmYXVsdCBgZmFsc2VgIOKAlCB0aGVcbiAgICogc2VydmljZSByZXNvbHZlcyBjaGlsZC12cy1wYXJlbnQgYXV0b21hdGljYWxseS4gTm8gZWZmZWN0IGZvciBhIHJvb3RcbiAgICogYnVzaW5lc3MsIHdoaWNoIG9ubHkgaGFzIGl0cyBvd24gd2FsbGV0LlxuICAgKi9cbiAgZm9yY2VDaGlsZFdhbGxldD86IGJvb2xlYW47XG59XG5cbi8qKiBUaGUgR1NUIHNwbGl0IG9uIGEgY2hhcmdlLiBSZWNvcmRlZCBvbiB0aGUgbGVkZ2VyOyB0aGUgc2VydmljZSBkb2VzIG5vdCBjb21wdXRlIEdTVC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnJlYWt1cCB7XG4gIHN1YlRvdGFsTWlub3I6IG51bWJlcjtcbiAgZ3N0TWlub3I6IG51bWJlcjtcbiAgZ3N0UmF0ZTogbnVtYmVyO1xufVxuXG4vKiogU2VhcmNoYWJsZSBrZXkvdmFsdWUgbWV0YWRhdGEgYXR0YWNoZWQgdG8gYSB0cmFuc2FjdGlvbi4gKi9cbmV4cG9ydCB0eXBlIFdhbGxldFRhZ3MgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4vKiogRmllbGRzIGNvbW1vbiB0byBhIGRlYml0IGFuZCBhIGNyZWRpdC4gKi9cbmludGVyZmFjZSBUcmFuc2FjdGlvbklucHV0QmFzZSB7XG4gIC8qKiBEZXRlcm1pbmlzdGljIGlkIG9mIHRoZSBidXNpbmVzcyBldmVudCDigJQgdGhlIGlkZW1wb3RlbmN5IGtleS4gKi9cbiAgcmVmZXJlbmNlSWQ6IHN0cmluZztcbiAgLyoqIEFtb3VudCBpbiBpbnRlZ2VyIG1pbm9yIHVuaXRzIG9mIHRoZSB3YWxsZXQncyBjdXJyZW5jeS4gKi9cbiAgYW1vdW50TWlub3I6IG51bWJlcjtcbiAgc2VydmljZTogU2VydmljZTtcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgYnJlYWt1cD86IEJyZWFrdXA7XG4gIHRhZ3M/OiBXYWxsZXRUYWdzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlYml0SW5wdXQgZXh0ZW5kcyBUcmFuc2FjdGlvbklucHV0QmFzZSB7XG4gIC8qKiBBbGxvdyB0aGUgYmFsYW5jZSB0byBnbyBuZWdhdGl2ZSAoZmxhc2ggbWlncmF0aW9uIG9ubHkg4oCUIG5lZWRzIHNpZ24tb2ZmKS4gKi9cbiAgYWxsb3dOZWdhdGl2ZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlZGl0SW5wdXQgZXh0ZW5kcyBUcmFuc2FjdGlvbklucHV0QmFzZSB7XG4gIC8qKiBMaW5rIGEgcmVmdW5kIHRvIHRoZSBvcmlnaW5hbCBkZWJpdCdzIGBpZGA7IHN1YmplY3QgdG8gdGhlIG92ZXItcmVmdW5kIGd1YXJkLiAqL1xuICByZXZlcnNhbE9mPzogc3RyaW5nO1xufVxuXG4vKiogV2hhdCBgZGViaXQoKWAgLyBgY3JlZGl0KClgIHJldHVybi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25SZXN1bHQge1xuICAvKiogVGhlIHdhbGxldF90cmFuc2FjdGlvbnMgcmVjb3JkIGlkLiBQZXJzaXN0IHRoaXM7IHVzZSBhcyBgcmV2ZXJzYWxPZmAgZm9yIGEgcmVmdW5kLiAqL1xuICBpZDogc3RyaW5nO1xuICAvKiogYHRydWVgID0gYSByZXBsYXkgb2YgYW4gZWFybGllciBpZGVudGljYWwgcmVmZXJlbmNlSWQ7IG5vIG1vbmV5IG1vdmVkIG5vdy4gKi9cbiAgaWRlbXBvdGVudDogYm9vbGVhbjtcbiAgdHlwZTogJ2RlYml0JyB8ICdjcmVkaXQnO1xuICBhbW91bnQ6IEFtb3VudDtcbiAgYmFsYW5jZUJlZm9yZTogQmFsYW5jZTtcbiAgYmFsYW5jZUFmdGVyOiBCYWxhbmNlO1xuICBjdXJyZW5jeTogQ3VycmVuY3k7XG4gIHdhbGxldDogV2FsbGV0UmVmO1xufVxuXG4vKiogQSB0cmFuc2FjdGlvbiBhcyByZXR1cm5lZCBieSBgbGlzdFRyYW5zYWN0aW9ucygpYCAvIGBnZXRUcmFuc2FjdGlvbigpYC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0VHJhbnNhY3Rpb24ge1xuICBpZDogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIGFtb3VudDogQW1vdW50O1xuICBzZXJ2aWNlOiBTZXJ2aWNlUmVmO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICB0YWdzPzogV2FsbGV0VGFncztcbiAgcmV2ZXJzYWxPZj86IHN0cmluZztcbiAgYmFsYW5jZUJlZm9yZTogQmFsYW5jZTtcbiAgYmFsYW5jZUFmdGVyOiBCYWxhbmNlO1xuICB0aW1lc3RhbXA6IHN0cmluZztcbiAgY3VycmVuY3k6IEN1cnJlbmN5O1xuICB3YWxsZXQ6IFdhbGxldFJlZjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0VHJhbnNhY3Rpb25zRmlsdGVyIHtcbiAgdHlwZT86ICdkZWJpdCcgfCAnY3JlZGl0JyB8ICdhbGwnO1xuICBmcm9tPzogc3RyaW5nO1xuICB0bz86IHN0cmluZztcbiAgc2VydmljZT86IFNlcnZpY2U7XG4gIHJlZmVyZW5jZUlkPzogc3RyaW5nO1xuICAvKiogU2luZ2xlIHRhZyBmaWx0ZXIgYXMgYGtleTp2YWx1ZWAuICovXG4gIHRhZz86IHN0cmluZztcbiAgY3Vyc29yPzogc3RyaW5nO1xuICBsaW1pdD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvblBhZ2Uge1xuICB0cmFuc2FjdGlvbnM6IFdhbGxldFRyYW5zYWN0aW9uW107XG4gIG5leHRDdXJzb3I/OiBzdHJpbmc7XG59XG4iXX0=
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dhbGxldC9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuXG4vKipcbiAqIFdhbGxldCBpZGVudGl0eSBpbnNpZGUgdGhlIHBsYXRmb3JtIHdhbGxldCBzZXJ2aWNlLiBgY2hpbGRCdXNpbmVzc0lkYFxuICogaXMgYFwiMFwiYCB3aGVuIHRoZSBwYXJlbnQgYnVzaW5lc3MncyBvd24gd2FsbGV0IGFuc3dlcmVkIChwYXJlbnQtY2hhaW5cbiAqIGJpbGxpbmcgcmVzb2x2ZWQgb24gdGhlIG91dGxldCdzIGJlaGFsZikuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0UmVmIHtcbiAgcGFyZW50QnVzaW5lc3NJZDogc3RyaW5nO1xuICBjaGlsZEJ1c2luZXNzSWQ6IHN0cmluZztcbn1cblxuLyoqIEN1cnJlbmN5IGRlc2NyaXB0b3IgZm9yIGEgd2FsbGV0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBDdXJyZW5jeSB7XG4gIC8qKiBJU08gY29kZSwgZS5nLiBgXCJJTlJcImAuICovXG4gIGNvZGU6IHN0cmluZztcbiAgLyoqIERpc3BsYXkgc3ltYm9sLCBlLmcuIGBcIuKCuVwiYC4gKi9cbiAgc3ltYm9sOiBzdHJpbmc7XG59XG5cbi8qKiBBIHRyYW5zYWN0aW9uIGFtb3VudCBpbiBtYWpvciArIGludGVnZXIgbWlub3IgdW5pdHMuICovXG5leHBvcnQgaW50ZXJmYWNlIEFtb3VudCB7XG4gIGFtb3VudDogbnVtYmVyO1xuICBhbW91bnRNaW5vcjogbnVtYmVyO1xufVxuXG4vKiogQSBiYWxhbmNlIGluIG1ham9yICsgaW50ZWdlciBtaW5vciB1bml0cy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmFsYW5jZSB7XG4gIGJhbGFuY2U6IG51bWJlcjtcbiAgYmFsYW5jZU1pbm9yOiBudW1iZXI7XG59XG5cbi8qKiBBIGNoYXJnZWFibGUgc2VydmljZSwgYXMgcmV0dXJuZWQgb24gYSB0cmFuc2FjdGlvbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZVJlZiB7XG4gIGlkOiBudW1iZXI7XG4gIG5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXYWxsZXRCYWxhbmNlIHtcbiAgLyoqIEJhbGFuY2UgaW4gbWFqb3IgdW5pdHMuICovXG4gIGJhbGFuY2U6IG51bWJlcjtcbiAgLyoqIEJhbGFuY2UgaW4gaW50ZWdlciBtaW5vciB1bml0cywgcGVyIHRoZSB3YWxsZXQncyBjdXJyZW5jeS4gKi9cbiAgYmFsYW5jZU1pbm9yOiBudW1iZXI7XG4gIGN1cnJlbmN5OiBDdXJyZW5jeTtcbn1cblxuLyoqIFdhbGxldCBkZXRhaWxzIChpZGVudGl0eSArIGN1cnJlbmN5KSwgd2l0aG91dCB0aGUgYmFsYW5jZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2FsbGV0SW5zdGFuY2Uge1xuICB3YWxsZXQ6IFdhbGxldFJlZjtcbiAgY3VycmVuY3k6IEN1cnJlbmN5O1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGB3YWxsZXQuZ2V0V2FsbGV0KC4uLilgLlxuICpcbiAqIGBpZGAgaXMgYSB0eXBlZCBlbnRpdHkgcmVmZXJlbmNlLCBlLmcuIGBcImJ1c2luZXNzOjg4NDFcImAgKHNhbWVcbiAqIHByZWZpeGVkIHNoYXBlIHRoZSBwbGF0Zm9ybSB1c2VzIGZvciBKV1Qgc3ViamVjdHMpLiBUb2RheSBvbmx5IHRoZVxuICogYGJ1c2luZXNzOmAgcHJlZml4IGlzIHN1cHBvcnRlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXRXYWxsZXRPcHRpb25zIHtcbiAgaWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIEZvcmNlIHRoZSBidXNpbmVzcydzIG93biAoY2hpbGQpIHdhbGxldCwgYnlwYXNzaW5nIHBhcmVudC1mdW5kaW5nXG4gICAqIHJvdXRpbmcgKGBmbGFzaF9jb25maWd1cmF0aW9uLmJJZF9kZWR1Y3Rpb25gKS4gRGVmYXVsdCBgZmFsc2VgIOKAlCB0aGVcbiAgICogc2VydmljZSByZXNvbHZlcyBjaGlsZC12cy1wYXJlbnQgYXV0b21hdGljYWxseS4gTm8gZWZmZWN0IGZvciBhIHJvb3RcbiAgICogYnVzaW5lc3MsIHdoaWNoIG9ubHkgaGFzIGl0cyBvd24gd2FsbGV0LlxuICAgKi9cbiAgZm9yY2VDaGlsZFdhbGxldD86IGJvb2xlYW47XG59XG5cbi8qKiBUaGUgR1NUIHNwbGl0IG9uIGEgY2hhcmdlLiBSZWNvcmRlZCBvbiB0aGUgbGVkZ2VyOyB0aGUgc2VydmljZSBkb2VzIG5vdCBjb21wdXRlIEdTVC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnJlYWt1cCB7XG4gIHN1YlRvdGFsTWlub3I6IG51bWJlcjtcbiAgZ3N0TWlub3I6IG51bWJlcjtcbiAgZ3N0UmF0ZTogbnVtYmVyO1xufVxuXG4vKiogU2VhcmNoYWJsZSBrZXkvdmFsdWUgbWV0YWRhdGEgYXR0YWNoZWQgdG8gYSB0cmFuc2FjdGlvbi4gKi9cbmV4cG9ydCB0eXBlIFdhbGxldFRhZ3MgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4vKipcbiAqIEFuIGV4cGxpY2l0IHdhbGxldCBpZGVudGl0eSB0aGF0IFJFUExBQ0VTIGBiSWRfZGVkdWN0aW9uYCByb3V0aW5nIGZvclxuICogb25lIHdyaXRlLiBGb3IgY2FsbGVycyB0aGF0IGFscmVhZHkga25vdyB3aGljaCB3YWxsZXQgcGF5cyAoYWRtaW5cbiAqIHRvb2xzLCB1ZW5nYWdlLWNybSkgb3Igd2FudCB0byBhc3NlcnQgYW4gaWRlbnRpdHkgdGhlIHJvdXRpbmcgdGFibGVzXG4gKiBtaWdodCBkaXNhZ3JlZSB3aXRoLlxuICpcbiAqIFRoZSBjdXJyZW5jeSBpcyBOT1QgcGFydCBvZiB0aGlzIOKAlCB0aGUgc2VydmljZSBzdGlsbCB0YWtlcyBpdCBmcm9tIHRoZVxuICogYnVzaW5lc3MgdGhhdCBvd25zIHRoZSB3YWxsZXQsIHNvIGEgbmFtZWQgd2FsbGV0IGNhbm5vdCBiZSBjaGFyZ2VkIGF0XG4gKiB0aGUgd3JvbmcgbWlub3ItdW5pdCBzY2FsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXYWxsZXRPdmVycmlkZSB7XG4gIHBhcmVudEJ1c2luZXNzSWQ6IHN0cmluZztcbiAgLyoqIGBcIjBcImAgZm9yIHRoZSBwYXJlbnQgYnVzaW5lc3MncyBvd24gd2FsbGV0LiAqL1xuICBjaGlsZEJ1c2luZXNzSWQ6IHN0cmluZztcbn1cblxuLyoqIEZpZWxkcyBjb21tb24gdG8gYSBkZWJpdCBhbmQgYSBjcmVkaXQuICovXG5pbnRlcmZhY2UgVHJhbnNhY3Rpb25JbnB1dEJhc2Uge1xuICAvKiogRGV0ZXJtaW5pc3RpYyBpZCBvZiB0aGUgYnVzaW5lc3MgZXZlbnQg4oCUIHRoZSBpZGVtcG90ZW5jeSBrZXkuICovXG4gIHJlZmVyZW5jZUlkOiBzdHJpbmc7XG4gIC8qKiBBbW91bnQgaW4gaW50ZWdlciBtaW5vciB1bml0cyBvZiB0aGUgd2FsbGV0J3MgY3VycmVuY3kuICovXG4gIGFtb3VudE1pbm9yOiBudW1iZXI7XG4gIHNlcnZpY2U6IFNlcnZpY2U7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGJyZWFrdXA/OiBCcmVha3VwO1xuICB0YWdzPzogV2FsbGV0VGFncztcblxuICAvKipcbiAgICogQ2hhcmdlIHRoaXMgd2FsbGV0IGluc3RlYWQgb2YgdGhlIG9uZSB0aGlzIGhhbmRsZSdzIGJ1c2luZXNzIGlkXG4gICAqIHJvdXRlcyB0byDigJQgZm9yIFRISVMgY2FsbCBvbmx5LiBCeXBhc3Nlc1xuICAgKiBgZmxhc2hfY29uZmlndXJhdGlvbi5iSWRfZGVkdWN0aW9uYCBlbnRpcmVseSwgYW5kIGNhbm5vdCBiZSBjb21iaW5lZFxuICAgKiB3aXRoIGEgaGFuZGxlIGJ1aWx0IHdpdGggYGZvcmNlQ2hpbGRXYWxsZXRgLlxuICAgKi9cbiAgd2FsbGV0PzogV2FsbGV0T3ZlcnJpZGU7XG4gIC8vIE5vdGU6IGZvciBhIGNoaWxkIHdhbGxldCB0aGUgc2VydmljZSBhc3NlcnRzIGBwYXJlbnRCdXNpbmVzc0lkYFxuICAvLyBhZ2FpbnN0IHRoZSB3YWxsZXQgZG9jdW1lbnQgcmF0aGVyIHRoYW4gZmlsdGVyaW5nIG9uIGl0LCBzbyBhIHdyb25nXG4gIC8vIG9uZSBpcyBhIDQwOSBgd2FsbGV0X2lkZW50aXR5X21pc21hdGNoYCByYXRoZXIgdGhhbiBhIHNpbGVudCBjaGFyZ2UgdG9cbiAgLy8gdGhlIHJpZ2h0IHdhbGxldCB1bmRlciB0aGUgd3JvbmcgaWRlbnRpdHkuXG5cbiAgLy8g4pSA4pSAIGxlZ2FjeS1sZWRnZXIgcGFzc3Rocm91Z2hzIOKUgOKUgFxuICAvLyBXcml0dGVuIGFzIFRPUC1MRVZFTCBmaWVsZHMgb24gdGhlIGxlZGdlciBkb2N1bWVudCBiZWNhdXNlIGZsYXNoJ3NcbiAgLy8gb3duIGNvZGUgYW5kIGZpbmFuY2UgcmVwb3J0aW5nIHF1ZXJ5IHRoZW0gdGhlcmUuIFRoZXkgYXJlIG5vdCBgdGFnc2A6XG4gIC8vIGB0YWdzYCBpcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IChzbyBgcnRvYCBhbmQgYHVuaXRzYCB3b3VsZCBub3QgZml0KVxuICAvLyBhbmQgd291bGQgbmVzdCB0aGVtIHVuZGVyIGB0YWdzLipgLCBicmVha2luZyB0aG9zZSBxdWVyaWVzLlxuICAvKipcbiAgICogRmxhc2gncyBuYXR1cmFsIGtleSBmb3IgdGhlIGRlbGl2ZXJ5IHRhc2suIFN0b3JlZCBhcyBib3RoIGB0YXNrX2lkYFxuICAgKiBhbmQgYHRyYW5zYWN0aW9uX29yZGVyX2lkYC4gTk9UIGFuIGlkZW1wb3RlbmN5IGtleSDigJQgYHJlZmVyZW5jZUlkYFxuICAgKiBpczsgdGhpcyBpcyB0aGUga2V5IGZsYXNoJ3Mgb3duIHByZS1jaGVjayBmaWx0ZXJzIG9uLlxuICAgKi9cbiAgdGFza0lkPzogc3RyaW5nO1xuICAvKipcbiAgICogQ2hhcmdlYWJsZSB1bml0cyBvbiB0aGlzIGxpbmUuIERlZmF1bHRzIHRvIDEgb24gYSBERUJJVCB3aGVuIGB0YXNrSWRgXG4gICAqIGlzIHNldCAodGhlIGxlZ2FjeSB3cml0ZXIncyBjcmVkaXQgcm93IGNhcnJpZXMgbm8gYHVuaXRzYCBrZXksIHNvXG4gICAqIGNyZWRpdHMgYXJlIG5vdCBkZWZhdWx0ZWQpOyBhbiBleHBsaWNpdCB2YWx1ZSBpcyBob25vdXJlZCBvbiBlaXRoZXIuXG4gICAqL1xuICB1bml0cz86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRhcmlmZiBiYXNlIGNvc3QgaW4gTUFKT1IgdW5pdHMgKG5vdCBtaW5vciwgdW5saWtlIGBhbW91bnRNaW5vcmApLFxuICAgKiBjYWxsZXItZGVub21pbmF0ZWQgYW5kIHN0b3JlZCB1bmNvbnZlcnRlZC5cbiAgICovXG4gIHNlcnZpY2VCYXNlQ29zdD86IG51bWJlcjtcbiAgLyoqXG4gICAqIFdoZW4gdGhlIGNoYXJnZSBhY3R1YWxseSBPQ0NVUlJFRCwgSVNUIGBZWVlZLU1NLUREIEhIOm1tOnNzYC4gU2V0c1xuICAgKiB0aGUgbGVkZ2VyJ3MgYGluc2VydGVkX2RhdGVgIOKAlCB3aGF0IGZpbmFuY2UgcmVwb3J0aW5nIGFuZCB0aGVcbiAgICogYGZyb21gL2B0b2AgaGlzdG9yeSBmaWx0ZXIgcmFuZ2Ugb24g4oCUIHNvIGEgYmFja2ZpbGwgb3IgYSByZXBsYXkgaXNcbiAgICogZGF0ZWQgYXQgdGhlIGV2ZW50LCBub3QgYXQgdGhlIHdyaXRlLiBUaGUgd2FsbC1jbG9jayB3cml0ZSB0aW1lIGlzXG4gICAqIHJlY29yZGVkIHNlcGFyYXRlbHkgYXMgYHJlY29yZGVkQXRgLiBEZWZhdWx0cyB0byBub3c7IG1heSBub3QgYmUgaW5cbiAgICogdGhlIGZ1dHVyZSBvciBiYWNrZGF0ZWQgbW9yZSB0aGFuIDkwIGRheXMuXG4gICAqL1xuICBvY2N1cnJlZEF0Pzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG9yaWdpbmF0aW5nIGFjdG9yLCBzdG9yZWQgYXMgYHVwZGF0ZWRfYnlgICgnUGV0UG9vamEnLCBhIHJpZGVyXG4gICAqIGlkLCAnUmVjb25jaWxlJykuIFRoZSBPQXV0aCBjbGllbnQgdGhhdCBhdXRoZW50aWNhdGVkIHRoZSBjYWxsIGlzXG4gICAqIHJlY29yZGVkIHNlcGFyYXRlbHkgYW5kIGlzIHVuYWZmZWN0ZWQuXG4gICAqL1xuICB1cGRhdGVkQnk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGViaXRJbnB1dCBleHRlbmRzIFRyYW5zYWN0aW9uSW5wdXRCYXNlIHtcbiAgLyoqIEFsbG93IHRoZSBiYWxhbmNlIHRvIGdvIG5lZ2F0aXZlIChmbGFzaCBtaWdyYXRpb24gb25seSDigJQgbmVlZHMgc2lnbi1vZmYpLiAqL1xuICBhbGxvd05lZ2F0aXZlPzogYm9vbGVhbjtcbiAgLyoqIFJldHVybi10by1vcmlnaW4gbGVnLiBEZWJpdHMgb25seTsgcGFydCBvZiBmbGFzaCdzIGRlZHVwZSBrZXkuICovXG4gIHJ0bz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlZGl0SW5wdXQgZXh0ZW5kcyBUcmFuc2FjdGlvbklucHV0QmFzZSB7XG4gIC8qKiBMaW5rIGEgcmVmdW5kIHRvIHRoZSBvcmlnaW5hbCBkZWJpdCdzIGBpZGA7IHN1YmplY3QgdG8gdGhlIG92ZXItcmVmdW5kIGd1YXJkLiAqL1xuICByZXZlcnNhbE9mPzogc3RyaW5nO1xuICAvKipcbiAgICogTWFyayB0aGlzIGNyZWRpdCBhcyBhIHJlZnVuZCBXSVRIT1VUIGxpbmtpbmcgaXQgdG8gYW4gb3JpZ2luYWwgZGViaXQsXG4gICAqIGFuZCBzbyB3aXRob3V0IHRoZSBvdmVyLXJlZnVuZCBndWFyZC4gRm9yIHJlZnVuZHMgY29tcHV0ZWRcbiAgICogaW5kZXBlbmRlbnRseSBvZiB0aGUgZGViaXQg4oCUIGEgcGFydGlhbCAoYnVmZmVyLW9ubHkpIHJlZnVuZCB0aGF0IGNhblxuICAgKiBsZWdpdGltYXRlbHkgZXhjZWVkIGl0LiBVc2UgYHJldmVyc2FsT2ZgIGluc3RlYWQgd2hlbiB0aGUgcmVmdW5kXG4gICAqIGdlbnVpbmVseSByZXZlcnNlcyBvbmUga25vd24gZGViaXQgYW5kIHNob3VsZCBiZSBjYXBwZWQgYnkgaXQuXG4gICAqL1xuICBpc1JlZnVuZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQYXltZW50IHJlZmVyZW5jZS4gQ3JlZGl0cyBvbmx5LiBUaGUgZW1wdHkgc3RyaW5nIGlzIG1lYW5pbmdmdWwgYW5kXG4gICAqIGlzIHNlbnQgdGhyb3VnaCBhcy1pcy5cbiAgICovXG4gIHBheW1lbnRJZD86IHN0cmluZztcbn1cblxuLyoqIFdoYXQgYGRlYml0KClgIC8gYGNyZWRpdCgpYCByZXR1cm4uICovXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zYWN0aW9uUmVzdWx0IHtcbiAgLyoqIFRoZSB3YWxsZXRfdHJhbnNhY3Rpb25zIHJlY29yZCBpZC4gUGVyc2lzdCB0aGlzOyB1c2UgYXMgYHJldmVyc2FsT2ZgIGZvciBhIHJlZnVuZC4gKi9cbiAgaWQ6IHN0cmluZztcbiAgLyoqIGB0cnVlYCA9IGEgcmVwbGF5IG9mIGFuIGVhcmxpZXIgaWRlbnRpY2FsIHJlZmVyZW5jZUlkOyBubyBtb25leSBtb3ZlZCBub3cuICovXG4gIGlkZW1wb3RlbnQ6IGJvb2xlYW47XG4gIHR5cGU6ICdkZWJpdCcgfCAnY3JlZGl0JztcbiAgYW1vdW50OiBBbW91bnQ7XG4gIGJhbGFuY2VCZWZvcmU6IEJhbGFuY2U7XG4gIGJhbGFuY2VBZnRlcjogQmFsYW5jZTtcbiAgY3VycmVuY3k6IEN1cnJlbmN5O1xuICB3YWxsZXQ6IFdhbGxldFJlZjtcbn1cblxuLyoqIEEgdHJhbnNhY3Rpb24gYXMgcmV0dXJuZWQgYnkgYGxpc3RUcmFuc2FjdGlvbnMoKWAgLyBgZ2V0VHJhbnNhY3Rpb24oKWAuICovXG5leHBvcnQgaW50ZXJmYWNlIFdhbGxldFRyYW5zYWN0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBhbW91bnQ6IEFtb3VudDtcbiAgc2VydmljZTogU2VydmljZVJlZjtcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgdGFncz86IFdhbGxldFRhZ3M7XG4gIHJldmVyc2FsT2Y/OiBzdHJpbmc7XG4gIGJhbGFuY2VCZWZvcmU6IEJhbGFuY2U7XG4gIGJhbGFuY2VBZnRlcjogQmFsYW5jZTtcbiAgLyoqIFdoZW4gdGhlIGNoYXJnZSBvY2N1cnJlZCwgSVNULiBBIGJhY2tkYXRlZCB3cml0ZSAoYG9jY3VycmVkQXRgKSBzZXRzIGl0LiAqL1xuICB0aW1lc3RhbXA6IHN0cmluZztcbiAgLyoqXG4gICAqIFdhbGwtY2xvY2sgd3JpdGUgdGltZSwgSVNULiBBYnNlbnQgb24gdHJhbnNhY3Rpb25zIHdyaXR0ZW4gYmVmb3JlXG4gICAqIHRoaXMgZmllbGQgZXhpc3RlZCwgd2hlcmUgYHRpbWVzdGFtcGAgaXMgYWxzbyB0aGUgd3JpdGUgdGltZS5cbiAgICovXG4gIHJlY29yZGVkQXQ/OiBzdHJpbmc7XG4gIGN1cnJlbmN5OiBDdXJyZW5jeTtcbiAgd2FsbGV0OiBXYWxsZXRSZWY7XG5cbiAgLy8g4pSA4pSAIGxlZ2FjeS1sZWRnZXIgcGFzc3Rocm91Z2hzLCBlY2hvZWQgYmFjayDilIDilIBcbiAgdGFza0lkPzogc3RyaW5nO1xuICBydG8/OiBib29sZWFuO1xuICB1bml0cz86IG51bWJlcjtcbiAgc2VydmljZUJhc2VDb3N0PzogbnVtYmVyO1xuICBwYXltZW50SWQ/OiBzdHJpbmc7XG4gIC8qKiBUcnVlIHdoZW4gdGhlIGVudHJ5IGlzIG1hcmtlZCBhIHJlZnVuZCAocmV2ZXJzYWwtbGlua2VkIG9yIHN0YW5kYWxvbmUpLiAqL1xuICByZWZ1bmQ/OiBib29sZWFuO1xuICB1cGRhdGVkQnk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFRyYW5zYWN0aW9uc0ZpbHRlciB7XG4gIHR5cGU/OiAnZGViaXQnIHwgJ2NyZWRpdCcgfCAnYWxsJztcbiAgZnJvbT86IHN0cmluZztcbiAgdG8/OiBzdHJpbmc7XG4gIHNlcnZpY2U/OiBTZXJ2aWNlO1xuICByZWZlcmVuY2VJZD86IHN0cmluZztcbiAgLyoqIFNpbmdsZSB0YWcgZmlsdGVyIGFzIGBrZXk6dmFsdWVgLiAqL1xuICB0YWc/OiBzdHJpbmc7XG4gIGN1cnNvcj86IHN0cmluZztcbiAgbGltaXQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25QYWdlIHtcbiAgdHJhbnNhY3Rpb25zOiBXYWxsZXRUcmFuc2FjdGlvbltdO1xuICBuZXh0Q3Vyc29yPzogc3RyaW5nO1xufVxuIl19
|
|
@@ -3,13 +3,25 @@
|
|
|
3
3
|
* every ledger entry (so existing reports/invoicing keep working);
|
|
4
4
|
* callers reference the named constant instead of hardcoding the
|
|
5
5
|
* number. Extend as new chargeable services are added.
|
|
6
|
+
*
|
|
7
|
+
* Kept in step with the server's catalog
|
|
8
|
+
* (`services/wallet/src/services/service-catalog.ts`), which is what
|
|
9
|
+
* names an id in `service.name` on a transaction read.
|
|
6
10
|
*/
|
|
7
11
|
export declare const Services: {
|
|
8
12
|
readonly RECHARGE: 0;
|
|
9
|
-
readonly
|
|
10
|
-
readonly
|
|
13
|
+
readonly SMS_CAMPAIGN: 1;
|
|
14
|
+
readonly WHATSAPP_CAMPAIGN: 4;
|
|
11
15
|
readonly FLASH_DELIVERY: 5;
|
|
12
16
|
readonly EMAIL: 10;
|
|
17
|
+
readonly PRISM_AI: 21;
|
|
18
|
+
readonly WHATSAPP_ALERT: 40;
|
|
19
|
+
readonly SMS_ALERT: 50;
|
|
20
|
+
/** @deprecated ambiguous — use {@link Services.SMS_CAMPAIGN} (same id). */
|
|
21
|
+
readonly SMS: 1;
|
|
22
|
+
/** @deprecated ambiguous — use {@link Services.WHATSAPP_CAMPAIGN} (same id). */
|
|
23
|
+
readonly WHATSAPP: 4;
|
|
24
|
+
/** @deprecated ambiguous — use {@link Services.WHATSAPP_ALERT} (same id). */
|
|
13
25
|
readonly ALERT: 40;
|
|
14
26
|
};
|
|
15
27
|
export type Service = (typeof Services)[keyof typeof Services];
|
package/dist/wallet/services.js
CHANGED
|
@@ -6,13 +6,30 @@ exports.Services = void 0;
|
|
|
6
6
|
* every ledger entry (so existing reports/invoicing keep working);
|
|
7
7
|
* callers reference the named constant instead of hardcoding the
|
|
8
8
|
* number. Extend as new chargeable services are added.
|
|
9
|
+
*
|
|
10
|
+
* Kept in step with the server's catalog
|
|
11
|
+
* (`services/wallet/src/services/service-catalog.ts`), which is what
|
|
12
|
+
* names an id in `service.name` on a transaction read.
|
|
9
13
|
*/
|
|
10
14
|
exports.Services = {
|
|
11
15
|
RECHARGE: 0,
|
|
12
|
-
|
|
13
|
-
|
|
16
|
+
SMS_CAMPAIGN: 1,
|
|
17
|
+
WHATSAPP_CAMPAIGN: 4,
|
|
14
18
|
FLASH_DELIVERY: 5,
|
|
15
19
|
EMAIL: 10,
|
|
20
|
+
PRISM_AI: 21,
|
|
21
|
+
WHATSAPP_ALERT: 40,
|
|
22
|
+
SMS_ALERT: 50,
|
|
23
|
+
// ── deprecated aliases ──
|
|
24
|
+
// Kept so existing callers keep compiling. They were ambiguous once 50
|
|
25
|
+
// (transactional SMS) and 21 landed: `SMS` did not say whether it meant
|
|
26
|
+
// a campaign send or an alert. Same numbers, so a caller that switches
|
|
27
|
+
// to the canonical name writes an identical ledger entry.
|
|
28
|
+
/** @deprecated ambiguous — use {@link Services.SMS_CAMPAIGN} (same id). */
|
|
29
|
+
SMS: 1,
|
|
30
|
+
/** @deprecated ambiguous — use {@link Services.WHATSAPP_CAMPAIGN} (same id). */
|
|
31
|
+
WHATSAPP: 4,
|
|
32
|
+
/** @deprecated ambiguous — use {@link Services.WHATSAPP_ALERT} (same id). */
|
|
16
33
|
ALERT: 40,
|
|
17
34
|
};
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L3NlcnZpY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7R0FTRztBQUNVLFFBQUEsUUFBUSxHQUFHO0lBQ3RCLFFBQVEsRUFBRSxDQUFDO0lBQ1gsWUFBWSxFQUFFLENBQUM7SUFDZixpQkFBaUIsRUFBRSxDQUFDO0lBQ3BCLGNBQWMsRUFBRSxDQUFDO0lBQ2pCLEtBQUssRUFBRSxFQUFFO0lBQ1QsUUFBUSxFQUFFLEVBQUU7SUFDWixjQUFjLEVBQUUsRUFBRTtJQUNsQixTQUFTLEVBQUUsRUFBRTtJQUViLDJCQUEyQjtJQUMzQix1RUFBdUU7SUFDdkUsd0VBQXdFO0lBQ3hFLHVFQUF1RTtJQUN2RSwwREFBMEQ7SUFDMUQsMkVBQTJFO0lBQzNFLEdBQUcsRUFBRSxDQUFDO0lBQ04sZ0ZBQWdGO0lBQ2hGLFFBQVEsRUFBRSxDQUFDO0lBQ1gsNkVBQTZFO0lBQzdFLEtBQUssRUFBRSxFQUFFO0NBQ0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ2hhcmdlYWJsZSBzZXJ2aWNlcy4gVGhlIHZhbHVlIGlzIHRoZSBsZWdhY3kgYHNlcnZpY2VfaWRgIHN0b3JlZCBvblxuICogZXZlcnkgbGVkZ2VyIGVudHJ5IChzbyBleGlzdGluZyByZXBvcnRzL2ludm9pY2luZyBrZWVwIHdvcmtpbmcpO1xuICogY2FsbGVycyByZWZlcmVuY2UgdGhlIG5hbWVkIGNvbnN0YW50IGluc3RlYWQgb2YgaGFyZGNvZGluZyB0aGVcbiAqIG51bWJlci4gRXh0ZW5kIGFzIG5ldyBjaGFyZ2VhYmxlIHNlcnZpY2VzIGFyZSBhZGRlZC5cbiAqXG4gKiBLZXB0IGluIHN0ZXAgd2l0aCB0aGUgc2VydmVyJ3MgY2F0YWxvZ1xuICogKGBzZXJ2aWNlcy93YWxsZXQvc3JjL3NlcnZpY2VzL3NlcnZpY2UtY2F0YWxvZy50c2ApLCB3aGljaCBpcyB3aGF0XG4gKiBuYW1lcyBhbiBpZCBpbiBgc2VydmljZS5uYW1lYCBvbiBhIHRyYW5zYWN0aW9uIHJlYWQuXG4gKi9cbmV4cG9ydCBjb25zdCBTZXJ2aWNlcyA9IHtcbiAgUkVDSEFSR0U6IDAsXG4gIFNNU19DQU1QQUlHTjogMSxcbiAgV0hBVFNBUFBfQ0FNUEFJR046IDQsXG4gIEZMQVNIX0RFTElWRVJZOiA1LFxuICBFTUFJTDogMTAsXG4gIFBSSVNNX0FJOiAyMSxcbiAgV0hBVFNBUFBfQUxFUlQ6IDQwLFxuICBTTVNfQUxFUlQ6IDUwLFxuXG4gIC8vIOKUgOKUgCBkZXByZWNhdGVkIGFsaWFzZXMg4pSA4pSAXG4gIC8vIEtlcHQgc28gZXhpc3RpbmcgY2FsbGVycyBrZWVwIGNvbXBpbGluZy4gVGhleSB3ZXJlIGFtYmlndW91cyBvbmNlIDUwXG4gIC8vICh0cmFuc2FjdGlvbmFsIFNNUykgYW5kIDIxIGxhbmRlZDogYFNNU2AgZGlkIG5vdCBzYXkgd2hldGhlciBpdCBtZWFudFxuICAvLyBhIGNhbXBhaWduIHNlbmQgb3IgYW4gYWxlcnQuIFNhbWUgbnVtYmVycywgc28gYSBjYWxsZXIgdGhhdCBzd2l0Y2hlc1xuICAvLyB0byB0aGUgY2Fub25pY2FsIG5hbWUgd3JpdGVzIGFuIGlkZW50aWNhbCBsZWRnZXIgZW50cnkuXG4gIC8qKiBAZGVwcmVjYXRlZCBhbWJpZ3VvdXMg4oCUIHVzZSB7QGxpbmsgU2VydmljZXMuU01TX0NBTVBBSUdOfSAoc2FtZSBpZCkuICovXG4gIFNNUzogMSxcbiAgLyoqIEBkZXByZWNhdGVkIGFtYmlndW91cyDigJQgdXNlIHtAbGluayBTZXJ2aWNlcy5XSEFUU0FQUF9DQU1QQUlHTn0gKHNhbWUgaWQpLiAqL1xuICBXSEFUU0FQUDogNCxcbiAgLyoqIEBkZXByZWNhdGVkIGFtYmlndW91cyDigJQgdXNlIHtAbGluayBTZXJ2aWNlcy5XSEFUU0FQUF9BTEVSVH0gKHNhbWUgaWQpLiAqL1xuICBBTEVSVDogNDAsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBTZXJ2aWNlID0gKHR5cGVvZiBTZXJ2aWNlcylba2V5b2YgdHlwZW9mIFNlcnZpY2VzXTtcbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uengage.io/platform-sdk",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Client SDK for the uEngage platform API (audit, business, zones, wallet, upsell, auth, events). Single createClient(...) factory; OAuth2 client_credentials, static Bearer, or legacy session-token auth modes. Browser-safe realtime client at the /realtime subpath.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|