0x608060405234801561000f575f5ffd5b50604051610d56380380610d5683398181016040528101906100319190610182565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361009f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100969061022d565b60405180910390fd5b335f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061024b565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61015182610128565b9050919050565b61016181610147565b811461016b575f5ffd5b50565b5f8151905061017c81610158565b92915050565b5f6020828403121561019757610196610124565b5b5f6101a48482850161016e565b91505092915050565b5f82825260208201905092915050565b7f50726576696f7573205344435020616464726573732063616e6e6f74206265205f8201527f7a65726f00000000000000000000000000000000000000000000000000000000602082015250565b5f6102176024836101ad565b9150610222826101bd565b604082019050919050565b5f6020820190508181035f8301526102448161020b565b9050919050565b610afe806102585f395ff3fe608060405234801561000f575f5ffd5b506004361061004a575f3560e01c8063056097ac1461004e5780632dca3a171461006a5780638da5cb5b14610088578063f2fde38b146100a6575b5f5ffd5b61006860048036038101906100639190610668565b6100c2565b005b610072610409565b60405161007f91906106b5565b60405180910390f35b61009061042e565b60405161009d91906106b5565b60405180910390f35b6100c060048036038101906100bb91906106ce565b610452565b005b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610150576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014790610753565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036101be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101b5906107bb565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361022c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161022390610823565b60405180910390fd5b5f8290505f8173ffffffffffffffffffffffffffffffffffffffff166370a0823160015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161028b91906106b5565b602060405180830381865afa1580156102a6573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102ca9190610874565b90505f811161030e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610305906108e9565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84836040518363ffffffff1660e01b8152600401610349929190610916565b6020604051808303815f875af1158015610365573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103899190610972565b6103c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103bf906109e7565b60405180910390fd5b7f1d2f361398f0cd1eeefa9bd2e5d156e421a3dac8bafb57871aa221c6676631398482856040516103fb93929190610a05565b60405180910390a150505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d790610753565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361054e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054590610aaa565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6106378261060e565b9050919050565b6106478161062d565b8114610651575f5ffd5b50565b5f813590506106628161063e565b92915050565b5f5f6040838503121561067e5761067d61060a565b5b5f61068b85828601610654565b925050602061069c85828601610654565b9150509250929050565b6106af8161062d565b82525050565b5f6020820190506106c85f8301846106a6565b92915050565b5f602082840312156106e3576106e261060a565b5b5f6106f084828501610654565b91505092915050565b5f82825260208201905092915050565b7f43616c6c6572206973206e6f7420746865206f776e65720000000000000000005f82015250565b5f61073d6017836106f9565b915061074882610709565b602082019050919050565b5f6020820190508181035f83015261076a81610731565b9050919050565b7f546f6b656e20616464726573732063616e6e6f74206265207a65726f000000005f82015250565b5f6107a5601c836106f9565b91506107b082610771565b602082019050919050565b5f6020820190508181035f8301526107d281610799565b9050919050565b7f526563697069656e7420616464726573732063616e6e6f74206265207a65726f5f82015250565b5f61080d6020836106f9565b9150610818826107d9565b602082019050919050565b5f6020820190508181035f83015261083a81610801565b9050919050565b5f819050919050565b61085381610841565b811461085d575f5ffd5b50565b5f8151905061086e8161084a565b92915050565b5f602082840312156108895761088861060a565b5b5f61089684828501610860565b91505092915050565b7f4e6f20746f6b656e7320746f207265636f7665720000000000000000000000005f82015250565b5f6108d36014836106f9565b91506108de8261089f565b602082019050919050565b5f6020820190508181035f830152610900816108c7565b9050919050565b61091081610841565b82525050565b5f6040820190506109295f8301856106a6565b6109366020830184610907565b9392505050565b5f8115159050919050565b6109518161093d565b811461095b575f5ffd5b50565b5f8151905061096c81610948565b92915050565b5f602082840312156109875761098661060a565b5b5f6109948482850161095e565b91505092915050565b7f546f6b656e207472616e73666572206661696c656400000000000000000000005f82015250565b5f6109d16015836106f9565b91506109dc8261099d565b602082019050919050565b5f6020820190508181035f8301526109fe816109c5565b9050919050565b5f606082019050610a185f8301866106a6565b610a256020830185610907565b610a3260408301846106a6565b949350505050565b7f4e6577206f776e65722063616e6e6f7420626520746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f610a946024836106f9565b9150610a9f82610a3a565b604082019050919050565b5f6020820190508181035f830152610ac181610a88565b905091905056fea2646970667358221220b671c6ca140003097efeef0c23bb727d1c25afb7e75b6e9c6691c2b45a168a2264736f6c634300081c00330000000000000000000000002a63cf75dd704f638bd67abe3fb5941ae0bcb8d9