0x608060405234801561001057600080fd5b50604051610c7f380380610c7f833981810160405281019061003291906101bd565b80600090816100419190610427565b50506104f9565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6100af82610066565b810181811067ffffffffffffffff821117156100ce576100cd610077565b5b80604052505050565b60006100e1610048565b90506100ed82826100a6565b919050565b600067ffffffffffffffff82111561010d5761010c610077565b5b61011682610066565b9050602081019050919050565b60005b83811015610141578082015181840152602081019050610126565b60008484015250505050565b600061016061015b846100f2565b6100d7565b90508281526020810184848401111561017c5761017b610061565b5b610187848285610123565b509392505050565b600082601f8301126101a4576101a361005c565b5b81516101b484826020860161014d565b91505092915050565b6000602082840312156101d3576101d2610052565b5b600082015167ffffffffffffffff8111156101f1576101f0610057565b5b6101fd8482850161018f565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061025857607f821691505b60208210810361026b5761026a610211565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026102d37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610296565b6102dd8683610296565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600061032461031f61031a846102f5565b6102ff565b6102f5565b9050919050565b6000819050919050565b61033e83610309565b61035261034a8261032b565b8484546102a3565b825550505050565b600090565b61036761035a565b610372818484610335565b505050565b5b818110156103965761038b60008261035f565b600181019050610378565b5050565b601f8211156103db576103ac81610271565b6103b584610286565b810160208510156103c4578190505b6103d86103d085610286565b830182610377565b50505b505050565b600082821c905092915050565b60006103fe600019846008026103e0565b1980831691505092915050565b600061041783836103ed565b9150826002028217905092915050565b61043082610206565b67ffffffffffffffff81111561044957610448610077565b5b6104538254610240565b61045e82828561039a565b600060209050601f831160018114610491576000841561047f578287015190505b610489858261040b565b8655506104f1565b601f19841661049f86610271565b60005b828110156104c7578489015182556001820191506020850194506020810190506104a2565b868310156104e457848901516104e0601f8916826103ed565b8355505b6001600288020188555050505b505050505050565b610777806105086000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633d7403a31461003b578063e21f37ce14610057575b600080fd5b61005560048036038101906100509190610338565b610075565b005b61005f610150565b60405161006c9190610400565b60405180910390f35b600080805461008390610451565b80601f01602080910402602001604051908101604052809291908181526020018280546100af90610451565b80156100fc5780601f106100d1576101008083540402835291602001916100fc565b820191906000526020600020905b8154815290600101906020018083116100df57829003601f168201915b5050505050905081600090816101129190610638565b507f6ad80379311814b0caf7e16f79acd1056074f21d5840c049b3d298a95974dfb3818360405161014492919061070a565b60405180910390a15050565b6000805461015d90610451565b80601f016020809104026020016040519081016040528092919081815260200182805461018990610451565b80156101d65780601f106101ab576101008083540402835291602001916101d6565b820191906000526020600020905b8154815290600101906020018083116101b957829003601f168201915b505050505081565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610245826101fc565b810181811067ffffffffffffffff821117156102645761026361020d565b5b80604052505050565b60006102776101de565b9050610283828261023c565b919050565b600067ffffffffffffffff8211156102a3576102a261020d565b5b6102ac826101fc565b9050602081019050919050565b82818337600083830152505050565b60006102db6102d684610288565b61026d565b9050828152602081018484840111156102f7576102f66101f7565b5b6103028482856102b9565b509392505050565b600082601f83011261031f5761031e6101f2565b5b813561032f8482602086016102c8565b91505092915050565b60006020828403121561034e5761034d6101e8565b5b600082013567ffffffffffffffff81111561036c5761036b6101ed565b5b6103788482850161030a565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156103bb5780820151818401526020810190506103a0565b60008484015250505050565b60006103d282610381565b6103dc818561038c565b93506103ec81856020860161039d565b6103f5816101fc565b840191505092915050565b6000602082019050818103600083015261041a81846103c7565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061046957607f821691505b60208210810361047c5761047b610422565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026104e47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826104a7565b6104ee86836104a7565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600061053561053061052b84610506565b610510565b610506565b9050919050565b6000819050919050565b61054f8361051a565b61056361055b8261053c565b8484546104b4565b825550505050565b600090565b61057861056b565b610583818484610546565b505050565b5b818110156105a75761059c600082610570565b600181019050610589565b5050565b601f8211156105ec576105bd81610482565b6105c684610497565b810160208510156105d5578190505b6105e96105e185610497565b830182610588565b50505b505050565b600082821c905092915050565b600061060f600019846008026105f1565b1980831691505092915050565b600061062883836105fe565b9150826002028217905092915050565b61064182610381565b67ffffffffffffffff81111561065a5761065961020d565b5b6106648254610451565b61066f8282856105ab565b600060209050601f8311600181146106a25760008415610690578287015190505b61069a858261061c565b865550610702565b601f1984166106b086610482565b60005b828110156106d8578489015182556001820191506020850194506020810190506106b3565b868310156106f557848901516106f1601f8916826105fe565b8355505b6001600288020188555050505b505050505050565b6000604082019050818103600083015261072481856103c7565b9050818103602083015261073881846103c7565b9050939250505056fea26469706673582212201f99a5ff3dd39be6016efadf68389db3aa7fef199611fcbf750387dd4415d3c564736f6c634300081b00330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e48656c6c6f20436f696e62617365000000000000000000000000000000000000