0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce567146100fe57806370a082311461011357806395d89b411461013c578063a9059cbb14610144578063dd62ed3e1461015757600080fd5b806306fdde0314610098578063095ea7b3146100b657806318160ddd146100d957806323b872dd146100eb575b600080fd5b6100a0610190565b6040516100ad9190610607565b60405180910390f35b6100c96100c4366004610671565b610222565b60405190151581526020016100ad565b6002545b6040519081526020016100ad565b6100c96100f936600461069b565b610239565b60055460405160ff90911681526020016100ad565b6100dd6101213660046106d7565b6001600160a01b031660009081526020819052604090205490565b6100a06102ef565b6100c9610152366004610671565b6102fe565b6100dd6101653660046106f9565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60606003805461019f9061072c565b80601f01602080910402602001604051908101604052809291908181526020018280546101cb9061072c565b80156102185780601f106101ed57610100808354040283529160200191610218565b820191906000526020600020905b8154815290600101906020018083116101fb57829003601f168201915b5050505050905090565b600061022f33848461030b565b5060015b92915050565b600061024684848461042f565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156102d05760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6102e485336102df868561077c565b61030b565b506001949350505050565b60606004805461019f9061072c565b600061022f33848461042f565b6001600160a01b03831661036d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016102c7565b6001600160a01b0382166103ce5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016102c7565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166104935760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016102c7565b6001600160a01b0382166104f55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016102c7565b6001600160a01b0383166000908152602081905260409020548181101561056d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016102c7565b610577828261077c565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906105ad90849061078f565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516105f991815260200190565b60405180910390a350505050565b600060208083528351808285015260005b8181101561063457858101830151858201604001528201610618565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461066c57600080fd5b919050565b6000806040838503121561068457600080fd5b61068d83610655565b946020939093013593505050565b6000806000606084860312156106b057600080fd5b6106b984610655565b92506106c760208501610655565b9150604084013590509250925092565b6000602082840312156106e957600080fd5b6106f282610655565b9392505050565b6000806040838503121561070c57600080fd5b61071583610655565b915061072360208401610655565b90509250929050565b600181811c9082168061074057607f821691505b60208210810361076057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561023357610233610766565b808201808211156102335761023361076656fea2646970667358221220f527b8ec469de3d6677c43cb16c678898e7741fd5c5dbede9b699ad46c75ed4864736f6c63430008130033
0x60806040523480156200001157600080fd5b506040518060400160405280600b81526020016a23b4bd36b7902a37b5b2b760a91b8152506040518060400160405280600581526020016447495a4d4f60d81b815250601282600390816200006791906200024b565b5060046200007683826200024b565b506005805460ff191660ff929092169182179055620000b89250339150620000a090600a6200042c565b620000b2906509184e72a00062000444565b620000be565b62000474565b6001600160a01b038216620001195760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b80600260008282546200012d91906200045e565b90915550506001600160a01b038216600090815260208190526040812080548392906200015c9084906200045e565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001d157607f821691505b602082108103620001f257634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024657600081815260208120601f850160051c81016020861015620002215750805b601f850160051c820191505b8181101562000242578281556001016200022d565b5050505b505050565b81516001600160401b03811115620002675762000267620001a6565b6200027f81620002788454620001bc565b84620001f8565b602080601f831160018114620002b757600084156200029e5750858301515b600019600386901b1c1916600185901b17855562000242565b600085815260208120601f198616915b82811015620002e857888601518255948401946001909101908401620002c7565b5085821015620003075787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200036e57816000190482111562000352576200035262000317565b808516156200036057918102915b93841c939080029062000332565b509250929050565b600082620003875750600162000426565b81620003965750600062000426565b8160018114620003af5760028114620003ba57620003da565b600191505062000426565b60ff841115620003ce57620003ce62000317565b50506001821b62000426565b5060208310610133831016604e8410600b8410161715620003ff575081810a62000426565b6200040b83836200032d565b806000190482111562000422576200042262000317565b0290505b92915050565b60006200043d60ff84168362000376565b9392505050565b808202811582820484141762000426576200042662000317565b8082018082111562000426576200042662000317565b6107d880620004846000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce567146100fe57806370a082311461011357806395d89b411461013c578063a9059cbb14610144578063dd62ed3e1461015757600080fd5b806306fdde0314610098578063095ea7b3146100b657806318160ddd146100d957806323b872dd146100eb575b600080fd5b6100a0610190565b6040516100ad9190610607565b60405180910390f35b6100c96100c4366004610671565b610222565b60405190151581526020016100ad565b6002545b6040519081526020016100ad565b6100c96100f936600461069b565b610239565b60055460405160ff90911681526020016100ad565b6100dd6101213660046106d7565b6001600160a01b031660009081526020819052604090205490565b6100a06102ef565b6100c9610152366004610671565b6102fe565b6100dd6101653660046106f9565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60606003805461019f9061072c565b80601f01602080910402602001604051908101604052809291908181526020018280546101cb9061072c565b80156102185780601f106101ed57610100808354040283529160200191610218565b820191906000526020600020905b8154815290600101906020018083116101fb57829003601f168201915b5050505050905090565b600061022f33848461030b565b5060015b92915050565b600061024684848461042f565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156102d05760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6102e485336102df868561077c565b61030b565b506001949350505050565b60606004805461019f9061072c565b600061022f33848461042f565b6001600160a01b03831661036d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016102c7565b6001600160a01b0382166103ce5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016102c7565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166104935760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016102c7565b6001600160a01b0382166104f55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016102c7565b6001600160a01b0383166000908152602081905260409020548181101561056d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016102c7565b610577828261077c565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906105ad90849061078f565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516105f991815260200190565b60405180910390a350505050565b600060208083528351808285015260005b8181101561063457858101830151858201604001528201610618565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461066c57600080fd5b919050565b6000806040838503121561068457600080fd5b61068d83610655565b946020939093013593505050565b6000806000606084860312156106b057600080fd5b6106b984610655565b92506106c760208501610655565b9150604084013590509250925092565b6000602082840312156106e957600080fd5b6106f282610655565b9392505050565b6000806040838503121561070c57600080fd5b61071583610655565b915061072360208401610655565b90509250929050565b600181811c9082168061074057607f821691505b60208210810361076057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561023357610233610766565b808201808211156102335761023361076656fea2646970667358221220f527b8ec469de3d6677c43cb16c678898e7741fd5c5dbede9b699ad46c75ed4864736f6c63430008130033