@yearn-mechanics/yswaps
Version:
YSwaps will swap enabled strategie's funds from harvests
345 lines (344 loc) • 33.3 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "UniswapV2Swapper",
"sourceName": "solidity/contracts/swappers/sync/UniswapV2Swapper.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_governor",
"type": "address"
},
{
"internalType": "address",
"name": "_tradeFactory",
"type": "address"
},
{
"internalType": "address",
"name": "_weth",
"type": "address"
},
{
"internalType": "address",
"name": "_factory",
"type": "address"
},
{
"internalType": "address",
"name": "_router",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "NotAuthorized",
"type": "error"
},
{
"inputs": [],
"name": "ZeroAddress",
"type": "error"
},
{
"inputs": [],
"name": "ZeroAmount",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "token",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "DustSent",
"type": "event"
},
{
"anonymous": false,
"inputs": [],
"name": "GovernorAccepted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "pendingGovernor",
"type": "address"
}
],
"name": "PendingGovernorSet",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "_tradeFactory",
"type": "address"
}
],
"name": "TradeFactorySet",
"type": "event"
},
{
"inputs": [],
"name": "ETH_ADDRESS",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "FACTORY",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "ROUTER",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "SLIPPAGE_PRECISION",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "SWAPPER_TYPE",
"outputs": [
{
"internalType": "enum ISwapper.SwapperType",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "WETH",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "acceptGovernor",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "governor",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_account",
"type": "address"
}
],
"name": "isGovernor",
"outputs": [
{
"internalType": "bool",
"name": "_isGovernor",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pendingGovernor",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "address",
"name": "_token",
"type": "address"
},
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "sendDust",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_pendingGovernor",
"type": "address"
}
],
"name": "setPendingGovernor",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_tradeFactory",
"type": "address"
}
],
"name": "setTradeFactory",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_receiver",
"type": "address"
},
{
"internalType": "address",
"name": "_tokenIn",
"type": "address"
},
{
"internalType": "address",
"name": "_tokenOut",
"type": "address"
},
{
"internalType": "uint256",
"name": "_amountIn",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_maxSlippage",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "_data",
"type": "bytes"
}
],
"name": "swap",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "tradeFactory",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x6101006040526127106080523480156200001857600080fd5b5060405162001aad38038062001aad8339810160408190526200003b9162000141565b848480826001600160a01b038116620000b15760405162461bcd60e51b815260206004820152602e60248201527f676f7665726e61626c652f676f7665726e6f722d73686f756c642d6e6f742d6260448201526d652d7a65726f2d6164647265737360901b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b039283161790558116620000ed5760405163d92e233d60e01b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b0392831617905594851660a052505090821660c0521660e05250620001b19050565b80516001600160a01b03811681146200013c57600080fd5b919050565b600080600080600060a086880312156200015a57600080fd5b620001658662000124565b9450620001756020870162000124565b9350620001856040870162000124565b9250620001956060870162000124565b9150620001a56080870162000124565b90509295509295909350565b60805160a05160c05160e051611867620002466000396000818161016b015281816106c9015281816107c7015281816108890152818161092001528181610ce9015261102901526000818161014401528181610bd201528181610de20152610eba01526000818161020801528181610db201528181610e870152610f9e015260008181610192015261094a01526118676000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063a734f06e11610097578063e43581b811610066578063e43581b814610252578063e58bb63914610284578063e5e19b4a1461028c578063f235757f1461029f57600080fd5b8063a734f06e146101e8578063ad5c464814610203578063cd985af01461022a578063e3056a341461023f57600080fd5b806332fe7b26116100d357806332fe7b2614610166578063453943f01461018d57806365210942146101c2578063a5d4096b146101d557600080fd5b80630c340a24146100fa5780632db8c1291461012a5780632dd310001461013f575b600080fd5b60005461010d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61013d610138366004611356565b6102b2565b005b61010d7f000000000000000000000000000000000000000000000000000000000000000081565b61010d7f000000000000000000000000000000000000000000000000000000000000000081565b6101b47f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610121565b61013d6101d0366004611397565b6102f5565b61013d6101e33660046113b4565b61039b565b61010d73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61010d7f000000000000000000000000000000000000000000000000000000000000000081565b610232600181565b6040516101219190611472565b60015461010d906001600160a01b031681565b610274610260366004611397565b6000546001600160a01b0391821691161490565b6040519015158152602001610121565b61013d6103eb565b60045461010d906001600160a01b031681565b61013d6102ad366004611397565b61044f565b6000546001600160a01b031633146102e55760405162461bcd60e51b81526004016102dc9061149a565b60405180910390fd5b6102f0838383610485565b505050565b6000546001600160a01b0316331461031f5760405162461bcd60e51b81526004016102dc9061149a565b6001600160a01b0381166103465760405163d92e233d60e01b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527fbda986fea33634f76bd215bacd0d368610edf55143c3ca42bd0f55040ad870b5906020015b60405180910390a150565b6004546001600160a01b031633146103c65760405163ea8e4eb560e01b815260040160405180910390fd5b6103d38787878787610627565b6103e287878787878787610699565b50505050505050565b6001546001600160a01b031633146104455760405162461bcd60e51b815260206004820181905260248201527f676f7665726e61626c652f6f6e6c792d70656e64696e672d676f7665726e6f7260448201526064016102dc565b61044d610a16565b565b6000546001600160a01b031633146104795760405162461bcd60e51b81526004016102dc9061149a565b61048281610a66565b50565b6001600160a01b0383166104f35760405162461bcd60e51b815260206004820152602f60248201527f636f6c6c65637461626c652d647573742f63616e742d73656e642d647573742d60448201526e746f2d7a65726f2d6164647265737360881b60648201526084016102dc565b6104fe600283610b28565b156105625760405162461bcd60e51b815260206004820152602e60248201527f636f6c6c65637461626c652d647573742f746f6b656e2d69732d706172742d6f60448201526d198b5d1a194b5c1c9bdd1bd8dbdb60921b60648201526084016102dc565b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156105c3576040516001600160a01b0384169082156108fc029083906000818181858888f193505050501580156105bd573d6000803e3d6000fd5b506105d7565b6105d76001600160a01b0383168483610b4d565b604080516001600160a01b038086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b6001600160a01b038516158061064457506001600160a01b038416155b8061065657506001600160a01b038316155b156106745760405163d92e233d60e01b815260040160405180910390fd5b8161069257604051631f2a200560e01b815260040160405180910390fd5b5050505050565b606060008215610781576106af8385018561153c565b60405163d06ca61f60e01b81529092506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d06ca61f906107009089908690600401611614565b60006040518083038186803b15801561071857600080fd5b505afa15801561072c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610754919081019061162d565b6001835161076291906116c9565b81518110610772576107726116e0565b60200260200101519050610792565b61078c888888610b9f565b90925090505b816000815181106107a5576107a56116e0565b602090810291909101015160405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152600060248301529091169063095ea7b390604401602060405180830381600087803b15801561081b57600080fd5b505af115801561082f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085391906116f6565b5081600081518110610867576108676116e0565b602090810291909101015160405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018990529091169063095ea7b390604401602060405180830381600087803b1580156108dd57600080fd5b505af11580156108f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091591906116f6565b506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166338ed17398760647f00000000000000000000000000000000000000000000000000000000000000006109738a87611718565b61097d9190611737565b6109879190611737565b61099190856116c9565b858d426040518663ffffffff1660e01b81526004016109b4959493929190611759565b600060405180830381600087803b1580156109ce57600080fd5b505af11580156109e2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a0a919081019061162d565b50505050505050505050565b60018054600080546001600160a01b03199081166001600160a01b0384161782559091169091556040517f7880f0fcc848e1f26e461654b100a69f8d0641e29aa29f6596c6afadbb36b5ea9190a1565b6001600160a01b038116610ada5760405162461bcd60e51b815260206004820152603560248201527f676f7665726e61626c652f70656e64696e672d676f7665726e6f722d73686f756044820152746c642d6e6f742d62652d7a65726f2d61646472657360581b60648201526084016102dc565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f56bddfa0cee9697cebddf9acd7f23dc6583663b05e007b877056d05017994def90602001610390565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526102f09084906110f7565b60405163e6a4390560e01b81526001600160a01b03848116600483015283811660248301526060916000918291849183917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a439059060440160206040518083038186803b158015610c1657600080fd5b505afa158015610c2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4e9190611795565b6001600160a01b031614610d935760408051600280825260608201835290916020830190803683370190505090508681600081518110610c9057610c906116e0565b60200260200101906001600160a01b031690816001600160a01b0316815250508581600181518110610cc457610cc46116e0565b6001600160a01b03928316602091820292909201015260405163d06ca61f60e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063d06ca61f90610d229088908590600401611614565b60006040518083038186803b158015610d3a57600080fd5b505afa158015610d4e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d76919081019061162d565b600181518110610d8857610d886116e0565b602002602001015191505b60405163e6a4390560e01b81526001600160a01b0388811660048301527f00000000000000000000000000000000000000000000000000000000000000008116602483015260009160609183917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a439059060440160206040518083038186803b158015610e2657600080fd5b505afa158015610e3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5e9190611795565b6001600160a01b031614158015610f42575060405163e6a4390560e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015289811660248301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a439059060440160206040518083038186803b158015610efe57600080fd5b505afa158015610f12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f369190611795565b6001600160a01b031614155b156110d3576040805160038082526080820190925290602082016060803683370190505090508881600081518110610f7c57610f7c6116e0565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610fd057610fd06116e0565b60200260200101906001600160a01b031690816001600160a01b0316815250508781600281518110611004576110046116e0565b6001600160a01b03928316602091820292909201015260405163d06ca61f60e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063d06ca61f90611062908a908590600401611614565b60006040518083038186803b15801561107a57600080fd5b505afa15801561108e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110b6919081019061162d565b6002815181106110c8576110c86116e0565b602002602001015191505b8184106110e857509093509091506110ef9050565b9450925050505b935093915050565b600061114c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166111c99092919063ffffffff16565b8051909150156102f0578080602001905181019061116a91906116f6565b6102f05760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102dc565b60606111d884846000856111e0565b949350505050565b6060824710156112415760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102dc565b843b61128f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102dc565b600080866001600160a01b031685876040516112ab91906117e2565b60006040518083038185875af1925050503d80600081146112e8576040519150601f19603f3d011682016040523d82523d6000602084013e6112ed565b606091505b50915091506112fd828286611308565b979650505050505050565b60608315611317575081610b46565b8251156113275782518084602001fd5b8160405162461bcd60e51b81526004016102dc91906117fe565b6001600160a01b038116811461048257600080fd5b60008060006060848603121561136b57600080fd5b833561137681611341565b9250602084013561138681611341565b929592945050506040919091013590565b6000602082840312156113a957600080fd5b8135610b4681611341565b600080600080600080600060c0888a0312156113cf57600080fd5b87356113da81611341565b965060208801356113ea81611341565b955060408801356113fa81611341565b9450606088013593506080880135925060a088013567ffffffffffffffff8082111561142557600080fd5b818a0191508a601f83011261143957600080fd5b81358181111561144857600080fd5b8b602082850101111561145a57600080fd5b60208301945080935050505092959891949750929550565b602081016002831061149457634e487b7160e01b600052602160045260246000fd5b91905290565b60208082526018908201527f676f7665726e61626c652f6f6e6c792d676f7665726e6f720000000000000000604082015260600190565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611510576115106114d1565b604052919050565b600067ffffffffffffffff821115611532576115326114d1565b5060051b60200190565b6000602080838503121561154f57600080fd5b823567ffffffffffffffff81111561156657600080fd5b8301601f8101851361157757600080fd5b803561158a61158582611518565b6114e7565b81815260059190911b820183019083810190878311156115a957600080fd5b928401925b828410156112fd5783356115c181611341565b825292840192908401906115ae565b600081518084526020808501945080840160005b838110156116095781516001600160a01b0316875295820195908201906001016115e4565b509495945050505050565b8281526040602082015260006111d860408301846115d0565b6000602080838503121561164057600080fd5b825167ffffffffffffffff81111561165757600080fd5b8301601f8101851361166857600080fd5b805161167661158582611518565b81815260059190911b8201830190838101908783111561169557600080fd5b928401925b828410156112fd5783518252928401929084019061169a565b634e487b7160e01b600052601160045260246000fd5b6000828210156116db576116db6116b3565b500390565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561170857600080fd5b81518015158114610b4657600080fd5b6000816000190483118215151615611732576117326116b3565b500290565b60008261175457634e487b7160e01b600052601260045260246000fd5b500490565b85815284602082015260a06040820152600061177860a08301866115d0565b6001600160a01b0394909416606083015250608001529392505050565b6000602082840312156117a757600080fd5b8151610b4681611341565b60005b838110156117cd5781810151838201526020016117b5565b838111156117dc576000848401525b50505050565b600082516117f48184602087016117b2565b9190910192915050565b602081526000825180602084015261181d8160408501602087016117b2565b601f01601f1916919091016040019291505056fea2646970667358221220dca301e58a9b71b9b3adbf0c414d6274631ecb57fbc602b93f17c0789af09ecb64736f6c63430008090033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c8063a734f06e11610097578063e43581b811610066578063e43581b814610252578063e58bb63914610284578063e5e19b4a1461028c578063f235757f1461029f57600080fd5b8063a734f06e146101e8578063ad5c464814610203578063cd985af01461022a578063e3056a341461023f57600080fd5b806332fe7b26116100d357806332fe7b2614610166578063453943f01461018d57806365210942146101c2578063a5d4096b146101d557600080fd5b80630c340a24146100fa5780632db8c1291461012a5780632dd310001461013f575b600080fd5b60005461010d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61013d610138366004611356565b6102b2565b005b61010d7f000000000000000000000000000000000000000000000000000000000000000081565b61010d7f000000000000000000000000000000000000000000000000000000000000000081565b6101b47f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610121565b61013d6101d0366004611397565b6102f5565b61013d6101e33660046113b4565b61039b565b61010d73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61010d7f000000000000000000000000000000000000000000000000000000000000000081565b610232600181565b6040516101219190611472565b60015461010d906001600160a01b031681565b610274610260366004611397565b6000546001600160a01b0391821691161490565b6040519015158152602001610121565b61013d6103eb565b60045461010d906001600160a01b031681565b61013d6102ad366004611397565b61044f565b6000546001600160a01b031633146102e55760405162461bcd60e51b81526004016102dc9061149a565b60405180910390fd5b6102f0838383610485565b505050565b6000546001600160a01b0316331461031f5760405162461bcd60e51b81526004016102dc9061149a565b6001600160a01b0381166103465760405163d92e233d60e01b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527fbda986fea33634f76bd215bacd0d368610edf55143c3ca42bd0f55040ad870b5906020015b60405180910390a150565b6004546001600160a01b031633146103c65760405163ea8e4eb560e01b815260040160405180910390fd5b6103d38787878787610627565b6103e287878787878787610699565b50505050505050565b6001546001600160a01b031633146104455760405162461bcd60e51b815260206004820181905260248201527f676f7665726e61626c652f6f6e6c792d70656e64696e672d676f7665726e6f7260448201526064016102dc565b61044d610a16565b565b6000546001600160a01b031633146104795760405162461bcd60e51b81526004016102dc9061149a565b61048281610a66565b50565b6001600160a01b0383166104f35760405162461bcd60e51b815260206004820152602f60248201527f636f6c6c65637461626c652d647573742f63616e742d73656e642d647573742d60448201526e746f2d7a65726f2d6164647265737360881b60648201526084016102dc565b6104fe600283610b28565b156105625760405162461bcd60e51b815260206004820152602e60248201527f636f6c6c65637461626c652d647573742f746f6b656e2d69732d706172742d6f60448201526d198b5d1a194b5c1c9bdd1bd8dbdb60921b60648201526084016102dc565b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156105c3576040516001600160a01b0384169082156108fc029083906000818181858888f193505050501580156105bd573d6000803e3d6000fd5b506105d7565b6105d76001600160a01b0383168483610b4d565b604080516001600160a01b038086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b6001600160a01b038516158061064457506001600160a01b038416155b8061065657506001600160a01b038316155b156106745760405163d92e233d60e01b815260040160405180910390fd5b8161069257604051631f2a200560e01b815260040160405180910390fd5b5050505050565b606060008215610781576106af8385018561153c565b60405163d06ca61f60e01b81529092506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d06ca61f906107009089908690600401611614565b60006040518083038186803b15801561071857600080fd5b505afa15801561072c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610754919081019061162d565b6001835161076291906116c9565b81518110610772576107726116e0565b60200260200101519050610792565b61078c888888610b9f565b90925090505b816000815181106107a5576107a56116e0565b602090810291909101015160405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152600060248301529091169063095ea7b390604401602060405180830381600087803b15801561081b57600080fd5b505af115801561082f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085391906116f6565b5081600081518110610867576108676116e0565b602090810291909101015160405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018990529091169063095ea7b390604401602060405180830381600087803b1580156108dd57600080fd5b505af11580156108f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091591906116f6565b506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166338ed17398760647f00000000000000000000000000000000000000000000000000000000000000006109738a87611718565b61097d9190611737565b6109879190611737565b61099190856116c9565b858d426040518663ffffffff1660e01b81526004016109b4959493929190611759565b600060405180830381600087803b1580156109ce57600080fd5b505af11580156109e2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a0a919081019061162d565b50505050505050505050565b60018054600080546001600160a01b03199081166001600160a01b0384161782559091169091556040517f7880f0fcc848e1f26e461654b100a69f8d0641e29aa29f6596c6afadbb36b5ea9190a1565b6001600160a01b038116610ada5760405162461bcd60e51b815260206004820152603560248201527f676f7665726e61626c652f70656e64696e672d676f7665726e6f722d73686f756044820152746c642d6e6f742d62652d7a65726f2d61646472657360581b60648201526084016102dc565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f56bddfa0cee9697cebddf9acd7f23dc6583663b05e007b877056d05017994def90602001610390565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526102f09084906110f7565b60405163e6a4390560e01b81526001600160a01b03848116600483015283811660248301526060916000918291849183917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a439059060440160206040518083038186803b158015610c1657600080fd5b505afa158015610c2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4e9190611795565b6001600160a01b031614610d935760408051600280825260608201835290916020830190803683370190505090508681600081518110610c9057610c906116e0565b60200260200101906001600160a01b031690816001600160a01b0316815250508581600181518110610cc457610cc46116e0565b6001600160a01b03928316602091820292909201015260405163d06ca61f60e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063d06ca61f90610d229088908590600401611614565b60006040518083038186803b158015610d3a57600080fd5b505afa158015610d4e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d76919081019061162d565b600181518110610d8857610d886116e0565b602002602001015191505b60405163e6a4390560e01b81526001600160a01b0388811660048301527f00000000000000000000000000000000000000000000000000000000000000008116602483015260009160609183917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a439059060440160206040518083038186803b158015610e2657600080fd5b505afa158015610e3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5e9190611795565b6001600160a01b031614158015610f42575060405163e6a4390560e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015289811660248301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a439059060440160206040518083038186803b158015610efe57600080fd5b505afa158015610f12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f369190611795565b6001600160a01b031614155b156110d3576040805160038082526080820190925290602082016060803683370190505090508881600081518110610f7c57610f7c6116e0565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610fd057610fd06116e0565b60200260200101906001600160a01b031690816001600160a01b0316815250508781600281518110611004576110046116e0565b6001600160a01b03928316602091820292909201015260405163d06ca61f60e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063d06ca61f90611062908a908590600401611614565b60006040518083038186803b15801561107a57600080fd5b505afa15801561108e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110b6919081019061162d565b6002815181106110c8576110c86116e0565b602002602001015191505b8184106110e857509093509091506110ef9050565b9450925050505b935093915050565b600061114c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166111c99092919063ffffffff16565b8051909150156102f0578080602001905181019061116a91906116f6565b6102f05760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102dc565b60606111d884846000856111e0565b949350505050565b6060824710156112415760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102dc565b843b61128f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102dc565b600080866001600160a01b031685876040516112ab91906117e2565b60006040518083038185875af1925050503d80600081146112e8576040519150601f19603f3d011682016040523d82523d6000602084013e6112ed565b606091505b50915091506112fd828286611308565b979650505050505050565b60608315611317575081610b46565b8251156113275782518084602001fd5b8160405162461bcd60e51b81526004016102dc91906117fe565b6001600160a01b038116811461048257600080fd5b60008060006060848603121561136b57600080fd5b833561137681611341565b9250602084013561138681611341565b929592945050506040919091013590565b6000602082840312156113a957600080fd5b8135610b4681611341565b600080600080600080600060c0888a0312156113cf57600080fd5b87356113da81611341565b965060208801356113ea81611341565b955060408801356113fa81611341565b9450606088013593506080880135925060a088013567ffffffffffffffff8082111561142557600080fd5b818a0191508a601f83011261143957600080fd5b81358181111561144857600080fd5b8b602082850101111561145a57600080fd5b60208301945080935050505092959891949750929550565b602081016002831061149457634e487b7160e01b600052602160045260246000fd5b91905290565b60208082526018908201527f676f7665726e61626c652f6f6e6c792d676f7665726e6f720000000000000000604082015260600190565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611510576115106114d1565b604052919050565b600067ffffffffffffffff821115611532576115326114d1565b5060051b60200190565b6000602080838503121561154f57600080fd5b823567ffffffffffffffff81111561156657600080fd5b8301601f8101851361157757600080fd5b803561158a61158582611518565b6114e7565b81815260059190911b820183019083810190878311156115a957600080fd5b928401925b828410156112fd5783356115c181611341565b825292840192908401906115ae565b600081518084526020808501945080840160005b838110156116095781516001600160a01b0316875295820195908201906001016115e4565b509495945050505050565b8281526040602082015260006111d860408301846115d0565b6000602080838503121561164057600080fd5b825167ffffffffffffffff81111561165757600080fd5b8301601f8101851361166857600080fd5b805161167661158582611518565b81815260059190911b8201830190838101908783111561169557600080fd5b928401925b828410156112fd5783518252928401929084019061169a565b634e487b7160e01b600052601160045260246000fd5b6000828210156116db576116db6116b3565b500390565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561170857600080fd5b81518015158114610b4657600080fd5b6000816000190483118215151615611732576117326116b3565b500290565b60008261175457634e487b7160e01b600052601260045260246000fd5b500490565b85815284602082015260a06040820152600061177860a08301866115d0565b6001600160a01b0394909416606083015250608001529392505050565b6000602082840312156117a757600080fd5b8151610b4681611341565b60005b838110156117cd5781810151838201526020016117b5565b838111156117dc576000848401525b50505050565b600082516117f48184602087016117b2565b9190910192915050565b602081526000825180602084015261181d8160408501602087016117b2565b601f01601f1916919091016040019291505056fea2646970667358221220dca301e58a9b71b9b3adbf0c414d6274631ecb57fbc602b93f17c0789af09ecb64736f6c63430008090033",
"linkReferences": {},
"deployedLinkReferences": {}
}