0x608060405234801561000f575f80fd5b503360045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061008d60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166b019d971e4fe8401e7400000061009260201b60201c565b6102dc565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610100576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100f79061022d565b60405180910390fd5b8060035f8282546101119190610281565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546101639190610281565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516101c791906102c3565b60405180910390a35050565b5f82825260208201905092915050565b7f4d696e7420746f20746865207a65726f206164647265737300000000000000005f82015250565b5f6102176018836101d3565b9150610222826101e3565b602082019050919050565b5f6020820190508181035f8301526102448161020b565b9050919050565b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61028b8261024b565b91506102968361024b565b92508282019050808211156102ae576102ad610254565b5b92915050565b6102bd8161024b565b82525050565b5f6020820190506102d65f8301846102b4565b92915050565b611302806102e95f395ff3fe608060405234801561000f575f80fd5b50600436106100cd575f3560e01c8063395093511161008a57806395d89b411161006457806395d89b4114610213578063a457c2d714610231578063a9059cbb14610261578063dd62ed3e14610291576100cd565b806339509351146101a957806370a08231146101d9578063715018a614610209576100cd565b806306fdde03146100d1578063095ea7b3146100ef57806318160ddd1461011f57806323b872dd1461013d5780632ff2e9dc1461016d578063313ce5671461018b575b5f80fd5b6100d96102c1565b6040516100e69190610d2a565b60405180910390f35b61010960048036038101906101049190610ddb565b6102fa565b6040516101169190610e33565b60405180910390f35b610127610310565b6040516101349190610e5b565b60405180910390f35b61015760048036038101906101529190610e74565b610319565b6040516101649190610e33565b60405180910390f35b6101756103be565b6040516101829190610e5b565b60405180910390f35b6101936103ce565b6040516101a09190610edf565b60405180910390f35b6101c360048036038101906101be9190610ddb565b6103d3565b6040516101d09190610e33565b60405180910390f35b6101f360048036038101906101ee9190610ef8565b61046c565b6040516102009190610e5b565b60405180910390f35b6102116104b1565b005b61021b6105fd565b6040516102289190610d2a565b60405180910390f35b61024b60048036038101906102469190610ddb565b610636565b6040516102589190610e33565b60405180910390f35b61027b60048036038101906102769190610ddb565b6106cf565b6040516102889190610e33565b60405180910390f35b6102ab60048036038101906102a69190610f23565b6106e5565b6040516102b89190610e5b565b60405180910390f35b6040518060400160405280600581526020017f574f4c464f00000000000000000000000000000000000000000000000000000081525081565b5f610306338484610767565b6001905092915050565b5f600354905090565b5f61032584848461092a565b6103b384338460015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546103ae9190610f8e565b610767565b600190509392505050565b6b019d971e4fe8401e7400000081565b601281565b5f61046233848460015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461045d9190610fc1565b610767565b6001905092915050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610540576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105379061103e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6040518060400160405280600581526020017f574f4c464f00000000000000000000000000000000000000000000000000000081525081565b5f6106c533848460015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546106c09190610f8e565b610767565b6001905092915050565b5f6106db33848461092a565b6001905092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cc906110a6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610843576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083a9061110e565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161091d9190610e5b565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098f90611176565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a06576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fd906111de565b60405180910390fd5b805f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610a85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7c90611246565b60405180910390fd5b5f60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541115610b59576213c68060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610b169190610fc1565b421015610b58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4f906112ae565b60405180910390fd5b5b805f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610ba49190610f8e565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610bf69190610fc1565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c5a9190610e5b565b60405180910390a3686c6b935b8bbd4000008110610cb5574260025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610cfc82610cba565b610d068185610cc4565b9350610d16818560208601610cd4565b610d1f81610ce2565b840191505092915050565b5f6020820190508181035f830152610d428184610cf2565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610d7782610d4e565b9050919050565b610d8781610d6d565b8114610d91575f80fd5b50565b5f81359050610da281610d7e565b92915050565b5f819050919050565b610dba81610da8565b8114610dc4575f80fd5b50565b5f81359050610dd581610db1565b92915050565b5f8060408385031215610df157610df0610d4a565b5b5f610dfe85828601610d94565b9250506020610e0f85828601610dc7565b9150509250929050565b5f8115159050919050565b610e2d81610e19565b82525050565b5f602082019050610e465f830184610e24565b92915050565b610e5581610da8565b82525050565b5f602082019050610e6e5f830184610e4c565b92915050565b5f805f60608486031215610e8b57610e8a610d4a565b5b5f610e9886828701610d94565b9350506020610ea986828701610d94565b9250506040610eba86828701610dc7565b9150509250925092565b5f60ff82169050919050565b610ed981610ec4565b82525050565b5f602082019050610ef25f830184610ed0565b92915050565b5f60208284031215610f0d57610f0c610d4a565b5b5f610f1a84828501610d94565b91505092915050565b5f8060408385031215610f3957610f38610d4a565b5b5f610f4685828601610d94565b9250506020610f5785828601610d94565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610f9882610da8565b9150610fa383610da8565b9250828203905081811115610fbb57610fba610f61565b5b92915050565b5f610fcb82610da8565b9150610fd683610da8565b9250828201905080821115610fee57610fed610f61565b5b92915050565b7f43616c6c6572206973206e6f7420746865206f776e65720000000000000000005f82015250565b5f611028601783610cc4565b915061103382610ff4565b602082019050919050565b5f6020820190508181035f8301526110558161101c565b9050919050565b7f417070726f76652066726f6d20746865207a65726f20616464726573730000005f82015250565b5f611090601d83610cc4565b915061109b8261105c565b602082019050919050565b5f6020820190508181035f8301526110bd81611084565b9050919050565b7f417070726f766520746f20746865207a65726f206164647265737300000000005f82015250565b5f6110f8601b83610cc4565b9150611103826110c4565b602082019050919050565b5f6020820190508181035f830152611125816110ec565b9050919050565b7f5472616e736665722066726f6d20746865207a65726f206164647265737300005f82015250565b5f611160601e83610cc4565b915061116b8261112c565b602082019050919050565b5f6020820190508181035f83015261118d81611154565b9050919050565b7f5472616e7366657220746f20746865207a65726f2061646472657373000000005f82015250565b5f6111c8601c83610cc4565b91506111d382611194565b602082019050919050565b5f6020820190508181035f8301526111f5816111bc565b9050919050565b7f5472616e7366657220616d6f756e7420657863656564732062616c616e6365005f82015250565b5f611230601f83610cc4565b915061123b826111fc565b602082019050919050565b5f6020820190508181035f83015261125d81611224565b9050919050565b7f4c75636b79204f707300000000000000000000000000000000000000000000005f82015250565b5f611298600983610cc4565b91506112a382611264565b602082019050919050565b5f6020820190508181035f8301526112c58161128c565b905091905056fea26469706673582212203c37fe28c6816f163fbd01921df11673b1ac634164b3a29b10f15cba4a9922c164736f6c634300081a0033