608060405234801561001057600080fd5b50610863806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806306fdde031461006757806318160ddd14610085578063313ce567146100a357806370a08231146100c1578063729ad39e146100f157806395d89b411461010d575b600080fd5b61006f61012b565b60405161007c9190610439565b60405180910390f35b61008d610164565b60405161009a919061045b565b60405180910390f35b6100ab610188565b6040516100b89190610476565b60405180910390f35b6100db60048036038101906100d69190610378565b61018d565b6040516100e8919061045b565b60405180910390f35b61010b600480360381019061010691906103a1565b6101b4565b005b610115610294565b6040516101229190610439565b60405180910390f35b6040518060400160405280600c81526020017f444f524b2041495244524f50000000000000000000000000000000000000000081525081565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b600681565b6000600660ff16600a6101a0919061055d565b6101f46101ad919061067b565b9050919050565b60005b8151811015610290578181815181106101f9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff167328c6c06298d514db089934071355e5743bf21d6073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef631dcd6500604051610275919061045b565b60405180910390a3808061028890610751565b9150506101b7565b5050565b6040518060400160405280601c81526020017f566973697420646f726b636f696e732e636f6d20746f20636c61696d0000000081525081565b60006102e06102db846104c2565b610491565b905080838252602082019050828560208602820111156102ff57600080fd5b60005b8581101561032f57816103158882610339565b845260208401935060208301925050600181019050610302565b5050509392505050565b60008135905061034881610816565b92915050565b600082601f83011261035f57600080fd5b813561036f8482602086016102cd565b91505092915050565b60006020828403121561038a57600080fd5b600061039884828501610339565b91505092915050565b6000602082840312156103b357600080fd5b600082013567ffffffffffffffff8111156103cd57600080fd5b6103d98482850161034e565b91505092915050565b60006103ed826104ee565b6103f781856104f9565b935061040781856020860161071e565b610410816107f8565b840191505092915050565b61042481610707565b82525050565b61043381610711565b82525050565b6000602082019050818103600083015261045381846103e2565b905092915050565b6000602082019050610470600083018461041b565b92915050565b600060208201905061048b600083018461042a565b92915050565b6000604051905081810181811067ffffffffffffffff821117156104b8576104b76107c9565b5b8060405250919050565b600067ffffffffffffffff8211156104dd576104dc6107c9565b5b602082029050602081019050919050565b600081519050919050565b600082825260208201905092915050565b6000808291508390505b6001851115610554578086048111156105305761052f61079a565b5b600185161561053f5780820291505b808102905061054d85610809565b9450610514565b94509492505050565b600061056882610707565b915061057383610707565b92506105a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846105a8565b905092915050565b6000826105b85760019050610674565b816105c65760009050610674565b81600181146105dc57600281146105e657610615565b6001915050610674565b60ff8411156105f8576105f761079a565b5b8360020a91508482111561060f5761060e61079a565b5b50610674565b5060208310610133831016604e8410600b841016171561064a5782820a9050838111156106455761064461079a565b5b610674565b610657848484600161050a565b9250905081840481111561066e5761066d61079a565b5b81810290505b9392505050565b600061068682610707565b915061069183610707565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156106ca576106c961079a565b5b828202905092915050565b60006106e0826106e7565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561073c578082015181840152602081019050610721565b8381111561074b576000848401525b50505050565b600061075c82610707565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561078f5761078e61079a565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b61081f816106d5565b811461082a57600080fd5b5056fea26469706673582212200e43eccc87f51d3faf558e9fce9ae9b4148ea84cb1db21e262bb867b06b1408d64736f6c63430008000033