@venusprotocol/isolated-pools 1.0.0-dev.1 → 1.0.0-dev.2

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 (199) hide show
  1. package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json +4 -0
  2. package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.json +215 -0
  3. package/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.dbg.json +4 -0
  4. package/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.json +183 -0
  5. package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +4 -0
  6. package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.json +63 -0
  7. package/artifacts/@openzeppelin/contracts/interfaces/IERC1967.sol/IERC1967.dbg.json +4 -0
  8. package/artifacts/@openzeppelin/contracts/interfaces/IERC1967.sol/IERC1967.json +56 -0
  9. package/artifacts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.dbg.json +4 -0
  10. package/artifacts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.json +24 -0
  11. package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.dbg.json +4 -0
  12. package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.json +56 -0
  13. package/artifacts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.dbg.json +4 -0
  14. package/artifacts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.json +19 -0
  15. package/artifacts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol/BeaconProxy.dbg.json +4 -0
  16. package/artifacts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol/BeaconProxy.json +80 -0
  17. package/artifacts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.dbg.json +4 -0
  18. package/artifacts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.json +24 -0
  19. package/artifacts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.dbg.json +4 -0
  20. package/artifacts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.json +113 -0
  21. package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +4 -0
  22. package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +297 -0
  23. package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +4 -0
  24. package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json +194 -0
  25. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.dbg.json +4 -0
  26. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.json +233 -0
  27. package/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json +4 -0
  28. package/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.json +10 -0
  29. package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +4 -0
  30. package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.json +10 -0
  31. package/artifacts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.dbg.json +4 -0
  32. package/artifacts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.json +10 -0
  33. package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json +4 -0
  34. package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.json +10 -0
  35. package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json +4 -0
  36. package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json +30 -0
  37. package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json +4 -0
  38. package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json +30 -0
  39. package/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.dbg.json +4 -0
  40. package/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.json +10 -0
  41. package/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.dbg.json +4 -0
  42. package/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.json +10 -0
  43. package/artifacts/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol/Ownable2StepUpgradeable.dbg.json +4 -0
  44. package/artifacts/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol/Ownable2StepUpgradeable.json +115 -0
  45. package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +4 -0
  46. package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.json +76 -0
  47. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +4 -0
  48. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.json +24 -0
  49. package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.dbg.json +4 -0
  50. package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.json +24 -0
  51. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.dbg.json +4 -0
  52. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.json +194 -0
  53. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.dbg.json +4 -0
  54. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.json +86 -0
  55. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol/SafeERC20Upgradeable.dbg.json +4 -0
  56. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol/SafeERC20Upgradeable.json +10 -0
  57. package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +4 -0
  58. package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.json +10 -0
  59. package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +4 -0
  60. package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.json +24 -0
  61. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlManager.sol/AccessControlManager.dbg.json +4 -0
  62. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlManager.sol/AccessControlManager.json +369 -0
  63. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlledV8.sol/AccessControlledV8.dbg.json +4 -0
  64. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlledV8.sol/AccessControlledV8.json +181 -0
  65. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV8.sol/IAccessControlManagerV8.dbg.json +4 -0
  66. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV8.sol/IAccessControlManagerV8.json +282 -0
  67. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/BoundValidatorInterface.dbg.json +4 -0
  68. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/BoundValidatorInterface.json +40 -0
  69. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/OracleInterface.dbg.json +4 -0
  70. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/OracleInterface.json +30 -0
  71. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/ResilientOracleInterface.dbg.json +4 -0
  72. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/ResilientOracleInterface.json +43 -0
  73. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/TwapInterface.dbg.json +4 -0
  74. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/TwapInterface.json +49 -0
  75. package/artifacts/build-info/16ab40c4151bb2c077b92cd42e217558.json +1 -0
  76. package/artifacts/build-info/f19d689bc99e63a20dd2a17a14e2b84a.json +1 -0
  77. package/artifacts/contracts/BaseJumpRateModelV2.sol/BaseJumpRateModelV2.dbg.json +4 -0
  78. package/artifacts/contracts/BaseJumpRateModelV2.sol/BaseJumpRateModelV2.json +276 -0
  79. package/artifacts/contracts/Comptroller.sol/Comptroller.dbg.json +4 -0
  80. package/artifacts/contracts/Comptroller.sol/Comptroller.json +1667 -0
  81. package/artifacts/contracts/ComptrollerInterface.sol/ComptrollerInterface.dbg.json +4 -0
  82. package/artifacts/contracts/ComptrollerInterface.sol/ComptrollerInterface.json +285 -0
  83. package/artifacts/contracts/ComptrollerInterface.sol/ComptrollerViewInterface.dbg.json +4 -0
  84. package/artifacts/contracts/ComptrollerInterface.sol/ComptrollerViewInterface.json +170 -0
  85. package/artifacts/contracts/ComptrollerStorage.sol/ComptrollerStorage.dbg.json +4 -0
  86. package/artifacts/contracts/ComptrollerStorage.sol/ComptrollerStorage.json +173 -0
  87. package/artifacts/contracts/ErrorReporter.sol/TokenErrorReporter.dbg.json +4 -0
  88. package/artifacts/contracts/ErrorReporter.sol/TokenErrorReporter.json +156 -0
  89. package/artifacts/contracts/ExponentialNoError.sol/ExponentialNoError.dbg.json +4 -0
  90. package/artifacts/contracts/ExponentialNoError.sol/ExponentialNoError.json +10 -0
  91. package/artifacts/contracts/Factories/JumpRateModelFactory.sol/JumpRateModelFactory.dbg.json +4 -0
  92. package/artifacts/contracts/Factories/JumpRateModelFactory.sol/JumpRateModelFactory.json +50 -0
  93. package/artifacts/contracts/Factories/VTokenProxyFactory.sol/VTokenProxyFactory.dbg.json +4 -0
  94. package/artifacts/contracts/Factories/VTokenProxyFactory.sol/VTokenProxyFactory.json +191 -0
  95. package/artifacts/contracts/Factories/WhitePaperInterestRateModelFactory.sol/WhitePaperInterestRateModelFactory.dbg.json +4 -0
  96. package/artifacts/contracts/Factories/WhitePaperInterestRateModelFactory.sol/WhitePaperInterestRateModelFactory.json +35 -0
  97. package/artifacts/contracts/IPancakeswapV2Router.sol/IPancakeswapV2Router.dbg.json +4 -0
  98. package/artifacts/contracts/IPancakeswapV2Router.sol/IPancakeswapV2Router.json +50 -0
  99. package/artifacts/contracts/InterestRateModel.sol/InterestRateModel.dbg.json +4 -0
  100. package/artifacts/contracts/InterestRateModel.sol/InterestRateModel.json +97 -0
  101. package/artifacts/contracts/JumpRateModelV2.sol/JumpRateModelV2.dbg.json +4 -0
  102. package/artifacts/contracts/JumpRateModelV2.sol/JumpRateModelV2.json +307 -0
  103. package/artifacts/contracts/Lens/PoolLens.sol/PoolLens.dbg.json +4 -0
  104. package/artifacts/contracts/Lens/PoolLens.sol/PoolLens.json +1087 -0
  105. package/artifacts/contracts/MaxLoopsLimitHelper.sol/MaxLoopsLimitHelper.dbg.json +4 -0
  106. package/artifacts/contracts/MaxLoopsLimitHelper.sol/MaxLoopsLimitHelper.json +59 -0
  107. package/artifacts/contracts/Pool/PoolRegistry.sol/PoolRegistry.dbg.json +4 -0
  108. package/artifacts/contracts/Pool/PoolRegistry.sol/PoolRegistry.json +923 -0
  109. package/artifacts/contracts/Pool/PoolRegistryInterface.sol/PoolRegistryInterface.dbg.json +4 -0
  110. package/artifacts/contracts/Pool/PoolRegistryInterface.sol/PoolRegistryInterface.json +176 -0
  111. package/artifacts/contracts/Proxy/UpgradeableBeacon.sol/Beacon.dbg.json +4 -0
  112. package/artifacts/contracts/Proxy/UpgradeableBeacon.sol/Beacon.json +113 -0
  113. package/artifacts/contracts/Rewards/RewardsDistributor.sol/RewardsDistributor.dbg.json +4 -0
  114. package/artifacts/contracts/Rewards/RewardsDistributor.sol/RewardsDistributor.json +928 -0
  115. package/artifacts/contracts/RiskFund/IProtocolShareReserve.sol/IProtocolShareReserve.dbg.json +4 -0
  116. package/artifacts/contracts/RiskFund/IProtocolShareReserve.sol/IProtocolShareReserve.json +29 -0
  117. package/artifacts/contracts/RiskFund/IRiskFund.sol/IRiskFund.dbg.json +4 -0
  118. package/artifacts/contracts/RiskFund/IRiskFund.sol/IRiskFund.json +101 -0
  119. package/artifacts/contracts/RiskFund/ProtocolShareReserve.sol/ProtocolShareReserve.dbg.json +4 -0
  120. package/artifacts/contracts/RiskFund/ProtocolShareReserve.sol/ProtocolShareReserve.json +296 -0
  121. package/artifacts/contracts/RiskFund/ReserveHelpers.sol/ReserveHelpers.dbg.json +4 -0
  122. package/artifacts/contracts/RiskFund/ReserveHelpers.sol/ReserveHelpers.json +83 -0
  123. package/artifacts/contracts/RiskFund/RiskFund.sol/RiskFund.dbg.json +4 -0
  124. package/artifacts/contracts/RiskFund/RiskFund.sol/RiskFund.json +615 -0
  125. package/artifacts/contracts/Shortfall/IShortfall.sol/IShortfall.dbg.json +4 -0
  126. package/artifacts/contracts/Shortfall/IShortfall.sol/IShortfall.json +24 -0
  127. package/artifacts/contracts/Shortfall/Shortfall.sol/Shortfall.dbg.json +4 -0
  128. package/artifacts/contracts/Shortfall/Shortfall.sol/Shortfall.json +756 -0
  129. package/artifacts/contracts/VToken.sol/VToken.dbg.json +4 -0
  130. package/artifacts/contracts/VToken.sol/VToken.json +1850 -0
  131. package/artifacts/contracts/VTokenInterfaces.sol/VTokenInterface.dbg.json +4 -0
  132. package/artifacts/contracts/VTokenInterfaces.sol/VTokenInterface.json +1398 -0
  133. package/artifacts/contracts/VTokenInterfaces.sol/VTokenStorage.dbg.json +4 -0
  134. package/artifacts/contracts/VTokenInterfaces.sol/VTokenStorage.json +219 -0
  135. package/artifacts/contracts/WhitePaperInterestRateModel.sol/WhitePaperInterestRateModel.dbg.json +4 -0
  136. package/artifacts/contracts/WhitePaperInterestRateModel.sol/WhitePaperInterestRateModel.json +192 -0
  137. package/artifacts/contracts/test/ComptrollerHarness.sol/ComptrollerHarness.dbg.json +4 -0
  138. package/artifacts/contracts/test/ComptrollerHarness.sol/ComptrollerHarness.json +1712 -0
  139. package/artifacts/contracts/test/ComptrollerHarness.sol/EchoTypesComptroller.dbg.json +4 -0
  140. package/artifacts/contracts/test/ComptrollerHarness.sol/EchoTypesComptroller.json +94 -0
  141. package/artifacts/contracts/test/ComptrollerScenario.sol/ComptrollerScenario.dbg.json +4 -0
  142. package/artifacts/contracts/test/ComptrollerScenario.sol/ComptrollerScenario.json +1744 -0
  143. package/artifacts/contracts/test/ERC20.sol/ERC20.dbg.json +4 -0
  144. package/artifacts/contracts/test/ERC20.sol/ERC20.json +194 -0
  145. package/artifacts/contracts/test/ERC20.sol/ERC20Base.dbg.json +4 -0
  146. package/artifacts/contracts/test/ERC20.sol/ERC20Base.json +141 -0
  147. package/artifacts/contracts/test/ERC20.sol/ERC20Harness.dbg.json +4 -0
  148. package/artifacts/contracts/test/ERC20.sol/ERC20Harness.json +351 -0
  149. package/artifacts/contracts/test/ERC20.sol/ERC20NS.dbg.json +4 -0
  150. package/artifacts/contracts/test/ERC20.sol/ERC20NS.json +182 -0
  151. package/artifacts/contracts/test/ERC20.sol/NonStandardToken.dbg.json +4 -0
  152. package/artifacts/contracts/test/ERC20.sol/NonStandardToken.json +247 -0
  153. package/artifacts/contracts/test/ERC20.sol/StandardToken.dbg.json +4 -0
  154. package/artifacts/contracts/test/ERC20.sol/StandardToken.json +259 -0
  155. package/artifacts/contracts/test/EvilToken.sol/EvilToken.dbg.json +4 -0
  156. package/artifacts/contracts/test/EvilToken.sol/EvilToken.json +303 -0
  157. package/artifacts/contracts/test/FaucetToken.sol/FaucetNonStandardToken.dbg.json +4 -0
  158. package/artifacts/contracts/test/FaucetToken.sol/FaucetNonStandardToken.json +265 -0
  159. package/artifacts/contracts/test/FaucetToken.sol/FaucetToken.dbg.json +4 -0
  160. package/artifacts/contracts/test/FaucetToken.sol/FaucetToken.json +277 -0
  161. package/artifacts/contracts/test/FaucetToken.sol/FaucetTokenReEntrantHarness.dbg.json +4 -0
  162. package/artifacts/contracts/test/FaucetToken.sol/FaucetTokenReEntrantHarness.json +313 -0
  163. package/artifacts/contracts/test/FeeToken.sol/FeeToken.dbg.json +4 -0
  164. package/artifacts/contracts/test/FeeToken.sol/FeeToken.json +313 -0
  165. package/artifacts/contracts/test/HarnessMaxLoopsLimitHelper.sol/HarnessMaxLoopsLimitHelper.dbg.json +4 -0
  166. package/artifacts/contracts/test/HarnessMaxLoopsLimitHelper.sol/HarnessMaxLoopsLimitHelper.json +85 -0
  167. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IERC20.dbg.json +4 -0
  168. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IERC20.json +233 -0
  169. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeFactory.dbg.json +4 -0
  170. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeFactory.json +187 -0
  171. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakePair.dbg.json +4 -0
  172. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakePair.json +668 -0
  173. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeRouter01.dbg.json +4 -0
  174. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeRouter01.json +760 -0
  175. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeRouter02.dbg.json +4 -0
  176. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeRouter02.json +962 -0
  177. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IWETH.dbg.json +4 -0
  178. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IWETH.json +55 -0
  179. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/PancakeLibrary.dbg.json +4 -0
  180. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/PancakeLibrary.json +10 -0
  181. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/PancakeRouter.dbg.json +4 -0
  182. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/PancakeRouter.json +982 -0
  183. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/SafeMath.dbg.json +4 -0
  184. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/SafeMath.json +10 -0
  185. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/TransferHelper.dbg.json +4 -0
  186. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/TransferHelper.json +10 -0
  187. package/artifacts/contracts/test/Mocks/MockPriceOracle.sol/MockPriceOracle.dbg.json +4 -0
  188. package/artifacts/contracts/test/Mocks/MockPriceOracle.sol/MockPriceOracle.json +85 -0
  189. package/artifacts/contracts/test/Mocks/MockToken.sol/MockToken.dbg.json +4 -0
  190. package/artifacts/contracts/test/Mocks/MockToken.sol/MockToken.json +315 -0
  191. package/artifacts/contracts/test/SafeMath.sol/SafeMath.dbg.json +4 -0
  192. package/artifacts/contracts/test/SafeMath.sol/SafeMath.json +10 -0
  193. package/artifacts/contracts/test/UpgradedVToken.sol/UpgradedVToken.dbg.json +4 -0
  194. package/artifacts/contracts/test/UpgradedVToken.sol/UpgradedVToken.json +1946 -0
  195. package/artifacts/contracts/test/VTokenHarness.sol/VTokenHarness.dbg.json +4 -0
  196. package/artifacts/contracts/test/VTokenHarness.sol/VTokenHarness.json +2306 -0
  197. package/contracts/Comptroller.sol +10 -1
  198. package/contracts/Pool/PoolRegistry.sol +2 -0
  199. package/package.json +1 -1
@@ -0,0 +1,756 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "Shortfall",
4
+ "sourceName": "contracts/Shortfall/Shortfall.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "inputs": [
13
+ {
14
+ "internalType": "address",
15
+ "name": "sender",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "address",
20
+ "name": "calledContract",
21
+ "type": "address"
22
+ },
23
+ {
24
+ "internalType": "string",
25
+ "name": "methodSignature",
26
+ "type": "string"
27
+ }
28
+ ],
29
+ "name": "Unauthorized",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [],
34
+ "name": "ZeroAddressNotAllowed",
35
+ "type": "error"
36
+ },
37
+ {
38
+ "anonymous": false,
39
+ "inputs": [
40
+ {
41
+ "indexed": true,
42
+ "internalType": "address",
43
+ "name": "comptroller",
44
+ "type": "address"
45
+ },
46
+ {
47
+ "indexed": false,
48
+ "internalType": "uint256",
49
+ "name": "auctionStartBlock",
50
+ "type": "uint256"
51
+ },
52
+ {
53
+ "indexed": true,
54
+ "internalType": "address",
55
+ "name": "highestBidder",
56
+ "type": "address"
57
+ },
58
+ {
59
+ "indexed": false,
60
+ "internalType": "uint256",
61
+ "name": "highestBidBps",
62
+ "type": "uint256"
63
+ },
64
+ {
65
+ "indexed": false,
66
+ "internalType": "uint256",
67
+ "name": "seizedRiskFind",
68
+ "type": "uint256"
69
+ },
70
+ {
71
+ "indexed": false,
72
+ "internalType": "contract VToken[]",
73
+ "name": "markets",
74
+ "type": "address[]"
75
+ },
76
+ {
77
+ "indexed": false,
78
+ "internalType": "uint256[]",
79
+ "name": "marketDebt",
80
+ "type": "uint256[]"
81
+ }
82
+ ],
83
+ "name": "AuctionClosed",
84
+ "type": "event"
85
+ },
86
+ {
87
+ "anonymous": false,
88
+ "inputs": [
89
+ {
90
+ "indexed": true,
91
+ "internalType": "address",
92
+ "name": "comptroller",
93
+ "type": "address"
94
+ },
95
+ {
96
+ "indexed": false,
97
+ "internalType": "uint256",
98
+ "name": "auctionStartBlock",
99
+ "type": "uint256"
100
+ }
101
+ ],
102
+ "name": "AuctionRestarted",
103
+ "type": "event"
104
+ },
105
+ {
106
+ "anonymous": false,
107
+ "inputs": [
108
+ {
109
+ "indexed": true,
110
+ "internalType": "address",
111
+ "name": "comptroller",
112
+ "type": "address"
113
+ },
114
+ {
115
+ "indexed": false,
116
+ "internalType": "uint256",
117
+ "name": "auctionStartBlock",
118
+ "type": "uint256"
119
+ },
120
+ {
121
+ "indexed": false,
122
+ "internalType": "enum Shortfall.AuctionType",
123
+ "name": "auctionType",
124
+ "type": "uint8"
125
+ },
126
+ {
127
+ "indexed": false,
128
+ "internalType": "contract VToken[]",
129
+ "name": "markets",
130
+ "type": "address[]"
131
+ },
132
+ {
133
+ "indexed": false,
134
+ "internalType": "uint256[]",
135
+ "name": "marketsDebt",
136
+ "type": "uint256[]"
137
+ },
138
+ {
139
+ "indexed": false,
140
+ "internalType": "uint256",
141
+ "name": "seizedRiskFund",
142
+ "type": "uint256"
143
+ },
144
+ {
145
+ "indexed": false,
146
+ "internalType": "uint256",
147
+ "name": "startBidBps",
148
+ "type": "uint256"
149
+ }
150
+ ],
151
+ "name": "AuctionStarted",
152
+ "type": "event"
153
+ },
154
+ {
155
+ "anonymous": false,
156
+ "inputs": [
157
+ {
158
+ "indexed": false,
159
+ "internalType": "address",
160
+ "name": "sender",
161
+ "type": "address"
162
+ }
163
+ ],
164
+ "name": "AuctionsPaused",
165
+ "type": "event"
166
+ },
167
+ {
168
+ "anonymous": false,
169
+ "inputs": [
170
+ {
171
+ "indexed": false,
172
+ "internalType": "address",
173
+ "name": "sender",
174
+ "type": "address"
175
+ }
176
+ ],
177
+ "name": "AuctionsResumed",
178
+ "type": "event"
179
+ },
180
+ {
181
+ "anonymous": false,
182
+ "inputs": [
183
+ {
184
+ "indexed": true,
185
+ "internalType": "address",
186
+ "name": "comptroller",
187
+ "type": "address"
188
+ },
189
+ {
190
+ "indexed": false,
191
+ "internalType": "uint256",
192
+ "name": "auctionStartBlock",
193
+ "type": "uint256"
194
+ },
195
+ {
196
+ "indexed": false,
197
+ "internalType": "uint256",
198
+ "name": "bidBps",
199
+ "type": "uint256"
200
+ },
201
+ {
202
+ "indexed": true,
203
+ "internalType": "address",
204
+ "name": "bidder",
205
+ "type": "address"
206
+ }
207
+ ],
208
+ "name": "BidPlaced",
209
+ "type": "event"
210
+ },
211
+ {
212
+ "anonymous": false,
213
+ "inputs": [
214
+ {
215
+ "indexed": false,
216
+ "internalType": "uint256",
217
+ "name": "oldIncentiveBps",
218
+ "type": "uint256"
219
+ },
220
+ {
221
+ "indexed": false,
222
+ "internalType": "uint256",
223
+ "name": "newIncentiveBps",
224
+ "type": "uint256"
225
+ }
226
+ ],
227
+ "name": "IncentiveBpsUpdated",
228
+ "type": "event"
229
+ },
230
+ {
231
+ "anonymous": false,
232
+ "inputs": [
233
+ {
234
+ "indexed": false,
235
+ "internalType": "uint8",
236
+ "name": "version",
237
+ "type": "uint8"
238
+ }
239
+ ],
240
+ "name": "Initialized",
241
+ "type": "event"
242
+ },
243
+ {
244
+ "anonymous": false,
245
+ "inputs": [
246
+ {
247
+ "indexed": false,
248
+ "internalType": "uint256",
249
+ "name": "oldMinimumPoolBadDebt",
250
+ "type": "uint256"
251
+ },
252
+ {
253
+ "indexed": false,
254
+ "internalType": "uint256",
255
+ "name": "newMinimumPoolBadDebt",
256
+ "type": "uint256"
257
+ }
258
+ ],
259
+ "name": "MinimumPoolBadDebtUpdated",
260
+ "type": "event"
261
+ },
262
+ {
263
+ "anonymous": false,
264
+ "inputs": [
265
+ {
266
+ "indexed": false,
267
+ "internalType": "address",
268
+ "name": "oldAccessControlManager",
269
+ "type": "address"
270
+ },
271
+ {
272
+ "indexed": false,
273
+ "internalType": "address",
274
+ "name": "newAccessControlManager",
275
+ "type": "address"
276
+ }
277
+ ],
278
+ "name": "NewAccessControlManager",
279
+ "type": "event"
280
+ },
281
+ {
282
+ "anonymous": false,
283
+ "inputs": [
284
+ {
285
+ "indexed": false,
286
+ "internalType": "uint256",
287
+ "name": "oldNextBidderBlockLimit",
288
+ "type": "uint256"
289
+ },
290
+ {
291
+ "indexed": false,
292
+ "internalType": "uint256",
293
+ "name": "newNextBidderBlockLimit",
294
+ "type": "uint256"
295
+ }
296
+ ],
297
+ "name": "NextBidderBlockLimitUpdated",
298
+ "type": "event"
299
+ },
300
+ {
301
+ "anonymous": false,
302
+ "inputs": [
303
+ {
304
+ "indexed": true,
305
+ "internalType": "address",
306
+ "name": "previousOwner",
307
+ "type": "address"
308
+ },
309
+ {
310
+ "indexed": true,
311
+ "internalType": "address",
312
+ "name": "newOwner",
313
+ "type": "address"
314
+ }
315
+ ],
316
+ "name": "OwnershipTransferStarted",
317
+ "type": "event"
318
+ },
319
+ {
320
+ "anonymous": false,
321
+ "inputs": [
322
+ {
323
+ "indexed": true,
324
+ "internalType": "address",
325
+ "name": "previousOwner",
326
+ "type": "address"
327
+ },
328
+ {
329
+ "indexed": true,
330
+ "internalType": "address",
331
+ "name": "newOwner",
332
+ "type": "address"
333
+ }
334
+ ],
335
+ "name": "OwnershipTransferred",
336
+ "type": "event"
337
+ },
338
+ {
339
+ "anonymous": false,
340
+ "inputs": [
341
+ {
342
+ "indexed": true,
343
+ "internalType": "address",
344
+ "name": "oldPoolRegistry",
345
+ "type": "address"
346
+ },
347
+ {
348
+ "indexed": true,
349
+ "internalType": "address",
350
+ "name": "newPoolRegistry",
351
+ "type": "address"
352
+ }
353
+ ],
354
+ "name": "PoolRegistryUpdated",
355
+ "type": "event"
356
+ },
357
+ {
358
+ "anonymous": false,
359
+ "inputs": [
360
+ {
361
+ "indexed": false,
362
+ "internalType": "uint256",
363
+ "name": "oldWaitForFirstBidder",
364
+ "type": "uint256"
365
+ },
366
+ {
367
+ "indexed": false,
368
+ "internalType": "uint256",
369
+ "name": "newWaitForFirstBidder",
370
+ "type": "uint256"
371
+ }
372
+ ],
373
+ "name": "WaitForFirstBidderUpdated",
374
+ "type": "event"
375
+ },
376
+ {
377
+ "inputs": [],
378
+ "name": "acceptOwnership",
379
+ "outputs": [],
380
+ "stateMutability": "nonpayable",
381
+ "type": "function"
382
+ },
383
+ {
384
+ "inputs": [],
385
+ "name": "accessControlManager",
386
+ "outputs": [
387
+ {
388
+ "internalType": "contract IAccessControlManagerV8",
389
+ "name": "",
390
+ "type": "address"
391
+ }
392
+ ],
393
+ "stateMutability": "view",
394
+ "type": "function"
395
+ },
396
+ {
397
+ "inputs": [
398
+ {
399
+ "internalType": "address",
400
+ "name": "",
401
+ "type": "address"
402
+ }
403
+ ],
404
+ "name": "auctions",
405
+ "outputs": [
406
+ {
407
+ "internalType": "uint256",
408
+ "name": "startBlock",
409
+ "type": "uint256"
410
+ },
411
+ {
412
+ "internalType": "enum Shortfall.AuctionType",
413
+ "name": "auctionType",
414
+ "type": "uint8"
415
+ },
416
+ {
417
+ "internalType": "enum Shortfall.AuctionStatus",
418
+ "name": "status",
419
+ "type": "uint8"
420
+ },
421
+ {
422
+ "internalType": "uint256",
423
+ "name": "seizedRiskFund",
424
+ "type": "uint256"
425
+ },
426
+ {
427
+ "internalType": "address",
428
+ "name": "highestBidder",
429
+ "type": "address"
430
+ },
431
+ {
432
+ "internalType": "uint256",
433
+ "name": "highestBidBps",
434
+ "type": "uint256"
435
+ },
436
+ {
437
+ "internalType": "uint256",
438
+ "name": "highestBidBlock",
439
+ "type": "uint256"
440
+ },
441
+ {
442
+ "internalType": "uint256",
443
+ "name": "startBidBps",
444
+ "type": "uint256"
445
+ }
446
+ ],
447
+ "stateMutability": "view",
448
+ "type": "function"
449
+ },
450
+ {
451
+ "inputs": [],
452
+ "name": "auctionsPaused",
453
+ "outputs": [
454
+ {
455
+ "internalType": "bool",
456
+ "name": "",
457
+ "type": "bool"
458
+ }
459
+ ],
460
+ "stateMutability": "view",
461
+ "type": "function"
462
+ },
463
+ {
464
+ "inputs": [
465
+ {
466
+ "internalType": "address",
467
+ "name": "comptroller",
468
+ "type": "address"
469
+ }
470
+ ],
471
+ "name": "closeAuction",
472
+ "outputs": [],
473
+ "stateMutability": "nonpayable",
474
+ "type": "function"
475
+ },
476
+ {
477
+ "inputs": [],
478
+ "name": "convertibleBaseAsset",
479
+ "outputs": [
480
+ {
481
+ "internalType": "address",
482
+ "name": "",
483
+ "type": "address"
484
+ }
485
+ ],
486
+ "stateMutability": "view",
487
+ "type": "function"
488
+ },
489
+ {
490
+ "inputs": [
491
+ {
492
+ "internalType": "address",
493
+ "name": "convertibleBaseAsset_",
494
+ "type": "address"
495
+ },
496
+ {
497
+ "internalType": "contract IRiskFund",
498
+ "name": "riskFund_",
499
+ "type": "address"
500
+ },
501
+ {
502
+ "internalType": "uint256",
503
+ "name": "minimumPoolBadDebt_",
504
+ "type": "uint256"
505
+ },
506
+ {
507
+ "internalType": "address",
508
+ "name": "accessControlManager_",
509
+ "type": "address"
510
+ }
511
+ ],
512
+ "name": "initialize",
513
+ "outputs": [],
514
+ "stateMutability": "nonpayable",
515
+ "type": "function"
516
+ },
517
+ {
518
+ "inputs": [],
519
+ "name": "minimumPoolBadDebt",
520
+ "outputs": [
521
+ {
522
+ "internalType": "uint256",
523
+ "name": "",
524
+ "type": "uint256"
525
+ }
526
+ ],
527
+ "stateMutability": "view",
528
+ "type": "function"
529
+ },
530
+ {
531
+ "inputs": [],
532
+ "name": "nextBidderBlockLimit",
533
+ "outputs": [
534
+ {
535
+ "internalType": "uint256",
536
+ "name": "",
537
+ "type": "uint256"
538
+ }
539
+ ],
540
+ "stateMutability": "view",
541
+ "type": "function"
542
+ },
543
+ {
544
+ "inputs": [],
545
+ "name": "owner",
546
+ "outputs": [
547
+ {
548
+ "internalType": "address",
549
+ "name": "",
550
+ "type": "address"
551
+ }
552
+ ],
553
+ "stateMutability": "view",
554
+ "type": "function"
555
+ },
556
+ {
557
+ "inputs": [],
558
+ "name": "pauseAuctions",
559
+ "outputs": [],
560
+ "stateMutability": "nonpayable",
561
+ "type": "function"
562
+ },
563
+ {
564
+ "inputs": [],
565
+ "name": "pendingOwner",
566
+ "outputs": [
567
+ {
568
+ "internalType": "address",
569
+ "name": "",
570
+ "type": "address"
571
+ }
572
+ ],
573
+ "stateMutability": "view",
574
+ "type": "function"
575
+ },
576
+ {
577
+ "inputs": [
578
+ {
579
+ "internalType": "address",
580
+ "name": "comptroller",
581
+ "type": "address"
582
+ },
583
+ {
584
+ "internalType": "uint256",
585
+ "name": "bidBps",
586
+ "type": "uint256"
587
+ }
588
+ ],
589
+ "name": "placeBid",
590
+ "outputs": [],
591
+ "stateMutability": "nonpayable",
592
+ "type": "function"
593
+ },
594
+ {
595
+ "inputs": [],
596
+ "name": "poolRegistry",
597
+ "outputs": [
598
+ {
599
+ "internalType": "address",
600
+ "name": "",
601
+ "type": "address"
602
+ }
603
+ ],
604
+ "stateMutability": "view",
605
+ "type": "function"
606
+ },
607
+ {
608
+ "inputs": [],
609
+ "name": "renounceOwnership",
610
+ "outputs": [],
611
+ "stateMutability": "nonpayable",
612
+ "type": "function"
613
+ },
614
+ {
615
+ "inputs": [
616
+ {
617
+ "internalType": "address",
618
+ "name": "comptroller",
619
+ "type": "address"
620
+ }
621
+ ],
622
+ "name": "restartAuction",
623
+ "outputs": [],
624
+ "stateMutability": "nonpayable",
625
+ "type": "function"
626
+ },
627
+ {
628
+ "inputs": [],
629
+ "name": "resumeAuctions",
630
+ "outputs": [],
631
+ "stateMutability": "nonpayable",
632
+ "type": "function"
633
+ },
634
+ {
635
+ "inputs": [
636
+ {
637
+ "internalType": "address",
638
+ "name": "accessControlManager_",
639
+ "type": "address"
640
+ }
641
+ ],
642
+ "name": "setAccessControlManager",
643
+ "outputs": [],
644
+ "stateMutability": "nonpayable",
645
+ "type": "function"
646
+ },
647
+ {
648
+ "inputs": [
649
+ {
650
+ "internalType": "address",
651
+ "name": "comptroller",
652
+ "type": "address"
653
+ }
654
+ ],
655
+ "name": "startAuction",
656
+ "outputs": [],
657
+ "stateMutability": "nonpayable",
658
+ "type": "function"
659
+ },
660
+ {
661
+ "inputs": [
662
+ {
663
+ "internalType": "address",
664
+ "name": "newOwner",
665
+ "type": "address"
666
+ }
667
+ ],
668
+ "name": "transferOwnership",
669
+ "outputs": [],
670
+ "stateMutability": "nonpayable",
671
+ "type": "function"
672
+ },
673
+ {
674
+ "inputs": [
675
+ {
676
+ "internalType": "uint256",
677
+ "name": "_incentiveBps",
678
+ "type": "uint256"
679
+ }
680
+ ],
681
+ "name": "updateIncentiveBps",
682
+ "outputs": [],
683
+ "stateMutability": "nonpayable",
684
+ "type": "function"
685
+ },
686
+ {
687
+ "inputs": [
688
+ {
689
+ "internalType": "uint256",
690
+ "name": "_minimumPoolBadDebt",
691
+ "type": "uint256"
692
+ }
693
+ ],
694
+ "name": "updateMinimumPoolBadDebt",
695
+ "outputs": [],
696
+ "stateMutability": "nonpayable",
697
+ "type": "function"
698
+ },
699
+ {
700
+ "inputs": [
701
+ {
702
+ "internalType": "uint256",
703
+ "name": "_nextBidderBlockLimit",
704
+ "type": "uint256"
705
+ }
706
+ ],
707
+ "name": "updateNextBidderBlockLimit",
708
+ "outputs": [],
709
+ "stateMutability": "nonpayable",
710
+ "type": "function"
711
+ },
712
+ {
713
+ "inputs": [
714
+ {
715
+ "internalType": "address",
716
+ "name": "poolRegistry_",
717
+ "type": "address"
718
+ }
719
+ ],
720
+ "name": "updatePoolRegistry",
721
+ "outputs": [],
722
+ "stateMutability": "nonpayable",
723
+ "type": "function"
724
+ },
725
+ {
726
+ "inputs": [
727
+ {
728
+ "internalType": "uint256",
729
+ "name": "_waitForFirstBidder",
730
+ "type": "uint256"
731
+ }
732
+ ],
733
+ "name": "updateWaitForFirstBidder",
734
+ "outputs": [],
735
+ "stateMutability": "nonpayable",
736
+ "type": "function"
737
+ },
738
+ {
739
+ "inputs": [],
740
+ "name": "waitForFirstBidder",
741
+ "outputs": [
742
+ {
743
+ "internalType": "uint256",
744
+ "name": "",
745
+ "type": "uint256"
746
+ }
747
+ ],
748
+ "stateMutability": "view",
749
+ "type": "function"
750
+ }
751
+ ],
752
+ "bytecode": "0x60806040523480156200001157600080fd5b506200001c62000022565b62000111565b600054610100900460ff1615620000565760405162461bcd60e51b81526004016200004d90620000af565b60405180910390fd5b60005460ff90811614620000ad576000805460ff191660ff9081179091556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249891620000a49162000101565b60405180910390a15b565b60208082528101620000fb81602781527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469602082015266616c697a696e6760c81b604082015260600190565b92915050565b60ff8216815260208101620000fb565b61336180620001216000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c8063892149a3116100de578063b4a0bdf311610097578063d98b9bb511610071578063d98b9bb514610378578063e30c39781461038b578063e630fee01461039c578063f2fde38b146103af57600080fd5b8063b4a0bdf314610338578063be20309414610351578063c8ecc0d31461036457600080fd5b8063892149a3146102cb5780638da5cb5b146102d557806391f8e694146102ef578063a23926e1146102f7578063ae8ddcb014610312578063afcff50f1461032557600080fd5b806351b2fd011161014b5780636f254c32116101255780636f254c321461029f578063715018a6146102b257806373d73f40146102ba57806379ba5097146102c357600080fd5b806351b2fd01146102715780635be3fe1b1461028457806367cd03ab1461028c57600080fd5b80630db011d0146101935780630e32cb86146101a85780631d59410a146101bb578063264ad3d4146102355780634075fa0f1461024b5780634b34e5661461025e575b600080fd5b6101a66101a136600461221f565b6103c2565b005b6101a66101b636600461221f565b610490565b6102186101c936600461221f565b610103602052600090815260409020805460018201546003830154600484015460058501546006860154600790960154949560ff8086169661010090960416946001600160a01b039093169288565b60405161022c9897969594939291906122c8565b60405180910390f35b61023e60fd5481565b60405161022c919061233f565b6101a661025936600461221f565b6104a4565b6101a661026c36600461221f565b6104d1565b6101a661027f36600461235e565b610a1b565b6101a6610a82565b6101a661029a36600461235e565b610b1b565b6101a66102ad36600461235e565b610bb3565b6101a6610c2e565b61023e60ff5481565b6101a6610c42565b61023e6101015481565b6033546001600160a01b03165b60405161022c919061237f565b6101a6610c77565b610100546103059060ff1681565b60405161022c9190612395565b6101a661032036600461221f565b610d09565b60fb546102e2906001600160a01b031681565b6097546001600160a01b031660405161022c91906123de565b6101a661035f36600461240b565b610d6c565b610102546102e2906001600160a01b031681565b6101a661038636600461246f565b610ed4565b6065546001600160a01b03166102e2565b6101a66103aa36600461235e565b61133c565b6101a66103bd36600461221f565b611398565b6001600160a01b0381166000908152610103602052604090206103e481611409565b6104095760405162461bcd60e51b8152600401610400906124d9565b60405180910390fd5b6104128161143e565b61042e5760405162461bcd60e51b815260040161040090612538565b60018101805461ff00191661020017905580546040516001600160a01b038416917faca104a4f0d6f116782afaefa8b644e86d53857ff9151824131b726b49a858d49161047b919061233f565b60405180910390a261048c82611472565b5050565b610498611b7b565b6104a181611ba5565b50565b6101005460ff16156104c85760405162461bcd60e51b815260040161040090612572565b6104a181611472565b6104d9611c1e565b6001600160a01b0381166000908152610103602052604090206104fb81611409565b6105175760405162461bcd60e51b8152600401610400906124d9565b60ff5481600601546105299190612598565b43118015610543575060048101546001600160a01b031615155b61055f5760405162461bcd60e51b8152600401610400906125fa565b600281015460008167ffffffffffffffff81111561057f5761057f61260a565b6040519080825280602002602001820160405280156105a8578160200160208202803683370190505b5060018401805461ff001916610200179055905060005b828110156108c85760008460020182815481106105de576105de612620565b600091825260208083209091015460408051636f307dc360e01b815290516001600160a01b0390921694508492636f307dc3926004808401938290030181865afa158015610630573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106549190612641565b9050600060018088015460ff169081111561067157610671612248565b0361073257600061271087600501548860080160008a600201888154811061069b5761069b612620565b60009182526020808320909101546001600160a01b031683528201929092526040019020546106ca9190612662565b6106d49190612697565b905061070d8760020185815481106106ee576106ee612620565b6000918252602090912001546001600160a01b03848116911683611c47565b8085858151811061072057610720612620565b60200260200101818152505050610818565b6107b786600201848154811061074a5761074a612620565b9060005260206000200160009054906101000a90046001600160a01b031687600801600089600201878154811061078357610783612620565b60009182526020808320909101546001600160a01b0390811684529083019390935260409091019020549084169190611c47565b8560080160008760020185815481106107d2576107d2612620565b60009182526020808320909101546001600160a01b03168352820192909252604001902054845185908590811061080b5761080b612620565b6020026020010181815250505b85600201838154811061082d5761082d612620565b60009182526020909120015484516001600160a01b039091169063ef60450c9086908690811061085f5761085f612620565b60200260200101516040518263ffffffff1660e01b8152600401610883919061233f565b600060405180830381600087803b15801561089d57600080fd5b505af11580156108b1573d6000803e3d6000fd5b505050505050806108c1906126ab565b90506105bf565b5060008060018086015460ff16908111156108e5576108e5612248565b036108f557506003830154610919565b6127108460050154856003015461090c9190612662565b6109169190612697565b90505b60fc54604051630a9837c560e01b81526000916001600160a01b031690630a9837c59061094c90899086906004016126c5565b6020604051808303816000875af115801561096b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098f91906126eb565b6004860154610102549192506109b2916001600160a01b03908116911684611c47565b6004850154855460058701546040516001600160a01b03938416938a16927ff50338be3ffa7cdbebca76c758cfd1745fb4abe5bd3736c2dbf0cc6483a7b93f92610a0492879060028d01908b906127d4565b60405180910390a350505050506104a1600160c955565b610a3c6040518060600160405280602181526020016132c760219139611ca9565b60fd8054908290556040517f85814f0246fcd999c88af70c9e6238211e79444ff07ec745b80aed19ddb268c890610a769083908590612822565b60405180910390a15050565b610ab36040518060400160405280601081526020016f726573756d6541756374696f6e73282960801b815250611ca9565b6101005460ff16610ad65760405162461bcd60e51b815260040161040090612864565b610100805460ff191690556040517f91b812e075fb9190eebe2d938c00a7179d150156469a467ec60a290035f4635a90610b1190339061237f565b60405180910390a1565b610b596040518060400160405280601b81526020017f757064617465496e63656e746976654270732875696e74323536290000000000815250611ca9565b80600003610b795760405162461bcd60e51b8152600401610400906128a8565b60fe8054908290556040517f3d438fa36c5052935d12a6925d1660c8150c74ef11ca672d4279bc6fd41b8bcf90610a769083908590612822565b610bd46040518060600160405280602381526020016132e860239139611ca9565b80600003610bf45760405162461bcd60e51b8152600401610400906128f8565b60ff8054908290556040517f3f22dba09ee9845bd2be6926fea5337a0db935ca059cbb205d62174783e2966490610a769083908590612822565b610c36611b7b565b610c406000611d43565b565b60655433906001600160a01b03168114610c6e5760405162461bcd60e51b81526004016104009061294e565b6104a181611d43565b610ca76040518060400160405280600f81526020016e706175736541756374696f6e73282960881b815250611ca9565b6101005460ff1615610ccb5760405162461bcd60e51b815260040161040090612992565b610100805460ff191660011790556040517fc1be5163c9ebecf05bfbd6c6ae7c2b6ce2d3c43088dffaf5270cbf951615049990610b1190339061237f565b610d11611b7b565b610d1a81611d5c565b60fb80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907fa87b964d321035d2165e484ff4b722dd6eae30606c0b98887d2ed1a34e594bfe90600090a35050565b600054610100900460ff1615808015610d8c5750600054600160ff909116105b80610da65750303b158015610da6575060005460ff166001145b610dc25760405162461bcd60e51b8152600401610400906129ed565b6000805460ff191660011790558015610de5576000805461ff0019166101001790555b610dee85611d5c565b610df784611d5c565b82600003610e175760405162461bcd60e51b815260040161040090612a31565b610e1f611d83565b610e2882611db2565b610e30611dd9565b60fd83905561010280546001600160a01b038088166001600160a01b03199283161790925560fc805492871692909116919091179055606461010155600a60ff556103e860fe55610100805460ff191690558015610ecd576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890610ec490600190612a55565b60405180910390a15b5050505050565b610edc611c1e565b6001600160a01b038216600090815261010360205260409020610efe81611409565b610f1a5760405162461bcd60e51b8152600401610400906124d9565b610f238161143e565b15610f405760405162461bcd60e51b815260040161040090612a97565b612710821115610f625760405162461bcd60e51b815260040161040090612aea565b600060018083015460ff1690811115610f7d57610f7d612248565b148015610fc9575060048101546001600160a01b031615801590610fa45750806005015482115b80610fc9575060048101546001600160a01b0316158015610fc9575080600701548210155b80611034575060018181015460ff1681811115610fe857610fe8612248565b148015611034575060048101546001600160a01b03161580159061100f5750806005015482105b80611034575060048101546001600160a01b0316158015611034575080600701548211155b6110505760405162461bcd60e51b815260040161040090612b2e565b600281015460005b818110156112c557600083600201828154811061107757611077612620565b600091825260208083209091015460408051636f307dc360e01b815290516001600160a01b0390921694508492636f307dc3926004808401938290030181865afa1580156110c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ed9190612641565b9050600060018087015460ff169081111561110a5761110a612248565b036112185760048501546001600160a01b0316156111a1576000612710866005015487600801600089600201888154811061114757611147612620565b60009182526020808320909101546001600160a01b031683528201929092526040019020546111769190612662565b6111809190612697565b600487015490915061119f906001600160a01b03848116911683611c47565b505b6000612710878760080160008960020188815481106111c2576111c2612620565b60009182526020808320909101546001600160a01b031683528201929092526040019020546111f19190612662565b6111fb9190612697565b90506112126001600160a01b038316333084611e08565b506112b2565b60048501546001600160a01b03161561125d57600485015460028601805461125d926001600160a01b0316916008890191600091908890811061078357610783612620565b6112b2333087600801600089600201888154811061127d5761127d612620565b60009182526020808320909101546001600160a01b039081168452908301939093526040909101902054908516929190611e08565b5050806112be906126ab565b9050611058565b506004820180546001600160a01b031916339081179091556005830184905543600684015582546040516001600160a01b038716917f5485cf82060404805b51f48c0c4afa3cec4a9e5755c0131e1243553f0eebb9a39161132891908890612822565b60405180910390a3505061048c600160c955565b61135d60405180606001604052806021815260200161330b60219139611ca9565b6101018054908290556040517f2a5be8a6b827e16c392d22522295794d6baff64565057a17b1f14c9d6c125a6090610a769083908590612822565b6113a0611b7b565b606580546001600160a01b0383166001600160a01b031990911681179091556113d16033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b8054600090158015906114385750600180830154610100900460ff16600281111561143657611436612248565b145b92915050565b60048101546000906001600160a01b03161580801561146b57506101015483546114689190612598565b43115b9392505050565b60fb54604051637aee632d60e01b81526000916001600160a01b031690637aee632d906114a390859060040161237f565b600060405180830381865afa1580156114c0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114e89190810190612cdf565b9050816001600160a01b031681604001516001600160a01b03161461151f5760405162461bcd60e51b815260040161040090612d5e565b6001600160a01b0382166000908152610103602052604090208054158015611564575060006001820154610100900460ff16600281111561156257611562612248565b145b8061158c575060026001820154610100900460ff16600281111561158a5761158a612248565b145b6115a85760405162461bcd60e51b815260040161040090612d98565b600060058201819055600682018190556002820154905b818110156116135760008360020182815481106115de576115de612620565b60009182526020808320909101546001600160a01b0316825260088601905260408120555061160c816126ab565b90506115bf565b50611622600283016000612157565b600061162d85611e2f565b905080519150600061163e86611e97565b90506000808467ffffffffffffffff81111561165c5761165c61260a565b604051908082528060200260200182016040528015611685578160200160208202803683370190505b5090508467ffffffffffffffff8111156116a1576116a161260a565b6040519080825280602002602001820160405280156116ca578160200160208202803683370190505b5080516116e1916002890191602090910190612175565b5060005b8581101561196b57600085828151811061170157611701612620565b60200260200101516001600160a01b031663bbcac5576040518163ffffffff1660e01b8152600401602060405180830381865afa158015611746573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176a91906126eb565b9050846001600160a01b03166396e85ced87848151811061178d5761178d612620565b60200260200101516040518263ffffffff1660e01b81526004016117b1919061237f565b600060405180830381600087803b1580156117cb57600080fd5b505af11580156117df573d6000803e3d6000fd5b505050506000670de0b6b3a764000082876001600160a01b031663fc57d4df8a878151811061181057611810612620565b60200260200101516040518263ffffffff1660e01b8152600401611834919061237f565b602060405180830381865afa158015611851573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187591906126eb565b61187f9190612662565b6118899190612697565b90506118958186612598565b94508683815181106118a9576118a9612620565b60200260200101518960020184815481106118c6576118c6612620565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508189600801600089868151811061190d5761190d612620565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020819055508184848151811061194c5761194c612620565b602002602001018181525050505080611964906126ab565b90506116e5565b5060fd5482101561198e5760405162461bcd60e51b815260040161040090612ddc565b60fc5460405163f481395b60e01b81526000916001600160a01b03169063f481395b906119bf908c9060040161237f565b602060405180830381865afa1580156119dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a0091906126eb565b90506000819050600061271060fe5486611a1a9190612662565b611a249190612697565b611a2e9086612598565b9050828110611a8b5760fe54611a4690612710612598565b611a509086612662565b82611a5d61271080612662565b611a679190612662565b611a719190612697565b60078a015560018901805460ff1916905560009150611ab2565b80611a968184612dec565b60018b8101805460ff1916909117905561271060078c01559250505b611abc8284612dec565b60038a01554389556001808a01805461ff00191661010083021790555060008960040160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508a6001600160a01b03167f56c1f0c5ea96c78d614c0246b1915086a325f09ce15526bd5d69b50232d681328a600001548b60010160009054906101000a900460ff168c600201888e600301548f60070154604051611b6696959493929190612e03565b60405180910390a25050505050505050505050565b6033546001600160a01b03163314610c405760405162461bcd60e51b815260040161040090612e92565b6001600160a01b038116611bcb5760405162461bcd60e51b815260040161040090612ee4565b609780546001600160a01b038381166001600160a01b03198316179092556040519116907f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa090610a769083908590612ef4565b600260c95403611c405760405162461bcd60e51b815260040161040090612f43565b600260c955565b611c9d8363a9059cbb60e01b8484604051602401611c669291906126c5565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611efb565b505050565b600160c955565b6097546040516318c5e8ab60e01b81526000916001600160a01b0316906318c5e8ab90611cdc9033908690600401612f85565b602060405180830381865afa158015611cf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d1d9190612fb8565b90508061048c57333083604051634a3fa29360e01b815260040161040093929190612fd9565b606580546001600160a01b03191690556104a181611f8d565b6001600160a01b0381166104a1576040516342bcdf7f60e11b815260040160405180910390fd5b600054610100900460ff16611daa5760405162461bcd60e51b815260040161040090613057565b610c40611fdf565b600054610100900460ff166104985760405162461bcd60e51b815260040161040090613057565b600054610100900460ff16611e005760405162461bcd60e51b815260040161040090613057565b610c4061200f565b611e29846323b872dd60e01b858585604051602401611c6693929190613067565b50505050565b6060816001600160a01b031663b0772d0b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611e6f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611438919081019061313d565b6000816001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ed7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114389190613178565b6000611f50826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166120369092919063ffffffff16565b9050805160001480611f71575080806020019051810190611f719190612fb8565b611c9d5760405162461bcd60e51b8152600401610400906131e0565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166120065760405162461bcd60e51b815260040161040090613057565b610c4033611d43565b600054610100900460ff16611ca25760405162461bcd60e51b815260040161040090613057565b6060612045848460008561204d565b949350505050565b60608247101561206f5760405162461bcd60e51b815260040161040090613233565b600080866001600160a01b0316858760405161208b9190613265565b60006040518083038185875af1925050503d80600081146120c8576040519150601f19603f3d011682016040523d82523d6000602084013e6120cd565b606091505b50915091506120de878383876120e9565b979650505050505050565b60608315612128578251600003612121576001600160a01b0385163b6121215760405162461bcd60e51b8152600401610400906132a5565b5081612045565b612045838381511561213d5781518083602001fd5b8060405162461bcd60e51b815260040161040091906132b5565b50805460008255906000526020600020908101906104a191906121da565b8280548282559060005260206000209081019282156121ca579160200282015b828111156121ca57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190612195565b506121d69291506121da565b5090565b5b808211156121d657600081556001016121db565b60006001600160a01b038216611438565b612209816121ef565b81146104a157600080fd5b803561143881612200565b60006020828403121561223457612234600080fd5b60006120458484612214565b805b82525050565b634e487b7160e01b600052602160045260246000fd5b600281106104a1576104a1612248565b806122788161225e565b919050565b60006114388261226e565b6122428161227d565b600381106104a1576104a1612248565b8061227881612291565b6000611438826122a1565b612242816122ab565b612242816121ef565b61010081016122d7828b612240565b6122e4602083018a612288565b6122f160408301896122b6565b6122fe6060830188612240565b61230b60808301876122bf565b61231860a0830186612240565b61232560c0830185612240565b61233260e0830184612240565b9998505050505050505050565b602081016114388284612240565b80612209565b80356114388161234d565b60006020828403121561237357612373600080fd5b60006120458484612353565b6020810161143882846122bf565b801515612242565b60208101611438828461238d565b60006114386001600160a01b0383165b6001600160a01b031690565b6000611438826123a3565b6000611438826123bf565b612242816123ca565b6020810161143882846123d5565b6000611438826121ef565b612209816123ec565b8035611438816123f7565b6000806000806080858703121561242457612424600080fd5b60006124308787612214565b945050602061244187828801612400565b935050604061245287828801612353565b925050606061246387828801612214565b91505092959194509250565b6000806040838503121561248557612485600080fd5b60006124918585612214565b92505060206124a285828601612353565b9150509250929050565b601381526000602082017237379037b716b3b7b4b7339030bab1ba34b7b760691b815291505b5060200190565b60208082528101611438816124ac565b602f81526000602082017f796f75206e65656420746f207761697420666f72206d6f72652074696d65206681526e37b9103334b939ba103134b23232b960891b602082015291505b5060400190565b60208082528101611438816124e9565b6013815260006020820172105d58dd1a5bdb9cc8185c99481c185d5cd959606a1b815291506124d2565b6020808252810161143881612548565b634e487b7160e01b600052601160045260246000fd5b600082198211156125ab576125ab612582565b500190565b602d81526000602082017f77616974696e6720666f72206e657874206269646465722e2063616e6e6f742081526c31b637b9b29030bab1ba34b7b760991b60208201529150612531565b60208082528101611438816125b0565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b805161143881612200565b60006020828403121561265657612656600080fd5b60006120458484612636565b600081600019048311821515161561267c5761267c612582565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826126a6576126a6612681565b500490565b600060001982036126be576126be612582565b5060010190565b604081016126d382856122bf565b61146b6020830184612240565b80516114388161234d565b60006020828403121561270057612700600080fd5b600061204584846126e0565b600061271883836123d5565b505060200190565b6000611438826123b3565b60006114388254612720565b6000612741825490565b808452600083815260208082209501949081905b8381101561277f576127668261272b565b612770888261270c565b97505060019182019101612755565b509495945050505050565b60006127188383612240565b60006127a0825190565b80845260209384019383018060005b8381101561277f5781516127c3888261278a565b9750602083019250506001016127af565b60a081016127e28288612240565b6127ef6020830187612240565b6127fc6040830186612240565b818103606083015261280e8185612737565b905081810360808301526120de8184612796565b604081016126d38285612240565b601781526000602082017f41756374696f6e7320617265206e6f7420706175736564000000000000000000815291506124d2565b6020808252810161143881612830565b601a81526000602082017f696e63656e74697665427073206d757374206e6f742062652030000000000000815291506124d2565b6020808252810161143881612874565b602381526000602082017f5f6e657874426964646572426c6f636b4c696d6974206d757374206e6f74206281526206520360ec1b60208201529150612531565b60208082528101611438816128b8565b602981526000602082017f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865208152683732bb9037bbb732b960b91b60208201529150612531565b6020808252810161143881612908565b601b81526000602082017f41756374696f6e732061726520616c7265616479207061757365640000000000815291506124d2565b602080825281016114388161295e565b602e81526000602082017f496e697469616c697a61626c653a20636f6e747261637420697320616c72656181526d191e481a5b9a5d1a585b1a5e995960921b60208201529150612531565b60208082528101611438816129a2565b601d81526000602082017f696e76616c6964206d696e696d756d20706f6f6c206261642064656274000000815291506124d2565b60208082528101611438816129fd565b600060ff8216611438565b61224281612a41565b602081016114388284612a4c565b601c81526000602082017f61756374696f6e206973207374616c652c207265737461727420697400000000815291506124d2565b6020808252810161143881612a63565b602681526000602082017f626173697320706f696e74732063616e6e6f74206265206d6f7265207468616e81526502031303030360d41b60208201529150612531565b6020808252810161143881612aa7565b601b81526000602082017f796f757220626964206973206e6f742074686520686967686573740000000000815291506124d2565b6020808252810161143881612afa565b601f19601f830116810181811067ffffffffffffffff82111715612b6457612b6461260a565b6040525050565b6000612b7660405190565b90506122788282612b3e565b600067ffffffffffffffff821115612b9c57612b9c61260a565b601f19601f83011660200192915050565b60005b83811015612bc8578181015183820152602001612bb0565b83811115611e295750506000910152565b6000612bec612be784612b82565b612b6b565b905082815260208101848484011115612c0757612c07600080fd5b612c12848285612bad565b509392505050565b600082601f830112612c2e57612c2e600080fd5b8151612045848260208601612bd9565b600060a08284031215612c5357612c53600080fd5b612c5d60a0612b6b565b825190915067ffffffffffffffff811115612c7a57612c7a600080fd5b612c8684828501612c1a565b8252506020612c9784848301612636565b6020830152506040612cab84828501612636565b6040830152506060612cbf848285016126e0565b6060830152506080612cd3848285016126e0565b60808301525092915050565b600060208284031215612cf457612cf4600080fd5b815167ffffffffffffffff811115612d0e57612d0e600080fd5b61204584828501612c3e565b602781526000602082017f636f6d7074726f6c6c657220646f65736e277420657869737420706f6f6c20728152666567697374727960c81b60208201529150612531565b6020808252810161143881612d1a565b601381526000602082017261756374696f6e206973206f6e2d676f696e6760681b815291506124d2565b6020808252810161143881612d6e565b601881526000602082017f706f6f6c20626164206465627420697320746f6f206c6f770000000000000000815291506124d2565b6020808252810161143881612da8565b600082821015612dfe57612dfe612582565b500390565b60c08101612e118289612240565b612e1e6020830188612288565b8181036040830152612e308187612737565b90508181036060830152612e448186612796565b9050612e536080830185612240565b6120de60a0830184612240565b60208082527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572910190815260006124d2565b6020808252810161143881612e60565b602581526000602082017f696e76616c696420616365737320636f6e74726f6c206d616e61676572206164815264647265737360d81b60208201529150612531565b6020808252810161143881612ea2565b60408101612f0282856122bf565b61146b60208301846122bf565b601f81526000602082017f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815291506124d2565b6020808252810161143881612f0f565b6000612f5d825190565b808452602084019350612f74818560208601612bad565b601f01601f19169290920192915050565b60408101612f9382856122bf565b81810360208301526120458184612f53565b801515612209565b805161143881612fa5565b600060208284031215612fcd57612fcd600080fd5b60006120458484612fad565b60608101612fe782866122bf565b612ff460208301856122bf565b81810360408301526130068184612f53565b95945050505050565b602b81526000602082017f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206981526a6e697469616c697a696e6760a81b60208201529150612531565b602080825281016114388161300f565b6060810161307582866122bf565b61308260208301856122bf565b6120456040830184612240565b600067ffffffffffffffff8211156130a9576130a961260a565b5060209081020190565b8051611438816123f7565b60006130cc612be78461308f565b838152905060208082019084028301858111156130eb576130eb600080fd5b835b8181101561310f578061310088826130b3565b845250602092830192016130ed565b5050509392505050565b600082601f83011261312d5761312d600080fd5b81516120458482602086016130be565b60006020828403121561315257613152600080fd5b815167ffffffffffffffff81111561316c5761316c600080fd5b61204584828501613119565b60006020828403121561318d5761318d600080fd5b600061204584846130b3565b602a81526000602082017f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b60208201529150612531565b6020808252810161143881613199565b602681526000602082017f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b60208201529150612531565b60208082528101611438816131f0565b600061324d825190565b61325b818560208601612bad565b9290920192915050565b600061146b8284613243565b601d81526000602082017f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815291506124d2565b6020808252810161143881613271565b6020808252810161146b8184612f5356fe7570646174654d696e696d756d506f6f6c426164446562742875696e74323536297570646174654e657874426964646572426c6f636b4c696d69742875696e743235362975706461746557616974466f7246697273744269646465722875696e7432353629a2646970667358221220b929d9b2893a0659d9569b6ef26dbda900567fabd472b1370e7293ddb058980c64736f6c634300080d0033",
753
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061018e5760003560e01c8063892149a3116100de578063b4a0bdf311610097578063d98b9bb511610071578063d98b9bb514610378578063e30c39781461038b578063e630fee01461039c578063f2fde38b146103af57600080fd5b8063b4a0bdf314610338578063be20309414610351578063c8ecc0d31461036457600080fd5b8063892149a3146102cb5780638da5cb5b146102d557806391f8e694146102ef578063a23926e1146102f7578063ae8ddcb014610312578063afcff50f1461032557600080fd5b806351b2fd011161014b5780636f254c32116101255780636f254c321461029f578063715018a6146102b257806373d73f40146102ba57806379ba5097146102c357600080fd5b806351b2fd01146102715780635be3fe1b1461028457806367cd03ab1461028c57600080fd5b80630db011d0146101935780630e32cb86146101a85780631d59410a146101bb578063264ad3d4146102355780634075fa0f1461024b5780634b34e5661461025e575b600080fd5b6101a66101a136600461221f565b6103c2565b005b6101a66101b636600461221f565b610490565b6102186101c936600461221f565b610103602052600090815260409020805460018201546003830154600484015460058501546006860154600790960154949560ff8086169661010090960416946001600160a01b039093169288565b60405161022c9897969594939291906122c8565b60405180910390f35b61023e60fd5481565b60405161022c919061233f565b6101a661025936600461221f565b6104a4565b6101a661026c36600461221f565b6104d1565b6101a661027f36600461235e565b610a1b565b6101a6610a82565b6101a661029a36600461235e565b610b1b565b6101a66102ad36600461235e565b610bb3565b6101a6610c2e565b61023e60ff5481565b6101a6610c42565b61023e6101015481565b6033546001600160a01b03165b60405161022c919061237f565b6101a6610c77565b610100546103059060ff1681565b60405161022c9190612395565b6101a661032036600461221f565b610d09565b60fb546102e2906001600160a01b031681565b6097546001600160a01b031660405161022c91906123de565b6101a661035f36600461240b565b610d6c565b610102546102e2906001600160a01b031681565b6101a661038636600461246f565b610ed4565b6065546001600160a01b03166102e2565b6101a66103aa36600461235e565b61133c565b6101a66103bd36600461221f565b611398565b6001600160a01b0381166000908152610103602052604090206103e481611409565b6104095760405162461bcd60e51b8152600401610400906124d9565b60405180910390fd5b6104128161143e565b61042e5760405162461bcd60e51b815260040161040090612538565b60018101805461ff00191661020017905580546040516001600160a01b038416917faca104a4f0d6f116782afaefa8b644e86d53857ff9151824131b726b49a858d49161047b919061233f565b60405180910390a261048c82611472565b5050565b610498611b7b565b6104a181611ba5565b50565b6101005460ff16156104c85760405162461bcd60e51b815260040161040090612572565b6104a181611472565b6104d9611c1e565b6001600160a01b0381166000908152610103602052604090206104fb81611409565b6105175760405162461bcd60e51b8152600401610400906124d9565b60ff5481600601546105299190612598565b43118015610543575060048101546001600160a01b031615155b61055f5760405162461bcd60e51b8152600401610400906125fa565b600281015460008167ffffffffffffffff81111561057f5761057f61260a565b6040519080825280602002602001820160405280156105a8578160200160208202803683370190505b5060018401805461ff001916610200179055905060005b828110156108c85760008460020182815481106105de576105de612620565b600091825260208083209091015460408051636f307dc360e01b815290516001600160a01b0390921694508492636f307dc3926004808401938290030181865afa158015610630573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106549190612641565b9050600060018088015460ff169081111561067157610671612248565b0361073257600061271087600501548860080160008a600201888154811061069b5761069b612620565b60009182526020808320909101546001600160a01b031683528201929092526040019020546106ca9190612662565b6106d49190612697565b905061070d8760020185815481106106ee576106ee612620565b6000918252602090912001546001600160a01b03848116911683611c47565b8085858151811061072057610720612620565b60200260200101818152505050610818565b6107b786600201848154811061074a5761074a612620565b9060005260206000200160009054906101000a90046001600160a01b031687600801600089600201878154811061078357610783612620565b60009182526020808320909101546001600160a01b0390811684529083019390935260409091019020549084169190611c47565b8560080160008760020185815481106107d2576107d2612620565b60009182526020808320909101546001600160a01b03168352820192909252604001902054845185908590811061080b5761080b612620565b6020026020010181815250505b85600201838154811061082d5761082d612620565b60009182526020909120015484516001600160a01b039091169063ef60450c9086908690811061085f5761085f612620565b60200260200101516040518263ffffffff1660e01b8152600401610883919061233f565b600060405180830381600087803b15801561089d57600080fd5b505af11580156108b1573d6000803e3d6000fd5b505050505050806108c1906126ab565b90506105bf565b5060008060018086015460ff16908111156108e5576108e5612248565b036108f557506003830154610919565b6127108460050154856003015461090c9190612662565b6109169190612697565b90505b60fc54604051630a9837c560e01b81526000916001600160a01b031690630a9837c59061094c90899086906004016126c5565b6020604051808303816000875af115801561096b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098f91906126eb565b6004860154610102549192506109b2916001600160a01b03908116911684611c47565b6004850154855460058701546040516001600160a01b03938416938a16927ff50338be3ffa7cdbebca76c758cfd1745fb4abe5bd3736c2dbf0cc6483a7b93f92610a0492879060028d01908b906127d4565b60405180910390a350505050506104a1600160c955565b610a3c6040518060600160405280602181526020016132c760219139611ca9565b60fd8054908290556040517f85814f0246fcd999c88af70c9e6238211e79444ff07ec745b80aed19ddb268c890610a769083908590612822565b60405180910390a15050565b610ab36040518060400160405280601081526020016f726573756d6541756374696f6e73282960801b815250611ca9565b6101005460ff16610ad65760405162461bcd60e51b815260040161040090612864565b610100805460ff191690556040517f91b812e075fb9190eebe2d938c00a7179d150156469a467ec60a290035f4635a90610b1190339061237f565b60405180910390a1565b610b596040518060400160405280601b81526020017f757064617465496e63656e746976654270732875696e74323536290000000000815250611ca9565b80600003610b795760405162461bcd60e51b8152600401610400906128a8565b60fe8054908290556040517f3d438fa36c5052935d12a6925d1660c8150c74ef11ca672d4279bc6fd41b8bcf90610a769083908590612822565b610bd46040518060600160405280602381526020016132e860239139611ca9565b80600003610bf45760405162461bcd60e51b8152600401610400906128f8565b60ff8054908290556040517f3f22dba09ee9845bd2be6926fea5337a0db935ca059cbb205d62174783e2966490610a769083908590612822565b610c36611b7b565b610c406000611d43565b565b60655433906001600160a01b03168114610c6e5760405162461bcd60e51b81526004016104009061294e565b6104a181611d43565b610ca76040518060400160405280600f81526020016e706175736541756374696f6e73282960881b815250611ca9565b6101005460ff1615610ccb5760405162461bcd60e51b815260040161040090612992565b610100805460ff191660011790556040517fc1be5163c9ebecf05bfbd6c6ae7c2b6ce2d3c43088dffaf5270cbf951615049990610b1190339061237f565b610d11611b7b565b610d1a81611d5c565b60fb80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907fa87b964d321035d2165e484ff4b722dd6eae30606c0b98887d2ed1a34e594bfe90600090a35050565b600054610100900460ff1615808015610d8c5750600054600160ff909116105b80610da65750303b158015610da6575060005460ff166001145b610dc25760405162461bcd60e51b8152600401610400906129ed565b6000805460ff191660011790558015610de5576000805461ff0019166101001790555b610dee85611d5c565b610df784611d5c565b82600003610e175760405162461bcd60e51b815260040161040090612a31565b610e1f611d83565b610e2882611db2565b610e30611dd9565b60fd83905561010280546001600160a01b038088166001600160a01b03199283161790925560fc805492871692909116919091179055606461010155600a60ff556103e860fe55610100805460ff191690558015610ecd576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890610ec490600190612a55565b60405180910390a15b5050505050565b610edc611c1e565b6001600160a01b038216600090815261010360205260409020610efe81611409565b610f1a5760405162461bcd60e51b8152600401610400906124d9565b610f238161143e565b15610f405760405162461bcd60e51b815260040161040090612a97565b612710821115610f625760405162461bcd60e51b815260040161040090612aea565b600060018083015460ff1690811115610f7d57610f7d612248565b148015610fc9575060048101546001600160a01b031615801590610fa45750806005015482115b80610fc9575060048101546001600160a01b0316158015610fc9575080600701548210155b80611034575060018181015460ff1681811115610fe857610fe8612248565b148015611034575060048101546001600160a01b03161580159061100f5750806005015482105b80611034575060048101546001600160a01b0316158015611034575080600701548211155b6110505760405162461bcd60e51b815260040161040090612b2e565b600281015460005b818110156112c557600083600201828154811061107757611077612620565b600091825260208083209091015460408051636f307dc360e01b815290516001600160a01b0390921694508492636f307dc3926004808401938290030181865afa1580156110c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ed9190612641565b9050600060018087015460ff169081111561110a5761110a612248565b036112185760048501546001600160a01b0316156111a1576000612710866005015487600801600089600201888154811061114757611147612620565b60009182526020808320909101546001600160a01b031683528201929092526040019020546111769190612662565b6111809190612697565b600487015490915061119f906001600160a01b03848116911683611c47565b505b6000612710878760080160008960020188815481106111c2576111c2612620565b60009182526020808320909101546001600160a01b031683528201929092526040019020546111f19190612662565b6111fb9190612697565b90506112126001600160a01b038316333084611e08565b506112b2565b60048501546001600160a01b03161561125d57600485015460028601805461125d926001600160a01b0316916008890191600091908890811061078357610783612620565b6112b2333087600801600089600201888154811061127d5761127d612620565b60009182526020808320909101546001600160a01b039081168452908301939093526040909101902054908516929190611e08565b5050806112be906126ab565b9050611058565b506004820180546001600160a01b031916339081179091556005830184905543600684015582546040516001600160a01b038716917f5485cf82060404805b51f48c0c4afa3cec4a9e5755c0131e1243553f0eebb9a39161132891908890612822565b60405180910390a3505061048c600160c955565b61135d60405180606001604052806021815260200161330b60219139611ca9565b6101018054908290556040517f2a5be8a6b827e16c392d22522295794d6baff64565057a17b1f14c9d6c125a6090610a769083908590612822565b6113a0611b7b565b606580546001600160a01b0383166001600160a01b031990911681179091556113d16033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b8054600090158015906114385750600180830154610100900460ff16600281111561143657611436612248565b145b92915050565b60048101546000906001600160a01b03161580801561146b57506101015483546114689190612598565b43115b9392505050565b60fb54604051637aee632d60e01b81526000916001600160a01b031690637aee632d906114a390859060040161237f565b600060405180830381865afa1580156114c0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114e89190810190612cdf565b9050816001600160a01b031681604001516001600160a01b03161461151f5760405162461bcd60e51b815260040161040090612d5e565b6001600160a01b0382166000908152610103602052604090208054158015611564575060006001820154610100900460ff16600281111561156257611562612248565b145b8061158c575060026001820154610100900460ff16600281111561158a5761158a612248565b145b6115a85760405162461bcd60e51b815260040161040090612d98565b600060058201819055600682018190556002820154905b818110156116135760008360020182815481106115de576115de612620565b60009182526020808320909101546001600160a01b0316825260088601905260408120555061160c816126ab565b90506115bf565b50611622600283016000612157565b600061162d85611e2f565b905080519150600061163e86611e97565b90506000808467ffffffffffffffff81111561165c5761165c61260a565b604051908082528060200260200182016040528015611685578160200160208202803683370190505b5090508467ffffffffffffffff8111156116a1576116a161260a565b6040519080825280602002602001820160405280156116ca578160200160208202803683370190505b5080516116e1916002890191602090910190612175565b5060005b8581101561196b57600085828151811061170157611701612620565b60200260200101516001600160a01b031663bbcac5576040518163ffffffff1660e01b8152600401602060405180830381865afa158015611746573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176a91906126eb565b9050846001600160a01b03166396e85ced87848151811061178d5761178d612620565b60200260200101516040518263ffffffff1660e01b81526004016117b1919061237f565b600060405180830381600087803b1580156117cb57600080fd5b505af11580156117df573d6000803e3d6000fd5b505050506000670de0b6b3a764000082876001600160a01b031663fc57d4df8a878151811061181057611810612620565b60200260200101516040518263ffffffff1660e01b8152600401611834919061237f565b602060405180830381865afa158015611851573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187591906126eb565b61187f9190612662565b6118899190612697565b90506118958186612598565b94508683815181106118a9576118a9612620565b60200260200101518960020184815481106118c6576118c6612620565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508189600801600089868151811061190d5761190d612620565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020819055508184848151811061194c5761194c612620565b602002602001018181525050505080611964906126ab565b90506116e5565b5060fd5482101561198e5760405162461bcd60e51b815260040161040090612ddc565b60fc5460405163f481395b60e01b81526000916001600160a01b03169063f481395b906119bf908c9060040161237f565b602060405180830381865afa1580156119dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a0091906126eb565b90506000819050600061271060fe5486611a1a9190612662565b611a249190612697565b611a2e9086612598565b9050828110611a8b5760fe54611a4690612710612598565b611a509086612662565b82611a5d61271080612662565b611a679190612662565b611a719190612697565b60078a015560018901805460ff1916905560009150611ab2565b80611a968184612dec565b60018b8101805460ff1916909117905561271060078c01559250505b611abc8284612dec565b60038a01554389556001808a01805461ff00191661010083021790555060008960040160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508a6001600160a01b03167f56c1f0c5ea96c78d614c0246b1915086a325f09ce15526bd5d69b50232d681328a600001548b60010160009054906101000a900460ff168c600201888e600301548f60070154604051611b6696959493929190612e03565b60405180910390a25050505050505050505050565b6033546001600160a01b03163314610c405760405162461bcd60e51b815260040161040090612e92565b6001600160a01b038116611bcb5760405162461bcd60e51b815260040161040090612ee4565b609780546001600160a01b038381166001600160a01b03198316179092556040519116907f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa090610a769083908590612ef4565b600260c95403611c405760405162461bcd60e51b815260040161040090612f43565b600260c955565b611c9d8363a9059cbb60e01b8484604051602401611c669291906126c5565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611efb565b505050565b600160c955565b6097546040516318c5e8ab60e01b81526000916001600160a01b0316906318c5e8ab90611cdc9033908690600401612f85565b602060405180830381865afa158015611cf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d1d9190612fb8565b90508061048c57333083604051634a3fa29360e01b815260040161040093929190612fd9565b606580546001600160a01b03191690556104a181611f8d565b6001600160a01b0381166104a1576040516342bcdf7f60e11b815260040160405180910390fd5b600054610100900460ff16611daa5760405162461bcd60e51b815260040161040090613057565b610c40611fdf565b600054610100900460ff166104985760405162461bcd60e51b815260040161040090613057565b600054610100900460ff16611e005760405162461bcd60e51b815260040161040090613057565b610c4061200f565b611e29846323b872dd60e01b858585604051602401611c6693929190613067565b50505050565b6060816001600160a01b031663b0772d0b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611e6f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611438919081019061313d565b6000816001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ed7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114389190613178565b6000611f50826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166120369092919063ffffffff16565b9050805160001480611f71575080806020019051810190611f719190612fb8565b611c9d5760405162461bcd60e51b8152600401610400906131e0565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166120065760405162461bcd60e51b815260040161040090613057565b610c4033611d43565b600054610100900460ff16611ca25760405162461bcd60e51b815260040161040090613057565b6060612045848460008561204d565b949350505050565b60608247101561206f5760405162461bcd60e51b815260040161040090613233565b600080866001600160a01b0316858760405161208b9190613265565b60006040518083038185875af1925050503d80600081146120c8576040519150601f19603f3d011682016040523d82523d6000602084013e6120cd565b606091505b50915091506120de878383876120e9565b979650505050505050565b60608315612128578251600003612121576001600160a01b0385163b6121215760405162461bcd60e51b8152600401610400906132a5565b5081612045565b612045838381511561213d5781518083602001fd5b8060405162461bcd60e51b815260040161040091906132b5565b50805460008255906000526020600020908101906104a191906121da565b8280548282559060005260206000209081019282156121ca579160200282015b828111156121ca57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190612195565b506121d69291506121da565b5090565b5b808211156121d657600081556001016121db565b60006001600160a01b038216611438565b612209816121ef565b81146104a157600080fd5b803561143881612200565b60006020828403121561223457612234600080fd5b60006120458484612214565b805b82525050565b634e487b7160e01b600052602160045260246000fd5b600281106104a1576104a1612248565b806122788161225e565b919050565b60006114388261226e565b6122428161227d565b600381106104a1576104a1612248565b8061227881612291565b6000611438826122a1565b612242816122ab565b612242816121ef565b61010081016122d7828b612240565b6122e4602083018a612288565b6122f160408301896122b6565b6122fe6060830188612240565b61230b60808301876122bf565b61231860a0830186612240565b61232560c0830185612240565b61233260e0830184612240565b9998505050505050505050565b602081016114388284612240565b80612209565b80356114388161234d565b60006020828403121561237357612373600080fd5b60006120458484612353565b6020810161143882846122bf565b801515612242565b60208101611438828461238d565b60006114386001600160a01b0383165b6001600160a01b031690565b6000611438826123a3565b6000611438826123bf565b612242816123ca565b6020810161143882846123d5565b6000611438826121ef565b612209816123ec565b8035611438816123f7565b6000806000806080858703121561242457612424600080fd5b60006124308787612214565b945050602061244187828801612400565b935050604061245287828801612353565b925050606061246387828801612214565b91505092959194509250565b6000806040838503121561248557612485600080fd5b60006124918585612214565b92505060206124a285828601612353565b9150509250929050565b601381526000602082017237379037b716b3b7b4b7339030bab1ba34b7b760691b815291505b5060200190565b60208082528101611438816124ac565b602f81526000602082017f796f75206e65656420746f207761697420666f72206d6f72652074696d65206681526e37b9103334b939ba103134b23232b960891b602082015291505b5060400190565b60208082528101611438816124e9565b6013815260006020820172105d58dd1a5bdb9cc8185c99481c185d5cd959606a1b815291506124d2565b6020808252810161143881612548565b634e487b7160e01b600052601160045260246000fd5b600082198211156125ab576125ab612582565b500190565b602d81526000602082017f77616974696e6720666f72206e657874206269646465722e2063616e6e6f742081526c31b637b9b29030bab1ba34b7b760991b60208201529150612531565b60208082528101611438816125b0565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b805161143881612200565b60006020828403121561265657612656600080fd5b60006120458484612636565b600081600019048311821515161561267c5761267c612582565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826126a6576126a6612681565b500490565b600060001982036126be576126be612582565b5060010190565b604081016126d382856122bf565b61146b6020830184612240565b80516114388161234d565b60006020828403121561270057612700600080fd5b600061204584846126e0565b600061271883836123d5565b505060200190565b6000611438826123b3565b60006114388254612720565b6000612741825490565b808452600083815260208082209501949081905b8381101561277f576127668261272b565b612770888261270c565b97505060019182019101612755565b509495945050505050565b60006127188383612240565b60006127a0825190565b80845260209384019383018060005b8381101561277f5781516127c3888261278a565b9750602083019250506001016127af565b60a081016127e28288612240565b6127ef6020830187612240565b6127fc6040830186612240565b818103606083015261280e8185612737565b905081810360808301526120de8184612796565b604081016126d38285612240565b601781526000602082017f41756374696f6e7320617265206e6f7420706175736564000000000000000000815291506124d2565b6020808252810161143881612830565b601a81526000602082017f696e63656e74697665427073206d757374206e6f742062652030000000000000815291506124d2565b6020808252810161143881612874565b602381526000602082017f5f6e657874426964646572426c6f636b4c696d6974206d757374206e6f74206281526206520360ec1b60208201529150612531565b60208082528101611438816128b8565b602981526000602082017f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865208152683732bb9037bbb732b960b91b60208201529150612531565b6020808252810161143881612908565b601b81526000602082017f41756374696f6e732061726520616c7265616479207061757365640000000000815291506124d2565b602080825281016114388161295e565b602e81526000602082017f496e697469616c697a61626c653a20636f6e747261637420697320616c72656181526d191e481a5b9a5d1a585b1a5e995960921b60208201529150612531565b60208082528101611438816129a2565b601d81526000602082017f696e76616c6964206d696e696d756d20706f6f6c206261642064656274000000815291506124d2565b60208082528101611438816129fd565b600060ff8216611438565b61224281612a41565b602081016114388284612a4c565b601c81526000602082017f61756374696f6e206973207374616c652c207265737461727420697400000000815291506124d2565b6020808252810161143881612a63565b602681526000602082017f626173697320706f696e74732063616e6e6f74206265206d6f7265207468616e81526502031303030360d41b60208201529150612531565b6020808252810161143881612aa7565b601b81526000602082017f796f757220626964206973206e6f742074686520686967686573740000000000815291506124d2565b6020808252810161143881612afa565b601f19601f830116810181811067ffffffffffffffff82111715612b6457612b6461260a565b6040525050565b6000612b7660405190565b90506122788282612b3e565b600067ffffffffffffffff821115612b9c57612b9c61260a565b601f19601f83011660200192915050565b60005b83811015612bc8578181015183820152602001612bb0565b83811115611e295750506000910152565b6000612bec612be784612b82565b612b6b565b905082815260208101848484011115612c0757612c07600080fd5b612c12848285612bad565b509392505050565b600082601f830112612c2e57612c2e600080fd5b8151612045848260208601612bd9565b600060a08284031215612c5357612c53600080fd5b612c5d60a0612b6b565b825190915067ffffffffffffffff811115612c7a57612c7a600080fd5b612c8684828501612c1a565b8252506020612c9784848301612636565b6020830152506040612cab84828501612636565b6040830152506060612cbf848285016126e0565b6060830152506080612cd3848285016126e0565b60808301525092915050565b600060208284031215612cf457612cf4600080fd5b815167ffffffffffffffff811115612d0e57612d0e600080fd5b61204584828501612c3e565b602781526000602082017f636f6d7074726f6c6c657220646f65736e277420657869737420706f6f6c20728152666567697374727960c81b60208201529150612531565b6020808252810161143881612d1a565b601381526000602082017261756374696f6e206973206f6e2d676f696e6760681b815291506124d2565b6020808252810161143881612d6e565b601881526000602082017f706f6f6c20626164206465627420697320746f6f206c6f770000000000000000815291506124d2565b6020808252810161143881612da8565b600082821015612dfe57612dfe612582565b500390565b60c08101612e118289612240565b612e1e6020830188612288565b8181036040830152612e308187612737565b90508181036060830152612e448186612796565b9050612e536080830185612240565b6120de60a0830184612240565b60208082527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572910190815260006124d2565b6020808252810161143881612e60565b602581526000602082017f696e76616c696420616365737320636f6e74726f6c206d616e61676572206164815264647265737360d81b60208201529150612531565b6020808252810161143881612ea2565b60408101612f0282856122bf565b61146b60208301846122bf565b601f81526000602082017f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815291506124d2565b6020808252810161143881612f0f565b6000612f5d825190565b808452602084019350612f74818560208601612bad565b601f01601f19169290920192915050565b60408101612f9382856122bf565b81810360208301526120458184612f53565b801515612209565b805161143881612fa5565b600060208284031215612fcd57612fcd600080fd5b60006120458484612fad565b60608101612fe782866122bf565b612ff460208301856122bf565b81810360408301526130068184612f53565b95945050505050565b602b81526000602082017f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206981526a6e697469616c697a696e6760a81b60208201529150612531565b602080825281016114388161300f565b6060810161307582866122bf565b61308260208301856122bf565b6120456040830184612240565b600067ffffffffffffffff8211156130a9576130a961260a565b5060209081020190565b8051611438816123f7565b60006130cc612be78461308f565b838152905060208082019084028301858111156130eb576130eb600080fd5b835b8181101561310f578061310088826130b3565b845250602092830192016130ed565b5050509392505050565b600082601f83011261312d5761312d600080fd5b81516120458482602086016130be565b60006020828403121561315257613152600080fd5b815167ffffffffffffffff81111561316c5761316c600080fd5b61204584828501613119565b60006020828403121561318d5761318d600080fd5b600061204584846130b3565b602a81526000602082017f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b60208201529150612531565b6020808252810161143881613199565b602681526000602082017f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b60208201529150612531565b60208082528101611438816131f0565b600061324d825190565b61325b818560208601612bad565b9290920192915050565b600061146b8284613243565b601d81526000602082017f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815291506124d2565b6020808252810161143881613271565b6020808252810161146b8184612f5356fe7570646174654d696e696d756d506f6f6c426164446562742875696e74323536297570646174654e657874426964646572426c6f636b4c696d69742875696e743235362975706461746557616974466f7246697273744269646465722875696e7432353629a2646970667358221220b929d9b2893a0659d9569b6ef26dbda900567fabd472b1370e7293ddb058980c64736f6c634300080d0033",
754
+ "linkReferences": {},
755
+ "deployedLinkReferences": {}
756
+ }