0x6080604052348015600e575f80fd5b505f808190555042600181905550610c4f806100295f395ff3fe608060405234801561000f575f80fd5b5060043610610086575f3560e01c80638780e093116100595780638780e09314610113578063baafe69414610131578063d0a305f114610161578063fe2d483b1461016b57610086565b80631e14da421461008a57806342498c0e146100a85780634c92555a146100c4578063685c2436146100e2575b5f80fd5b610092610189565b60405161009f91906105de565b60405180910390f35b6100c260048036038101906100bd9190610625565b610192565b005b6100cc610202565b6040516100d991906105de565b60405180910390f35b6100fc60048036038101906100f79190610625565b610207565b60405161010a9291906106c0565b60405180910390f35b61011b6102ad565b60405161012891906105de565b60405180910390f35b61014b60048036038101906101469190610625565b6102b5565b604051610158919061077f565b60405180910390f35b610169610379565b005b6101736103d5565b60405161018091906105de565b60405180910390f35b5f600154905090565b5f548111156101d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101cd906107e9565b60405180910390fd5b60025f8281526020019081526020015f205f8082015f9055600182015f6101fd9190610555565b505050565b5f5481565b6002602052805f5260405f205f91509050805f01549080600101805461022c90610834565b80601f016020809104026020016040519081016040528092919081815260200182805461025890610834565b80156102a35780601f1061027a576101008083540402835291602001916102a3565b820191905f5260205f20905b81548152906001019060200180831161028657829003601f168201915b5050505050905082565b5f8054905090565b6102bd610592565b60025f8381526020019081526020015f206040518060400160405290815f82015481526020016001820180546102f290610834565b80601f016020809104026020016040519081016040528092919081815260200182805461031e90610834565b80156103695780601f1061034057610100808354040283529160200191610369565b820191905f5260205f20905b81548152906001019060200180831161034c57829003601f168201915b5050505050815250509050919050565b5f8081548092919061038a90610891565b91905055506103995f546103db565b60025f805481526020019081526020015f205f820151815f015560208201518160010190816103c89190610aa2565b5090505042600181905550565b60015481565b6103e3610592565b5f6103ec61040b565b9050604051806040016040528084815260200182815250915050919050565b60605f60044244604051602001610423929190610b91565b604051602081830303815290604052805190602001205f1c6104459190610be9565b90505f810361048c576040518060400160405280600f81526020017f4c61796572206f6620436c6f7564730000000000000000000000000000000000815250915050610552565b600181036104d2576040518060400160405280600e81526020017f4c61796572206f66205374617273000000000000000000000000000000000000815250915050610552565b60028103610518576040518060400160405280601081526020017f4c61796572206f66204d6972726f727300000000000000000000000000000000815250915050610552565b6040518060400160405280601081526020017f4c61796572206f6620536861646f7773000000000000000000000000000000008152509150505b90565b50805461056190610834565b5f825580601f10610572575061058f565b601f0160209004905f5260205f209081019061058e91906105ab565b5b50565b60405180604001604052805f8152602001606081525090565b5b808211156105c2575f815f9055506001016105ac565b5090565b5f819050919050565b6105d8816105c6565b82525050565b5f6020820190506105f15f8301846105cf565b92915050565b5f80fd5b610604816105c6565b811461060e575f80fd5b50565b5f8135905061061f816105fb565b92915050565b5f6020828403121561063a576106396105f7565b5b5f61064784828501610611565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61069282610650565b61069c818561065a565b93506106ac81856020860161066a565b6106b581610678565b840191505092915050565b5f6040820190506106d35f8301856105cf565b81810360208301526106e58184610688565b90509392505050565b6106f7816105c6565b82525050565b5f82825260208201905092915050565b5f61071782610650565b61072181856106fd565b935061073181856020860161066a565b61073a81610678565b840191505092915050565b5f604083015f83015161075a5f8601826106ee565b5060208301518482036020860152610772828261070d565b9150508091505092915050565b5f6020820190508181035f8301526107978184610745565b905092915050565b7f447265616d20646f6573206e6f742065786973742e00000000000000000000005f82015250565b5f6107d360158361065a565b91506107de8261079f565b602082019050919050565b5f6020820190508181035f830152610800816107c7565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061084b57607f821691505b60208210810361085e5761085d610807565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61089b826105c6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036108cd576108cc610864565b5b600182019050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026109617fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610926565b61096b8683610926565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6109a66109a161099c846105c6565b610983565b6105c6565b9050919050565b5f819050919050565b6109bf8361098c565b6109d36109cb826109ad565b848454610932565b825550505050565b5f90565b6109e76109db565b6109f28184846109b6565b505050565b5b81811015610a1557610a0a5f826109df565b6001810190506109f8565b5050565b601f821115610a5a57610a2b81610905565b610a3484610917565b81016020851015610a43578190505b610a57610a4f85610917565b8301826109f7565b50505b505050565b5f82821c905092915050565b5f610a7a5f1984600802610a5f565b1980831691505092915050565b5f610a928383610a6b565b9150826002028217905092915050565b610aab82610650565b67ffffffffffffffff811115610ac457610ac36108d8565b5b610ace8254610834565b610ad9828285610a19565b5f60209050601f831160018114610b0a575f8415610af8578287015190505b610b028582610a87565b865550610b69565b601f198416610b1886610905565b5f5b82811015610b3f57848901518255600182019150602085019450602081019050610b1a565b86831015610b5c5784890151610b58601f891682610a6b565b8355505b6001600288020188555050505b505050505050565b5f819050919050565b610b8b610b86826105c6565b610b71565b82525050565b5f610b9c8285610b7a565b602082019150610bac8284610b7a565b6020820191508190509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610bf3826105c6565b9150610bfe836105c6565b925082610c0e57610c0d610bbc565b5b82820690509291505056fea2646970667358221220007a0cea761682a43cf33d165abc9d26b45d0a9049e6bcac841b0a0d9fbe793064736f6c634300081a0033