smart-order-router-tbd 0.0.8 → 0.0.9
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/build/main/routers/alpha-router/quoters/pv4bin-quoter.js +111 -54
- package/build/main/tsconfig.tsbuildinfo +1 -1
- package/build/main/util/pv4bin-constants.js +3 -1
- package/build/module/routers/alpha-router/quoters/pv4bin-quoter.js +111 -54
- package/build/module/tsconfig.module.tsbuildinfo +1 -1
- package/build/module/util/pv4bin-constants.js +3 -1
- package/package.json +1 -1
|
@@ -29,10 +29,6 @@ class PV4BINQuoter {
|
|
|
29
29
|
this.chainId = chainId;
|
|
30
30
|
}
|
|
31
31
|
async getRoutesThenQuotes(tokenIn, tokenOut, amount, amounts, percents, quoteToken, pools, tradeType, routingConfig, gasModel, _gasPriceWei) {
|
|
32
|
-
if (tradeType !== sdk_core_1.TradeType.EXACT_INPUT) {
|
|
33
|
-
util_1.log.info('PV4BIN only supports EXACT_INPUT for now, skipping');
|
|
34
|
-
return { routesWithValidQuotes: [], candidatePools: undefined };
|
|
35
|
-
}
|
|
36
32
|
if (pools.length === 0) {
|
|
37
33
|
return { routesWithValidQuotes: [], candidatePools: undefined };
|
|
38
34
|
}
|
|
@@ -75,61 +71,122 @@ class PV4BINQuoter {
|
|
|
75
71
|
for (let aIdx = 0; aIdx < amounts.length; aIdx++) {
|
|
76
72
|
const amt = amounts[aIdx];
|
|
77
73
|
const amountBN = bignumber_1.BigNumber.from(amt.quotient.toString());
|
|
78
|
-
if (
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
74
|
+
if (tradeType === sdk_core_1.TradeType.EXACT_INPUT) {
|
|
75
|
+
if (route.pools.length === 1) {
|
|
76
|
+
const pool = route.pools[0];
|
|
77
|
+
const inputAddr = route.input.address.toLowerCase();
|
|
78
|
+
const zeroForOne = inputAddr === pool.currency0Addr.toLowerCase() ||
|
|
79
|
+
(pool.currency0Addr === pv4cl_constants_1.ADDRESS_ZERO &&
|
|
80
|
+
inputAddr !== pool.currency1Addr.toLowerCase());
|
|
81
|
+
const callData = pv4bin_constants_1.BIN_QUOTER_IFACE.encodeFunctionData('quoteExactInputSingle', [
|
|
82
|
+
{
|
|
83
|
+
poolKey: {
|
|
84
|
+
currency0: pool.currency0Addr,
|
|
85
|
+
currency1: pool.currency1Addr,
|
|
86
|
+
hooks: pool.hooks,
|
|
87
|
+
poolManager: pool.poolManager,
|
|
88
|
+
fee: pool.fee,
|
|
89
|
+
parameters: pool.parameters,
|
|
90
|
+
},
|
|
91
|
+
zeroForOne,
|
|
92
|
+
exactAmount: amountBN,
|
|
93
|
+
hookData: '0x',
|
|
94
|
+
},
|
|
95
|
+
]);
|
|
96
|
+
callEntries.push({
|
|
97
|
+
routeIdx: rIdx,
|
|
98
|
+
amountIdx: aIdx,
|
|
99
|
+
functionName: 'quoteExactInputSingle',
|
|
100
|
+
callData,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
const pathKeys = this.buildPathKeys(route);
|
|
105
|
+
const firstPool = route.pools[0];
|
|
106
|
+
const inAddr = route.input.address.toLowerCase();
|
|
107
|
+
let exactCurrency;
|
|
108
|
+
if (inAddr === firstPool.currency0Addr.toLowerCase()) {
|
|
109
|
+
exactCurrency = firstPool.currency0Addr;
|
|
110
|
+
}
|
|
111
|
+
else if (inAddr === firstPool.currency1Addr.toLowerCase()) {
|
|
112
|
+
exactCurrency = firstPool.currency1Addr;
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
exactCurrency = pv4cl_constants_1.ADDRESS_ZERO;
|
|
116
|
+
}
|
|
117
|
+
const callData = pv4bin_constants_1.BIN_QUOTER_IFACE.encodeFunctionData('quoteExactInput', [
|
|
118
|
+
{
|
|
119
|
+
exactCurrency,
|
|
120
|
+
path: pathKeys,
|
|
121
|
+
exactAmount: amountBN,
|
|
93
122
|
},
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
functionName: 'quoteExactInputSingle',
|
|
103
|
-
callData,
|
|
104
|
-
});
|
|
123
|
+
]);
|
|
124
|
+
callEntries.push({
|
|
125
|
+
routeIdx: rIdx,
|
|
126
|
+
amountIdx: aIdx,
|
|
127
|
+
functionName: 'quoteExactInput',
|
|
128
|
+
callData,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
105
131
|
}
|
|
106
132
|
else {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
133
|
+
// EXACT_OUTPUT: amount is in the output token; quoter returns amountIn.
|
|
134
|
+
if (route.pools.length === 1) {
|
|
135
|
+
const pool = route.pools[0];
|
|
136
|
+
const inputAddr = route.input.address.toLowerCase();
|
|
137
|
+
const zeroForOne = inputAddr === pool.currency0Addr.toLowerCase() ||
|
|
138
|
+
(pool.currency0Addr === pv4cl_constants_1.ADDRESS_ZERO &&
|
|
139
|
+
inputAddr !== pool.currency1Addr.toLowerCase());
|
|
140
|
+
const callData = pv4bin_constants_1.BIN_QUOTER_IFACE.encodeFunctionData('quoteExactOutputSingle', [
|
|
141
|
+
{
|
|
142
|
+
poolKey: {
|
|
143
|
+
currency0: pool.currency0Addr,
|
|
144
|
+
currency1: pool.currency1Addr,
|
|
145
|
+
hooks: pool.hooks,
|
|
146
|
+
poolManager: pool.poolManager,
|
|
147
|
+
fee: pool.fee,
|
|
148
|
+
parameters: pool.parameters,
|
|
149
|
+
},
|
|
150
|
+
zeroForOne,
|
|
151
|
+
exactAmount: amountBN,
|
|
152
|
+
hookData: '0x',
|
|
153
|
+
},
|
|
154
|
+
]);
|
|
155
|
+
callEntries.push({
|
|
156
|
+
routeIdx: rIdx,
|
|
157
|
+
amountIdx: aIdx,
|
|
158
|
+
functionName: 'quoteExactOutputSingle',
|
|
159
|
+
callData,
|
|
160
|
+
});
|
|
116
161
|
}
|
|
117
162
|
else {
|
|
118
|
-
|
|
163
|
+
const pathKeys = this.buildPathKeys(route);
|
|
164
|
+
const lastPool = route.pools[route.pools.length - 1];
|
|
165
|
+
const outAddr = route.output.address.toLowerCase();
|
|
166
|
+
let exactCurrency;
|
|
167
|
+
if (outAddr === lastPool.currency0Addr.toLowerCase()) {
|
|
168
|
+
exactCurrency = lastPool.currency0Addr;
|
|
169
|
+
}
|
|
170
|
+
else if (outAddr === lastPool.currency1Addr.toLowerCase()) {
|
|
171
|
+
exactCurrency = lastPool.currency1Addr;
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
exactCurrency = pv4cl_constants_1.ADDRESS_ZERO;
|
|
175
|
+
}
|
|
176
|
+
const callData = pv4bin_constants_1.BIN_QUOTER_IFACE.encodeFunctionData('quoteExactOutput', [
|
|
177
|
+
{
|
|
178
|
+
exactCurrency,
|
|
179
|
+
path: pathKeys,
|
|
180
|
+
exactAmount: amountBN,
|
|
181
|
+
},
|
|
182
|
+
]);
|
|
183
|
+
callEntries.push({
|
|
184
|
+
routeIdx: rIdx,
|
|
185
|
+
amountIdx: aIdx,
|
|
186
|
+
functionName: 'quoteExactOutput',
|
|
187
|
+
callData,
|
|
188
|
+
});
|
|
119
189
|
}
|
|
120
|
-
const callData = pv4bin_constants_1.BIN_QUOTER_IFACE.encodeFunctionData('quoteExactInput', [
|
|
121
|
-
{
|
|
122
|
-
exactCurrency,
|
|
123
|
-
path: pathKeys,
|
|
124
|
-
exactAmount: amountBN,
|
|
125
|
-
},
|
|
126
|
-
]);
|
|
127
|
-
callEntries.push({
|
|
128
|
-
routeIdx: rIdx,
|
|
129
|
-
amountIdx: aIdx,
|
|
130
|
-
functionName: 'quoteExactInput',
|
|
131
|
-
callData,
|
|
132
|
-
});
|
|
133
190
|
}
|
|
134
191
|
}
|
|
135
192
|
}
|
|
@@ -222,4 +279,4 @@ class PV4BINQuoter {
|
|
|
222
279
|
}
|
|
223
280
|
}
|
|
224
281
|
exports.PV4BINQuoter = PV4BINQuoter;
|
|
225
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHY0YmluLXF1b3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9yb3V0ZXJzL2FscGhhLXJvdXRlci9xdW90ZXJzL3B2NGJpbi1xdW90ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsd0RBQXFEO0FBQ3JELHdEQUFvRDtBQUVwRCxnREFBOEQ7QUFFOUQsd0NBS3VCO0FBQ3ZCLHFFQUt3QztBQUN4QyxtRUFBNkQ7QUFHN0QsNkZBQXNGO0FBQ3RGLHdFQUF5RTtBQUl6RSxNQUFNLGtCQUFrQixHQUFHLDRDQUE0QyxDQUFDO0FBQ3hFLE1BQU0sY0FBYyxHQUFHO0lBQ3JCLDJKQUEySjtDQUM1SixDQUFDO0FBRUY7Ozs7Ozs7R0FPRztBQUNILE1BQWEsWUFBWTtJQUNiLFFBQVEsQ0FBZTtJQUN2QixPQUFPLENBQVU7SUFFM0IsWUFDRSxRQUFzQixFQUN0QixPQUFnQjtRQUVoQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRU0sS0FBSyxDQUFDLG1CQUFtQixDQUM5QixPQUFjLEVBQ2QsUUFBZSxFQUNmLE1BQXNCLEVBQ3RCLE9BQXlCLEVBQ3pCLFFBQWtCLEVBQ2xCLFVBQWlCLEVBQ2pCLEtBQW1CLEVBQ25CLFNBQW9CLEVBQ3BCLGFBQWdDLEVBQ2hDLFFBQStDLEVBQy9DLFlBQXdCO1FBRXhCLElBQUksU0FBUyxLQUFLLG9CQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDeEMsVUFBRyxDQUFDLElBQUksQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1lBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ2xFLENBQUM7UUFFRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLEVBQUUsRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDbEUsQ0FBQztRQUVELElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzNCLE1BQU0sSUFBSSxLQUFLLENBQ2IsMkVBQTJFLENBQzVFLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ25DLE1BQU0sRUFBRSxlQUFlLEVBQUUsR0FBRyxhQUFhLENBQUMsa0JBQWtCLENBQUM7UUFDN0QsSUFBSSxNQUFNLEdBQUcsSUFBQSwyQ0FBc0IsRUFDakMsT0FBTyxFQUNQLFFBQVEsRUFDUixLQUFLLEVBQ0wsZUFBZSxDQUNoQixDQUFDO1FBRUYsYUFBTSxDQUFDLFNBQVMsQ0FDZCxxQkFBcUIsRUFDckIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLGVBQWUsRUFDNUIsdUJBQWdCLENBQUMsWUFBWSxDQUM5QixDQUFDO1FBRUYsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hCLGFBQU0sQ0FBQyxTQUFTLENBQUMsMkJBQTJCLEVBQUUsQ0FBQyxFQUFFLHVCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ2xFLENBQUM7UUFFRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsb0NBQWlCLEVBQUUsQ0FBQztZQUN0QyxVQUFHLENBQUMsSUFBSSxDQUNOLGdCQUFnQixNQUFNLENBQUMsTUFBTSx3QkFBd0Isb0NBQWlCLEVBQUUsQ0FDekUsQ0FBQztZQUNGLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxvQ0FBaUIsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFFRCxhQUFNLENBQUMsU0FBUyxDQUNkLHlCQUF5QixFQUN6QixNQUFNLENBQUMsTUFBTSxFQUNiLHVCQUFnQixDQUFDLEtBQUssQ0FDdkIsQ0FBQztRQUVGLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN4QixRQUFRLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqQixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQixDQUFDO1FBRUQsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDO1FBRWhDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNoQyxVQUFHLENBQUMsSUFBSSxDQUNOLGlDQUFpQyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsT0FBTyxDQUFDLE1BQU0scUJBQXFCLENBQ2xHLENBQUM7UUFFRixNQUFNLFVBQVUsR0FBRywwQ0FBdUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLFVBQUcsQ0FBQyxJQUFJLENBQUMsa0NBQWtDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ2xFLENBQUM7UUFFRCxNQUFNLHFCQUFxQixHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUN2RCxNQUFNLEVBQ04sT0FBTyxFQUNQLFFBQVEsRUFDUixVQUFVLEVBQ1YsY0FBYyxFQUNkLFVBQVUsRUFDVixTQUFTLENBQ1YsQ0FBQztRQUVGLGFBQU0sQ0FBQyxTQUFTLENBQ2QscUJBQXFCLEVBQ3JCLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxZQUFZLEVBQ3pCLHVCQUFnQixDQUFDLFlBQVksQ0FDOUIsQ0FBQztRQUVGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFDOUQsQ0FBQztJQUVPLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDNUIsTUFBcUIsRUFDckIsT0FBeUIsRUFDekIsUUFBa0IsRUFDbEIsVUFBa0IsRUFDbEIsUUFBOEMsRUFDOUMsVUFBaUIsRUFDakIsU0FBb0I7UUFTcEIsTUFBTSxXQUFXLEdBQWdCLEVBQUUsQ0FBQztRQUVwQyxLQUFLLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRSxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2hELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUUsQ0FBQztZQUM1QixLQUFLLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUNqRCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFFLENBQUM7Z0JBQzNCLE1BQU0sUUFBUSxHQUFHLHFCQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFFekQsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDN0IsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUUsQ0FBQztvQkFDN0IsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQ3BELE1BQU0sVUFBVSxHQUNkLFNBQVMsS0FBSyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRTt3QkFDOUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxLQUFLLDhCQUFZOzRCQUNsQyxTQUFTLEtBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO29CQUVwRCxNQUFNLFFBQVEsR0FBRyxtQ0FBZ0IsQ0FBQyxrQkFBa0IsQ0FDbEQsdUJBQXVCLEVBQ3ZCO3dCQUNFOzRCQUNFLE9BQU8sRUFBRTtnQ0FDUCxTQUFTLEVBQUUsSUFBSSxDQUFDLGFBQWE7Z0NBQzdCLFNBQVMsRUFBRSxJQUFJLENBQUMsYUFBYTtnQ0FDN0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dDQUNqQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7Z0NBQzdCLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztnQ0FDYixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7NkJBQzVCOzRCQUNELFVBQVU7NEJBQ1YsV0FBVyxFQUFFLFFBQVE7NEJBQ3JCLFFBQVEsRUFBRSxJQUFJO3lCQUNmO3FCQUNGLENBQ0YsQ0FBQztvQkFFRixXQUFXLENBQUMsSUFBSSxDQUFDO3dCQUNmLFFBQVEsRUFBRSxJQUFJO3dCQUNkLFNBQVMsRUFBRSxJQUFJO3dCQUNmLFlBQVksRUFBRSx1QkFBdUI7d0JBQ3JDLFFBQVE7cUJBQ1QsQ0FBQyxDQUFDO2dCQUNMLENBQUM7cUJBQU0sQ0FBQztvQkFDTixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUMzQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBRSxDQUFDO29CQUNsQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDakQsSUFBSSxhQUFxQixDQUFDO29CQUMxQixJQUFJLE1BQU0sS0FBSyxTQUFTLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7d0JBQ3JELGFBQWEsR0FBRyxTQUFTLENBQUMsYUFBYSxDQUFDO29CQUMxQyxDQUFDO3lCQUFNLElBQUksTUFBTSxLQUFLLFNBQVMsQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQzt3QkFDNUQsYUFBYSxHQUFHLFNBQVMsQ0FBQyxhQUFhLENBQUM7b0JBQzFDLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixhQUFhLEdBQUcsOEJBQVksQ0FBQztvQkFDL0IsQ0FBQztvQkFFRCxNQUFNLFFBQVEsR0FBRyxtQ0FBZ0IsQ0FBQyxrQkFBa0IsQ0FDbEQsaUJBQWlCLEVBQ2pCO3dCQUNFOzRCQUNFLGFBQWE7NEJBQ2IsSUFBSSxFQUFFLFFBQVE7NEJBQ2QsV0FBVyxFQUFFLFFBQVE7eUJBQ3RCO3FCQUNGLENBQ0YsQ0FBQztvQkFFRixXQUFXLENBQUMsSUFBSSxDQUFDO3dCQUNmLFFBQVEsRUFBRSxJQUFJO3dCQUNkLFNBQVMsRUFBRSxJQUFJO3dCQUNmLFlBQVksRUFBRSxpQkFBaUI7d0JBQy9CLFFBQVE7cUJBQ1QsQ0FBQyxDQUFDO2dCQUNMLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM3QixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxVQUFHLENBQUMsSUFBSSxDQUNOLG1CQUFtQixXQUFXLENBQUMsTUFBTSw2QkFBNkIsMENBQXVCLEVBQUUsQ0FDNUYsQ0FBQztRQUVGLE1BQU0sVUFBVSxHQUFHLElBQUksb0JBQVEsQ0FBQyxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25GLE1BQU0sVUFBVSxHQUF5QixJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWxGLE1BQU0sTUFBTSxHQUFrQixFQUFFLENBQUM7UUFDakMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLDBDQUF1QixFQUFFLENBQUM7WUFDckUsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsMENBQXVCLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFFRCxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDcEIsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3pCLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQztZQUMvQixXQUFXLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUM1QixJQUFJLENBQUM7Z0JBQ0gsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDakMsTUFBTSxFQUFFLFVBQVU7b0JBQ2xCLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUTtpQkFDckIsQ0FBQyxDQUFDLENBQUM7Z0JBRUosTUFBTSxPQUFPLEdBQ1gsTUFBTyxVQUFrQixDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUVyRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO29CQUN4QyxNQUFNLFNBQVMsR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDO29CQUNqQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUUsQ0FBQztvQkFFNUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxVQUFVLENBQUMsTUFBTSxJQUFJLENBQUM7d0JBQUUsU0FBUztvQkFFakQsSUFBSSxDQUFDO3dCQUNILE1BQU0sT0FBTyxHQUFHLG1DQUFnQixDQUFDLG9CQUFvQixDQUNuRCxLQUFLLENBQUMsQ0FBQyxDQUFFLENBQUMsWUFBWSxFQUN0QixVQUFVLENBQ1gsQ0FBQzt3QkFDRixVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBYyxDQUFDO29CQUNsRCxDQUFDO29CQUFDLE1BQU0sQ0FBQzt3QkFDUCxnREFBZ0Q7b0JBQ2xELENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7WUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO2dCQUNiLFVBQUcsQ0FBQyxJQUFJLENBQ04sRUFBRSxHQUFHLEVBQUUsRUFDUCxnREFBZ0QsQ0FDakQsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsTUFBTSxxQkFBcUIsR0FBZ0MsRUFBRSxDQUFDO1FBRTlELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDNUMsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtnQkFBRSxTQUFTO1lBRXZDLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBRSxDQUFDO1lBQ2hELHFCQUFxQixDQUFDLElBQUksQ0FDeEIsSUFBSSx5REFBeUIsQ0FBQztnQkFDNUIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUU7Z0JBQzNCLFFBQVEsRUFBRSxLQUFLO2dCQUNmLE9BQU8sRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFFO2dCQUM3QixLQUFLLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBRTtnQkFDeEIsUUFBUTtnQkFDUixVQUFVO2dCQUNWLFNBQVM7YUFDVixDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUM7UUFFRCxVQUFHLENBQUMsSUFBSSxDQUNOLGNBQWMscUJBQXFCLENBQUMsTUFBTSx3QkFBd0IsV0FBVyxDQUFDLE1BQU0sUUFBUSxDQUM3RixDQUFDO1FBRUYsT0FBTyxxQkFBcUIsQ0FBQztJQUMvQixDQUFDO0lBRU8sYUFBYSxDQUFDLEtBQWtCO1FBQ3RDLE1BQU0sUUFBUSxHQUFVLEVBQUUsQ0FBQztRQUMzQixJQUFJLFlBQVksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBRS9CLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQy9CLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztnQkFDaEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNO2dCQUNiLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBRWhCLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakQsSUFBSSx3QkFBZ0MsQ0FBQztZQUNyQyxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7Z0JBQ2xELHdCQUF3QixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDaEQsQ0FBQztpQkFBTSxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7Z0JBQ3pELHdCQUF3QixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDaEQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLHdCQUF3QixHQUFHLDhCQUFZLENBQUM7WUFDMUMsQ0FBQztZQUVELFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQ1osb0JBQW9CLEVBQUUsd0JBQXdCO2dCQUM5QyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0JBQ2IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7Z0JBQzdCLFFBQVEsRUFBRSxJQUFJO2dCQUNkLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTthQUM1QixDQUFDLENBQUM7WUFFSCxZQUFZLEdBQUcsU0FBUyxDQUFDO1FBQzNCLENBQUM7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0NBQ0Y7QUE1VEQsb0NBNFRDIn0=
|
|
282
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHY0YmluLXF1b3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9yb3V0ZXJzL2FscGhhLXJvdXRlci9xdW90ZXJzL3B2NGJpbi1xdW90ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsd0RBQXFEO0FBQ3JELHdEQUFvRDtBQUVwRCxnREFBOEQ7QUFFOUQsd0NBS3VCO0FBQ3ZCLHFFQUt3QztBQUN4QyxtRUFBNkQ7QUFHN0QsNkZBQXNGO0FBQ3RGLHdFQUF5RTtBQUl6RSxNQUFNLGtCQUFrQixHQUFHLDRDQUE0QyxDQUFDO0FBQ3hFLE1BQU0sY0FBYyxHQUFHO0lBQ3JCLDJKQUEySjtDQUM1SixDQUFDO0FBRUY7Ozs7Ozs7R0FPRztBQUNILE1BQWEsWUFBWTtJQUNiLFFBQVEsQ0FBZTtJQUN2QixPQUFPLENBQVU7SUFFM0IsWUFDRSxRQUFzQixFQUN0QixPQUFnQjtRQUVoQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRU0sS0FBSyxDQUFDLG1CQUFtQixDQUM5QixPQUFjLEVBQ2QsUUFBZSxFQUNmLE1BQXNCLEVBQ3RCLE9BQXlCLEVBQ3pCLFFBQWtCLEVBQ2xCLFVBQWlCLEVBQ2pCLEtBQW1CLEVBQ25CLFNBQW9CLEVBQ3BCLGFBQWdDLEVBQ2hDLFFBQStDLEVBQy9DLFlBQXdCO1FBRXhCLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUNsRSxDQUFDO1FBRUQsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FDYiwyRUFBMkUsQ0FDNUUsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLGVBQWUsR0FBRyxJQUFJ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
|