@pendle/core-v2 0.6.2 → 0.6.4

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 (139) hide show
  1. package/build/artifacts/contracts/SuperComposableYield/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +4 -0
  2. package/build/artifacts/contracts/SuperComposableYield/ISuperComposableYield.sol/ISuperComposableYield.json +495 -0
  3. package/build/artifacts/contracts/SuperComposableYield/SCYUtils.sol/SCYUtils.dbg.json +4 -0
  4. package/build/artifacts/contracts/SuperComposableYield/SCYUtils.sol/SCYUtils.json +10 -0
  5. package/build/artifacts/contracts/SuperComposableYield/implementations/IRewardManager.sol/IRewardManager.dbg.json +4 -0
  6. package/build/artifacts/contracts/SuperComposableYield/implementations/IRewardManager.sol/IRewardManager.json +77 -0
  7. package/build/artifacts/contracts/SuperComposableYield/implementations/RewardManager.sol/RewardManager.dbg.json +4 -0
  8. package/build/artifacts/contracts/SuperComposableYield/implementations/RewardManager.sol/RewardManager.json +90 -0
  9. package/build/artifacts/contracts/SuperComposableYield/implementations/SCYBase.sol/SCYBase.dbg.json +4 -0
  10. package/build/artifacts/contracts/SuperComposableYield/implementations/SCYBase.sol/SCYBase.json +556 -0
  11. package/build/artifacts/contracts/SuperComposableYield/implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +4 -0
  12. package/build/artifacts/contracts/SuperComposableYield/implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.json +641 -0
  13. package/build/artifacts/contracts/core/PendleBaseToken.sol/PendleBaseToken.dbg.json +4 -0
  14. package/build/artifacts/contracts/core/PendleBaseToken.sol/PendleBaseToken.json +333 -0
  15. package/build/artifacts/contracts/core/PendleMarket.sol/PendleMarket.dbg.json +4 -0
  16. package/build/artifacts/contracts/core/PendleMarket.sol/PendleMarket.json +842 -0
  17. package/build/artifacts/contracts/core/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +4 -0
  18. package/build/artifacts/contracts/core/PendleMarketFactory.sol/PendleMarketFactory.json +265 -0
  19. package/build/artifacts/contracts/core/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +4 -0
  20. package/build/artifacts/contracts/core/PendlePrincipalToken.sol/PendlePrincipalToken.json +452 -0
  21. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.dbg.json +4 -0
  22. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.json +230 -0
  23. package/build/artifacts/contracts/core/PendleSCYImpl/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.dbg.json +4 -0
  24. package/build/artifacts/contracts/core/PendleSCYImpl/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.json +783 -0
  25. package/build/artifacts/contracts/core/PendleSCYImpl/AaveV3/WadRayMath.sol/WadRayMath.dbg.json +4 -0
  26. package/build/artifacts/contracts/core/PendleSCYImpl/AaveV3/WadRayMath.sol/WadRayMath.json +10 -0
  27. package/build/artifacts/contracts/core/PendleSCYImpl/PendleBenQiErc20SCY.sol/PendleBenQiErc20SCY.dbg.json +4 -0
  28. package/build/artifacts/contracts/core/PendleSCYImpl/PendleBenQiErc20SCY.sol/PendleBenQiErc20SCY.json +766 -0
  29. package/build/artifacts/contracts/core/PendleSCYImpl/PendleBtrflySCY.sol/PendleBtrflyScy.dbg.json +4 -0
  30. package/build/artifacts/contracts/core/PendleSCYImpl/PendleBtrflySCY.sol/PendleBtrflyScy.json +641 -0
  31. package/build/artifacts/contracts/core/PendleSCYImpl/PendleStETHSCY.sol/PendleStEthSCY.dbg.json +4 -0
  32. package/build/artifacts/contracts/core/PendleSCYImpl/PendleStETHSCY.sol/PendleStEthSCY.json +623 -0
  33. package/build/artifacts/contracts/core/PendleSCYImpl/PendleYearnVaultSCY.sol/PendleYearnVaultScy.dbg.json +4 -0
  34. package/build/artifacts/contracts/core/PendleSCYImpl/PendleYearnVaultSCY.sol/PendleYearnVaultScy.json +623 -0
  35. package/build/artifacts/contracts/core/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +4 -0
  36. package/build/artifacts/contracts/core/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +339 -0
  37. package/build/artifacts/contracts/core/PendleYieldToken.sol/PendleYieldToken.dbg.json +4 -0
  38. package/build/artifacts/contracts/core/PendleYieldToken.sol/PendleYieldToken.json +808 -0
  39. package/build/artifacts/contracts/core/RouterStatic.sol/RouterStatic.dbg.json +4 -0
  40. package/build/artifacts/contracts/core/RouterStatic.sol/RouterStatic.json +862 -0
  41. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.dbg.json +4 -0
  42. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.json +58 -0
  43. package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.dbg.json +4 -0
  44. package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.json +750 -0
  45. package/build/artifacts/contracts/core/actions/ActionRedeem.sol/ActionRedeem.dbg.json +4 -0
  46. package/build/artifacts/contracts/core/actions/ActionRedeem.sol/ActionRedeem.json +55 -0
  47. package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.dbg.json +4 -0
  48. package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.json +521 -0
  49. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPTBase.sol/ActionSCYAndPTBase.dbg.json +4 -0
  50. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPTBase.sol/ActionSCYAndPTBase.json +10 -0
  51. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.dbg.json +4 -0
  52. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.json +185 -0
  53. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.dbg.json +4 -0
  54. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.json +210 -0
  55. package/build/artifacts/contracts/core/actions/base/ActionType.sol/ActionType.dbg.json +4 -0
  56. package/build/artifacts/contracts/core/actions/base/ActionType.sol/ActionType.json +10 -0
  57. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +4 -0
  58. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.json +213 -0
  59. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +4 -0
  60. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.json +87 -0
  61. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +4 -0
  62. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.json +59 -0
  63. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +4 -0
  64. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.json +44 -0
  65. package/build/artifacts/contracts/interfaces/IJoePair.sol/IJoePair.dbg.json +4 -0
  66. package/build/artifacts/contracts/interfaces/IJoePair.sol/IJoePair.json +662 -0
  67. package/build/artifacts/contracts/interfaces/IJoeRouter01.sol/IJoeRouter01.dbg.json +4 -0
  68. package/build/artifacts/contracts/interfaces/IJoeRouter01.sol/IJoeRouter01.json +760 -0
  69. package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.dbg.json +4 -0
  70. package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.json +555 -0
  71. package/build/artifacts/contracts/interfaces/IPActionRedeem.sol/IPActionRedeem.dbg.json +4 -0
  72. package/build/artifacts/contracts/interfaces/IPActionRedeem.sol/IPActionRedeem.json +55 -0
  73. package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.dbg.json +4 -0
  74. package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.json +306 -0
  75. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +4 -0
  76. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +894 -0
  77. package/build/artifacts/contracts/interfaces/IPBaseToken.sol/IPBaseToken.dbg.json +4 -0
  78. package/build/artifacts/contracts/interfaces/IPBaseToken.sol/IPBaseToken.json +259 -0
  79. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +4 -0
  80. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.json +24 -0
  81. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +4 -0
  82. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +670 -0
  83. package/build/artifacts/contracts/interfaces/IPMarketAddRemoveCallback.sol/IPMarketAddRemoveCallback.dbg.json +4 -0
  84. package/build/artifacts/contracts/interfaces/IPMarketAddRemoveCallback.sol/IPMarketAddRemoveCallback.json +67 -0
  85. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +4 -0
  86. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.json +96 -0
  87. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +4 -0
  88. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.json +34 -0
  89. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +4 -0
  90. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.json +24 -0
  91. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +4 -0
  92. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.json +334 -0
  93. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +4 -0
  94. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +820 -0
  95. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +4 -0
  96. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.json +206 -0
  97. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +4 -0
  98. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.json +595 -0
  99. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +4 -0
  100. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.json +258 -0
  101. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +4 -0
  102. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.json +207 -0
  103. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +4 -0
  104. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.json +92 -0
  105. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +4 -0
  106. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.json +252 -0
  107. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +4 -0
  108. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.json +119 -0
  109. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +4 -0
  110. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.json +62 -0
  111. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +4 -0
  112. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.json +62 -0
  113. package/build/artifacts/contracts/libraries/JoeLibrary.sol/JoeLibrary.dbg.json +4 -0
  114. package/build/artifacts/contracts/libraries/JoeLibrary.sol/JoeLibrary.json +10 -0
  115. package/build/artifacts/contracts/libraries/SCYIndex.sol/SCYIndexLib.dbg.json +4 -0
  116. package/build/artifacts/contracts/libraries/SCYIndex.sol/SCYIndexLib.json +10 -0
  117. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +4 -0
  118. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.json +10 -0
  119. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +4 -0
  120. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.json +10 -0
  121. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.dbg.json +4 -0
  122. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.json +10 -0
  123. package/build/artifacts/contracts/libraries/math/MarketMathAux.sol/MarketMathAux.dbg.json +4 -0
  124. package/build/artifacts/contracts/libraries/math/MarketMathAux.sol/MarketMathAux.json +10 -0
  125. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.dbg.json +4 -0
  126. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.json +10 -0
  127. package/build/artifacts/contracts/libraries/math/Math.sol/Math.dbg.json +4 -0
  128. package/build/artifacts/contracts/libraries/math/Math.sol/Math.json +10 -0
  129. package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.dbg.json +4 -0
  130. package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.json +87 -0
  131. package/build/artifacts/contracts/periphery/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.dbg.json +4 -0
  132. package/build/artifacts/contracts/periphery/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.json +37 -0
  133. package/build/artifacts/contracts/periphery/PermissionsV2Upg.sol/PermissionsV2Upg.dbg.json +4 -0
  134. package/build/artifacts/contracts/periphery/PermissionsV2Upg.sol/PermissionsV2Upg.json +24 -0
  135. package/contracts/core/RouterStatic.sol +4 -4
  136. package/deployments/kovan.json +34 -0
  137. package/package.json +4 -2
  138. package/typechain-types/RouterStatic.ts +4 -4
  139. package/typechain-types/factories/RouterStatic__factory.ts +3 -3
@@ -0,0 +1,783 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "PendleAaveV3SCY",
4
+ "sourceName": "contracts/core/PendleSCYImpl/AaveV3/PendleAaveV3SCY.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "string",
10
+ "name": "_name",
11
+ "type": "string"
12
+ },
13
+ {
14
+ "internalType": "string",
15
+ "name": "_symbol",
16
+ "type": "string"
17
+ },
18
+ {
19
+ "internalType": "uint8",
20
+ "name": "__scydecimals",
21
+ "type": "uint8"
22
+ },
23
+ {
24
+ "internalType": "uint8",
25
+ "name": "__assetDecimals",
26
+ "type": "uint8"
27
+ },
28
+ {
29
+ "internalType": "bytes32",
30
+ "name": "__assetId",
31
+ "type": "bytes32"
32
+ },
33
+ {
34
+ "internalType": "address",
35
+ "name": "_aavePool",
36
+ "type": "address"
37
+ },
38
+ {
39
+ "internalType": "address",
40
+ "name": "_underlying",
41
+ "type": "address"
42
+ },
43
+ {
44
+ "internalType": "address",
45
+ "name": "_aToken",
46
+ "type": "address"
47
+ },
48
+ {
49
+ "internalType": "address",
50
+ "name": "_rewardsController",
51
+ "type": "address"
52
+ }
53
+ ],
54
+ "stateMutability": "nonpayable",
55
+ "type": "constructor"
56
+ },
57
+ {
58
+ "anonymous": false,
59
+ "inputs": [
60
+ {
61
+ "indexed": true,
62
+ "internalType": "address",
63
+ "name": "owner",
64
+ "type": "address"
65
+ },
66
+ {
67
+ "indexed": true,
68
+ "internalType": "address",
69
+ "name": "spender",
70
+ "type": "address"
71
+ },
72
+ {
73
+ "indexed": false,
74
+ "internalType": "uint256",
75
+ "name": "value",
76
+ "type": "uint256"
77
+ }
78
+ ],
79
+ "name": "Approval",
80
+ "type": "event"
81
+ },
82
+ {
83
+ "anonymous": false,
84
+ "inputs": [
85
+ {
86
+ "indexed": true,
87
+ "internalType": "address",
88
+ "name": "user",
89
+ "type": "address"
90
+ },
91
+ {
92
+ "indexed": false,
93
+ "internalType": "uint256[]",
94
+ "name": "rewardsOut",
95
+ "type": "uint256[]"
96
+ }
97
+ ],
98
+ "name": "RedeemReward",
99
+ "type": "event"
100
+ },
101
+ {
102
+ "anonymous": false,
103
+ "inputs": [
104
+ {
105
+ "indexed": true,
106
+ "internalType": "address",
107
+ "name": "from",
108
+ "type": "address"
109
+ },
110
+ {
111
+ "indexed": true,
112
+ "internalType": "address",
113
+ "name": "to",
114
+ "type": "address"
115
+ },
116
+ {
117
+ "indexed": false,
118
+ "internalType": "uint256",
119
+ "name": "value",
120
+ "type": "uint256"
121
+ }
122
+ ],
123
+ "name": "Transfer",
124
+ "type": "event"
125
+ },
126
+ {
127
+ "anonymous": false,
128
+ "inputs": [
129
+ {
130
+ "indexed": false,
131
+ "internalType": "uint256",
132
+ "name": "scyIndex",
133
+ "type": "uint256"
134
+ }
135
+ ],
136
+ "name": "UpdateScyIndex",
137
+ "type": "event"
138
+ },
139
+ {
140
+ "inputs": [],
141
+ "name": "PRECISION_INDEX",
142
+ "outputs": [
143
+ {
144
+ "internalType": "uint256",
145
+ "name": "",
146
+ "type": "uint256"
147
+ }
148
+ ],
149
+ "stateMutability": "view",
150
+ "type": "function"
151
+ },
152
+ {
153
+ "inputs": [],
154
+ "name": "aToken",
155
+ "outputs": [
156
+ {
157
+ "internalType": "address",
158
+ "name": "",
159
+ "type": "address"
160
+ }
161
+ ],
162
+ "stateMutability": "view",
163
+ "type": "function"
164
+ },
165
+ {
166
+ "inputs": [],
167
+ "name": "aaveIndexCurrent",
168
+ "outputs": [
169
+ {
170
+ "internalType": "uint256",
171
+ "name": "res",
172
+ "type": "uint256"
173
+ }
174
+ ],
175
+ "stateMutability": "nonpayable",
176
+ "type": "function"
177
+ },
178
+ {
179
+ "inputs": [
180
+ {
181
+ "internalType": "address",
182
+ "name": "owner",
183
+ "type": "address"
184
+ },
185
+ {
186
+ "internalType": "address",
187
+ "name": "spender",
188
+ "type": "address"
189
+ }
190
+ ],
191
+ "name": "allowance",
192
+ "outputs": [
193
+ {
194
+ "internalType": "uint256",
195
+ "name": "",
196
+ "type": "uint256"
197
+ }
198
+ ],
199
+ "stateMutability": "view",
200
+ "type": "function"
201
+ },
202
+ {
203
+ "inputs": [
204
+ {
205
+ "internalType": "address",
206
+ "name": "spender",
207
+ "type": "address"
208
+ },
209
+ {
210
+ "internalType": "uint256",
211
+ "name": "amount",
212
+ "type": "uint256"
213
+ }
214
+ ],
215
+ "name": "approve",
216
+ "outputs": [
217
+ {
218
+ "internalType": "bool",
219
+ "name": "",
220
+ "type": "bool"
221
+ }
222
+ ],
223
+ "stateMutability": "nonpayable",
224
+ "type": "function"
225
+ },
226
+ {
227
+ "inputs": [],
228
+ "name": "assetDecimals",
229
+ "outputs": [
230
+ {
231
+ "internalType": "uint8",
232
+ "name": "",
233
+ "type": "uint8"
234
+ }
235
+ ],
236
+ "stateMutability": "view",
237
+ "type": "function"
238
+ },
239
+ {
240
+ "inputs": [],
241
+ "name": "assetId",
242
+ "outputs": [
243
+ {
244
+ "internalType": "bytes32",
245
+ "name": "",
246
+ "type": "bytes32"
247
+ }
248
+ ],
249
+ "stateMutability": "view",
250
+ "type": "function"
251
+ },
252
+ {
253
+ "inputs": [
254
+ {
255
+ "internalType": "address",
256
+ "name": "account",
257
+ "type": "address"
258
+ }
259
+ ],
260
+ "name": "balanceOf",
261
+ "outputs": [
262
+ {
263
+ "internalType": "uint256",
264
+ "name": "",
265
+ "type": "uint256"
266
+ }
267
+ ],
268
+ "stateMutability": "view",
269
+ "type": "function"
270
+ },
271
+ {
272
+ "inputs": [],
273
+ "name": "decimals",
274
+ "outputs": [
275
+ {
276
+ "internalType": "uint8",
277
+ "name": "",
278
+ "type": "uint8"
279
+ }
280
+ ],
281
+ "stateMutability": "view",
282
+ "type": "function"
283
+ },
284
+ {
285
+ "inputs": [
286
+ {
287
+ "internalType": "address",
288
+ "name": "spender",
289
+ "type": "address"
290
+ },
291
+ {
292
+ "internalType": "uint256",
293
+ "name": "subtractedValue",
294
+ "type": "uint256"
295
+ }
296
+ ],
297
+ "name": "decreaseAllowance",
298
+ "outputs": [
299
+ {
300
+ "internalType": "bool",
301
+ "name": "",
302
+ "type": "bool"
303
+ }
304
+ ],
305
+ "stateMutability": "nonpayable",
306
+ "type": "function"
307
+ },
308
+ {
309
+ "inputs": [],
310
+ "name": "getBaseTokens",
311
+ "outputs": [
312
+ {
313
+ "internalType": "address[]",
314
+ "name": "res",
315
+ "type": "address[]"
316
+ }
317
+ ],
318
+ "stateMutability": "view",
319
+ "type": "function"
320
+ },
321
+ {
322
+ "inputs": [
323
+ {
324
+ "internalType": "address",
325
+ "name": "rewardToken",
326
+ "type": "address"
327
+ }
328
+ ],
329
+ "name": "getGlobalReward",
330
+ "outputs": [
331
+ {
332
+ "internalType": "uint256",
333
+ "name": "index",
334
+ "type": "uint256"
335
+ },
336
+ {
337
+ "internalType": "uint256",
338
+ "name": "lastBalance",
339
+ "type": "uint256"
340
+ }
341
+ ],
342
+ "stateMutability": "view",
343
+ "type": "function"
344
+ },
345
+ {
346
+ "inputs": [],
347
+ "name": "getRewardTokens",
348
+ "outputs": [
349
+ {
350
+ "internalType": "address[]",
351
+ "name": "res",
352
+ "type": "address[]"
353
+ }
354
+ ],
355
+ "stateMutability": "view",
356
+ "type": "function"
357
+ },
358
+ {
359
+ "inputs": [
360
+ {
361
+ "internalType": "address",
362
+ "name": "user",
363
+ "type": "address"
364
+ },
365
+ {
366
+ "internalType": "address",
367
+ "name": "rewardToken",
368
+ "type": "address"
369
+ }
370
+ ],
371
+ "name": "getUserReward",
372
+ "outputs": [
373
+ {
374
+ "internalType": "uint256",
375
+ "name": "lastIndex",
376
+ "type": "uint256"
377
+ },
378
+ {
379
+ "internalType": "uint256",
380
+ "name": "accruedReward",
381
+ "type": "uint256"
382
+ }
383
+ ],
384
+ "stateMutability": "view",
385
+ "type": "function"
386
+ },
387
+ {
388
+ "inputs": [
389
+ {
390
+ "internalType": "address",
391
+ "name": "spender",
392
+ "type": "address"
393
+ },
394
+ {
395
+ "internalType": "uint256",
396
+ "name": "addedValue",
397
+ "type": "uint256"
398
+ }
399
+ ],
400
+ "name": "increaseAllowance",
401
+ "outputs": [
402
+ {
403
+ "internalType": "bool",
404
+ "name": "",
405
+ "type": "bool"
406
+ }
407
+ ],
408
+ "stateMutability": "nonpayable",
409
+ "type": "function"
410
+ },
411
+ {
412
+ "inputs": [
413
+ {
414
+ "internalType": "address",
415
+ "name": "token",
416
+ "type": "address"
417
+ }
418
+ ],
419
+ "name": "isValidBaseToken",
420
+ "outputs": [
421
+ {
422
+ "internalType": "bool",
423
+ "name": "res",
424
+ "type": "bool"
425
+ }
426
+ ],
427
+ "stateMutability": "view",
428
+ "type": "function"
429
+ },
430
+ {
431
+ "inputs": [],
432
+ "name": "lastRewardUpdateBlock",
433
+ "outputs": [
434
+ {
435
+ "internalType": "uint256",
436
+ "name": "",
437
+ "type": "uint256"
438
+ }
439
+ ],
440
+ "stateMutability": "view",
441
+ "type": "function"
442
+ },
443
+ {
444
+ "inputs": [],
445
+ "name": "lastScyIndex",
446
+ "outputs": [
447
+ {
448
+ "internalType": "uint256",
449
+ "name": "",
450
+ "type": "uint256"
451
+ }
452
+ ],
453
+ "stateMutability": "view",
454
+ "type": "function"
455
+ },
456
+ {
457
+ "inputs": [
458
+ {
459
+ "internalType": "address",
460
+ "name": "receiver",
461
+ "type": "address"
462
+ },
463
+ {
464
+ "internalType": "address",
465
+ "name": "baseTokenIn",
466
+ "type": "address"
467
+ },
468
+ {
469
+ "internalType": "uint256",
470
+ "name": "amountBaseToPull",
471
+ "type": "uint256"
472
+ },
473
+ {
474
+ "internalType": "uint256",
475
+ "name": "minAmountScyOut",
476
+ "type": "uint256"
477
+ }
478
+ ],
479
+ "name": "mint",
480
+ "outputs": [
481
+ {
482
+ "internalType": "uint256",
483
+ "name": "amountScyOut",
484
+ "type": "uint256"
485
+ }
486
+ ],
487
+ "stateMutability": "nonpayable",
488
+ "type": "function"
489
+ },
490
+ {
491
+ "inputs": [
492
+ {
493
+ "internalType": "address",
494
+ "name": "receiver",
495
+ "type": "address"
496
+ },
497
+ {
498
+ "internalType": "address",
499
+ "name": "baseTokenIn",
500
+ "type": "address"
501
+ },
502
+ {
503
+ "internalType": "uint256",
504
+ "name": "minAmountScyOut",
505
+ "type": "uint256"
506
+ }
507
+ ],
508
+ "name": "mintNoPull",
509
+ "outputs": [
510
+ {
511
+ "internalType": "uint256",
512
+ "name": "",
513
+ "type": "uint256"
514
+ }
515
+ ],
516
+ "stateMutability": "nonpayable",
517
+ "type": "function"
518
+ },
519
+ {
520
+ "inputs": [],
521
+ "name": "name",
522
+ "outputs": [
523
+ {
524
+ "internalType": "string",
525
+ "name": "",
526
+ "type": "string"
527
+ }
528
+ ],
529
+ "stateMutability": "view",
530
+ "type": "function"
531
+ },
532
+ {
533
+ "inputs": [],
534
+ "name": "pool",
535
+ "outputs": [
536
+ {
537
+ "internalType": "address",
538
+ "name": "",
539
+ "type": "address"
540
+ }
541
+ ],
542
+ "stateMutability": "view",
543
+ "type": "function"
544
+ },
545
+ {
546
+ "inputs": [
547
+ {
548
+ "internalType": "address",
549
+ "name": "receiver",
550
+ "type": "address"
551
+ },
552
+ {
553
+ "internalType": "address",
554
+ "name": "baseTokenOut",
555
+ "type": "address"
556
+ },
557
+ {
558
+ "internalType": "uint256",
559
+ "name": "amountScyToPull",
560
+ "type": "uint256"
561
+ },
562
+ {
563
+ "internalType": "uint256",
564
+ "name": "minAmountBaseOut",
565
+ "type": "uint256"
566
+ }
567
+ ],
568
+ "name": "redeem",
569
+ "outputs": [
570
+ {
571
+ "internalType": "uint256",
572
+ "name": "amountBaseOut",
573
+ "type": "uint256"
574
+ }
575
+ ],
576
+ "stateMutability": "nonpayable",
577
+ "type": "function"
578
+ },
579
+ {
580
+ "inputs": [
581
+ {
582
+ "internalType": "address",
583
+ "name": "receiver",
584
+ "type": "address"
585
+ },
586
+ {
587
+ "internalType": "address",
588
+ "name": "baseTokenOut",
589
+ "type": "address"
590
+ },
591
+ {
592
+ "internalType": "uint256",
593
+ "name": "minAmountBaseOut",
594
+ "type": "uint256"
595
+ }
596
+ ],
597
+ "name": "redeemNoPull",
598
+ "outputs": [
599
+ {
600
+ "internalType": "uint256",
601
+ "name": "",
602
+ "type": "uint256"
603
+ }
604
+ ],
605
+ "stateMutability": "nonpayable",
606
+ "type": "function"
607
+ },
608
+ {
609
+ "inputs": [
610
+ {
611
+ "internalType": "address",
612
+ "name": "user",
613
+ "type": "address"
614
+ }
615
+ ],
616
+ "name": "redeemReward",
617
+ "outputs": [
618
+ {
619
+ "internalType": "uint256[]",
620
+ "name": "outAmounts",
621
+ "type": "uint256[]"
622
+ }
623
+ ],
624
+ "stateMutability": "nonpayable",
625
+ "type": "function"
626
+ },
627
+ {
628
+ "inputs": [],
629
+ "name": "rewardsController",
630
+ "outputs": [
631
+ {
632
+ "internalType": "address",
633
+ "name": "",
634
+ "type": "address"
635
+ }
636
+ ],
637
+ "stateMutability": "view",
638
+ "type": "function"
639
+ },
640
+ {
641
+ "inputs": [],
642
+ "name": "scyIndexCurrent",
643
+ "outputs": [
644
+ {
645
+ "internalType": "uint256",
646
+ "name": "res",
647
+ "type": "uint256"
648
+ }
649
+ ],
650
+ "stateMutability": "nonpayable",
651
+ "type": "function"
652
+ },
653
+ {
654
+ "inputs": [],
655
+ "name": "scyIndexStored",
656
+ "outputs": [
657
+ {
658
+ "internalType": "uint256",
659
+ "name": "res",
660
+ "type": "uint256"
661
+ }
662
+ ],
663
+ "stateMutability": "view",
664
+ "type": "function"
665
+ },
666
+ {
667
+ "inputs": [],
668
+ "name": "symbol",
669
+ "outputs": [
670
+ {
671
+ "internalType": "string",
672
+ "name": "",
673
+ "type": "string"
674
+ }
675
+ ],
676
+ "stateMutability": "view",
677
+ "type": "function"
678
+ },
679
+ {
680
+ "inputs": [],
681
+ "name": "totalSupply",
682
+ "outputs": [
683
+ {
684
+ "internalType": "uint256",
685
+ "name": "",
686
+ "type": "uint256"
687
+ }
688
+ ],
689
+ "stateMutability": "view",
690
+ "type": "function"
691
+ },
692
+ {
693
+ "inputs": [
694
+ {
695
+ "internalType": "address",
696
+ "name": "to",
697
+ "type": "address"
698
+ },
699
+ {
700
+ "internalType": "uint256",
701
+ "name": "amount",
702
+ "type": "uint256"
703
+ }
704
+ ],
705
+ "name": "transfer",
706
+ "outputs": [
707
+ {
708
+ "internalType": "bool",
709
+ "name": "",
710
+ "type": "bool"
711
+ }
712
+ ],
713
+ "stateMutability": "nonpayable",
714
+ "type": "function"
715
+ },
716
+ {
717
+ "inputs": [
718
+ {
719
+ "internalType": "address",
720
+ "name": "from",
721
+ "type": "address"
722
+ },
723
+ {
724
+ "internalType": "address",
725
+ "name": "to",
726
+ "type": "address"
727
+ },
728
+ {
729
+ "internalType": "uint256",
730
+ "name": "amount",
731
+ "type": "uint256"
732
+ }
733
+ ],
734
+ "name": "transferFrom",
735
+ "outputs": [
736
+ {
737
+ "internalType": "bool",
738
+ "name": "",
739
+ "type": "bool"
740
+ }
741
+ ],
742
+ "stateMutability": "nonpayable",
743
+ "type": "function"
744
+ },
745
+ {
746
+ "inputs": [],
747
+ "name": "underlying",
748
+ "outputs": [
749
+ {
750
+ "internalType": "address",
751
+ "name": "",
752
+ "type": "address"
753
+ }
754
+ ],
755
+ "stateMutability": "view",
756
+ "type": "function"
757
+ },
758
+ {
759
+ "inputs": [],
760
+ "name": "updateGlobalReward",
761
+ "outputs": [],
762
+ "stateMutability": "nonpayable",
763
+ "type": "function"
764
+ },
765
+ {
766
+ "inputs": [
767
+ {
768
+ "internalType": "address",
769
+ "name": "user",
770
+ "type": "address"
771
+ }
772
+ ],
773
+ "name": "updateUserReward",
774
+ "outputs": [],
775
+ "stateMutability": "nonpayable",
776
+ "type": "function"
777
+ }
778
+ ],
779
+ "bytecode": "0x6101606040523480156200001257600080fd5b50604051620032d7380380620032d78339810160408190526200003591620005fe565b88888888888484848484848481600390805190602001906200005992919062000453565b5080516200006f90600490602084019062000453565b505060016005555060ff928316608052911660a05260c052505050506001600160a01b038581166101405287811661010081905287821660e081905291861661012052620000d294509092509050600019620000e1602090811b62000c8517901c565b505050505050505050620007d7565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e9060440160206040518083038186803b1580156200012e57600080fd5b505afa15801562000143573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001699190620006e2565b620001759190620006fc565b604080516001600160a01b038616602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152919250620001d191869190620001d716565b50505050565b600062000233826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620002be60201b62000d71179092919060201c565b805190915015620002b9578080602001905181019062000254919062000723565b620002b95760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084015b60405180910390fd5b505050565b6060620002cf8484600085620002d9565b90505b9392505050565b6060824710156200033c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401620002b0565b6001600160a01b0385163b620003955760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620002b0565b600080866001600160a01b03168587604051620003b3919062000747565b60006040518083038185875af1925050503d8060008114620003f2576040519150601f19603f3d011682016040523d82523d6000602084013e620003f7565b606091505b5090925090506200040a82828662000415565b979650505050505050565b6060831562000426575081620002d2565b825115620004375782518084602001fd5b8160405162461bcd60e51b8152600401620002b0919062000765565b82805462000461906200079a565b90600052602060002090601f016020900481019282620004855760008555620004d0565b82601f10620004a057805160ff1916838001178555620004d0565b82800160010185558215620004d0579182015b82811115620004d0578251825591602001919060010190620004b3565b50620004de929150620004e2565b5090565b5b80821115620004de5760008155600101620004e3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200052c57818101518382015260200162000512565b83811115620001d15750506000910152565b600082601f8301126200055057600080fd5b81516001600160401b03808211156200056d576200056d620004f9565b604051601f8301601f19908116603f01168101908282118183101715620005985762000598620004f9565b81604052838152866020858801011115620005b257600080fd5b620005c58460208301602089016200050f565b9695505050505050565b805160ff81168114620005e157600080fd5b919050565b80516001600160a01b0381168114620005e157600080fd5b60008060008060008060008060006101208a8c0312156200061e57600080fd5b89516001600160401b03808211156200063657600080fd5b620006448d838e016200053e565b9a5060208c01519150808211156200065b57600080fd5b506200066a8c828d016200053e565b9850506200067b60408b01620005cf565b96506200068b60608b01620005cf565b955060808a01519450620006a260a08b01620005e6565b9350620006b260c08b01620005e6565b9250620006c260e08b01620005e6565b9150620006d36101008b01620005e6565b90509295985092959850929598565b600060208284031215620006f557600080fd5b5051919050565b600082198211156200071e57634e487b7160e01b600052601160045260246000fd5b500190565b6000602082840312156200073657600080fd5b81518015158114620002d257600080fd5b600082516200075b8184602087016200050f565b9190910192915050565b6020815260008251806020840152620007868160408501602087016200050f565b601f01601f19169190910160400192915050565b600181811c90821680620007af57607f821691505b60208210811415620007d157634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c05160e051610100516101205161014051612a04620008d3600039600081816103d30152818161093d01528181610a0e01528181610b070152818161190901528181611a4101528181611a8f01528181611ade01528181611bb001528181611c7f01528181611d4c01528181611e680152611fa6015260008181610358015281816109e10152611ffd01526000818161020501528181610b85015281816119bd0152611dde01526000818161037f015281816108e901528181610acc01528181610bb20152818161198501528181611da20152611e3f0152600061029801526000610481015260006102510152612a046000f3fe608060405234801561001057600080fd5b50600436106101a15760003560e01c806306fdde03146101a6578063095ea7b3146101c457806314d94dd7146101e757806316f0115b1461020057806318160ddd1461023457806323b872dd1461023c578063313ce5671461024f578063395093511461028357806344de240a146102965780634be47418146102bc5780635ab764ed146102cf5780636265bc851461033757806369889d3a146103405780636bb65f53146103535780636f307dc31461037a57806370a08231146103a15780637695caa2146103b45780638e37b269146103be57806395d89b41146103c6578063a0c1f15e146103ce578063a457c2d7146103f5578063a9059cbb14610408578063b286de761461041b578063b3f1c93d1461043b578063ba50154d1461044e578063bed64c2f14610457578063c1129b1b1461046c578063c2d416011461047f578063c4f59f9b146104a5578063c6d6916c146104ad578063c9c0c082146104c0578063dd62ed3e146104d3578063df04cdf9146104e6578063f0481814146104ee578063f65d6fc814610534575b600080fd5b6101ae61053c565b6040516101bb91906123b4565b60405180910390f35b6101d76101d23660046123fc565b6105ce565b60405190151581526020016101bb565b6101f2633b9aca0081565b6040519081526020016101bb565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b6040516101bb9190612428565b6002546101f2565b6101d761024a36600461243c565b6105e8565b7f00000000000000000000000000000000000000000000000000000000000000005b60405160ff90911681526020016101bb565b6101d76102913660046123fc565b61060e565b7f00000000000000000000000000000000000000000000000000000000000000006101f2565b6101f26102ca36600461247d565b61064d565b6103226102dd3660046124c3565b6001600160a01b039182166000908152600960209081526040808320939094168252918252829020825180840190935280548084526001909101549290910182905291565b604080519283526020830191909152016101bb565b6101f2600a5481565b6101f261034e36600461243c565b6106a5565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b6101f26103af3660046124fc565b6106e7565b6103bc610702565b005b600a546101f2565b6101ae610739565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b6101d76104033660046123fc565b610748565b6101d76104163660046123fc565b6107e5565b61042e6104293660046124fc565b6107f3565b6040516101bb9190612519565b6101f261044936600461247d565b61087d565b6101f260075481565b61045f6108c7565b6040516101bb91906125a1565b6101f261047a36600461243c565b610992565b7f0000000000000000000000000000000000000000000000000000000000000000610271565b61045f6109c7565b6103bc6104bb3660046124fc565b610a8f565b6101d76104ce3660046124fc565b610ac8565b6101f26104e13660046124c3565b610b40565b6101f2610b6b565b6103226104fc3660046124fc565b6001600160a01b0316600090815260086020908152604091829020825180840190935280548084526001909101549290910182905291565b6101f2610c40565b60606003805461054b906125b4565b80601f0160208091040260200160405190810160405280929190818152602001828054610577906125b4565b80156105c45780601f10610599576101008083540402835291602001916105c4565b820191906000526020600020905b8154815290600101906020018083116105a757829003601f168201915b5050505050905090565b6000336105dc818585610d88565b60019150505b92915050565b6000336105f6858285610eac565b610601858585610f20565b60019150505b9392505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906105dc9082908690610648908790612605565b610d88565b60006002600554141561067b5760405162461bcd60e51b81526004016106729061261d565b60405180910390fd5b600260055561068b3330856105e8565b506106978585846110e7565b600160055595945050505050565b6000600260055414156106ca5760405162461bcd60e51b81526004016106729061261d565b60026005556106da848484611176565b6001600555949350505050565b6001600160a01b031660009081526020819052604090205490565b600260055414156107255760405162461bcd60e51b81526004016106729061261d565b60026005556107326111e0565b6001600555565b60606004805461054b906125b4565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156107cd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610672565b6107da8286868403610d88565b506001949350505050565b6000336105dc818585610f20565b6060600260055414156108185760405162461bcd60e51b81526004016106729061261d565b600260055561082682611359565b610830828361136d565b9050816001600160a01b03167f3a77fed7c9a4917745bde0b97b576d95b02425a5222ff309ebb6e1d34c18a10f8260405161086b9190612519565b60405180910390a26001600555919050565b6000600260055414156108a25760405162461bcd60e51b81526004016106729061261d565b60026005556108bc6001600160a01b03851633308661154a565b610697858584611176565b60408051600280825260608083018452926020830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061091b5761091b61266a565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061096f5761096f61266a565b60200260200101906001600160a01b031690816001600160a01b03168152505090565b6000600260055414156109b75760405162461bcd60e51b81526004016106729061261d565b60026005556106da8484846110e7565b604051636657732f60e01b81526060906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636657732f90610a36907f000000000000000000000000000000000000000000000000000000000000000090600401612428565b60006040518083038186803b158015610a4e57600080fd5b505afa158015610a62573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a8a9190810190612747565b905090565b60026005541415610ab25760405162461bcd60e51b81526004016106729061261d565b6002600555610ac081611359565b506001600555565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614806105e257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161492915050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60405163d15e005360e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d15e005390610bda907f000000000000000000000000000000000000000000000000000000000000000090600401612428565b60206040518083038186803b158015610bf257600080fd5b505afa158015610c06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2a919061277b565b9050610c3a633b9aca00826127aa565b600a5590565b6000610c4a610b6b565b5050600a546040518181527fbccccf411823b290c704d60c85a456e04528fff86811afd664d6ebf56347f5859060200160405180910390a190565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e9060440160206040518083038186803b158015610cd157600080fd5b505afa158015610ce5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d09919061277b565b610d139190612605565b9050610d6b8463095ea7b360e01b8584604051602401610d349291906127cc565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611582565b50505050565b6060610d808484600085611654565b949350505050565b6001600160a01b038316610dea5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610672565b6001600160a01b038216610e4b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610672565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610eb88484610b40565b90506000198114610d6b5781811015610f135760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610672565b610d6b8484848403610d88565b6001600160a01b038316610f845760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610672565b6001600160a01b038216610fe65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610672565b610ff1838383611785565b6001600160a01b038316600090815260208190526040902054818110156110695760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610672565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906110a0908490612605565b92505081905550826001600160a01b0316846001600160a01b03166000805160206129af833981519152846040516110da91815260200190565b60405180910390a3610d6b565b60006110f283610ac8565b61110e5760405162461bcd60e51b8152600401610672906127e5565b6000611119306106e7565b905061112530826117bd565b61112f8482611905565b9150828210156111515760405162461bcd60e51b815260040161067290612811565b6111656001600160a01b0385168684611a6e565b61116e84611a8d565b509392505050565b600061118183610ac8565b61119d5760405162461bcd60e51b8152600401610672906127e5565b60006111a884611bab565b90506111b48482611d48565b9150828210156111d65760405162461bcd60e51b815260040161067290612811565b61116e8583611e8c565b6111e8611f66565b6111ee57565b6111f6611f82565b600061120061208c565b9050600061120c6109c7565b905061121781612097565b60005b81518110156113545760008282815181106112375761123761266a565b602002602001015190506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161126f9190612428565b60206040518083038186803b15801561128757600080fd5b505afa15801561129b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bf919061277b565b90508415611327576001600160a01b0382166000908152600860205260409020600101546112f99086906112f3908461283b565b9061213a565b6001600160a01b03831660009081526008602052604081208054909190611321908490612605565b90915550505b6001600160a01b0390911660009081526008602052604090206001015561134d81612852565b905061121a565b505050565b6113616111e0565b61136a81612169565b50565b606060006113796109c7565b905080516001600160401b0381111561139457611394612654565b6040519080825280602002602001820160405280156113bd578160200160208202803683370190505b50915060005b81518110156115425760008282815181106113e0576113e061266a565b6020026020010151905060096000876001600160a01b03166001600160a01b031681526020019081526020016000206000826001600160a01b03166001600160a01b03168152602001908152602001600020600101548483815181106114485761144861266a565b6020908102919091018101919091526001600160a01b03808816600090815260098352604080822092851682529190925281206001015583518490839081106114935761149361266a565b602002602001015160086000836001600160a01b03166001600160a01b0316815260200190815260200160002060010160008282546114d2919061283b565b925050819055508382815181106114eb576114eb61266a565b602002602001015160001461153157611531858584815181106115105761151061266a565b6020026020010151836001600160a01b0316611a6e9092919063ffffffff16565b5061153b81612852565b90506113c3565b505092915050565b6040516001600160a01b0380851660248301528316604482015260648101829052610d6b9085906323b872dd60e01b90608401610d34565b60006115d7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610d719092919063ffffffff16565b80519091501561135457808060200190518101906115f5919061286d565b6113545760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610672565b6060824710156116b55760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610672565b6001600160a01b0385163b61170c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610672565b600080866001600160a01b03168587604051611728919061288f565b60006040518083038185875af1925050503d8060008114611765576040519150601f19603f3d011682016040523d82523d6000602084013e61176a565b606091505b509150915061177a8282866122e5565b979650505050505050565b61178d6111e0565b6001600160a01b038316156117a5576117a583612169565b6001600160a01b038216156113545761135482612169565b6001600160a01b03821661181d5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610672565b61182982600083611785565b6001600160a01b0382166000908152602081905260409020548181101561189d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610672565b6001600160a01b03831660009081526020819052604081208383039055600280548492906118cc90849061283b565b90915550506040518281526000906001600160a01b038516906000805160206129af8339815191529060200160405180910390a3505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316141561195a5761195361194c610b6b565b839061231e565b90506105e2565b600061196e611967610b6b565b849061231e565b604051631a4ca37b60e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390523060448301529192507f0000000000000000000000000000000000000000000000000000000000000000909116906369328dec90606401602060405180830381600087803b158015611a0357600080fd5b505af1158015611a17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a3b919061277b565b50611a657f0000000000000000000000000000000000000000000000000000000000000000611a8d565b610d8084611bab565b6113548363a9059cbb60e01b8484604051602401610d349291906127cc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b03161415611b7f57604051630ed1279f60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631da24f3e90611b13903090600401612428565b60206040518083038186803b158015611b2b57600080fd5b505afa158015611b3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b63919061277b565b6001600160a01b03821660009081526006602052604090205550565b6040516370a0823160e01b81526001600160a01b038216906370a0823190611b13903090600401612428565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614611c68576040516370a0823160e01b81526001600160a01b038416906370a0823190611c13903090600401612428565b60206040518083038186803b158015611c2b57600080fd5b505afa158015611c3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c63919061277b565b611d04565b604051630ed1279f60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631da24f3e90611cb4903090600401612428565b60206040518083038186803b158015611ccc57600080fd5b505afa158015611ce0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d04919061277b565b6001600160a01b038416600090815260066020526040902054909150611d2a908261283b565b6001600160a01b039093166000908152600660205260409020555090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161415611d8b5750806105e2565b60405163617ba03760e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015260248201849052306044830152600060648301527f0000000000000000000000000000000000000000000000000000000000000000169063617ba03790608401600060405180830381600087803b158015611e2257600080fd5b505af1158015611e36573d6000803e3d6000fd5b50505050611e637f0000000000000000000000000000000000000000000000000000000000000000611a8d565b6106077f0000000000000000000000000000000000000000000000000000000000000000611bab565b6001600160a01b038216611ee25760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610672565b611eee60008383611785565b8060026000828254611f009190612605565b90915550506001600160a01b03821660009081526020819052604081208054839290611f2d908490612605565b90915550506040518181526001600160a01b038316906000906000805160206129af8339815191529060200160405180910390a35b5050565b6000436007541415611f785750600090565b5043600755600190565b604080516001808252818301909252600091602080830190803683370190505090507f000000000000000000000000000000000000000000000000000000000000000081600081518110611fd857611fd861266a565b6001600160a01b03928316602091820292909201015260405163bb492bf560e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063bb492bf59061203690849030906004016128ab565b600060405180830381600087803b15801561205057600080fd5b505af1158015612064573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261135491908101906128d5565b6000610a8a60025490565b60005b8151811015611f6257600860008383815181106120b9576120b961266a565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600001546000141561212a576001600860008484815181106121055761210561266a565b6020908102919091018101516001600160a01b03168252810191909152604001600020555b61213381612852565b905061209a565b60008061214f670de0b6b3a76400008561298f565b905082818161216057612160612794565b04949350505050565b60006121736109c7565b905060006121808361235f565b905060005b8251811015610d6b5760008382815181106121a2576121a261266a565b6020908102919091018101516001600160a01b038088166000908152600984526040808220928416825291845281812054600890945220549092508114156121eb5750506122d5565b8061222757506001600160a01b0390811660008181526008602090815260408083205494891683526009825280832093835292905220556122d5565b6001600160a01b03821660009081526008602052604081205461224b90839061283b565b90506000612259868361236a565b6001600160a01b03808a166000908152600960209081526040808320938916835292905290812060010180549293508392909190612298908490612605565b9091555050506001600160a01b03928316600081815260086020908152604080832054968b16835260098252808320938352929052209290925550505b6122de81612852565b9050612185565b606083156122f4575081610607565b8251156123045782518084602001fd5b8160405162461bcd60e51b815260040161067291906123b4565b60008115676765c793fa10079d601a1b198390048411151761233f57600080fd5b50676765c793fa10079d601b1b9102676765c793fa10079d601a1b010490565b60006105e2826106e7565b600080612377838561298f565b9050670de0b6b3a764000081612160565b60005b838110156123a357818101518382015260200161238b565b83811115610d6b5750506000910152565b60208152600082518060208401526123d3816040850160208701612388565b601f01601f19169190910160400192915050565b6001600160a01b038116811461136a57600080fd5b6000806040838503121561240f57600080fd5b823561241a816123e7565b946020939093013593505050565b6001600160a01b0391909116815260200190565b60008060006060848603121561245157600080fd5b833561245c816123e7565b9250602084013561246c816123e7565b929592945050506040919091013590565b6000806000806080858703121561249357600080fd5b843561249e816123e7565b935060208501356124ae816123e7565b93969395505050506040820135916060013590565b600080604083850312156124d657600080fd5b82356124e1816123e7565b915060208301356124f1816123e7565b809150509250929050565b60006020828403121561250e57600080fd5b8135610607816123e7565b6020808252825182820181905260009190848201906040850190845b8181101561255157835183529284019291840191600101612535565b50909695505050505050565b600081518084526020808501945080840160005b838110156125965781516001600160a01b031687529582019590820190600101612571565b509495945050505050565b602081526000610607602083018461255d565b600181811c908216806125c857607f821691505b602082108114156125e957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115612618576126186125ef565b500190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156126a8576126a8612654565b604052919050565b60006001600160401b038211156126c9576126c9612654565b5060051b60200190565b600082601f8301126126e457600080fd5b815160206126f96126f4836126b0565b612680565b82815260059290921b8401810191818101908684111561271857600080fd5b8286015b8481101561273c57805161272f816123e7565b835291830191830161271c565b509695505050505050565b60006020828403121561275957600080fd5b81516001600160401b0381111561276f57600080fd5b610d80848285016126d3565b60006020828403121561278d57600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fd5b6000826127c757634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b03929092168252602082015260400190565b60208082526012908201527134b73b30b634b2103130b9b2903a37b5b2b760711b604082015260600190565b60208082526010908201526f1a5b9cdd59999a58da595b9d081bdd5d60821b604082015260600190565b60008282101561284d5761284d6125ef565b500390565b6000600019821415612866576128666125ef565b5060010190565b60006020828403121561287f57600080fd5b8151801515811461060757600080fd5b600082516128a1818460208701612388565b9190910192915050565b6040815260006128be604083018561255d565b905060018060a01b03831660208301529392505050565b600080604083850312156128e857600080fd5b82516001600160401b03808211156128ff57600080fd5b61290b868387016126d3565b935060209150818501518181111561292257600080fd5b85019050601f8101861361293557600080fd5b80516129436126f4826126b0565b81815260059190911b8201830190838101908883111561296257600080fd5b928401925b8284101561298057835182529284019290840190612967565b80955050505050509250929050565b60008160001904831182151516156129a9576129a96125ef565b50029056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220987dd7e786c77ea3b9b89fca5559b3abddb563dfd1567f3b3eb8ec3347d9543d64736f6c63430008090033",
780
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101a15760003560e01c806306fdde03146101a6578063095ea7b3146101c457806314d94dd7146101e757806316f0115b1461020057806318160ddd1461023457806323b872dd1461023c578063313ce5671461024f578063395093511461028357806344de240a146102965780634be47418146102bc5780635ab764ed146102cf5780636265bc851461033757806369889d3a146103405780636bb65f53146103535780636f307dc31461037a57806370a08231146103a15780637695caa2146103b45780638e37b269146103be57806395d89b41146103c6578063a0c1f15e146103ce578063a457c2d7146103f5578063a9059cbb14610408578063b286de761461041b578063b3f1c93d1461043b578063ba50154d1461044e578063bed64c2f14610457578063c1129b1b1461046c578063c2d416011461047f578063c4f59f9b146104a5578063c6d6916c146104ad578063c9c0c082146104c0578063dd62ed3e146104d3578063df04cdf9146104e6578063f0481814146104ee578063f65d6fc814610534575b600080fd5b6101ae61053c565b6040516101bb91906123b4565b60405180910390f35b6101d76101d23660046123fc565b6105ce565b60405190151581526020016101bb565b6101f2633b9aca0081565b6040519081526020016101bb565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b6040516101bb9190612428565b6002546101f2565b6101d761024a36600461243c565b6105e8565b7f00000000000000000000000000000000000000000000000000000000000000005b60405160ff90911681526020016101bb565b6101d76102913660046123fc565b61060e565b7f00000000000000000000000000000000000000000000000000000000000000006101f2565b6101f26102ca36600461247d565b61064d565b6103226102dd3660046124c3565b6001600160a01b039182166000908152600960209081526040808320939094168252918252829020825180840190935280548084526001909101549290910182905291565b604080519283526020830191909152016101bb565b6101f2600a5481565b6101f261034e36600461243c565b6106a5565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b6101f26103af3660046124fc565b6106e7565b6103bc610702565b005b600a546101f2565b6101ae610739565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b6101d76104033660046123fc565b610748565b6101d76104163660046123fc565b6107e5565b61042e6104293660046124fc565b6107f3565b6040516101bb9190612519565b6101f261044936600461247d565b61087d565b6101f260075481565b61045f6108c7565b6040516101bb91906125a1565b6101f261047a36600461243c565b610992565b7f0000000000000000000000000000000000000000000000000000000000000000610271565b61045f6109c7565b6103bc6104bb3660046124fc565b610a8f565b6101d76104ce3660046124fc565b610ac8565b6101f26104e13660046124c3565b610b40565b6101f2610b6b565b6103226104fc3660046124fc565b6001600160a01b0316600090815260086020908152604091829020825180840190935280548084526001909101549290910182905291565b6101f2610c40565b60606003805461054b906125b4565b80601f0160208091040260200160405190810160405280929190818152602001828054610577906125b4565b80156105c45780601f10610599576101008083540402835291602001916105c4565b820191906000526020600020905b8154815290600101906020018083116105a757829003601f168201915b5050505050905090565b6000336105dc818585610d88565b60019150505b92915050565b6000336105f6858285610eac565b610601858585610f20565b60019150505b9392505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906105dc9082908690610648908790612605565b610d88565b60006002600554141561067b5760405162461bcd60e51b81526004016106729061261d565b60405180910390fd5b600260055561068b3330856105e8565b506106978585846110e7565b600160055595945050505050565b6000600260055414156106ca5760405162461bcd60e51b81526004016106729061261d565b60026005556106da848484611176565b6001600555949350505050565b6001600160a01b031660009081526020819052604090205490565b600260055414156107255760405162461bcd60e51b81526004016106729061261d565b60026005556107326111e0565b6001600555565b60606004805461054b906125b4565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156107cd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610672565b6107da8286868403610d88565b506001949350505050565b6000336105dc818585610f20565b6060600260055414156108185760405162461bcd60e51b81526004016106729061261d565b600260055561082682611359565b610830828361136d565b9050816001600160a01b03167f3a77fed7c9a4917745bde0b97b576d95b02425a5222ff309ebb6e1d34c18a10f8260405161086b9190612519565b60405180910390a26001600555919050565b6000600260055414156108a25760405162461bcd60e51b81526004016106729061261d565b60026005556108bc6001600160a01b03851633308661154a565b610697858584611176565b60408051600280825260608083018452926020830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061091b5761091b61266a565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061096f5761096f61266a565b60200260200101906001600160a01b031690816001600160a01b03168152505090565b6000600260055414156109b75760405162461bcd60e51b81526004016106729061261d565b60026005556106da8484846110e7565b604051636657732f60e01b81526060906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636657732f90610a36907f000000000000000000000000000000000000000000000000000000000000000090600401612428565b60006040518083038186803b158015610a4e57600080fd5b505afa158015610a62573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a8a9190810190612747565b905090565b60026005541415610ab25760405162461bcd60e51b81526004016106729061261d565b6002600555610ac081611359565b506001600555565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614806105e257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161492915050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60405163d15e005360e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d15e005390610bda907f000000000000000000000000000000000000000000000000000000000000000090600401612428565b60206040518083038186803b158015610bf257600080fd5b505afa158015610c06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2a919061277b565b9050610c3a633b9aca00826127aa565b600a5590565b6000610c4a610b6b565b5050600a546040518181527fbccccf411823b290c704d60c85a456e04528fff86811afd664d6ebf56347f5859060200160405180910390a190565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e9060440160206040518083038186803b158015610cd157600080fd5b505afa158015610ce5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d09919061277b565b610d139190612605565b9050610d6b8463095ea7b360e01b8584604051602401610d349291906127cc565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611582565b50505050565b6060610d808484600085611654565b949350505050565b6001600160a01b038316610dea5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610672565b6001600160a01b038216610e4b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610672565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610eb88484610b40565b90506000198114610d6b5781811015610f135760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610672565b610d6b8484848403610d88565b6001600160a01b038316610f845760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610672565b6001600160a01b038216610fe65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610672565b610ff1838383611785565b6001600160a01b038316600090815260208190526040902054818110156110695760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610672565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906110a0908490612605565b92505081905550826001600160a01b0316846001600160a01b03166000805160206129af833981519152846040516110da91815260200190565b60405180910390a3610d6b565b60006110f283610ac8565b61110e5760405162461bcd60e51b8152600401610672906127e5565b6000611119306106e7565b905061112530826117bd565b61112f8482611905565b9150828210156111515760405162461bcd60e51b815260040161067290612811565b6111656001600160a01b0385168684611a6e565b61116e84611a8d565b509392505050565b600061118183610ac8565b61119d5760405162461bcd60e51b8152600401610672906127e5565b60006111a884611bab565b90506111b48482611d48565b9150828210156111d65760405162461bcd60e51b815260040161067290612811565b61116e8583611e8c565b6111e8611f66565b6111ee57565b6111f6611f82565b600061120061208c565b9050600061120c6109c7565b905061121781612097565b60005b81518110156113545760008282815181106112375761123761266a565b602002602001015190506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161126f9190612428565b60206040518083038186803b15801561128757600080fd5b505afa15801561129b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bf919061277b565b90508415611327576001600160a01b0382166000908152600860205260409020600101546112f99086906112f3908461283b565b9061213a565b6001600160a01b03831660009081526008602052604081208054909190611321908490612605565b90915550505b6001600160a01b0390911660009081526008602052604090206001015561134d81612852565b905061121a565b505050565b6113616111e0565b61136a81612169565b50565b606060006113796109c7565b905080516001600160401b0381111561139457611394612654565b6040519080825280602002602001820160405280156113bd578160200160208202803683370190505b50915060005b81518110156115425760008282815181106113e0576113e061266a565b6020026020010151905060096000876001600160a01b03166001600160a01b031681526020019081526020016000206000826001600160a01b03166001600160a01b03168152602001908152602001600020600101548483815181106114485761144861266a565b6020908102919091018101919091526001600160a01b03808816600090815260098352604080822092851682529190925281206001015583518490839081106114935761149361266a565b602002602001015160086000836001600160a01b03166001600160a01b0316815260200190815260200160002060010160008282546114d2919061283b565b925050819055508382815181106114eb576114eb61266a565b602002602001015160001461153157611531858584815181106115105761151061266a565b6020026020010151836001600160a01b0316611a6e9092919063ffffffff16565b5061153b81612852565b90506113c3565b505092915050565b6040516001600160a01b0380851660248301528316604482015260648101829052610d6b9085906323b872dd60e01b90608401610d34565b60006115d7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610d719092919063ffffffff16565b80519091501561135457808060200190518101906115f5919061286d565b6113545760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610672565b6060824710156116b55760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610672565b6001600160a01b0385163b61170c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610672565b600080866001600160a01b03168587604051611728919061288f565b60006040518083038185875af1925050503d8060008114611765576040519150601f19603f3d011682016040523d82523d6000602084013e61176a565b606091505b509150915061177a8282866122e5565b979650505050505050565b61178d6111e0565b6001600160a01b038316156117a5576117a583612169565b6001600160a01b038216156113545761135482612169565b6001600160a01b03821661181d5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610672565b61182982600083611785565b6001600160a01b0382166000908152602081905260409020548181101561189d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610672565b6001600160a01b03831660009081526020819052604081208383039055600280548492906118cc90849061283b565b90915550506040518281526000906001600160a01b038516906000805160206129af8339815191529060200160405180910390a3505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316141561195a5761195361194c610b6b565b839061231e565b90506105e2565b600061196e611967610b6b565b849061231e565b604051631a4ca37b60e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390523060448301529192507f0000000000000000000000000000000000000000000000000000000000000000909116906369328dec90606401602060405180830381600087803b158015611a0357600080fd5b505af1158015611a17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a3b919061277b565b50611a657f0000000000000000000000000000000000000000000000000000000000000000611a8d565b610d8084611bab565b6113548363a9059cbb60e01b8484604051602401610d349291906127cc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b03161415611b7f57604051630ed1279f60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631da24f3e90611b13903090600401612428565b60206040518083038186803b158015611b2b57600080fd5b505afa158015611b3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b63919061277b565b6001600160a01b03821660009081526006602052604090205550565b6040516370a0823160e01b81526001600160a01b038216906370a0823190611b13903090600401612428565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614611c68576040516370a0823160e01b81526001600160a01b038416906370a0823190611c13903090600401612428565b60206040518083038186803b158015611c2b57600080fd5b505afa158015611c3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c63919061277b565b611d04565b604051630ed1279f60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631da24f3e90611cb4903090600401612428565b60206040518083038186803b158015611ccc57600080fd5b505afa158015611ce0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d04919061277b565b6001600160a01b038416600090815260066020526040902054909150611d2a908261283b565b6001600160a01b039093166000908152600660205260409020555090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161415611d8b5750806105e2565b60405163617ba03760e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015260248201849052306044830152600060648301527f0000000000000000000000000000000000000000000000000000000000000000169063617ba03790608401600060405180830381600087803b158015611e2257600080fd5b505af1158015611e36573d6000803e3d6000fd5b50505050611e637f0000000000000000000000000000000000000000000000000000000000000000611a8d565b6106077f0000000000000000000000000000000000000000000000000000000000000000611bab565b6001600160a01b038216611ee25760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610672565b611eee60008383611785565b8060026000828254611f009190612605565b90915550506001600160a01b03821660009081526020819052604081208054839290611f2d908490612605565b90915550506040518181526001600160a01b038316906000906000805160206129af8339815191529060200160405180910390a35b5050565b6000436007541415611f785750600090565b5043600755600190565b604080516001808252818301909252600091602080830190803683370190505090507f000000000000000000000000000000000000000000000000000000000000000081600081518110611fd857611fd861266a565b6001600160a01b03928316602091820292909201015260405163bb492bf560e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063bb492bf59061203690849030906004016128ab565b600060405180830381600087803b15801561205057600080fd5b505af1158015612064573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261135491908101906128d5565b6000610a8a60025490565b60005b8151811015611f6257600860008383815181106120b9576120b961266a565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600001546000141561212a576001600860008484815181106121055761210561266a565b6020908102919091018101516001600160a01b03168252810191909152604001600020555b61213381612852565b905061209a565b60008061214f670de0b6b3a76400008561298f565b905082818161216057612160612794565b04949350505050565b60006121736109c7565b905060006121808361235f565b905060005b8251811015610d6b5760008382815181106121a2576121a261266a565b6020908102919091018101516001600160a01b038088166000908152600984526040808220928416825291845281812054600890945220549092508114156121eb5750506122d5565b8061222757506001600160a01b0390811660008181526008602090815260408083205494891683526009825280832093835292905220556122d5565b6001600160a01b03821660009081526008602052604081205461224b90839061283b565b90506000612259868361236a565b6001600160a01b03808a166000908152600960209081526040808320938916835292905290812060010180549293508392909190612298908490612605565b9091555050506001600160a01b03928316600081815260086020908152604080832054968b16835260098252808320938352929052209290925550505b6122de81612852565b9050612185565b606083156122f4575081610607565b8251156123045782518084602001fd5b8160405162461bcd60e51b815260040161067291906123b4565b60008115676765c793fa10079d601a1b198390048411151761233f57600080fd5b50676765c793fa10079d601b1b9102676765c793fa10079d601a1b010490565b60006105e2826106e7565b600080612377838561298f565b9050670de0b6b3a764000081612160565b60005b838110156123a357818101518382015260200161238b565b83811115610d6b5750506000910152565b60208152600082518060208401526123d3816040850160208701612388565b601f01601f19169190910160400192915050565b6001600160a01b038116811461136a57600080fd5b6000806040838503121561240f57600080fd5b823561241a816123e7565b946020939093013593505050565b6001600160a01b0391909116815260200190565b60008060006060848603121561245157600080fd5b833561245c816123e7565b9250602084013561246c816123e7565b929592945050506040919091013590565b6000806000806080858703121561249357600080fd5b843561249e816123e7565b935060208501356124ae816123e7565b93969395505050506040820135916060013590565b600080604083850312156124d657600080fd5b82356124e1816123e7565b915060208301356124f1816123e7565b809150509250929050565b60006020828403121561250e57600080fd5b8135610607816123e7565b6020808252825182820181905260009190848201906040850190845b8181101561255157835183529284019291840191600101612535565b50909695505050505050565b600081518084526020808501945080840160005b838110156125965781516001600160a01b031687529582019590820190600101612571565b509495945050505050565b602081526000610607602083018461255d565b600181811c908216806125c857607f821691505b602082108114156125e957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115612618576126186125ef565b500190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156126a8576126a8612654565b604052919050565b60006001600160401b038211156126c9576126c9612654565b5060051b60200190565b600082601f8301126126e457600080fd5b815160206126f96126f4836126b0565b612680565b82815260059290921b8401810191818101908684111561271857600080fd5b8286015b8481101561273c57805161272f816123e7565b835291830191830161271c565b509695505050505050565b60006020828403121561275957600080fd5b81516001600160401b0381111561276f57600080fd5b610d80848285016126d3565b60006020828403121561278d57600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fd5b6000826127c757634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b03929092168252602082015260400190565b60208082526012908201527134b73b30b634b2103130b9b2903a37b5b2b760711b604082015260600190565b60208082526010908201526f1a5b9cdd59999a58da595b9d081bdd5d60821b604082015260600190565b60008282101561284d5761284d6125ef565b500390565b6000600019821415612866576128666125ef565b5060010190565b60006020828403121561287f57600080fd5b8151801515811461060757600080fd5b600082516128a1818460208701612388565b9190910192915050565b6040815260006128be604083018561255d565b905060018060a01b03831660208301529392505050565b600080604083850312156128e857600080fd5b82516001600160401b03808211156128ff57600080fd5b61290b868387016126d3565b935060209150818501518181111561292257600080fd5b85019050601f8101861361293557600080fd5b80516129436126f4826126b0565b81815260059190911b8201830190838101908883111561296257600080fd5b928401925b8284101561298057835182529284019290840190612967565b80955050505050509250929050565b60008160001904831182151516156129a9576129a96125ef565b50029056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220987dd7e786c77ea3b9b89fca5559b3abddb563dfd1567f3b3eb8ec3347d9543d64736f6c63430008090033",
781
+ "linkReferences": {},
782
+ "deployedLinkReferences": {}
783
+ }