0x60a06040526001600655348015610014575f80fd5b5060408051808201909152600a815269426c69747a204265747360b01b602082015260049061004390826102a5565b50604080518082019091526002815261212160f11b602082015260059061006a90826102a5565b50600a80546001600160a01b03191633179055610093336b033b2e3c9fd0803ce8000000610098565b61037e565b6001600160a01b0382166100f35760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b60035461010090826101a6565b6003556001600160a01b0382165f9081526001602052604090205461012590826101a6565b6001600160a01b038381165f81815260016020818152604080842096909655600880546001600160a01b03191690941790935560078352848220805460ff19169091179055600a54935185815293909216927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b5f806101b2838561035f565b9050838110156102045760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016100ea565b90505b92915050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061023557607f821691505b60208210810361025357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102a057805f5260205f20601f840160051c8101602085101561027e5750805b601f840160051c820191505b8181101561029d575f815560010161028a565b50505b505050565b81516001600160401b038111156102be576102be61020d565b6102d2816102cc8454610221565b84610259565b6020601f821160018114610304575f83156102ed5750848201515b5f19600385901b1c1916600184901b17845561029d565b5f84815260208120601f198516915b828110156103335787850151825560209485019460019092019101610313565b508482101561035057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b8082018082111561020757634e487b7160e01b5f52601160045260245ffd5b608051610da86103935f395f5050610da85ff3fe608060405234801561000f575f80fd5b5060043610610153575f3560e01c8063689d14b9116100bf578063a9059cbb11610079578063a9059cbb14610313578063c9567bf914610326578063d91694871461032e578063dd62ed3e14610355578063e534155d1461038d578063e94a0102146103a0575f80fd5b8063689d14b91461026f57806370a08231146102825780637f2eecc3146102aa57806395d89b41146102d1578063a0cc6a68146102d9578063a457c2d714610300575f80fd5b8063313ce56711610110578063313ce567146101fd5780633644e5151461020c578063395093511461021357806342966c681461022657806347bbac05146102395780635408d42d1461025b575f80fd5b806306fdde0314610157578063095ea7b3146101755780630aca7f951461019857806318160ddd146101c357806321860a05146101d557806323b872dd146101ea575b5f80fd5b61015f6103d8565b60405161016c9190610bcd565b60405180910390f35b610188610183366004610c1d565b610468565b604051901515815260200161016c565b6008546101ab906001600160a01b031681565b6040516001600160a01b03909116815260200161016c565b6003545b60405190815260200161016c565b6101e86101e3366004610c45565b61047e565b005b6101886101f8366004610c5e565b6104e4565b6040516012815260200161016c565b5f546101c7565b610188610221366004610c1d565b610533565b6101e8610234366004610c98565b610568565b610188610247366004610c45565b60076020525f908152604090205460ff1681565b600a5461018890600160a01b900460ff1681565b6009546101ab906001600160a01b031681565b6101c7610290366004610c45565b6001600160a01b03165f9081526001602052604090205490565b6101c77fd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de881565b61015f610575565b6101c77f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226781565b61018861030e366004610c1d565b610584565b610188610321366004610c1d565b6105c1565b6101e86105cd565b6101c77f158b0a9edf7a828aad02f63cd515c68ef2f50ba807396f6d12842833a159742981565b6101c7610363366004610caf565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b600a546101ab906001600160a01b031681565b6101886103ae366004610c1d565b6001600160a01b03919091165f908152600b60209081526040808320938352929052205460ff1690565b6060600480546103e790610ce0565b80601f016020809104026020016040519081016040528092919081815260200182805461041390610ce0565b801561045e5780601f106104355761010080835404028352916020019161045e565b820191905f5260205f20905b81548152906001019060200180831161044157829003601f168201915b5050505050905090565b5f610474338484610621565b5060015b92915050565b6008546001600160a01b031633146104c25760405162461bcd60e51b81526020600482015260026024820152611c1b60f21b60448201526064015b60405180910390fd5b600980546001600160a01b0319166001600160a01b0392909216919091179055565b5f6104f0848484610745565b6001600160a01b0384165f908152600260209081526040808320338085529252909120546105299186916105249086610817565b610621565b5060019392505050565b335f8181526002602090815260408083206001600160a01b03871684529091528120549091610474918590610524908661085f565b61057233826108bd565b50565b6060600580546103e790610ce0565b335f8181526002602090815260408083206001600160a01b038716845290915281205490916105b99185906105249086610817565b610474610995565b5f610474338484610745565b6008546001600160a01b0316331461060c5760405162461bcd60e51b81526020600482015260026024820152611c1b60f21b60448201526064016104b9565b600a805460ff60a01b1916600160a01b179055565b6001600160a01b0383166106835760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b9565b6001600160a01b0382166106e45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b9565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b325f9081526007602052604090205460ff161561076c576107678383836109a5565b505050565b600a54600160a01b900460ff166107c55760405162461bcd60e51b815260206004820152601d60248201527f547261646520686173206e6f74206265656e206f70656e65642079657400000060448201526064016104b9565b6009546001600160a01b03166107e0576107678383836109a5565b6009546001600160a01b039081169083160361080c576108008382610584565b506107678383836109a5565b6107678383836109a5565b5f61085883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b95565b9392505050565b5f8061086b8385610d2c565b9050838110156108585760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104b9565b6001600160a01b03821661091d5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016104b9565b60035461092a9082610817565b6003556001600160a01b0382165f9081526001602052604090205461094f9082610817565b6001600160a01b0383165f818152600160205260408082209390935591515f80516020610d53833981519152906109899085815260200190565b60405180910390a35050565b6006543a11156109a3575f80fd5b565b6001600160a01b038316610a095760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b9565b6001600160a01b038216610a6b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b9565b6001600160a01b0383165f90815260016020526040902054610a8d9082610817565b6001600160a01b038085165f908152600160205260408082209390935590841681522054610abb908261085f565b6001600160a01b038084165f90815260016020526040902091909155600854811690841603610b1a57600a546040518281526001600160a01b038481169216905f80516020610d538339815191529060200160405180910390a3610b63565b6008546001600160a01b0390811690831603610b6357600a546040518281526001600160a01b03918216918516905f80516020610d538339815191529060200160405180910390a35b816001600160a01b0316836001600160a01b03165f80516020610d538339815191528360405161073891815260200190565b5f8184841115610bb85760405162461bcd60e51b81526004016104b99190610bcd565b505f610bc48486610d3f565b95945050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610c18575f80fd5b919050565b5f8060408385031215610c2e575f80fd5b610c3783610c02565b946020939093013593505050565b5f60208284031215610c55575f80fd5b61085882610c02565b5f805f60608486031215610c70575f80fd5b610c7984610c02565b9250610c8760208501610c02565b929592945050506040919091013590565b5f60208284031215610ca8575f80fd5b5035919050565b5f8060408385031215610cc0575f80fd5b610cc983610c02565b9150610cd760208401610c02565b90509250929050565b600181811c90821680610cf457607f821691505b602082108103610d1257634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561047857610478610d18565b8181038181111561047857610478610d1856feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212203e3787bfae574679c3de46c44988b463f79ee80b4a6f0b1e78552b720bb1b28164736f6c634300081a0033