0x608060405234801561000f575f80fd5b50600436106100a6575f3560e01c8063395093511161006e578063395093511461014757806370a082311461015a57806395d89b4114610182578063a457c2d7146101a1578063a9059cbb146101b4578063dd62ed3e146101c7575f80fd5b806306fdde03146100aa578063095ea7b3146100ec57806318160ddd1461010f57806323b872dd14610125578063313ce56714610138575b5f80fd5b604080518082019091526014815273151a1948109a5d18dbda5b8814dd185b99185c9960621b60208201525b6040516100e391906107b8565b60405180910390f35b6100ff6100fa366004610808565b6101da565b60405190151581526020016100e3565b6101176101f3565b6040519081526020016100e3565b6100ff610133366004610830565b610213565b604051601281526020016100e3565b6100ff610155366004610808565b6102ab565b61011761016836600461086a565b6001600160a01b03165f9081526020819052604090205490565b60408051808201909152600381526254425360e81b60208201526100d6565b6100ff6101af366004610808565b6102cc565b6100ff6101c2366004610808565b610346565b6101176101d536600461088a565b6103be565b5f336101e78185856103e8565b60019150505b92915050565b5f6102006012600a6109b2565b61020e906301406f406109c0565b905090565b5f336001600160a01b038516810361028a5760405162461bcd60e51b815260206004820152602f60248201527f45524332303a207472616e7366657246726f6d207370656e6465722063616e2060448201526e6e6f74206265207468652066726f6d60881b60648201526084015b60405180910390fd5b61029585828561050b565b6102a0858585610583565b506001949350505050565b5f336101e78185856102bd83836103be565b6102c791906109d7565b6103e8565b5f33816102d982866103be565b9050838110156103395760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610281565b6102a082868684036103e8565b5f336001600160a01b03841681036103b35760405162461bcd60e51b815260206004820152602a60248201527f45524332303a207472616e7366657220746f20616464726573732063616e6e6f6044820152693a1031329037bbb732b960b11b6064820152608401610281565b6101e7818585610583565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661044a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610281565b6001600160a01b0382166104ab5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610281565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f61051684846103be565b90505f19811461057d57818110156105705760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610281565b61057d84848484036103e8565b50505050565b6001600160a01b0383166105e75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610281565b6001600160a01b0382166106495760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610281565b5f81116106b15760405162461bcd60e51b815260206004820152603060248201527f45524332303a207472616e7366657220616d6f756e74206d757374206265206760448201526f726561746572207468616e207a65726f60801b6064820152608401610281565b6001600160a01b0383165f90815260208190526040902054818110156107285760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610281565b6001600160a01b038085165f9081526020819052604080822085850390559185168152908120805484929061075e9084906109d7565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107aa91815260200190565b60405180910390a350505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610803575f80fd5b919050565b5f8060408385031215610819575f80fd5b610822836107ed565b946020939093013593505050565b5f805f60608486031215610842575f80fd5b61084b846107ed565b9250610859602085016107ed565b929592945050506040919091013590565b5f6020828403121561087a575f80fd5b610883826107ed565b9392505050565b5f806040838503121561089b575f80fd5b6108a4836107ed565b91506108b2602084016107ed565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561090a578085048111156108ee576108ee6108bb565b60018416156108fc57908102905b60019390931c9280026108d3565b935093915050565b5f82610920575060016101ed565b8161092c57505f6101ed565b8160018114610942576002811461094c57610968565b60019150506101ed565b60ff84111561095d5761095d6108bb565b50506001821b6101ed565b5060208310610133831016604e8410600b841016171561098b575081810a6101ed565b6109975f1984846108cf565b805f19048211156109aa576109aa6108bb565b029392505050565b5f61088360ff841683610912565b80820281158282048414176101ed576101ed6108bb565b808201808211156101ed576101ed6108bb56fea26469706673582212206701f62e490e9b82c4daeedc7308b91a8ba56b2e910061d17e8fd8ac8285a76164736f6c634300081a0033
0x608060405234801561000f575f80fd5b5061001c6012600a610187565b61002a906301406f4061019c565b335f81815260208190526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61006a6012600a610187565b610078906301406f4061019c565b60405190815260200160405180910390a36101b3565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156100dd578085048111156100c1576100c161008e565b60018416156100cf57908102905b60019390931c9280026100a6565b935093915050565b5f826100f357506001610181565b816100ff57505f610181565b8160018114610115576002811461011f5761013b565b6001915050610181565b60ff8411156101305761013061008e565b50506001821b610181565b5060208310610133831016604e8410600b841016171561015e575081810a610181565b61016a5f1984846100a2565b805f190482111561017d5761017d61008e565b0290505b92915050565b5f61019560ff8416836100e5565b9392505050565b80820281158282048414176101815761018161008e565b610a20806101c05f395ff3fe608060405234801561000f575f80fd5b50600436106100a6575f3560e01c8063395093511161006e578063395093511461014757806370a082311461015a57806395d89b4114610182578063a457c2d7146101a1578063a9059cbb146101b4578063dd62ed3e146101c7575f80fd5b806306fdde03146100aa578063095ea7b3146100ec57806318160ddd1461010f57806323b872dd14610125578063313ce56714610138575b5f80fd5b604080518082019091526014815273151a1948109a5d18dbda5b8814dd185b99185c9960621b60208201525b6040516100e391906107b8565b60405180910390f35b6100ff6100fa366004610808565b6101da565b60405190151581526020016100e3565b6101176101f3565b6040519081526020016100e3565b6100ff610133366004610830565b610213565b604051601281526020016100e3565b6100ff610155366004610808565b6102ab565b61011761016836600461086a565b6001600160a01b03165f9081526020819052604090205490565b60408051808201909152600381526254425360e81b60208201526100d6565b6100ff6101af366004610808565b6102cc565b6100ff6101c2366004610808565b610346565b6101176101d536600461088a565b6103be565b5f336101e78185856103e8565b60019150505b92915050565b5f6102006012600a6109b2565b61020e906301406f406109c0565b905090565b5f336001600160a01b038516810361028a5760405162461bcd60e51b815260206004820152602f60248201527f45524332303a207472616e7366657246726f6d207370656e6465722063616e2060448201526e6e6f74206265207468652066726f6d60881b60648201526084015b60405180910390fd5b61029585828561050b565b6102a0858585610583565b506001949350505050565b5f336101e78185856102bd83836103be565b6102c791906109d7565b6103e8565b5f33816102d982866103be565b9050838110156103395760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610281565b6102a082868684036103e8565b5f336001600160a01b03841681036103b35760405162461bcd60e51b815260206004820152602a60248201527f45524332303a207472616e7366657220746f20616464726573732063616e6e6f6044820152693a1031329037bbb732b960b11b6064820152608401610281565b6101e7818585610583565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661044a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610281565b6001600160a01b0382166104ab5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610281565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f61051684846103be565b90505f19811461057d57818110156105705760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610281565b61057d84848484036103e8565b50505050565b6001600160a01b0383166105e75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610281565b6001600160a01b0382166106495760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610281565b5f81116106b15760405162461bcd60e51b815260206004820152603060248201527f45524332303a207472616e7366657220616d6f756e74206d757374206265206760448201526f726561746572207468616e207a65726f60801b6064820152608401610281565b6001600160a01b0383165f90815260208190526040902054818110156107285760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610281565b6001600160a01b038085165f9081526020819052604080822085850390559185168152908120805484929061075e9084906109d7565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107aa91815260200190565b60405180910390a350505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610803575f80fd5b919050565b5f8060408385031215610819575f80fd5b610822836107ed565b946020939093013593505050565b5f805f60608486031215610842575f80fd5b61084b846107ed565b9250610859602085016107ed565b929592945050506040919091013590565b5f6020828403121561087a575f80fd5b610883826107ed565b9392505050565b5f806040838503121561089b575f80fd5b6108a4836107ed565b91506108b2602084016107ed565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561090a578085048111156108ee576108ee6108bb565b60018416156108fc57908102905b60019390931c9280026108d3565b935093915050565b5f82610920575060016101ed565b8161092c57505f6101ed565b8160018114610942576002811461094c57610968565b60019150506101ed565b60ff84111561095d5761095d6108bb565b50506001821b6101ed565b5060208310610133831016604e8410600b841016171561098b575081810a6101ed565b6109975f1984846108cf565b805f19048211156109aa576109aa6108bb565b029392505050565b5f61088360ff841683610912565b80820281158282048414176101ed576101ed6108bb565b808201808211156101ed576101ed6108bb56fea26469706673582212206701f62e490e9b82c4daeedc7308b91a8ba56b2e910061d17e8fd8ac8285a76164736f6c634300081a0033