@pendle/core-v2 6.9.0 → 6.10.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.
Files changed (110) hide show
  1. package/build/artifacts/contracts/interfaces/IPPTLooper.sol/IPPTLooper.dbg.json +1 -1
  2. package/build/artifacts/contracts/interfaces/IPPTLooper.sol/IPPTLooper.json +244 -249
  3. package/build/artifacts/contracts/interfaces/IPPTLooper.sol/IPPTLooperEIP712Types.dbg.json +1 -1
  4. package/build/artifacts/contracts/pt-looping/PTLooperBase.sol/PTLooperBase.dbg.json +1 -1
  5. package/build/artifacts/contracts/pt-looping/PTLooperBase.sol/PTLooperBase.json +244 -249
  6. package/build/artifacts/contracts/pt-looping/PTLooperEIP712TypesEncodeDataLib.sol/PTLooperEIP712TypesEncodeDataLib.dbg.json +1 -1
  7. package/build/artifacts/contracts/pt-looping/PTLooperEIP712TypesEncodeDataLib.sol/PTLooperEIP712TypesEncodeDataLib.json +2 -2
  8. package/build/artifacts/contracts/pt-looping/PendlePTLooper.sol/PendlePTLooper.dbg.json +1 -1
  9. package/build/artifacts/contracts/pt-looping/PendlePTLooper.sol/PendlePTLooper.json +246 -251
  10. package/build/artifacts/contracts/pt-looping/money-market/BaseMoneyMarket.sol/BaseMoneyMarket.dbg.json +1 -1
  11. package/build/artifacts/contracts/pt-looping/money-market/BaseMoneyMarketView.sol/BaseMoneyMarketView.dbg.json +1 -1
  12. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/AaveMoneyMarket.sol/AaveMoneyMarket.dbg.json +1 -1
  13. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/AaveMoneyMarket.sol/AaveMoneyMarket.json +2 -2
  14. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/AaveMoneyMarketView.sol/AaveMoneyMarketView.dbg.json +1 -1
  15. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/AaveMoneyMarketView.sol/AaveMoneyMarketView.json +2 -2
  16. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave-v4/AaveV4MMPayloadLib.sol/AaveV4MMPayloadLib.dbg.json +4 -0
  17. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave-v4/AaveV4MMPayloadLib.sol/AaveV4MMPayloadLib.json +10 -0
  18. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave-v4/AaveV4MoneyMarket.sol/AaveV4MoneyMarket.dbg.json +4 -0
  19. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave-v4/AaveV4MoneyMarket.sol/AaveV4MoneyMarket.json +615 -0
  20. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave-v4/AaveV4MoneyMarketView.sol/AaveV4MoneyMarketView.dbg.json +4 -0
  21. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave-v4/AaveV4MoneyMarketView.sol/AaveV4MoneyMarketView.json +280 -0
  22. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave-v4/dependencies/IAaveOracle.sol/IAaveOracle.dbg.json +4 -0
  23. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave-v4/dependencies/IAaveOracle.sol/IAaveOracle.json +30 -0
  24. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave-v4/dependencies/IHubBase.sol/IHubBase.dbg.json +4 -0
  25. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave-v4/dependencies/IHubBase.sol/IHubBase.json +322 -0
  26. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave-v4/dependencies/ISpoke.sol/ISpoke.dbg.json +4 -0
  27. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave-v4/dependencies/ISpoke.sol/ISpoke.json +398 -0
  28. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/EulerMMPayloadLib.sol/EulerMMPayloadLib.dbg.json +4 -0
  29. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/EulerMMPayloadLib.sol/EulerMMPayloadLib.json +10 -0
  30. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/EulerMoneyMarket.sol/EulerMoneyMarket.dbg.json +4 -0
  31. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/EulerMoneyMarket.sol/EulerMoneyMarket.json +651 -0
  32. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/EulerMoneyMarketView.sol/EulerMoneyMarketView.dbg.json +4 -0
  33. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/EulerMoneyMarketView.sol/EulerMoneyMarketView.json +298 -0
  34. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/dependencies/IEthereumVaultConnector.sol/IEVC.dbg.json +4 -0
  35. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/dependencies/IEthereumVaultConnector.sol/IEVC.json +959 -0
  36. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/dependencies/IEulerFactory.sol/IEulerFactory.dbg.json +4 -0
  37. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/dependencies/IEulerFactory.sol/IEulerFactory.json +30 -0
  38. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/dependencies/IEulerPriceOracle.sol/IEulerPriceOracle.dbg.json +4 -0
  39. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/dependencies/IEulerPriceOracle.sol/IEulerPriceOracle.json +53 -0
  40. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/dependencies/IEulerVault.sol/AmountCapLib.dbg.json +4 -0
  41. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/dependencies/IEulerVault.sol/AmountCapLib.json +10 -0
  42. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/dependencies/IEulerVault.sol/IEulerVault.dbg.json +4 -0
  43. package/build/artifacts/contracts/pt-looping/money-market/implementations/euler/dependencies/IEulerVault.sol/IEulerVault.json +933 -0
  44. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/MorphoBlueMoneyMarket.sol/MorphoBlueMoneyMarket.dbg.json +1 -1
  45. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/MorphoBlueMoneyMarket.sol/MorphoBlueMoneyMarket.json +2 -2
  46. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/MorphoBlueMoneyMarketView.sol/MorphoBlueMoneyMarketView.dbg.json +1 -1
  47. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/MorphoBlueMoneyMarketView.sol/MorphoBlueMoneyMarketView.json +2 -2
  48. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
  49. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +1 -1
  50. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  51. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  52. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  53. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  54. package/contracts/interfaces/IPPTLooper.sol +2 -4
  55. package/contracts/pt-looping/PTLooperEIP712TypesEncodeDataLib.sol +6 -6
  56. package/contracts/pt-looping/PendlePTLooper.sol +4 -2
  57. package/contracts/pt-looping/money-market/implementations/aave-v4/AaveV4MMPayloadLib.sol +20 -0
  58. package/contracts/pt-looping/money-market/implementations/aave-v4/AaveV4MoneyMarket.sol +85 -0
  59. package/contracts/pt-looping/money-market/implementations/aave-v4/AaveV4MoneyMarketView.sol +180 -0
  60. package/contracts/pt-looping/money-market/implementations/aave-v4/dependencies/IAaveOracle.sol +12 -0
  61. package/contracts/pt-looping/money-market/implementations/aave-v4/dependencies/IHubBase.sol +72 -0
  62. package/contracts/pt-looping/money-market/implementations/aave-v4/dependencies/ISpoke.sol +88 -0
  63. package/contracts/pt-looping/money-market/implementations/euler/EulerMMPayloadLib.sol +25 -0
  64. package/contracts/pt-looping/money-market/implementations/euler/EulerMoneyMarket.sol +104 -0
  65. package/contracts/pt-looping/money-market/implementations/euler/EulerMoneyMarketView.sol +105 -0
  66. package/contracts/pt-looping/money-market/implementations/euler/dependencies/IEthereumVaultConnector.sol +432 -0
  67. package/contracts/pt-looping/money-market/implementations/euler/dependencies/IEulerFactory.sol +10 -0
  68. package/contracts/pt-looping/money-market/implementations/euler/dependencies/IEulerPriceOracle.sol +26 -0
  69. package/contracts/pt-looping/money-market/implementations/euler/dependencies/IEulerVault.sol +149 -0
  70. package/contracts/router/swap-aggregator/OKXScaleHelper.sol +3 -0
  71. package/deployments/143-core.json +4 -1
  72. package/deployments/42161-core.json +4 -1
  73. package/deployments/4663-core.json +48 -0
  74. package/deployments/4663-offchain-helper.json +12 -0
  75. package/package.json +1 -1
  76. package/typechain-types/AaveV4MoneyMarket.ts +573 -0
  77. package/typechain-types/AaveV4MoneyMarketView.ts +362 -0
  78. package/typechain-types/EulerMoneyMarket.ts +599 -0
  79. package/typechain-types/EulerMoneyMarketView.ts +375 -0
  80. package/typechain-types/IAaveOracle.ts +17 -149
  81. package/typechain-types/IEVC.ts +1647 -0
  82. package/typechain-types/IEulerFactory.ts +94 -0
  83. package/typechain-types/IEulerPriceOracle.ts +123 -0
  84. package/typechain-types/IEulerVault.ts +1298 -0
  85. package/typechain-types/IHubBase.ts +452 -0
  86. package/typechain-types/IPPTLooper.ts +68 -68
  87. package/typechain-types/ISpoke.ts +577 -0
  88. package/typechain-types/PTLooperBase.ts +68 -68
  89. package/typechain-types/PendlePTLooper.ts +68 -68
  90. package/typechain-types/factories/AaveMoneyMarketView__factory.ts +1 -1
  91. package/typechain-types/factories/AaveMoneyMarket__factory.ts +1 -1
  92. package/typechain-types/factories/AaveV4MoneyMarketView__factory.ts +349 -0
  93. package/typechain-types/factories/AaveV4MoneyMarket__factory.ts +673 -0
  94. package/typechain-types/factories/EulerMoneyMarketView__factory.ts +371 -0
  95. package/typechain-types/factories/EulerMoneyMarket__factory.ts +720 -0
  96. package/typechain-types/factories/IAaveOracle__factory.ts +3 -93
  97. package/typechain-types/factories/IEVC__factory.ts +968 -0
  98. package/typechain-types/factories/IEulerFactory__factory.ts +42 -0
  99. package/typechain-types/factories/IEulerPriceOracle__factory.ts +68 -0
  100. package/typechain-types/factories/IEulerVault__factory.ts +945 -0
  101. package/typechain-types/factories/IHubBase__factory.ts +334 -0
  102. package/typechain-types/factories/IPPTLooper__factory.ts +243 -248
  103. package/typechain-types/factories/ISpoke__factory.ts +407 -0
  104. package/typechain-types/factories/MorphoBlueMoneyMarketView__factory.ts +1 -1
  105. package/typechain-types/factories/MorphoBlueMoneyMarket__factory.ts +1 -1
  106. package/typechain-types/factories/PTLooperBase__factory.ts +243 -248
  107. package/typechain-types/factories/PendlePTLooper__factory.ts +244 -249
  108. package/typechain-types/factories/PendleSwap__factory.ts +1 -1
  109. package/typechain-types/hardhat.d.ts +99 -0
  110. package/typechain-types/index.ts +22 -2
@@ -0,0 +1,407 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Contract, Signer, utils } from "ethers";
6
+ import { Provider } from "@ethersproject/providers";
7
+ import type { ISpoke, ISpokeInterface } from "../ISpoke";
8
+
9
+ const _abi = [
10
+ {
11
+ inputs: [],
12
+ name: "ORACLE",
13
+ outputs: [
14
+ {
15
+ internalType: "address",
16
+ name: "",
17
+ type: "address",
18
+ },
19
+ ],
20
+ stateMutability: "view",
21
+ type: "function",
22
+ },
23
+ {
24
+ inputs: [
25
+ {
26
+ internalType: "uint256",
27
+ name: "reserveId",
28
+ type: "uint256",
29
+ },
30
+ {
31
+ internalType: "uint256",
32
+ name: "amount",
33
+ type: "uint256",
34
+ },
35
+ {
36
+ internalType: "address",
37
+ name: "onBehalfOf",
38
+ type: "address",
39
+ },
40
+ ],
41
+ name: "borrow",
42
+ outputs: [
43
+ {
44
+ internalType: "uint256",
45
+ name: "",
46
+ type: "uint256",
47
+ },
48
+ {
49
+ internalType: "uint256",
50
+ name: "",
51
+ type: "uint256",
52
+ },
53
+ ],
54
+ stateMutability: "nonpayable",
55
+ type: "function",
56
+ },
57
+ {
58
+ inputs: [
59
+ {
60
+ internalType: "uint256",
61
+ name: "reserveId",
62
+ type: "uint256",
63
+ },
64
+ {
65
+ internalType: "uint32",
66
+ name: "dynamicConfigKey",
67
+ type: "uint32",
68
+ },
69
+ ],
70
+ name: "getDynamicReserveConfig",
71
+ outputs: [
72
+ {
73
+ components: [
74
+ {
75
+ internalType: "uint16",
76
+ name: "collateralFactor",
77
+ type: "uint16",
78
+ },
79
+ {
80
+ internalType: "uint32",
81
+ name: "maxLiquidationBonus",
82
+ type: "uint32",
83
+ },
84
+ {
85
+ internalType: "uint16",
86
+ name: "liquidationFee",
87
+ type: "uint16",
88
+ },
89
+ ],
90
+ internalType: "struct ISpoke.DynamicReserveConfig",
91
+ name: "",
92
+ type: "tuple",
93
+ },
94
+ ],
95
+ stateMutability: "view",
96
+ type: "function",
97
+ },
98
+ {
99
+ inputs: [
100
+ {
101
+ internalType: "uint256",
102
+ name: "reserveId",
103
+ type: "uint256",
104
+ },
105
+ ],
106
+ name: "getReserve",
107
+ outputs: [
108
+ {
109
+ components: [
110
+ {
111
+ internalType: "address",
112
+ name: "underlying",
113
+ type: "address",
114
+ },
115
+ {
116
+ internalType: "contract IHubBase",
117
+ name: "hub",
118
+ type: "address",
119
+ },
120
+ {
121
+ internalType: "uint16",
122
+ name: "assetId",
123
+ type: "uint16",
124
+ },
125
+ {
126
+ internalType: "uint8",
127
+ name: "decimals",
128
+ type: "uint8",
129
+ },
130
+ {
131
+ internalType: "uint24",
132
+ name: "collateralRisk",
133
+ type: "uint24",
134
+ },
135
+ {
136
+ internalType: "uint8",
137
+ name: "flags",
138
+ type: "uint8",
139
+ },
140
+ {
141
+ internalType: "uint32",
142
+ name: "dynamicConfigKey",
143
+ type: "uint32",
144
+ },
145
+ ],
146
+ internalType: "struct ISpoke.Reserve",
147
+ name: "",
148
+ type: "tuple",
149
+ },
150
+ ],
151
+ stateMutability: "view",
152
+ type: "function",
153
+ },
154
+ {
155
+ inputs: [
156
+ {
157
+ internalType: "address",
158
+ name: "user",
159
+ type: "address",
160
+ },
161
+ ],
162
+ name: "getUserLastRiskPremium",
163
+ outputs: [
164
+ {
165
+ internalType: "uint256",
166
+ name: "",
167
+ type: "uint256",
168
+ },
169
+ ],
170
+ stateMutability: "view",
171
+ type: "function",
172
+ },
173
+ {
174
+ inputs: [
175
+ {
176
+ internalType: "uint256",
177
+ name: "reserveId",
178
+ type: "uint256",
179
+ },
180
+ {
181
+ internalType: "address",
182
+ name: "user",
183
+ type: "address",
184
+ },
185
+ ],
186
+ name: "getUserPosition",
187
+ outputs: [
188
+ {
189
+ components: [
190
+ {
191
+ internalType: "uint120",
192
+ name: "drawnShares",
193
+ type: "uint120",
194
+ },
195
+ {
196
+ internalType: "uint120",
197
+ name: "premiumShares",
198
+ type: "uint120",
199
+ },
200
+ {
201
+ internalType: "int200",
202
+ name: "premiumOffsetRay",
203
+ type: "int200",
204
+ },
205
+ {
206
+ internalType: "uint120",
207
+ name: "suppliedShares",
208
+ type: "uint120",
209
+ },
210
+ {
211
+ internalType: "uint32",
212
+ name: "dynamicConfigKey",
213
+ type: "uint32",
214
+ },
215
+ ],
216
+ internalType: "struct ISpoke.UserPosition",
217
+ name: "",
218
+ type: "tuple",
219
+ },
220
+ ],
221
+ stateMutability: "view",
222
+ type: "function",
223
+ },
224
+ {
225
+ inputs: [
226
+ {
227
+ internalType: "uint256",
228
+ name: "reserveId",
229
+ type: "uint256",
230
+ },
231
+ {
232
+ internalType: "address",
233
+ name: "user",
234
+ type: "address",
235
+ },
236
+ ],
237
+ name: "getUserSuppliedAssets",
238
+ outputs: [
239
+ {
240
+ internalType: "uint256",
241
+ name: "",
242
+ type: "uint256",
243
+ },
244
+ ],
245
+ stateMutability: "view",
246
+ type: "function",
247
+ },
248
+ {
249
+ inputs: [
250
+ {
251
+ internalType: "uint256",
252
+ name: "reserveId",
253
+ type: "uint256",
254
+ },
255
+ {
256
+ internalType: "address",
257
+ name: "user",
258
+ type: "address",
259
+ },
260
+ ],
261
+ name: "getUserTotalDebt",
262
+ outputs: [
263
+ {
264
+ internalType: "uint256",
265
+ name: "",
266
+ type: "uint256",
267
+ },
268
+ ],
269
+ stateMutability: "view",
270
+ type: "function",
271
+ },
272
+ {
273
+ inputs: [
274
+ {
275
+ internalType: "uint256",
276
+ name: "reserveId",
277
+ type: "uint256",
278
+ },
279
+ {
280
+ internalType: "uint256",
281
+ name: "amount",
282
+ type: "uint256",
283
+ },
284
+ {
285
+ internalType: "address",
286
+ name: "onBehalfOf",
287
+ type: "address",
288
+ },
289
+ ],
290
+ name: "repay",
291
+ outputs: [
292
+ {
293
+ internalType: "uint256",
294
+ name: "",
295
+ type: "uint256",
296
+ },
297
+ {
298
+ internalType: "uint256",
299
+ name: "",
300
+ type: "uint256",
301
+ },
302
+ ],
303
+ stateMutability: "nonpayable",
304
+ type: "function",
305
+ },
306
+ {
307
+ inputs: [
308
+ {
309
+ internalType: "uint256",
310
+ name: "reserveId",
311
+ type: "uint256",
312
+ },
313
+ {
314
+ internalType: "bool",
315
+ name: "usingAsCollateral",
316
+ type: "bool",
317
+ },
318
+ {
319
+ internalType: "address",
320
+ name: "onBehalfOf",
321
+ type: "address",
322
+ },
323
+ ],
324
+ name: "setUsingAsCollateral",
325
+ outputs: [],
326
+ stateMutability: "nonpayable",
327
+ type: "function",
328
+ },
329
+ {
330
+ inputs: [
331
+ {
332
+ internalType: "uint256",
333
+ name: "reserveId",
334
+ type: "uint256",
335
+ },
336
+ {
337
+ internalType: "uint256",
338
+ name: "amount",
339
+ type: "uint256",
340
+ },
341
+ {
342
+ internalType: "address",
343
+ name: "onBehalfOf",
344
+ type: "address",
345
+ },
346
+ ],
347
+ name: "supply",
348
+ outputs: [
349
+ {
350
+ internalType: "uint256",
351
+ name: "",
352
+ type: "uint256",
353
+ },
354
+ {
355
+ internalType: "uint256",
356
+ name: "",
357
+ type: "uint256",
358
+ },
359
+ ],
360
+ stateMutability: "nonpayable",
361
+ type: "function",
362
+ },
363
+ {
364
+ inputs: [
365
+ {
366
+ internalType: "uint256",
367
+ name: "reserveId",
368
+ type: "uint256",
369
+ },
370
+ {
371
+ internalType: "uint256",
372
+ name: "amount",
373
+ type: "uint256",
374
+ },
375
+ {
376
+ internalType: "address",
377
+ name: "onBehalfOf",
378
+ type: "address",
379
+ },
380
+ ],
381
+ name: "withdraw",
382
+ outputs: [
383
+ {
384
+ internalType: "uint256",
385
+ name: "",
386
+ type: "uint256",
387
+ },
388
+ {
389
+ internalType: "uint256",
390
+ name: "",
391
+ type: "uint256",
392
+ },
393
+ ],
394
+ stateMutability: "nonpayable",
395
+ type: "function",
396
+ },
397
+ ];
398
+
399
+ export class ISpoke__factory {
400
+ static readonly abi = _abi;
401
+ static createInterface(): ISpokeInterface {
402
+ return new utils.Interface(_abi) as ISpokeInterface;
403
+ }
404
+ static connect(address: string, signerOrProvider: Signer | Provider): ISpoke {
405
+ return new Contract(address, _abi, signerOrProvider) as ISpoke;
406
+ }
407
+ }
@@ -299,7 +299,7 @@ const _abi = [
299
299
  ];
300
300
 
301
301
  const _bytecode =
302
- "0x60e060405234801561000f575f5ffd5b50604051611eb9380380611eb983398101604081905261002e91610102565b82825f61003b8382610256565b506001600160a01b03811660808190526040805163ca6f50fd60e01b8152905163ca6f50fd916004808201926020929091908290030181865afa158015610084573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100a89190610310565b6001600160a01b0390811660a0529290921660c0525061033292505050565b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b03811681146100ef575f5ffd5b50565b80516100fd816100db565b919050565b5f5f5f60608486031215610114575f5ffd5b83516001600160401b03811115610129575f5ffd5b8401601f81018613610139575f5ffd5b80516001600160401b03811115610152576101526100c7565b604051601f8201601f19908116603f011681016001600160401b0381118282101715610180576101806100c7565b604052818152828201602001881015610197575f5ffd5b8160208401602083015e5f602083830101528095505050506101bb602085016100f2565b91506101c9604085016100f2565b90509250925092565b600181811c908216806101e657607f821691505b60208210810361020457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561025157805f5260205f20601f840160051c8101602085101561022f5750805b601f840160051c820191505b8181101561024e575f815560010161023b565b50505b505050565b81516001600160401b0381111561026f5761026f6100c7565b6102838161027d84546101d2565b8461020a565b6020601f8211600181146102b5575f831561029e5750848201515b5f19600385901b1c1916600184901b17845561024e565b5f84815260208120601f198516915b828110156102e457878501518255602094850194600190920191016102c4565b508482101561030157868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610320575f5ffd5b815161032b816100db565b9392505050565b60805160a05160c051611b3b61037e5f395f818161017b015281816105b60152818161068a0152818161070e015261089801525f818161021101526103b801525f60de0152611b3b5ff3fe608060405234801561000f575f5ffd5b5060043610610096575f3560e01c8062ca69971461009a5780630700037d146100b85780631a174fc4146100d957806320d7bec1146101185780633acb56241461017657806374eadf761461019d5780639df5f6bd146101be578063a8734f0b146101e6578063b8c876b1146101f9578063ca6f50fd1461020c578063f59bbd5f14610233575b5f5ffd5b6100a2610246565b6040516100af9190611687565b60405180910390f35b6100cb6100c63660046116d3565b6102d1565b6040516100af92919061173d565b6101007f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100af565b61012b6101263660046116d3565b6102f3565b6040516100af91905f60c082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b6101007f000000000000000000000000000000000000000000000000000000000000000081565b6101b06101ab3660046116d3565b610313565b6040519081526020016100af565b6101d16101cc3660046116d3565b610326565b604080519283526020830191909152016100af565b6101d16101f43660046116d3565b61033a565b6101d16102073660046116d3565b61034e565b6101007f000000000000000000000000000000000000000000000000000000000000000081565b6101d16102413660046116d3565b610362565b5f80546102529061176a565b80601f016020809104026020016040519081016040528092919081815260200182805461027e9061176a565b80156102c95780601f106102a0576101008083540402835291602001916102c9565b820191905f5260205f20905b8154815290600101906020018083116102ac57829003601f168201915b505050505081565b6060806102ea836102e185610376565b50606091829150565b91509150915091565b6102fb611657565b61030d8261030884610376565b6104a3565b92915050565b5f61030d8261032184610376565b6104d7565b5f5f6102ea8361033585610376565b6105b2565b5f5f6102ea8361034985610376565b610659565b5f5f6102ea8361035d85610376565b610893565b5f5f6102ea8361037185610376565b6109b9565b60408051610100810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166327409695836001600160a01b031663a817c1136040518163ffffffff1660e01b8152600401602060405180830381865afa158015610421573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061044591906117a2565b6040518263ffffffff1660e01b815260040161046391815260200190565b61010060405180830381865afa15801561047f573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061030d9190611811565b6104ab611657565b5f60a08201819052604082018190526060820181905281525f1960808201819052602082015292915050565b5f826001600160a01b031663746381a36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610514573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061053891906118b2565b6001600160a01b0316639025036a6105508585610b12565b6040518263ffffffff1660e01b815260040161056c91906118cd565b602060405180830381865afa158015610587573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ab91906117a2565b9392505050565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632c3c91576105ee8560e0015190565b6040518263ffffffff1660e01b815260040161060c91815260200190565b60a060405180830381865afa158015610627573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061064b9190611906565b608001519485945092505050565b5f5f5f6106678460e0015190565b604051632c3c915760e01b8152600481018290529091505f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632c3c91579060240160a060405180830381865afa1580156106cf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f39190611906565b905061088781606001516001600160a01b0316638c00bf6b837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c60e39a876040518263ffffffff1660e01b815260040161075a91815260200190565b60c060405180830381865afa158015610775573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079991906119b8565b604080516001600160e01b031960e086901b16815283516001600160a01b0390811660048301526020808601518216602484015285840151821660448401526060808701519092166064840152608095860151608484015284516001600160801b0390811660a485015290850151811660c484015292840151831660e4830152830151821661010482015292820151811661012484015260a0909101511661014482015261016401602060405180830381865afa15801561085c573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088091906117a2565b6001610b85565b965f9650945050505050565b5f5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c60e39a6108d08660e0015190565b6040518263ffffffff1660e01b81526004016108ee91815260200190565b60c060405180830381865afa158015610909573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092d91906119b8565b6040810151815191925061094091611a76565b6001600160801b0316925083608001516001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561098b573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109af91906117a2565b9150509250929050565b5f5f5f846001600160a01b031663746381a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109f8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a1c91906118b2565b90505f610a298686610b12565b60405163180cad9960e01b81529091506001600160a01b0383169063180cad9990610a589084906004016118cd565b6020604051808303815f875af1158015610a74573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a9891906117a2565b6040516313c9e73960e31b81529094506001600160a01b03831690639e4f39c890610ac79084906004016118cd565b6020604051808303815f875af1158015610ae3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b0791906117a2565b925050509250929050565b604080516080810182525f8082526020820181905291810182905260608101919091526040518060800160405280846001600160a01b031681526020018360e00151815260200183608001516001600160a01b031681526020018360a001516001600160a01b0316815250905092915050565b5f8082610b958562015180611a95565b610b9f9190611ac0565b9050670de0b6b3a7640000610bc76813c9647e25a9940000610bc18385611adf565b90610bd9565b610bd19190611af2565b949350505050565b5f815f03610bf05750670de0b6b3a764000061030d565b825f03610bfe57505f61030d565b600160ff1b8310610c485760405162461bcd60e51b815260206004820152600f60248201526e78206f7574206f6620626f756e647360881b60448201526064015b60405180910390fd5b82770bce5086492111aea88f4bb1ca6bcf584181ea8059f765328310610ca25760405162461bcd60e51b815260206004820152600f60248201526e79206f7574206f6620626f756e647360881b6044820152606401610c3f565b825f670c7d713b49da000083138015610cc25750670f43fc2c04ee000083125b15610cf8575f610cd184610d8b565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050610d06565b81610d0284610ea8565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590610d34575068070c1cc73b00c800008113155b610d785760405162461bcd60e51b815260206004820152601560248201527470726f64756374206f7574206f6620626f756e647360581b6044820152606401610c3f565b610d8181611246565b9695505050505050565b670de0b6b3a7640000025f806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281610dcb57610dcb611aac565b0590505f6a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b5f670de0b6b3a7640000821215610ee757610edf826a0c097ce7bc90715b34b9f160241b81610ed957610ed9611aac565b05610ea8565b5f0392915050565b5f775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312610f315772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312610f68576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312610fb0576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312610feb576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261102257693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e2831261105957690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d03831261108e5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb4174612111083126110b957680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d83126110ee576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312611123576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312611157576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac831261118b576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b5f68056bc75e2d63100000840168056bc75e2d6310000080860302816111b3576111b3611aac565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b5f680238fd42c5cf03ffff19821215801561126a575068070c1cc73b00c800008213155b6112a95760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610c3f565b5f8212156112df576112bc825f03611246565b6a0c097ce7bc90715b34b9f160241b816112d8576112d8611aac565b0592915050565b5f6806f05b59d3b2000000831261131c57506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b611352565b6803782dace9d9000000831261134e57506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380611352565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126113a25768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d63100000084126113de576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261141857682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412611452576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261148b57680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126114c45768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126114fd576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126115365768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146116d0575f5ffd5b50565b5f602082840312156116e3575f5ffd5b81356105ab816116bc565b5f8151808452602084019350602083015f5b8281101561173357815180516001600160a01b031687526020908101518188015260409096019590910190600101611700565b5093949350505050565b604081525f61174f60408301856116ee565b828103602084015261176181856116ee565b95945050505050565b600181811c9082168061177e57607f821691505b60208210810361179c57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f602082840312156117b2575f5ffd5b5051919050565b60405161010081016001600160401b03811182821017156117e857634e487b7160e01b5f52604160045260245ffd5b60405290565b805163ffffffff81168114611801575f5ffd5b919050565b8051611801816116bc565b5f610100828403128015611823575f5ffd5b5061182c6117b9565b611835836117ee565b8152611843602084016117ee565b60208201526040830151611856816116bc565b604082015261186760608401611806565b606082015261187860808401611806565b608082015261188960a08401611806565b60a082015261189a60c08401611806565b60c082015260e0928301519281019290925250919050565b5f602082840312156118c2575f5ffd5b81516105ab816116bc565b81516001600160a01b03908116825260208084015190830152604080840151821690830152606092830151169181019190915260800190565b5f60a0828403128015611917575f5ffd5b5060405160a081016001600160401b038111828210171561194657634e487b7160e01b5f52604160045260245ffd5b6040528251611954816116bc565b81526020830151611964816116bc565b60208201526040830151611977816116bc565b6040820152606083015161198a816116bc565b60608201526080928301519281019290925250919050565b80516001600160801b0381168114611801575f5ffd5b5f60c08284031280156119c9575f5ffd5b5060405160c081016001600160401b03811182821017156119f857634e487b7160e01b5f52604160045260245ffd5b604052611a04836119a2565b8152611a12602084016119a2565b6020820152611a23604084016119a2565b6040820152611a34606084016119a2565b6060820152611a45608084016119a2565b6080820152611a5660a084016119a2565b60a08201529392505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160801b03828116828216039081111561030d5761030d611a62565b808202811582820484141761030d5761030d611a62565b634e487b7160e01b5f52601260045260245ffd5b5f82611ada57634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561030d5761030d611a62565b8181038181111561030d5761030d611a6256fea26469706673582212208e38577d153516926b43feede9e9664f054e7532ec3e375761938ae47927e84764736f6c634300081e0033";
302
+ "0x60e060405234801561000f575f5ffd5b50604051611eb9380380611eb983398101604081905261002e91610102565b82825f61003b8382610256565b506001600160a01b03811660808190526040805163ca6f50fd60e01b8152905163ca6f50fd916004808201926020929091908290030181865afa158015610084573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100a89190610310565b6001600160a01b0390811660a0529290921660c0525061033292505050565b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b03811681146100ef575f5ffd5b50565b80516100fd816100db565b919050565b5f5f5f60608486031215610114575f5ffd5b83516001600160401b03811115610129575f5ffd5b8401601f81018613610139575f5ffd5b80516001600160401b03811115610152576101526100c7565b604051601f8201601f19908116603f011681016001600160401b0381118282101715610180576101806100c7565b604052818152828201602001881015610197575f5ffd5b8160208401602083015e5f602083830101528095505050506101bb602085016100f2565b91506101c9604085016100f2565b90509250925092565b600181811c908216806101e657607f821691505b60208210810361020457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561025157805f5260205f20601f840160051c8101602085101561022f5750805b601f840160051c820191505b8181101561024e575f815560010161023b565b50505b505050565b81516001600160401b0381111561026f5761026f6100c7565b6102838161027d84546101d2565b8461020a565b6020601f8211600181146102b5575f831561029e5750848201515b5f19600385901b1c1916600184901b17845561024e565b5f84815260208120601f198516915b828110156102e457878501518255602094850194600190920191016102c4565b508482101561030157868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610320575f5ffd5b815161032b816100db565b9392505050565b60805160a05160c051611b3b61037e5f395f818161017b015281816105b60152818161068a0152818161070e015261089801525f818161021101526103b801525f60de0152611b3b5ff3fe608060405234801561000f575f5ffd5b5060043610610096575f3560e01c8062ca69971461009a5780630700037d146100b85780631a174fc4146100d957806320d7bec1146101185780633acb56241461017657806374eadf761461019d5780639df5f6bd146101be578063a8734f0b146101e6578063b8c876b1146101f9578063ca6f50fd1461020c578063f59bbd5f14610233575b5f5ffd5b6100a2610246565b6040516100af9190611687565b60405180910390f35b6100cb6100c63660046116d3565b6102d1565b6040516100af92919061173d565b6101007f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100af565b61012b6101263660046116d3565b6102f3565b6040516100af91905f60c082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b6101007f000000000000000000000000000000000000000000000000000000000000000081565b6101b06101ab3660046116d3565b610313565b6040519081526020016100af565b6101d16101cc3660046116d3565b610326565b604080519283526020830191909152016100af565b6101d16101f43660046116d3565b61033a565b6101d16102073660046116d3565b61034e565b6101007f000000000000000000000000000000000000000000000000000000000000000081565b6101d16102413660046116d3565b610362565b5f80546102529061176a565b80601f016020809104026020016040519081016040528092919081815260200182805461027e9061176a565b80156102c95780601f106102a0576101008083540402835291602001916102c9565b820191905f5260205f20905b8154815290600101906020018083116102ac57829003601f168201915b505050505081565b6060806102ea836102e185610376565b50606091829150565b91509150915091565b6102fb611657565b61030d8261030884610376565b6104a3565b92915050565b5f61030d8261032184610376565b6104d7565b5f5f6102ea8361033585610376565b6105b2565b5f5f6102ea8361034985610376565b610659565b5f5f6102ea8361035d85610376565b610893565b5f5f6102ea8361037185610376565b6109b9565b60408051610100810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166327409695836001600160a01b031663a817c1136040518163ffffffff1660e01b8152600401602060405180830381865afa158015610421573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061044591906117a2565b6040518263ffffffff1660e01b815260040161046391815260200190565b61010060405180830381865afa15801561047f573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061030d9190611811565b6104ab611657565b5f60a08201819052604082018190526060820181905281525f1960808201819052602082015292915050565b5f826001600160a01b031663746381a36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610514573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061053891906118b2565b6001600160a01b0316639025036a6105508585610b12565b6040518263ffffffff1660e01b815260040161056c91906118cd565b602060405180830381865afa158015610587573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ab91906117a2565b9392505050565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632c3c91576105ee8560e0015190565b6040518263ffffffff1660e01b815260040161060c91815260200190565b60a060405180830381865afa158015610627573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061064b9190611906565b608001519485945092505050565b5f5f5f6106678460e0015190565b604051632c3c915760e01b8152600481018290529091505f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632c3c91579060240160a060405180830381865afa1580156106cf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f39190611906565b905061088781606001516001600160a01b0316638c00bf6b837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c60e39a876040518263ffffffff1660e01b815260040161075a91815260200190565b60c060405180830381865afa158015610775573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079991906119b8565b604080516001600160e01b031960e086901b16815283516001600160a01b0390811660048301526020808601518216602484015285840151821660448401526060808701519092166064840152608095860151608484015284516001600160801b0390811660a485015290850151811660c484015292840151831660e4830152830151821661010482015292820151811661012484015260a0909101511661014482015261016401602060405180830381865afa15801561085c573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088091906117a2565b6001610b85565b965f9650945050505050565b5f5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c60e39a6108d08660e0015190565b6040518263ffffffff1660e01b81526004016108ee91815260200190565b60c060405180830381865afa158015610909573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092d91906119b8565b6040810151815191925061094091611a76565b6001600160801b0316925083608001516001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561098b573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109af91906117a2565b9150509250929050565b5f5f5f846001600160a01b031663746381a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109f8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a1c91906118b2565b90505f610a298686610b12565b60405163180cad9960e01b81529091506001600160a01b0383169063180cad9990610a589084906004016118cd565b6020604051808303815f875af1158015610a74573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a9891906117a2565b6040516313c9e73960e31b81529094506001600160a01b03831690639e4f39c890610ac79084906004016118cd565b6020604051808303815f875af1158015610ae3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b0791906117a2565b925050509250929050565b604080516080810182525f8082526020820181905291810182905260608101919091526040518060800160405280846001600160a01b031681526020018360e00151815260200183608001516001600160a01b031681526020018360a001516001600160a01b0316815250905092915050565b5f8082610b958562015180611a95565b610b9f9190611ac0565b9050670de0b6b3a7640000610bc76813c9647e25a9940000610bc18385611adf565b90610bd9565b610bd19190611af2565b949350505050565b5f815f03610bf05750670de0b6b3a764000061030d565b825f03610bfe57505f61030d565b600160ff1b8310610c485760405162461bcd60e51b815260206004820152600f60248201526e78206f7574206f6620626f756e647360881b60448201526064015b60405180910390fd5b82770bce5086492111aea88f4bb1ca6bcf584181ea8059f765328310610ca25760405162461bcd60e51b815260206004820152600f60248201526e79206f7574206f6620626f756e647360881b6044820152606401610c3f565b825f670c7d713b49da000083138015610cc25750670f43fc2c04ee000083125b15610cf8575f610cd184610d8b565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050610d06565b81610d0284610ea8565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590610d34575068070c1cc73b00c800008113155b610d785760405162461bcd60e51b815260206004820152601560248201527470726f64756374206f7574206f6620626f756e647360581b6044820152606401610c3f565b610d8181611246565b9695505050505050565b670de0b6b3a7640000025f806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281610dcb57610dcb611aac565b0590505f6a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b5f670de0b6b3a7640000821215610ee757610edf826a0c097ce7bc90715b34b9f160241b81610ed957610ed9611aac565b05610ea8565b5f0392915050565b5f775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312610f315772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312610f68576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312610fb0576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312610feb576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261102257693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e2831261105957690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d03831261108e5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb4174612111083126110b957680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d83126110ee576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312611123576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312611157576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac831261118b576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b5f68056bc75e2d63100000840168056bc75e2d6310000080860302816111b3576111b3611aac565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b5f680238fd42c5cf03ffff19821215801561126a575068070c1cc73b00c800008213155b6112a95760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610c3f565b5f8212156112df576112bc825f03611246565b6a0c097ce7bc90715b34b9f160241b816112d8576112d8611aac565b0592915050565b5f6806f05b59d3b2000000831261131c57506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b611352565b6803782dace9d9000000831261134e57506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380611352565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126113a25768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d63100000084126113de576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261141857682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412611452576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261148b57680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126114c45768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126114fd576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126115365768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146116d0575f5ffd5b50565b5f602082840312156116e3575f5ffd5b81356105ab816116bc565b5f8151808452602084019350602083015f5b8281101561173357815180516001600160a01b031687526020908101518188015260409096019590910190600101611700565b5093949350505050565b604081525f61174f60408301856116ee565b828103602084015261176181856116ee565b95945050505050565b600181811c9082168061177e57607f821691505b60208210810361179c57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f602082840312156117b2575f5ffd5b5051919050565b60405161010081016001600160401b03811182821017156117e857634e487b7160e01b5f52604160045260245ffd5b60405290565b805163ffffffff81168114611801575f5ffd5b919050565b8051611801816116bc565b5f610100828403128015611823575f5ffd5b5061182c6117b9565b611835836117ee565b8152611843602084016117ee565b60208201526040830151611856816116bc565b604082015261186760608401611806565b606082015261187860808401611806565b608082015261188960a08401611806565b60a082015261189a60c08401611806565b60c082015260e0928301519281019290925250919050565b5f602082840312156118c2575f5ffd5b81516105ab816116bc565b81516001600160a01b03908116825260208084015190830152604080840151821690830152606092830151169181019190915260800190565b5f60a0828403128015611917575f5ffd5b5060405160a081016001600160401b038111828210171561194657634e487b7160e01b5f52604160045260245ffd5b6040528251611954816116bc565b81526020830151611964816116bc565b60208201526040830151611977816116bc565b6040820152606083015161198a816116bc565b60608201526080928301519281019290925250919050565b80516001600160801b0381168114611801575f5ffd5b5f60c08284031280156119c9575f5ffd5b5060405160c081016001600160401b03811182821017156119f857634e487b7160e01b5f52604160045260245ffd5b604052611a04836119a2565b8152611a12602084016119a2565b6020820152611a23604084016119a2565b6040820152611a34606084016119a2565b6060820152611a45608084016119a2565b6080820152611a5660a084016119a2565b60a08201529392505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160801b03828116828216039081111561030d5761030d611a62565b808202811582820484141761030d5761030d611a62565b634e487b7160e01b5f52601260045260245ffd5b5f82611ada57634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561030d5761030d611a62565b8181038181111561030d5761030d611a6256fea2646970667358221220db02309ea0f50bbc41656bb654a4337ef6e049b470c227ce313e9407406f045d64736f6c634300081e0033";
303
303
 
304
304
  type MorphoBlueMoneyMarketViewConstructorParams =
305
305
  | [signer?: Signer]
@@ -634,7 +634,7 @@ const _abi = [
634
634
  ];
635
635
 
636
636
  const _bytecode =
637
- "0x60e060405234801561000f575f5ffd5b5060405161209638038061209683398101604081905261002e916100d0565b6001600160a01b03821660808190526040805163ca6f50fd60e01b8152905184929163ca6f50fd9160048083019260209291908290030181865afa158015610078573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061009c9190610108565b6001600160a01b0390811660a0529190911660c0525061012a9050565b6001600160a01b03811681146100cd575f5ffd5b50565b5f5f604083850312156100e1575f5ffd5b82516100ec816100b9565b60208401519092506100fd816100b9565b809150509250929050565b5f60208284031215610118575f5ffd5b8151610123816100b9565b9392505050565b60805160a05160c051611ed26101c45f395f8181610151015281816104d901528181610a9701528181610ac501528181610aec01528181610bd201528181610d1501528181610de301528181610e970152818161100f01526110ba01525f81816101be015261021101525f818161010a015281816102700152818161036d015281816105cd015281816108fb01526109cf0152611ed25ff3fe608060405234801561000f575f5ffd5b50600436106100a1575f3560e01c8062f1a3d6146100a55780630a44c195146100ba578063180cad99146100e45780631a174fc4146101055780633a2e717b146101395780633acb56241461014c5780639025036a146101735780639e4f39c814610186578063b3fd98f014610199578063ca6f50fd146101b9578063d30cd708146101e0578063ec094985146101f3575b5f5ffd5b6100b86100b336600461179e565b610206565b005b6100cd6100c83660046117b8565b610263565b6040516100db9291906117e1565b60405180910390f35b6100f76100f236600461179e565b61033f565b6040519081526020016100db565b61012c7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100db91906117ef565b6100cd6101473660046117b8565b610360565b61012c7f000000000000000000000000000000000000000000000000000000000000000081565b6100f761018136600461179e565b610435565b6100f761019436600461179e565b6104d6565b6101ac6101a736600461188b565b6105c0565b6040516100db919061197e565b61012c7f000000000000000000000000000000000000000000000000000000000000000081565b6100cd6101ee3660046117b8565b6108ee565b6100cd6102013660046117b8565b6109c2565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102575760405162461bcd60e51b815260040161024e90611990565b60405180910390fd5b61026081610a8d565b50565b5f80336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102ad5760405162461bcd60e51b815260040161024e90611990565b5f6102b7856104d6565b9050835f036102ca575f92509050610338565b6102d48585610ae9565b92506102e081846119d7565b915084606001516001600160a01b0316855f01516001600160a01b03167fc14e9e6b4d98a542b05a0f6b64acd5f4cbdb914be88432d87486b664e97071a7858460405161032e9291906117e1565b60405180910390a3505b9250929050565b5f61034d8260200151610b96565b604001516001600160801b031692915050565b5f80336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103aa5760405162461bcd60e51b815260040161024e90611990565b5f6103b4856104d6565b90508315806103c1575080155b156103d0575f92509050610338565b6103db858583610c3b565b92506103e783826119ea565b915084606001516001600160a01b0316855f01516001600160a01b03167fe62a777dbd48d3912f68a1b9445813ee02bc3ac18b97dc129ca462cc77bb641b858460405161032e9291906117e1565b5f610456670de0b6b3a76400006a0c097ce7bc90715b34b9f160241b611a11565b6104638360200151610d9f565b604001516001600160a01b031663a035b1fe6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104a2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104c69190611a24565b6104d09190611a11565b92915050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663151c1ade6105138460200151610d9f565b6040518263ffffffff1660e01b815260040161052f9190611a7a565b5f604051808303815f87803b158015610546575f5ffd5b505af1158015610558573d5f5f3e3d5ffd5b505050505f61056a8360200151610e4c565b90505f61057a8460200151610b96565b90506105b882604001516001600160801b031683606001516001600160801b031683602001516001600160801b0316610f009092919063ffffffff16565b949350505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060a5760405162461bcd60e51b815260040161024e90611990565b81515f816001600160401b03811115610625576106256116c9565b60405190808252806020026020018201604052801561064e578160200160208202803683370190505b5090505f5b828110156106a25761067d85828151811061067057610670611a88565b6020026020010151610f24565b82828151811061068f5761068f611a88565b6020908102919091010152600101610653565b505f876001600160a01b031687876040516106be929190611a9c565b5f604051808303815f865af19150503d805f81146106f7576040519150601f19603f3d011682016040523d82523d5f602084013e6106fc565b606091505b505090508061074d5760405162461bcd60e51b815260206004820181905260248201527f4d6f6e65794d61726b65743a20636c61696d52657761726473206661696c6564604482015260640161024e565b5f895f01516001600160a01b031663117803e36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b19190611aab565b9050836001600160401b038111156107cb576107cb6116c9565b6040519080825280602002602001820160405280156107f4578160200160208202803683370190505b5094505f5b8481101561089d5783818151811061081357610813611a88565b602002602001015161083088838151811061067057610670611a88565b61083a91906119ea565b86828151811061084c5761084c611a88565b60200260200101818152505061089587828151811061086d5761086d611a88565b60200260200101518388848151811061088857610888611a88565b6020026020010151610f2f565b6001016107f9565b50886001600160a01b03167fc53cb8bc1a7200a84d0b66a538905a245c4915aace7f1ce5dc4a0ba107ebc15c87876040516108d9929190611ac6565b60405180910390a25050505095945050505050565b5f80336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109385760405162461bcd60e51b815260040161024e90611990565b5f6109428561033f565b905083158061094f575080155b1561095e575f92509050610338565b610968858561100c565b925061097483826119ea565b915084604001516001600160a01b0316855f01516001600160a01b03167f91fb9d98b786c57d74c099ccd2beca1739e9f6a81fb49001ca465c4b7591bbe2858460405161032e9291906117e1565b5f80336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a0c5760405162461bcd60e51b815260040161024e90611990565b5f610a168561033f565b9050835f03610a29575f92509050610338565b610a3385856110a5565b9250610a3f81846119d7565b915084604001516001600160a01b0316855f01516001600160a01b03167fb07c18dba66f7fd615f13c777549719e8ea100489339e0fdc30b7076bd77d604858460405161032e9291906117e1565b610abb81604001517f0000000000000000000000000000000000000000000000000000000000000000611114565b61026081606001517f0000000000000000000000000000000000000000000000000000000000000000611114565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166350d8cd4b610b268560200151610d9f565b85516040516001600160e01b031960e085901b168152610b4f929187915f913091600401611b1c565b60408051808303815f875af1158015610b6a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8e9190611b58565b509392505050565b604080516060810182525f808252602082018190528183015290516349e2903160e11b8152600481018390523060248201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906393c5206290604401606060405180830381865afa158015610c17573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d09190611b95565b5f5f610c4a8560200151610d9f565b90505f610c5a8660200151610e4c565b90505f610c6a8760200151610b96565b602001516001600160801b031690505f610cb2610cac84604001516001600160801b031685606001516001600160801b03168a6111d49092919063ffffffff16565b836111f8565b90508015610d94575f610cea84604001516001600160801b031685606001516001600160801b031684610f009092919063ffffffff16565b9050610cfe89606001518a5f01518361120f565b6040516320b76e8160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906320b76e8190610d509088905f9087903090600401611bf9565b60408051808303815f875af1158015610d6b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d8f9190611b58565b509550505b505050509392505050565b6040805160a0810182525f808252602082018190528183018190526060820181905260808201529051632c3c915760e01b8152600481018390526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632c3c91579060240160a060405180830381865afa158015610e28573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d09190611c3a565b6040805160c0810182525f80825260208201819052818301819052606082018190526080820181905260a08201529051632e3071cd60e11b8152600481018390526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635c60e39a9060240160c060405180830381865afa158015610edc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d09190611cca565b5f6105b8610f0f6001856119d7565b610f1c620f4240856119d7565b869190611276565b5f6104d030836112a1565b801580610f4457506001600160a01b03821630145b15610f4e57505050565b6001600160a01b038316610ff3575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114610fa5576040519150601f19603f3d011682016040523d82523d5f602084013e610faa565b606091505b5050905080610fed5760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b604482015260640161024e565b50505050565b6110076001600160a01b0384168383611330565b505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638720316d6110498560200151610d9f565b85516040516001600160e01b031960e085901b16815261107192918791309190600401611d68565b5f604051808303815f87803b158015611088575f5ffd5b505af115801561109a573d5f5f3e3d5ffd5b509395945050505050565b5f6110b88360400151845f01518461120f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663238d65796110f48560200151610d9f565b84306040518463ffffffff1660e01b815260040161107193929190611d9c565b6001600160a01b038216611126575050565b61113860026001600160601b03611dd4565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa15801561118f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111b39190611a24565b10156111d0576111c482825f611386565b6111d082825f19611386565b5050565b5f6105b86111e5620f4240846119d7565b6111f06001866119d7565b869190611495565b5f8183106112065781611208565b825b9392505050565b6001600160a01b03831661125b578034146110075760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b604482015260640161024e565b8015611007576110076001600160a01b0384168330846114a1565b5f816112836001826119ea565b61128d8587611e02565b61129791906119d7565b6105b89190611a11565b5f6001600160a01b03821615611321576040516370a0823160e01b81526001600160a01b038316906370a08231906112dd9086906004016117ef565b602060405180830381865afa1580156112f8573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131c9190611a24565b611208565b50506001600160a01b03163190565b6110078363a9059cbb60e01b848460405160240161134f929190611e19565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526114d9565b5f5f846001600160a01b031663095ea7b360e01b85856040516024016113ad929190611e19565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516113eb9190611e32565b5f604051808303815f865af19150503d805f8114611424576040519150601f19603f3d011682016040523d82523d5f602084013e611429565b606091505b50915091508180156114535750805115806114535750808060200190518101906114539190611e48565b61148e5760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b604482015260640161024e565b5050505050565b5f816112978486611e02565b6040516001600160a01b0380851660248301528316604482015260648101829052610fed9085906323b872dd60e01b9060840161134f565b5f61152d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166115ac9092919063ffffffff16565b905080515f148061154d57508080602001905181019061154d9190611e48565b6110075760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161024e565b60606105b884845f85855f5f866001600160a01b031685876040516115d19190611e32565b5f6040518083038185875af1925050503d805f811461160b576040519150601f19603f3d011682016040523d82523d5f602084013e611610565b606091505b50915091506116218783838761162c565b979650505050505050565b6060831561169a5782515f03611693576001600160a01b0385163b6116935760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161024e565b50816105b8565b6105b883838151156116af5781518083602001fd5b8060405162461bcd60e51b815260040161024e9190611e67565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715611705576117056116c9565b604052919050565b6001600160a01b0381168114610260575f5ffd5b5f60808284031215611731575f5ffd5b604051608081016001600160401b0381118282101715611753576117536116c9565b60405290508082356117648161170d565b815260208381013590820152604083013561177e8161170d565b604082015260608301356117918161170d565b6060919091015292915050565b5f608082840312156117ae575f5ffd5b6112088383611721565b5f5f60a083850312156117c9575f5ffd5b6117d38484611721565b946080939093013593505050565b918252602082015260400190565b6001600160a01b0391909116815260200190565b5f82601f830112611812575f5ffd5b81356001600160401b0381111561182b5761182b6116c9565b8060051b61183b602082016116dd565b91825260208185018101929081019086841115611856575f5ffd5b6020860192505b838310156118815782356118708161170d565b82526020928301929091019061185d565b9695505050505050565b5f5f5f5f5f60e0868803121561189f575f5ffd5b6118a98787611721565b945060808601356118b98161170d565b935060a08601356001600160401b038111156118d3575f5ffd5b8601601f810188136118e3575f5ffd5b80356001600160401b038111156118f8575f5ffd5b886020828401011115611909575f5ffd5b6020919091019350915060c08601356001600160401b0381111561192b575f5ffd5b61193788828901611803565b9150509295509295909350565b5f8151808452602084019350602083015f5b82811015611974578151865260209586019590910190600101611956565b5093949350505050565b602081525f6112086020830184611944565b602080825260199082015278135bdb995e53585c9ad95d0e881d5b985d5d1a1bdc9a5e9959603a1b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156104d0576104d06119c3565b818103818111156104d0576104d06119c3565b634e487b7160e01b5f52601260045260245ffd5b5f82611a1f57611a1f6119fd565b500490565b5f60208284031215611a34575f5ffd5b5051919050565b80516001600160a01b03908116835260208083015182169084015260408083015182169084015260608083015190911690830152608090810151910152565b60a081016104d08284611a3b565b634e487b7160e01b5f52603260045260245ffd5b818382375f9101908152919050565b5f60208284031215611abb575f5ffd5b81516112088161170d565b604080825283519082018190525f9060208501906060840190835b81811015611b085783516001600160a01b0316835260209384019390920191600101611ae1565b505083810360208501526118818186611944565b6101208101611b2b8288611a3b565b60a082019590955260c08101939093526001600160a01b0391821660e08401521661010090910152919050565b5f5f60408385031215611b69575f5ffd5b505080516020909101519092909150565b80516001600160801b0381168114611b90575f5ffd5b919050565b5f6060828403128015611ba6575f5ffd5b50604051606081016001600160401b0381118282101715611bc957611bc96116c9565b60405282518152611bdc60208401611b7a565b6020820152611bed60408401611b7a565b60408201529392505050565b611c038186611a3b565b60a081019390935260c08301919091526001600160a01b031660e082015261012061010082018190525f9082015261014001919050565b5f60a0828403128015611c4b575f5ffd5b5060405160a081016001600160401b0381118282101715611c6e57611c6e6116c9565b6040528251611c7c8161170d565b81526020830151611c8c8161170d565b60208201526040830151611c9f8161170d565b60408201526060830151611cb28161170d565b60608201526080928301519281019290925250919050565b5f60c0828403128015611cdb575f5ffd5b5060405160c081016001600160401b0381118282101715611cfe57611cfe6116c9565b604052611d0a83611b7a565b8152611d1860208401611b7a565b6020820152611d2960408401611b7a565b6040820152611d3a60608401611b7a565b6060820152611d4b60808401611b7a565b6080820152611d5c60a08401611b7a565b60a08201529392505050565b6101008101611d778287611a3b565b60a08201949094526001600160a01b0392831660c0820152911660e090910152919050565b611da68185611a3b565b60a08101929092526001600160a01b031660c082015261010060e082018190525f9082015261012001919050565b5f6001600160601b03831680611dec57611dec6119fd565b6001600160601b03929092169190910492915050565b80820281158282048414176104d0576104d06119c3565b6001600160a01b03929092168252602082015260400190565b5f82518060208501845e5f920191825250919050565b5f60208284031215611e58575f5ffd5b81518015158114611208575f5ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f8301168401019150509291505056fea264697066735822122099e289b75499b9ad1fdf0d2b3136dc73852efc1c018015e89c562b622f2a2a5864736f6c634300081e0033";
637
+ "0x60e060405234801561000f575f5ffd5b5060405161209638038061209683398101604081905261002e916100d0565b6001600160a01b03821660808190526040805163ca6f50fd60e01b8152905184929163ca6f50fd9160048083019260209291908290030181865afa158015610078573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061009c9190610108565b6001600160a01b0390811660a0529190911660c0525061012a9050565b6001600160a01b03811681146100cd575f5ffd5b50565b5f5f604083850312156100e1575f5ffd5b82516100ec816100b9565b60208401519092506100fd816100b9565b809150509250929050565b5f60208284031215610118575f5ffd5b8151610123816100b9565b9392505050565b60805160a05160c051611ed26101c45f395f8181610151015281816104d901528181610a9701528181610ac501528181610aec01528181610bd201528181610d1501528181610de301528181610e970152818161100f01526110ba01525f81816101be015261021101525f818161010a015281816102700152818161036d015281816105cd015281816108fb01526109cf0152611ed25ff3fe608060405234801561000f575f5ffd5b50600436106100a1575f3560e01c8062f1a3d6146100a55780630a44c195146100ba578063180cad99146100e45780631a174fc4146101055780633a2e717b146101395780633acb56241461014c5780639025036a146101735780639e4f39c814610186578063b3fd98f014610199578063ca6f50fd146101b9578063d30cd708146101e0578063ec094985146101f3575b5f5ffd5b6100b86100b336600461179e565b610206565b005b6100cd6100c83660046117b8565b610263565b6040516100db9291906117e1565b60405180910390f35b6100f76100f236600461179e565b61033f565b6040519081526020016100db565b61012c7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100db91906117ef565b6100cd6101473660046117b8565b610360565b61012c7f000000000000000000000000000000000000000000000000000000000000000081565b6100f761018136600461179e565b610435565b6100f761019436600461179e565b6104d6565b6101ac6101a736600461188b565b6105c0565b6040516100db919061197e565b61012c7f000000000000000000000000000000000000000000000000000000000000000081565b6100cd6101ee3660046117b8565b6108ee565b6100cd6102013660046117b8565b6109c2565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102575760405162461bcd60e51b815260040161024e90611990565b60405180910390fd5b61026081610a8d565b50565b5f80336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102ad5760405162461bcd60e51b815260040161024e90611990565b5f6102b7856104d6565b9050835f036102ca575f92509050610338565b6102d48585610ae9565b92506102e081846119d7565b915084606001516001600160a01b0316855f01516001600160a01b03167fc14e9e6b4d98a542b05a0f6b64acd5f4cbdb914be88432d87486b664e97071a7858460405161032e9291906117e1565b60405180910390a3505b9250929050565b5f61034d8260200151610b96565b604001516001600160801b031692915050565b5f80336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103aa5760405162461bcd60e51b815260040161024e90611990565b5f6103b4856104d6565b90508315806103c1575080155b156103d0575f92509050610338565b6103db858583610c3b565b92506103e783826119ea565b915084606001516001600160a01b0316855f01516001600160a01b03167fe62a777dbd48d3912f68a1b9445813ee02bc3ac18b97dc129ca462cc77bb641b858460405161032e9291906117e1565b5f610456670de0b6b3a76400006a0c097ce7bc90715b34b9f160241b611a11565b6104638360200151610d9f565b604001516001600160a01b031663a035b1fe6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104a2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104c69190611a24565b6104d09190611a11565b92915050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663151c1ade6105138460200151610d9f565b6040518263ffffffff1660e01b815260040161052f9190611a7a565b5f604051808303815f87803b158015610546575f5ffd5b505af1158015610558573d5f5f3e3d5ffd5b505050505f61056a8360200151610e4c565b90505f61057a8460200151610b96565b90506105b882604001516001600160801b031683606001516001600160801b031683602001516001600160801b0316610f009092919063ffffffff16565b949350505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060a5760405162461bcd60e51b815260040161024e90611990565b81515f816001600160401b03811115610625576106256116c9565b60405190808252806020026020018201604052801561064e578160200160208202803683370190505b5090505f5b828110156106a25761067d85828151811061067057610670611a88565b6020026020010151610f24565b82828151811061068f5761068f611a88565b6020908102919091010152600101610653565b505f876001600160a01b031687876040516106be929190611a9c565b5f604051808303815f865af19150503d805f81146106f7576040519150601f19603f3d011682016040523d82523d5f602084013e6106fc565b606091505b505090508061074d5760405162461bcd60e51b815260206004820181905260248201527f4d6f6e65794d61726b65743a20636c61696d52657761726473206661696c6564604482015260640161024e565b5f895f01516001600160a01b031663117803e36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b19190611aab565b9050836001600160401b038111156107cb576107cb6116c9565b6040519080825280602002602001820160405280156107f4578160200160208202803683370190505b5094505f5b8481101561089d5783818151811061081357610813611a88565b602002602001015161083088838151811061067057610670611a88565b61083a91906119ea565b86828151811061084c5761084c611a88565b60200260200101818152505061089587828151811061086d5761086d611a88565b60200260200101518388848151811061088857610888611a88565b6020026020010151610f2f565b6001016107f9565b50886001600160a01b03167fc53cb8bc1a7200a84d0b66a538905a245c4915aace7f1ce5dc4a0ba107ebc15c87876040516108d9929190611ac6565b60405180910390a25050505095945050505050565b5f80336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109385760405162461bcd60e51b815260040161024e90611990565b5f6109428561033f565b905083158061094f575080155b1561095e575f92509050610338565b610968858561100c565b925061097483826119ea565b915084604001516001600160a01b0316855f01516001600160a01b03167f91fb9d98b786c57d74c099ccd2beca1739e9f6a81fb49001ca465c4b7591bbe2858460405161032e9291906117e1565b5f80336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a0c5760405162461bcd60e51b815260040161024e90611990565b5f610a168561033f565b9050835f03610a29575f92509050610338565b610a3385856110a5565b9250610a3f81846119d7565b915084604001516001600160a01b0316855f01516001600160a01b03167fb07c18dba66f7fd615f13c777549719e8ea100489339e0fdc30b7076bd77d604858460405161032e9291906117e1565b610abb81604001517f0000000000000000000000000000000000000000000000000000000000000000611114565b61026081606001517f0000000000000000000000000000000000000000000000000000000000000000611114565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166350d8cd4b610b268560200151610d9f565b85516040516001600160e01b031960e085901b168152610b4f929187915f913091600401611b1c565b60408051808303815f875af1158015610b6a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8e9190611b58565b509392505050565b604080516060810182525f808252602082018190528183015290516349e2903160e11b8152600481018390523060248201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906393c5206290604401606060405180830381865afa158015610c17573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d09190611b95565b5f5f610c4a8560200151610d9f565b90505f610c5a8660200151610e4c565b90505f610c6a8760200151610b96565b602001516001600160801b031690505f610cb2610cac84604001516001600160801b031685606001516001600160801b03168a6111d49092919063ffffffff16565b836111f8565b90508015610d94575f610cea84604001516001600160801b031685606001516001600160801b031684610f009092919063ffffffff16565b9050610cfe89606001518a5f01518361120f565b6040516320b76e8160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906320b76e8190610d509088905f9087903090600401611bf9565b60408051808303815f875af1158015610d6b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d8f9190611b58565b509550505b505050509392505050565b6040805160a0810182525f808252602082018190528183018190526060820181905260808201529051632c3c915760e01b8152600481018390526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632c3c91579060240160a060405180830381865afa158015610e28573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d09190611c3a565b6040805160c0810182525f80825260208201819052818301819052606082018190526080820181905260a08201529051632e3071cd60e11b8152600481018390526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635c60e39a9060240160c060405180830381865afa158015610edc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d09190611cca565b5f6105b8610f0f6001856119d7565b610f1c620f4240856119d7565b869190611276565b5f6104d030836112a1565b801580610f4457506001600160a01b03821630145b15610f4e57505050565b6001600160a01b038316610ff3575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114610fa5576040519150601f19603f3d011682016040523d82523d5f602084013e610faa565b606091505b5050905080610fed5760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b604482015260640161024e565b50505050565b6110076001600160a01b0384168383611330565b505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638720316d6110498560200151610d9f565b85516040516001600160e01b031960e085901b16815261107192918791309190600401611d68565b5f604051808303815f87803b158015611088575f5ffd5b505af115801561109a573d5f5f3e3d5ffd5b509395945050505050565b5f6110b88360400151845f01518461120f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663238d65796110f48560200151610d9f565b84306040518463ffffffff1660e01b815260040161107193929190611d9c565b6001600160a01b038216611126575050565b61113860026001600160601b03611dd4565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa15801561118f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111b39190611a24565b10156111d0576111c482825f611386565b6111d082825f19611386565b5050565b5f6105b86111e5620f4240846119d7565b6111f06001866119d7565b869190611495565b5f8183106112065781611208565b825b9392505050565b6001600160a01b03831661125b578034146110075760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b604482015260640161024e565b8015611007576110076001600160a01b0384168330846114a1565b5f816112836001826119ea565b61128d8587611e02565b61129791906119d7565b6105b89190611a11565b5f6001600160a01b03821615611321576040516370a0823160e01b81526001600160a01b038316906370a08231906112dd9086906004016117ef565b602060405180830381865afa1580156112f8573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131c9190611a24565b611208565b50506001600160a01b03163190565b6110078363a9059cbb60e01b848460405160240161134f929190611e19565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526114d9565b5f5f846001600160a01b031663095ea7b360e01b85856040516024016113ad929190611e19565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516113eb9190611e32565b5f604051808303815f865af19150503d805f8114611424576040519150601f19603f3d011682016040523d82523d5f602084013e611429565b606091505b50915091508180156114535750805115806114535750808060200190518101906114539190611e48565b61148e5760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b604482015260640161024e565b5050505050565b5f816112978486611e02565b6040516001600160a01b0380851660248301528316604482015260648101829052610fed9085906323b872dd60e01b9060840161134f565b5f61152d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166115ac9092919063ffffffff16565b905080515f148061154d57508080602001905181019061154d9190611e48565b6110075760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161024e565b60606105b884845f85855f5f866001600160a01b031685876040516115d19190611e32565b5f6040518083038185875af1925050503d805f811461160b576040519150601f19603f3d011682016040523d82523d5f602084013e611610565b606091505b50915091506116218783838761162c565b979650505050505050565b6060831561169a5782515f03611693576001600160a01b0385163b6116935760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161024e565b50816105b8565b6105b883838151156116af5781518083602001fd5b8060405162461bcd60e51b815260040161024e9190611e67565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715611705576117056116c9565b604052919050565b6001600160a01b0381168114610260575f5ffd5b5f60808284031215611731575f5ffd5b604051608081016001600160401b0381118282101715611753576117536116c9565b60405290508082356117648161170d565b815260208381013590820152604083013561177e8161170d565b604082015260608301356117918161170d565b6060919091015292915050565b5f608082840312156117ae575f5ffd5b6112088383611721565b5f5f60a083850312156117c9575f5ffd5b6117d38484611721565b946080939093013593505050565b918252602082015260400190565b6001600160a01b0391909116815260200190565b5f82601f830112611812575f5ffd5b81356001600160401b0381111561182b5761182b6116c9565b8060051b61183b602082016116dd565b91825260208185018101929081019086841115611856575f5ffd5b6020860192505b838310156118815782356118708161170d565b82526020928301929091019061185d565b9695505050505050565b5f5f5f5f5f60e0868803121561189f575f5ffd5b6118a98787611721565b945060808601356118b98161170d565b935060a08601356001600160401b038111156118d3575f5ffd5b8601601f810188136118e3575f5ffd5b80356001600160401b038111156118f8575f5ffd5b886020828401011115611909575f5ffd5b6020919091019350915060c08601356001600160401b0381111561192b575f5ffd5b61193788828901611803565b9150509295509295909350565b5f8151808452602084019350602083015f5b82811015611974578151865260209586019590910190600101611956565b5093949350505050565b602081525f6112086020830184611944565b602080825260199082015278135bdb995e53585c9ad95d0e881d5b985d5d1a1bdc9a5e9959603a1b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156104d0576104d06119c3565b818103818111156104d0576104d06119c3565b634e487b7160e01b5f52601260045260245ffd5b5f82611a1f57611a1f6119fd565b500490565b5f60208284031215611a34575f5ffd5b5051919050565b80516001600160a01b03908116835260208083015182169084015260408083015182169084015260608083015190911690830152608090810151910152565b60a081016104d08284611a3b565b634e487b7160e01b5f52603260045260245ffd5b818382375f9101908152919050565b5f60208284031215611abb575f5ffd5b81516112088161170d565b604080825283519082018190525f9060208501906060840190835b81811015611b085783516001600160a01b0316835260209384019390920191600101611ae1565b505083810360208501526118818186611944565b6101208101611b2b8288611a3b565b60a082019590955260c08101939093526001600160a01b0391821660e08401521661010090910152919050565b5f5f60408385031215611b69575f5ffd5b505080516020909101519092909150565b80516001600160801b0381168114611b90575f5ffd5b919050565b5f6060828403128015611ba6575f5ffd5b50604051606081016001600160401b0381118282101715611bc957611bc96116c9565b60405282518152611bdc60208401611b7a565b6020820152611bed60408401611b7a565b60408201529392505050565b611c038186611a3b565b60a081019390935260c08301919091526001600160a01b031660e082015261012061010082018190525f9082015261014001919050565b5f60a0828403128015611c4b575f5ffd5b5060405160a081016001600160401b0381118282101715611c6e57611c6e6116c9565b6040528251611c7c8161170d565b81526020830151611c8c8161170d565b60208201526040830151611c9f8161170d565b60408201526060830151611cb28161170d565b60608201526080928301519281019290925250919050565b5f60c0828403128015611cdb575f5ffd5b5060405160c081016001600160401b0381118282101715611cfe57611cfe6116c9565b604052611d0a83611b7a565b8152611d1860208401611b7a565b6020820152611d2960408401611b7a565b6040820152611d3a60608401611b7a565b6060820152611d4b60808401611b7a565b6080820152611d5c60a08401611b7a565b60a08201529392505050565b6101008101611d778287611a3b565b60a08201949094526001600160a01b0392831660c0820152911660e090910152919050565b611da68185611a3b565b60a08101929092526001600160a01b031660c082015261010060e082018190525f9082015261012001919050565b5f6001600160601b03831680611dec57611dec6119fd565b6001600160601b03929092169190910492915050565b80820281158282048414176104d0576104d06119c3565b6001600160a01b03929092168252602082015260400190565b5f82518060208501845e5f920191825250919050565b5f60208284031215611e58575f5ffd5b81518015158114611208575f5ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f8301168401019150509291505056fea2646970667358221220e280327576c3fb9aa9faad37f1913c45e146758c0b577c7893246b5d411b314c64736f6c634300081e0033";
638
638
 
639
639
  type MorphoBlueMoneyMarketConstructorParams =
640
640
  | [signer?: Signer]