[
{
"inputs": [
{
"internalType": "address",
"name": "_logic",
"type": "address"
},
{
"internalType": "bytes",
"name": "_data",
"type": "bytes"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "previousAdmin",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "newAdmin",
"type": "address"
}
],
"name": "AdminChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "beacon",
"type": "address"
}
],
"name": "BeaconUpgraded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "implementation",
"type": "address"
}
],
"name": "Upgraded",
"type": "event"
},
{
"stateMutability": "payable",
"type": "fallback"
},
{
"stateMutability": "payable",
"type": "receive"
}
]
608060405234801561000f575f80fd5b506040516104df3803806104df83398101604081905261002e916102ed565b818161003b82825f610044565b50505050610402565b61004d8361006f565b5f825111806100595750805b1561006a5761006883836100ae565b505b505050565b610078816100da565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606100d383836040518060600160405280602781526020016104b86027913961018b565b9392505050565b6100e381610200565b61014a5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80856001600160a01b0316856040516101a791906103b5565b5f60405180830381855af49150503d805f81146101df576040519150601f19603f3d011682016040523d82523d5f602084013e6101e4565b606091505b5090925090506101f68683838761020f565b9695505050505050565b6001600160a01b03163b151590565b6060831561027b5782515f036102745761022885610200565b6102745760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610141565b5081610285565b610285838361028d565b949350505050565b81511561029d5781518083602001fd5b8060405162461bcd60e51b815260040161014191906103d0565b634e487b7160e01b5f52604160045260245ffd5b5f5b838110156102e55781810151838201526020016102cd565b50505f910152565b5f80604083850312156102fe575f80fd5b82516001600160a01b0381168114610314575f80fd5b60208401519092506001600160401b0380821115610330575f80fd5b818501915085601f830112610343575f80fd5b815181811115610355576103556102b7565b604051601f8201601f19908116603f0116810190838211818310171561037d5761037d6102b7565b81604052828152886020848701011115610395575f80fd5b6103a68360208301602088016102cb565b80955050505050509250929050565b5f82516103c68184602087016102cb565b9190910192915050565b602081525f82518060208401526103ee8160408501602087016102cb565b601f01601f19169190910160400192915050565b60aa8061040e5f395ff3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea264697066735822122065d7f7619f794b620932d387b70072e6480311685e56f7372a1446a2f56ebc2f64736f6c63430008170033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656400000000000000000000000030476e5100422349589e8ece62b0edb07574d9ef00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024fe4b84df000000000000000000000000000000000000000000115eec47f6cf7e3500000000000000000000000000000000000000000000000000000000000000