0x608060405234801561000f575f80fd5b5060408051808201909152600d81526c4261736564204b6861204d6f6f60981b60208201525f90610040908261021e565b506040805180820190915260068152654b48414d4f4f60d01b602082015260019061006b908261021e565b506002805460ff191660099081179091556100a190339061008d90600a6103d3565b61009c906461f313f8806103e5565b6100a6565b61040f565b6001600160a01b0382166101005760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060035f82825461011191906103fc565b90915550506001600160a01b0382165f908152600460205260408120805483929061013d9084906103fc565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806101ae57607f821691505b6020821081036101cc57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561021957805f5260205f20601f840160051c810160208510156101f75750805b601f840160051c820191505b81811015610216575f8155600101610203565b50505b505050565b81516001600160401b0381111561023757610237610186565b61024b81610245845461019a565b846101d2565b602080601f83116001811461027e575f84156102675750858301515b5f19600386901b1c1916600185901b1785556102d5565b5f85815260208120601f198616915b828110156102ac5788860151825594840194600190910190840161028d565b50858210156102c957878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561032b57815f1904821115610311576103116102dd565b8085161561031e57918102915b93841c93908002906102f6565b509250929050565b5f82610341575060016103cd565b8161034d57505f6103cd565b8160018114610363576002811461036d57610389565b60019150506103cd565b60ff84111561037e5761037e6102dd565b50506001821b6103cd565b5060208310610133831016604e8410600b84101617156103ac575081810a6103cd565b6103b683836102f1565b805f19048211156103c9576103c96102dd565b0290505b92915050565b5f6103de8383610333565b9392505050565b80820281158282048414176103cd576103cd6102dd565b808201808211156103cd576103cd6102dd565b6107a58061041c5f395ff3fe608060405234801561000f575f80fd5b5060043610610090575f3560e01c8063313ce56711610063578063313ce567146100fa57806370a082311461011957806395d89b4114610141578063a9059cbb14610149578063dd62ed3e1461015c575f80fd5b806306fdde0314610094578063095ea7b3146100b257806318160ddd146100d557806323b872dd146100e7575b5f80fd5b61009c610194565b6040516100a991906105fb565b60405180910390f35b6100c56100c036600461064b565b61021f565b60405190151581526020016100a9565b6003545b6040519081526020016100a9565b6100c56100f5366004610673565b610235565b6002546101079060ff1681565b60405160ff90911681526020016100a9565b6100d96101273660046106ac565b6001600160a01b03165f9081526004602052604090205490565b61009c6102e9565b6100c561015736600461064b565b6102f6565b6100d961016a3660046106cc565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b5f80546101a0906106fd565b80601f01602080910402602001604051908101604052809291908181526020018280546101cc906106fd565b80156102175780601f106101ee57610100808354040283529160200191610217565b820191905f5260205f20905b8154815290600101906020018083116101fa57829003601f168201915b505050505081565b5f61022b338484610302565b5060015b92915050565b5f610241848484610425565b6001600160a01b0384165f908152600560209081526040808320338452909152902054828110156102ca5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6102de85336102d98685610749565b610302565b506001949350505050565b600180546101a0906106fd565b5f61022b338484610425565b6001600160a01b0383166103645760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016102c1565b6001600160a01b0382166103c55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016102c1565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166104895760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016102c1565b6001600160a01b0382166104eb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016102c1565b6001600160a01b0383165f90815260046020526040902054818110156105625760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016102c1565b61056c8282610749565b6001600160a01b038086165f9081526004602052604080822093909355908516815290812080548492906105a190849061075c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516105ed91815260200190565b60405180910390a350505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610646575f80fd5b919050565b5f806040838503121561065c575f80fd5b61066583610630565b946020939093013593505050565b5f805f60608486031215610685575f80fd5b61068e84610630565b925061069c60208501610630565b9150604084013590509250925092565b5f602082840312156106bc575f80fd5b6106c582610630565b9392505050565b5f80604083850312156106dd575f80fd5b6106e683610630565b91506106f460208401610630565b90509250929050565b600181811c9082168061071157607f821691505b60208210810361072f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561022f5761022f610735565b8082018082111561022f5761022f61073556fea2646970667358221220cba1c1482f8607f3c2522d8cb87f188f88c06ecfb500e82e5b111cda6d9ba8ca64736f6c63430008190033