0x608060405234801561001057600080fd5b50678ac7230489e800006000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a198061006b6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806327e235e31461003b5780638a4068dd1461006b575b600080fd5b61005560048036038101906100509190610786565b610075565b60405161006291906107cc565b60405180910390f35b61007361008d565b005b60006020528060005260406000206000915090505481565b6000600a67ffffffffffffffff8111156100aa576100a96107e7565b5b6040519080825280602002602001820160405280156100d85781602001602082028036833780820191505090505b50905073a18c3e96d7cb1cc23a9b8cbf9443461828471f508160008151811061010457610103610816565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050734eeec9917f0978d568e890eee27683769d03ba358160018151811061016757610166610816565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507342ef326f23f00c4f26a0ca07b557e6bd8bcca79c816002815181106101ca576101c9610816565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507398e97bc3a226245db613d847b45373487f7a1b8d8160038151811061022d5761022c610816565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050734548e92a61fec087d94237578deaf7a76dbc3976816004815181106102905761028f610816565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073fd00d0c6fbd4ab7f03fc1c25899507e999e1cf09816005815181106102f3576102f2610816565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507371fa3b18aff9d91be5654b2aa361f5b1844e31838160068151811061035657610355610816565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050736bfa80bd57144e23e826b1564946625368f10ad8816007815181106103b9576103b8610816565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050731d2652cb7ff04fb97b0c4f00a54c2af1e23de43f8160088151811061041c5761041b610816565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073a9b29aa6d5598b01aeb747ad21c86ef4573f43108160098151811061047f5761047e610816565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000655af3107a400090508151816104d19190610874565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610551576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054890610913565b60405180910390fd5b81518161055e9190610874565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546105ab9190610933565b9250508190555060005b82518110156106b55760008382815181106105d3576105d2610816565b5b60200260200101519050826000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461062b9190610967565b925050819055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161068f91906107cc565b60405180910390a36106a181846106ba565b5080806106ad9061099b565b9150506105b5565b505050565b8173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161071791906107cc565b60405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061075382610728565b9050919050565b61076381610748565b811461076e57600080fd5b50565b6000813590506107808161075a565b92915050565b60006020828403121561079c5761079b610723565b5b60006107aa84828501610771565b91505092915050565b6000819050919050565b6107c6816107b3565b82525050565b60006020820190506107e160008301846107bd565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061087f826107b3565b915061088a836107b3565b9250828202610898816107b3565b915082820484148315176108af576108ae610845565b5b5092915050565b600082825260208201905092915050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b60006108fd6014836108b6565b9150610908826108c7565b602082019050919050565b6000602082019050818103600083015261092c816108f0565b9050919050565b600061093e826107b3565b9150610949836107b3565b925082820390508181111561096157610960610845565b5b92915050565b6000610972826107b3565b915061097d836107b3565b925082820190508082111561099557610994610845565b5b92915050565b60006109a6826107b3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036109d8576109d7610845565b5b60018201905091905056fea26469706673582212202d9500d4ed282d099b4a48d69b04d84bb890d276030085c6d14ca7210cf682c364736f6c63430008120033