0x60806040526370a082317c0100000000000000000000000000000000000000000000000000000000026000806101000a81548163ffffffff02191690837c01000000000000000000000000000000000000000000000000000000009004021790555063dd62ed3e7c010000000000000000000000000000000000000000000000000000000002600060046101000a81548163ffffffff02191690837c0100000000000000000000000000000000000000000000000000000000900402179055503480156100cb57600080fd5b50610aba806100db6000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631049334f1461006757806384bfc3a9146100de5780638e8758d81461019e578063f0002ea914610235575b600080fd5b34801561007357600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102dd565b6040518082815260200191505060405180910390f35b3480156100ea57600080fd5b506101476004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293905050506104b7565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561018a57808201518184015260208101905061016f565b505050509050019250505060405180910390f35b3480156101aa57600080fd5b5061021f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610677565b6040518082815260200191505060405180910390f35b34801561024157600080fd5b506102866004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293905050506108bb565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156102c95780820151818401526020810190506102ae565b505050509050019250505060405180910390f35b600080823b90506000811180156103c957508273ffffffffffffffffffffffffffffffffffffffff166000809054906101000a90047c0100000000000000000000000000000000000000000000000000000000027c01000000000000000000000000000000000000000000000000000000009004856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506000604051808303816000875af1925050505b156104ab578273ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561046957600080fd5b505af115801561047d573d6000803e3d6000fd5b505050506040513d602081101561049357600080fd5b810190808051906020019092919050505091506104b0565b600091505b5092915050565b60608060008060008a8a905089899050026040519080825280602002602001820160405280156104f65781602001602082028038833980820191505090505b509350600092505b8a8a905083101561066657600091505b888890508210156106595782898990500282019050600073ffffffffffffffffffffffffffffffffffffffff16898984818110151561054957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561062d5761060c8b8b85818110151561059457fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168a8a8581811015156105bf57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1689898681811015156105ea57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16610677565b848281518110151561061a57fe5b906020019060200201818152505061064c565b6000848281518110151561063d57fe5b90602001906020020181815250505b818060010192505061050e565b82806001019350506104fe565b839450505050509695505050505050565b600080833b905060008111801561079857508373ffffffffffffffffffffffffffffffffffffffff16600060049054906101000a90047c0100000000000000000000000000000000000000000000000000000000027c0100000000000000000000000000000000000000000000000000000000900486856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001925050506000604051808303816000875af1925050505b156108ae578373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e86856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561086c57600080fd5b505af1158015610880573d6000803e3d6000fd5b505050506040513d602081101561089657600080fd5b810190808051906020019092919050505091506108b3565b600091505b509392505050565b60608060008060008888905087879050026040519080825280602002602001820160405280156108fa5781602001602082028038833980820191505090505b509350600092505b88889050831015610a7f57600091505b86869050821015610a725782878790500282019050600073ffffffffffffffffffffffffffffffffffffffff16878784818110151561094d57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610a06576109e5898985818110151561099857fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1688888581811015156109c357fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff166102dd565b84828151811015156109f357fe5b9060200190602002018181525050610a65565b8888848181101515610a1457fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16318482815181101515610a5657fe5b90602001906020020181815250505b8180600101925050610912565b8280600101935050610902565b839450505050509493505050505600a165627a7a7230582083b967b38cae8220d66852babd3fd3efd393be310bb0e67adfaecc2452a226600029