0x608060405234801561000f575f5ffd5b5060043610610106575f3560e01c8063893d20e81161009e578063a9059cbb1161006e578063a9059cbb14610219578063ab0fff2d1461022c578063c1daa1901461023f578063dd62ed3e14610252578063f2fde38b1461028a575f5ffd5b8063893d20e8146101ca5780638da5cb5b146101ee57806395d89b41146101fe578063a457c2d714610206575f5ffd5b8063313ce567116100d9578063313ce56714610170578063395093511461018557806370a0823114610198578063715018a6146101c0575f5ffd5b806306fdde031461010a578063095ea7b31461012857806318160ddd1461014b57806323b872dd1461015d575b5f5ffd5b61011261029d565b60405161011f9190610a81565b60405180910390f35b61013b610136366004610ad1565b61032d565b604051901515815260200161011f565b6003545b60405190815260200161011f565b61013b61016b366004610af9565b610343565b60045460405160ff909116815260200161011f565b61013b610193366004610ad1565b6103aa565b61014f6101a6366004610b33565b6001600160a01b03165f9081526001602052604090205490565b6101c86103df565b005b5f546001600160a01b03165b6040516001600160a01b03909116815260200161011f565b5f546001600160a01b03166101d6565b610112610459565b61013b610214366004610ad1565b610468565b61013b610227366004610ad1565b6104b5565b6101c861023a366004610b33565b6104c1565b6101c861024d366004610b33565b61053e565b61014f610260366004610b4c565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b6101c8610298366004610b33565b6105c4565b6060600680546102ac90610b7d565b80601f01602080910402602001604051908101604052809291908181526020018280546102d890610b7d565b80156103235780601f106102fa57610100808354040283529160200191610323565b820191905f5260205f20905b81548152906001019060200180831161030657829003601f168201915b5050505050905090565b5f6103393384846106c2565b5060015b92915050565b5f61034f84848461081b565b6103a0843361039b856040518060800160405280604d8152602001610c91604d91396001600160a01b038a165f90815260026020908152604080832033845290915290205491906109d0565b6106c2565b5060019392505050565b335f8181526002602090815260408083206001600160a01b0387168452909152812054909161033991859061039b9086610a08565b5f546001600160a01b031633146104115760405162461bcd60e51b815260040161040890610bb5565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6060600580546102ac90610b7d565b5f610339338461039b856040518060600160405280603d8152602001610cde603d9139335f9081526002602090815260408083206001600160a01b038d16845290915290205491906109d0565b5f61033933848461081b565b6007546001600160a01b031633146104eb5760405162461bcd60e51b815260040161040890610bb5565b6001600160a01b0381165f818152600160208181526040808420839055519182529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91015b60405180910390a350565b6007546001600160a01b031633146105685760405162461bcd60e51b815260040161040890610bb5565b6001600160a01b0381165f8181526001602090815260408083206c0c9f2c9cd04674edea400000009081905590519081529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610533565b5f546001600160a01b031633146105ed5760405162461bcd60e51b815260040161040890610bb5565b6001600160a01b0381166106695760405162461bcd60e51b815260206004820152603c60248201527f5472756d7043727970746f52657365727665416932304f776e61626c653a206e60448201527f6577206f776e657220697320746865207a65726f2061646472657373000000006064820152608401610408565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661073e5760405162461bcd60e51b815260206004820152603c60248201527f5472756d7043727970746f526573657276654169696e746572666163653a206160448201527f7070726f76652066726f6d20746865207a65726f2061646472657373000000006064820152608401610408565b6001600160a01b0382166107ba5760405162461bcd60e51b815260206004820152603a60248201527f5472756d7043727970746f526573657276654169696e746572666163653a206160448201527f7070726f766520746f20746865207a65726f20616464726573730000000000006064820152608401610408565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166108975760405162461bcd60e51b815260206004820152603d60248201527f5472756d7043727970746f526573657276654169696e746572666163653a207460448201527f72616e736665722066726f6d20746865207a65726f20616464726573730000006064820152608401610408565b6001600160a01b0382166109135760405162461bcd60e51b815260206004820152603b60248201527f5472756d7043727970746f526573657276654169696e746572666163653a207460448201527f72616e7366657220746f20746865207a65726f206164647265737300000000006064820152608401610408565b61094f816040518060800160405280604b8152602001610c46604b91396001600160a01b0386165f9081526001602052604090205491906109d0565b6001600160a01b038085165f90815260016020526040808220939093559084168152205461097d9082610a08565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061080e9085815260200190565b5f81848411156109f35760405162461bcd60e51b81526004016104089190610a81565b505f6109ff8486610c1f565b95945050505050565b5f80610a148385610c32565b905083811015610a7a5760405162461bcd60e51b815260206004820152602b60248201527f536166655472756d7043727970746f5265736572766541693a2061646469746960448201526a6f6e206f766572666c6f7760a81b6064820152608401610408565b9392505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610acc575f5ffd5b919050565b5f5f60408385031215610ae2575f5ffd5b610aeb83610ab6565b946020939093013593505050565b5f5f5f60608486031215610b0b575f5ffd5b610b1484610ab6565b9250610b2260208501610ab6565b929592945050506040919091013590565b5f60208284031215610b43575f5ffd5b610a7a82610ab6565b5f5f60408385031215610b5d575f5ffd5b610b6683610ab6565b9150610b7460208401610ab6565b90509250929050565b600181811c90821680610b9157607f821691505b602082108103610baf57634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526036908201527f5472756d7043727970746f52657365727665416932304f776e61626c653a206360408201527530b63632b91034b9903737ba103a34329037bbb732b960511b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561033d5761033d610c0b565b8082018082111561033d5761033d610c0b56fe5472756d7043727970746f526573657276654169696e746572666163653a207472616e73666572206861727665737452657761726473556e69747320657863656564732062616c616e63655472756d7043727970746f526573657276654169696e746572666163653a207472616e73666572206861727665737452657761726473556e697473206578636565647320616c6c6f77616e63655472756d7043727970746f526573657276654169696e746572666163653a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212204c9f75732b734017a35c10ac0631bdd4aae4d8600d19b44b79ad57cc91338fbf64736f6c634300081c0033
0x608060405234801561000f575f5ffd5b5060405161106538038061106583398101604081905261002e91610189565b5f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600780546001600160a01b0319166001600160a01b03831617905560408051808201909152601781527f5472756d702043727970746f205265736572766520416900000000000000000060208201526006906100ca908261024e565b5060408051808201909152600681526554435220416960d01b60208201526005906100f5908261024e565b506004805460ff1916600917905567016345785d8a0000600381905560015f61011b3390565b6001600160a01b0316815260208101919091526040015f2055336001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60035460405161017b91815260200190565b60405180910390a350610308565b5f60208284031215610199575f5ffd5b81516001600160a01b03811681146101af575f5ffd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806101de57607f821691505b6020821081036101fc57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561024957805f5260205f20601f840160051c810160208510156102275750805b601f840160051c820191505b81811015610246575f8155600101610233565b50505b505050565b81516001600160401b03811115610267576102676101b6565b61027b8161027584546101ca565b84610202565b6020601f8211600181146102ad575f83156102965750848201515b5f19600385901b1c1916600184901b178455610246565b5f84815260208120601f198516915b828110156102dc57878501518255602094850194600190920191016102bc565b50848210156102f957868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b610d50806103155f395ff3fe608060405234801561000f575f5ffd5b5060043610610106575f3560e01c8063893d20e81161009e578063a9059cbb1161006e578063a9059cbb14610219578063ab0fff2d1461022c578063c1daa1901461023f578063dd62ed3e14610252578063f2fde38b1461028a575f5ffd5b8063893d20e8146101ca5780638da5cb5b146101ee57806395d89b41146101fe578063a457c2d714610206575f5ffd5b8063313ce567116100d9578063313ce56714610170578063395093511461018557806370a0823114610198578063715018a6146101c0575f5ffd5b806306fdde031461010a578063095ea7b31461012857806318160ddd1461014b57806323b872dd1461015d575b5f5ffd5b61011261029d565b60405161011f9190610a81565b60405180910390f35b61013b610136366004610ad1565b61032d565b604051901515815260200161011f565b6003545b60405190815260200161011f565b61013b61016b366004610af9565b610343565b60045460405160ff909116815260200161011f565b61013b610193366004610ad1565b6103aa565b61014f6101a6366004610b33565b6001600160a01b03165f9081526001602052604090205490565b6101c86103df565b005b5f546001600160a01b03165b6040516001600160a01b03909116815260200161011f565b5f546001600160a01b03166101d6565b610112610459565b61013b610214366004610ad1565b610468565b61013b610227366004610ad1565b6104b5565b6101c861023a366004610b33565b6104c1565b6101c861024d366004610b33565b61053e565b61014f610260366004610b4c565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b6101c8610298366004610b33565b6105c4565b6060600680546102ac90610b7d565b80601f01602080910402602001604051908101604052809291908181526020018280546102d890610b7d565b80156103235780601f106102fa57610100808354040283529160200191610323565b820191905f5260205f20905b81548152906001019060200180831161030657829003601f168201915b5050505050905090565b5f6103393384846106c2565b5060015b92915050565b5f61034f84848461081b565b6103a0843361039b856040518060800160405280604d8152602001610c91604d91396001600160a01b038a165f90815260026020908152604080832033845290915290205491906109d0565b6106c2565b5060019392505050565b335f8181526002602090815260408083206001600160a01b0387168452909152812054909161033991859061039b9086610a08565b5f546001600160a01b031633146104115760405162461bcd60e51b815260040161040890610bb5565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6060600580546102ac90610b7d565b5f610339338461039b856040518060600160405280603d8152602001610cde603d9139335f9081526002602090815260408083206001600160a01b038d16845290915290205491906109d0565b5f61033933848461081b565b6007546001600160a01b031633146104eb5760405162461bcd60e51b815260040161040890610bb5565b6001600160a01b0381165f818152600160208181526040808420839055519182529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91015b60405180910390a350565b6007546001600160a01b031633146105685760405162461bcd60e51b815260040161040890610bb5565b6001600160a01b0381165f8181526001602090815260408083206c0c9f2c9cd04674edea400000009081905590519081529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610533565b5f546001600160a01b031633146105ed5760405162461bcd60e51b815260040161040890610bb5565b6001600160a01b0381166106695760405162461bcd60e51b815260206004820152603c60248201527f5472756d7043727970746f52657365727665416932304f776e61626c653a206e60448201527f6577206f776e657220697320746865207a65726f2061646472657373000000006064820152608401610408565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661073e5760405162461bcd60e51b815260206004820152603c60248201527f5472756d7043727970746f526573657276654169696e746572666163653a206160448201527f7070726f76652066726f6d20746865207a65726f2061646472657373000000006064820152608401610408565b6001600160a01b0382166107ba5760405162461bcd60e51b815260206004820152603a60248201527f5472756d7043727970746f526573657276654169696e746572666163653a206160448201527f7070726f766520746f20746865207a65726f20616464726573730000000000006064820152608401610408565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166108975760405162461bcd60e51b815260206004820152603d60248201527f5472756d7043727970746f526573657276654169696e746572666163653a207460448201527f72616e736665722066726f6d20746865207a65726f20616464726573730000006064820152608401610408565b6001600160a01b0382166109135760405162461bcd60e51b815260206004820152603b60248201527f5472756d7043727970746f526573657276654169696e746572666163653a207460448201527f72616e7366657220746f20746865207a65726f206164647265737300000000006064820152608401610408565b61094f816040518060800160405280604b8152602001610c46604b91396001600160a01b0386165f9081526001602052604090205491906109d0565b6001600160a01b038085165f90815260016020526040808220939093559084168152205461097d9082610a08565b6001600160a01b038084165f8181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061080e9085815260200190565b5f81848411156109f35760405162461bcd60e51b81526004016104089190610a81565b505f6109ff8486610c1f565b95945050505050565b5f80610a148385610c32565b905083811015610a7a5760405162461bcd60e51b815260206004820152602b60248201527f536166655472756d7043727970746f5265736572766541693a2061646469746960448201526a6f6e206f766572666c6f7760a81b6064820152608401610408565b9392505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610acc575f5ffd5b919050565b5f5f60408385031215610ae2575f5ffd5b610aeb83610ab6565b946020939093013593505050565b5f5f5f60608486031215610b0b575f5ffd5b610b1484610ab6565b9250610b2260208501610ab6565b929592945050506040919091013590565b5f60208284031215610b43575f5ffd5b610a7a82610ab6565b5f5f60408385031215610b5d575f5ffd5b610b6683610ab6565b9150610b7460208401610ab6565b90509250929050565b600181811c90821680610b9157607f821691505b602082108103610baf57634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526036908201527f5472756d7043727970746f52657365727665416932304f776e61626c653a206360408201527530b63632b91034b9903737ba103a34329037bbb732b960511b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561033d5761033d610c0b565b8082018082111561033d5761033d610c0b56fe5472756d7043727970746f526573657276654169696e746572666163653a207472616e73666572206861727665737452657761726473556e69747320657863656564732062616c616e63655472756d7043727970746f526573657276654169696e746572666163653a207472616e73666572206861727665737452657761726473556e697473206578636565647320616c6c6f77616e63655472756d7043727970746f526573657276654169696e746572666163653a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212204c9f75732b734017a35c10ac0631bdd4aae4d8600d19b44b79ad57cc91338fbf64736f6c634300081c0033000000000000000000000000f825d66589e4ab363bbf867a7d1c7beb4b4ff7dd