0x60a060405234801561000f575f5ffd5b50604051610c6e380380610c6e8339818101604052810190610031919061010a565b80335f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250505050610135565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100d9826100b0565b9050919050565b6100e9816100cf565b81146100f3575f5ffd5b50565b5f81519050610104816100e0565b92915050565b5f6020828403121561011f5761011e6100ac565b5b5f61012c848285016100f6565b91505092915050565b608051610b0c6101625f395f818161027b0152818161031701528181610436015261064a0152610b0c5ff3fe608060405234801561000f575f5ffd5b506004361061007b575f3560e01c8063affed0e011610059578063affed0e0146100e7578063d087d28814610105578063f851a44014610123578063fc0c546a146101415761007b565b8063156e29f61461007f57806342966c681461009b5780638a2c29dc146100b7575b5f5ffd5b610099600480360381019061009491906106fd565b61015f565b005b6100b560048036038101906100b0919061074d565b610434565b005b6100d160048036038101906100cc919061074d565b61056a565b6040516100de9190610792565b60405180910390f35b6100ef610587565b6040516100fc91906107ba565b60405180910390f35b61010d61058d565b60405161011a91906107ba565b60405180910390f35b61012b610624565b60405161013891906107e2565b60405180910390f35b610149610648565b6040516101569190610856565b60405180910390f35b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101e4906108c9565b60405180910390fd5b5f151560025f8381526020019081526020015f205f9054906101000a900460ff16151514610250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024790610931565b60405180910390fd5b600160025f8381526020019081526020015f205f6101000a81548160ff0219169083151502179055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663095ea7b330846040518363ffffffff1660e01b81526004016102d492919061094f565b6020604051808303815f875af11580156102f0573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061031491906109a0565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166323b872dd3085856040518463ffffffff1660e01b8152600401610372939291906109cb565b6020604051808303815f875af115801561038e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103b291906109a0565b506001808111156103c6576103c5610a00565b5b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f27757542a5e1b9e8cef80f584e094d4eb63b9802f355c61b3640b71b618d5c8e85428660405161042793929190610a2d565b60405180910390a4505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401610491939291906109cb565b6020604051808303815f875af11580156104ad573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d191906109a0565b505f60018111156104e5576104e4610a00565b5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f27757542a5e1b9e8cef80f584e094d4eb63b9802f355c61b3640b71b618d5c8e844260015460405161054893929190610a2d565b60405180910390a460015f81548092919061056290610a8f565b919050555050565b6002602052805f5260405f205f915054906101000a900460ff1681565b60015481565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461061c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610613906108c9565b60405180910390fd5b600154905090565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61069982610670565b9050919050565b6106a98161068f565b81146106b3575f5ffd5b50565b5f813590506106c4816106a0565b92915050565b5f819050919050565b6106dc816106ca565b81146106e6575f5ffd5b50565b5f813590506106f7816106d3565b92915050565b5f5f5f606084860312156107145761071361066c565b5b5f610721868287016106b6565b9350506020610732868287016106e9565b9250506040610743868287016106e9565b9150509250925092565b5f602082840312156107625761076161066c565b5b5f61076f848285016106e9565b91505092915050565b5f8115159050919050565b61078c81610778565b82525050565b5f6020820190506107a55f830184610783565b92915050565b6107b4816106ca565b82525050565b5f6020820190506107cd5f8301846107ab565b92915050565b6107dc8161068f565b82525050565b5f6020820190506107f55f8301846107d3565b92915050565b5f819050919050565b5f61081e61081961081484610670565b6107fb565b610670565b9050919050565b5f61082f82610804565b9050919050565b5f61084082610825565b9050919050565b61085081610836565b82525050565b5f6020820190506108695f830184610847565b92915050565b5f82825260208201905092915050565b7f4f6e6c792061646d696e2063616e206d696e7420746f6b656e730000000000005f82015250565b5f6108b3601a8361086f565b91506108be8261087f565b602082019050919050565b5f6020820190508181035f8301526108e0816108a7565b9050919050565b7f7472616e7366657220616c72656164792070726f6365737365640000000000005f82015250565b5f61091b601a8361086f565b9150610926826108e7565b602082019050919050565b5f6020820190508181035f8301526109488161090f565b9050919050565b5f6040820190506109625f8301856107d3565b61096f60208301846107ab565b9392505050565b61097f81610778565b8114610989575f5ffd5b50565b5f8151905061099a81610976565b92915050565b5f602082840312156109b5576109b461066c565b5b5f6109c28482850161098c565b91505092915050565b5f6060820190506109de5f8301866107d3565b6109eb60208301856107d3565b6109f860408301846107ab565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f606082019050610a405f8301866107ab565b610a4d60208301856107ab565b610a5a60408301846107ab565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610a99826106ca565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610acb57610aca610a62565b5b60018201905091905056fea26469706673582212201bfb5647c129b91b3b34026c24697b630f2c19a1416e7decc50c413b74af802a64736f6c634300081b00330000000000000000000000008315177ab297ba92a06054ce80a67ed4dbd7ed3a