0x608060405234801561001057600080fd5b506104dc806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80631953a08314610030575b600080fd5b61004a6004803603810190610045919061022a565b610060565b604051610057919061028c565b60405180910390f35b606061006b82610072565b9050919050565b60606000808390505b600081146100a557818061008e906103a6565b92505060108161009e9190610301565b905061007b565b60008267ffffffffffffffff8111156100e7577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156101195781602001600182028036833780820191505090505b50905060008390505b600086146101cf5780806101359061037c565b915050600060108761014791906103ef565b9050610152816101db565b83838151811061018b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506010876101c79190610301565b965050610122565b81945050505050919050565b6000600a8260ff16106101fd576057826101f591906102ca565b60f81b61020e565b60308261020a91906102ca565b60f81b5b9050919050565b6000813590506102248161048f565b92915050565b60006020828403121561023c57600080fd5b600061024a84828501610215565b91505092915050565b600061025e826102ae565b61026881856102b9565b9350610278818560208601610349565b6102818161047e565b840191505092915050565b600060208201905081810360008301526102a68184610253565b905092915050565b600081519050919050565b600082825260208201905092915050565b60006102d58261033c565b91506102e08361033c565b92508260ff038211156102f6576102f5610420565b5b828201905092915050565b600061030c82610332565b915061031783610332565b9250826103275761032661044f565b5b828204905092915050565b6000819050919050565b600060ff82169050919050565b60005b8381101561036757808201518184015260208101905061034c565b83811115610376576000848401525b50505050565b600061038782610332565b9150600082141561039b5761039a610420565b5b600182039050919050565b60006103b182610332565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156103e4576103e3610420565b5b600182019050919050565b60006103fa82610332565b915061040583610332565b9250826104155761041461044f565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b61049881610332565b81146104a357600080fd5b5056fea2646970667358221220eb29e840e4d5f7e05a1bb1b65cb3c198c8fed3de0bb872de854c4cf33c2ed96664736f6c63430008040033