[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "target", "type": "address" } ], "name": "AddressEmptyCode", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "AddressInsufficientBalance", "type": "error" }, { "inputs": [], "name": "FailedInnerCall", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "LEND_FAILED", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "REDEEM_FAILED", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "SafeERC20FailedOperation", "type": "error" }, { "inputs": [], "name": "ZERO_ADDRESS", "type": "error" }, { "inputs": [], "name": "ZERO_AMOUNT", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "shareAmount", "type": "uint256" } ], "name": "Deposited", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferStarted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "shareAmount", "type": "uint256" } ], "name": "Withdrawn", "type": "event" }, { "inputs": [], "name": "acceptOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "deposit", "outputs": [ { "internalType": "uint256", "name": "shareAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getBToken", "outputs": [ { "internalType": "contract IBErc20", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getConfig", "outputs": [ { "internalType": "contract IProtocolConfig", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getUnderlyingToken", "outputs": [ { "internalType": "contract IERC20Upgradeable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "contract IProtocolConfig", "name": "config", "type": "address" }, { "internalType": "contract IBErc20", "name": "bToken", "type": "address" }, { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pendingOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "shareAmount", "type": "uint256" } ], "name": "withdraw", "outputs": [ { "internalType": "uint256", "name": "withdrawAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" } ]
608060405234801561001057600080fd5b5061001961001e565b6100dd565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146100db576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61221480620000ed6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80638da5cb5b116100b8578063b6b55f251161007c578063b6b55f251461029f578063c3f909d4146102b2578063dd62ed3e146102c3578063e30c3978146102d6578063ee719bc8146102e7578063f2fde38b146102f857600080fd5b80638da5cb5b1461023b57806390250dcf1461026057806395d89b4114610271578063a457c2d714610279578063a9059cbb1461028c57600080fd5b8063313ce5671161010a578063313ce567146101c0578063362925c2146101da57806339509351146101ef57806370a0823114610202578063715018a61461022b57806379ba50971461023357600080fd5b806306fdde0314610147578063095ea7b31461016557806318160ddd1461018857806323b872dd1461019a5780632e1a7d4d146101ad575b600080fd5b61014f61030b565b60405161015c9190611d19565b60405180910390f35b610178610173366004611d61565b61039d565b604051901515815260200161015c565b6099545b60405190815260200161015c565b6101786101a8366004611d8d565b6103b7565b61018c6101bb366004611dce565b6103dd565b6101c861077e565b60405160ff909116815260200161015c565b6101ed6101e8366004611e8a565b6107f1565b005b6101786101fd366004611d61565b6109fb565b61018c610210366004611f28565b6001600160a01b031660009081526097602052604090205490565b6101ed610a1d565b6101ed610a31565b6033546001600160a01b03165b6040516001600160a01b03909116815260200161015c565b60fb546001600160a01b0316610248565b61014f610aab565b610178610287366004611d61565b610aba565b61017861029a366004611d61565b610b40565b61018c6102ad366004611dce565b610b4e565b60fd546001600160a01b0316610248565b61018c6102d1366004611f45565b610e80565b6065546001600160a01b0316610248565b60fc546001600160a01b0316610248565b6101ed610306366004611f28565b610eab565b6060609a805461031a90611f7e565b80601f016020809104026020016040519081016040528092919081815260200182805461034690611f7e565b80156103935780601f1061036857610100808354040283529160200191610393565b820191906000526020600020905b81548152906001019060200180831161037657829003601f168201915b5050505050905090565b6000336103ab818585610f1c565b60019150505b92915050565b6000336103c5858285611041565b6103d08585856110bb565b60019150505b9392505050565b60006103e7611266565b8160000361040857604051630f6fa54560e41b815260040160405180910390fd5b600061041c60fb546001600160a01b031690565b9050600061043260fc546001600160a01b031690565b9050600061044860fd546001600160a01b031690565b905061045433866112bf565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa15801561049b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bf9190611fb8565b60405163db006a7560e01b8152600481018890529091506001600160a01b0385169063db006a75906024016020604051808303816000875af1158015610509573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052d9190611fb8565b1561055357604051639a8c640160e01b8152600481018790526024015b60405180910390fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa15801561059a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105be9190611fb8565b90506105ca8282611fe7565b9550610642836001600160a01b031663f2d638266040518163ffffffff1660e01b8152600401602060405180830381865afa15801561060d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106319190611ffa565b6001600160a01b03861690886113f0565b826001600160a01b031663f2d638266040518163ffffffff1660e01b8152600401602060405180830381865afa158015610680573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a49190611ffa565b60405163272bed8360e11b81526001600160a01b038681166004830152602482018990529190911690634e57db06906044016020604051808303816000875af11580156106f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107199190611fb8565b955061072f6001600160a01b0385163388611411565b604080518781526020810189905233917f92ccf450a286a957af52509bc1c9939d1a6a481783e142e41e2499f0bb66ebc6910160405180910390a25050505050610779600160c955565b919050565b60fb546040805163313ce56760e01b815290516000926001600160a01b03169163313ce5679160048083019260209291908290030181865afa1580156107c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ec9190612017565b905090565b600054610100900460ff16158080156108115750600054600160ff909116105b8061082b5750303b15801561082b575060005460ff166001145b61088e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161054a565b6000805460ff1916600117905580156108b1576000805461ff0019166101001790555b6108b961147b565b6108c16114aa565b6108ca826114d9565b6108d484846114f2565b6001600160a01b03851615806108f157506001600160a01b038616155b1561090f5760405163538ba4f960e01b815260040160405180910390fd5b6000856001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561094f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109739190611ffa565b60fd80546001600160a01b03808b166001600160a01b03199283161790925560fb80548a841690831617905560fc80549290931691161790555080156109f3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b6000336103ab818585610a0e8383610e80565b610a18919061203a565b610f1c565b610a25611527565b610a2f60006114d9565b565b60655433906001600160a01b03168114610a9f5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840161054a565b610aa8816114d9565b50565b6060609b805461031a90611f7e565b60003381610ac88286610e80565b905083811015610b285760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161054a565b610b358286868403610f1c565b506001949350505050565b6000336103ab8185856110bb565b6000610b58611266565b81600003610b7957604051630f6fa54560e41b815260040160405180910390fd5b6000610b8d60fb546001600160a01b031690565b90506000610ba360fc546001600160a01b031690565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610bed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c119190611fb8565b9050610c286001600160a01b038316333088611581565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015610c6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c939190611fb8565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038616906370a0823190602401602060405180830381865afa158015610cdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d019190611fb8565b9050610d176001600160a01b03851686896113f0565b6001600160a01b03851663a0712d68610d308585611fe7565b6040518263ffffffff1660e01b8152600401610d4e91815260200190565b6020604051808303816000875af1158015610d6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d919190611fb8565b15610db257604051633207478960e21b81526004810188905260240161054a565b6040516370a0823160e01b81523060048201526000906001600160a01b038716906370a0823190602401602060405180830381865afa158015610df9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1d9190611fb8565b9050610e298282611fe7565b9650610e3533886115b9565b604080518981526020810189905233917f73a19dd210f1a7f902193214c0ee91dd35ee5b4d920cba8d519eca65a7b488ca910160405180910390a2505050505050610779600160c955565b6001600160a01b03918216600090815260986020908152604080832093909416825291909152205490565b610eb3611527565b606580546001600160a01b0383166001600160a01b03199091168117909155610ee46033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6001600160a01b038316610f7e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161054a565b6001600160a01b038216610fdf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161054a565b6001600160a01b0383811660008181526098602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600061104d8484610e80565b905060001981146110b557818110156110a85760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161054a565b6110b58484848403610f1c565b50505050565b6001600160a01b03831661111f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161054a565b6001600160a01b0382166111815760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161054a565b6001600160a01b038316600090815260976020526040902054818110156111f95760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161054a565b6001600160a01b0380851660008181526097602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112599086815260200190565b60405180910390a36110b5565b600260c954036112b85760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161054a565b600260c955565b6001600160a01b03821661131f5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161054a565b6001600160a01b038216600090815260976020526040902054818110156113935760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161054a565b6001600160a01b03831660008181526097602090815260408083208686039055609980548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101611034565b505050565b6113f98361167a565b6113eb576113eb6001600160a01b03841683836116b3565b6040516001600160a01b0383166024820152604481018290526113eb90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611767565b600160c955565b600054610100900460ff166114a25760405162461bcd60e51b815260040161054a9061204d565b610a2f61183c565b600054610100900460ff166114d15760405162461bcd60e51b815260040161054a9061204d565b610a2f611863565b606580546001600160a01b0319169055610aa881611893565b600054610100900460ff166115195760405162461bcd60e51b815260040161054a9061204d565b61152382826118e5565b5050565b6033546001600160a01b03163314610a2f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161054a565b6040516001600160a01b03808516602483015283166044820152606481018290526110b59085906323b872dd60e01b9060840161143d565b6001600160a01b03821661160f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161054a565b8060996000828254611621919061203a565b90915550506001600160a01b0382166000818152609760209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b60006001600160a01b03821615806103b157506001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1492915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526117048482611925565b6110b557604080516001600160a01b038516602482015260006044808301919091528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261175d9085906119cd565b6110b584826119cd565b60006117bc826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611a309092919063ffffffff16565b90508051600014806117dd5750808060200190518101906117dd9190612098565b6113eb5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161054a565b600054610100900460ff166114745760405162461bcd60e51b815260040161054a9061204d565b600054610100900460ff1661188a5760405162461bcd60e51b815260040161054a9061204d565b610a2f336114d9565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff1661190c5760405162461bcd60e51b815260040161054a9061204d565b609a6119188382612102565b50609b6113eb8282612102565b6000806000846001600160a01b03168460405161194291906121c2565b6000604051808303816000865af19150503d806000811461197f576040519150601f19603f3d011682016040523d82523d6000602084013e611984565b606091505b50915091508180156119ae5750805115806119ae5750808060200190518101906119ae9190612098565b80156119c457506000856001600160a01b03163b115b95945050505050565b60006119e26001600160a01b03841683611a47565b90508051600014158015611a07575080806020019051810190611a059190612098565b155b156113eb57604051635274afe760e01b81526001600160a01b038416600482015260240161054a565b6060611a3f8484600085611a55565b949350505050565b60606103d683836000611b30565b606082471015611ab65760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161054a565b600080866001600160a01b03168587604051611ad291906121c2565b60006040518083038185875af1925050503d8060008114611b0f576040519150601f19603f3d011682016040523d82523d6000602084013e611b14565b606091505b5091509150611b2587838387611bcd565b979650505050505050565b606081471015611b555760405163cd78605960e01b815230600482015260240161054a565b600080856001600160a01b03168486604051611b7191906121c2565b60006040518083038185875af1925050503d8060008114611bae576040519150601f19603f3d011682016040523d82523d6000602084013e611bb3565b606091505b5091509150611bc3868383611c46565b9695505050505050565b60608315611c3c578251600003611c35576001600160a01b0385163b611c355760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161054a565b5081611a3f565b611a3f8383611ca2565b606082611c5b57611c5682611ccc565b6103d6565b8151158015611c7257506001600160a01b0384163b155b15611c9b57604051639996b31560e01b81526001600160a01b038516600482015260240161054a565b50806103d6565b815115611cb25781518083602001fd5b8060405162461bcd60e51b815260040161054a9190611d19565b805115611cdc5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60005b83811015611d10578181015183820152602001611cf8565b50506000910152565b6020815260008251806020840152611d38816040850160208701611cf5565b601f01601f19169190910160400192915050565b6001600160a01b0381168114610aa857600080fd5b60008060408385031215611d7457600080fd5b8235611d7f81611d4c565b946020939093013593505050565b600080600060608486031215611da257600080fd5b8335611dad81611d4c565b92506020840135611dbd81611d4c565b929592945050506040919091013590565b600060208284031215611de057600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611e0e57600080fd5b813567ffffffffffffffff80821115611e2957611e29611de7565b604051601f8301601f19908116603f01168101908282118183101715611e5157611e51611de7565b81604052838152866020858801011115611e6a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060a08688031215611ea257600080fd5b8535611ead81611d4c565b94506020860135611ebd81611d4c565b9350604086013567ffffffffffffffff80821115611eda57600080fd5b611ee689838a01611dfd565b94506060880135915080821115611efc57600080fd5b50611f0988828901611dfd565b9250506080860135611f1a81611d4c565b809150509295509295909350565b600060208284031215611f3a57600080fd5b81356103d681611d4c565b60008060408385031215611f5857600080fd5b8235611f6381611d4c565b91506020830135611f7381611d4c565b809150509250929050565b600181811c90821680611f9257607f821691505b602082108103611fb257634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611fca57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103b1576103b1611fd1565b60006020828403121561200c57600080fd5b81516103d681611d4c565b60006020828403121561202957600080fd5b815160ff811681146103d657600080fd5b808201808211156103b1576103b1611fd1565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6000602082840312156120aa57600080fd5b815180151581146103d657600080fd5b601f8211156113eb576000816000526020600020601f850160051c810160208610156120e35750805b601f850160051c820191505b818110156109f3578281556001016120ef565b815167ffffffffffffffff81111561211c5761211c611de7565b6121308161212a8454611f7e565b846120ba565b602080601f831160018114612165576000841561214d5750858301515b600019600386901b1c1916600185901b1785556109f3565b600085815260208120601f198616915b8281101561219457888601518255948401946001909101908401612175565b50858210156121b25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600082516121d4818460208701611cf5565b919091019291505056fea26469706673582212200227cad664ed095af589998eee4b0d282a3f7d51ad39820f9769f017ad00ceaf64736f6c63430008160033