0x608060405234801561001057600080fd5b506004361061009e5760003560e01c806342966c681161006657806342966c681461015d57806370a082311461017957806395d89b41146101a9578063a9059cbb146101c7578063dd62ed3e146101f75761009e565b806306fdde03146100a3578063095ea7b3146100c157806318160ddd146100f157806323b872dd1461010f578063313ce5671461013f575b600080fd5b6100ab610227565b6040516100b891906108c5565b60405180910390f35b6100db60048036038101906100d69190610980565b6102b5565b6040516100e891906109db565b60405180910390f35b6100f96103a7565b6040516101069190610a05565b60405180910390f35b61012960048036038101906101249190610a20565b6103ad565b60405161013691906109db565b60405180910390f35b61014761055c565b6040516101549190610a8f565b60405180910390f35b61017760048036038101906101729190610aaa565b61056f565b005b610193600480360381019061018e9190610ad7565b610646565b6040516101a09190610a05565b60405180910390f35b6101b161065e565b6040516101be91906108c5565b60405180910390f35b6101e160048036038101906101dc9190610980565b6106ec565b6040516101ee91906109db565b60405180910390f35b610211600480360381019061020c9190610b04565b610807565b60405161021e9190610a05565b60405180910390f35b6002805461023490610b73565b80601f016020809104026020016040519081016040528092919081815260200182805461026090610b73565b80156102ad5780601f10610282576101008083540402835291602001916102ad565b820191906000526020600020905b81548152906001019060200180831161029057829003601f168201915b505050505081565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516103959190610a05565b60405180910390a36001905092915050565b60055481565b600081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461043b9190610bd3565b92505081905550816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546104909190610bd3565b92505081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546104e59190610c07565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516105499190610a05565b60405180910390a3600190509392505050565b600460009054906101000a900460ff1681565b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546105bd9190610bd3565b9250508190555080600560008282546105d69190610bd3565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161063b9190610a05565b60405180910390a350565b60006020528060005260406000206000915090505481565b6003805461066b90610b73565b80601f016020809104026020016040519081016040528092919081815260200182805461069790610b73565b80156106e45780601f106106b9576101008083540402835291602001916106e4565b820191906000526020600020905b8154815290600101906020018083116106c757829003601f168201915b505050505081565b6000816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461073c9190610bd3565b92505081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107919190610c07565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107f59190610a05565b60405180910390a36001905092915050565b6001602052816000526040600020602052806000526040600020600091509150505481565b600081519050919050565b600082825260208201905092915050565b60005b8381101561086657808201518184015260208101905061084b565b83811115610875576000848401525b50505050565b6000601f19601f8301169050919050565b60006108978261082c565b6108a18185610837565b93506108b1818560208601610848565b6108ba8161087b565b840191505092915050565b600060208201905081810360008301526108df818461088c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610917826108ec565b9050919050565b6109278161090c565b811461093257600080fd5b50565b6000813590506109448161091e565b92915050565b6000819050919050565b61095d8161094a565b811461096857600080fd5b50565b60008135905061097a81610954565b92915050565b60008060408385031215610997576109966108e7565b5b60006109a585828601610935565b92505060206109b68582860161096b565b9150509250929050565b60008115159050919050565b6109d5816109c0565b82525050565b60006020820190506109f060008301846109cc565b92915050565b6109ff8161094a565b82525050565b6000602082019050610a1a60008301846109f6565b92915050565b600080600060608486031215610a3957610a386108e7565b5b6000610a4786828701610935565b9350506020610a5886828701610935565b9250506040610a698682870161096b565b9150509250925092565b600060ff82169050919050565b610a8981610a73565b82525050565b6000602082019050610aa46000830184610a80565b92915050565b600060208284031215610ac057610abf6108e7565b5b6000610ace8482850161096b565b91505092915050565b600060208284031215610aed57610aec6108e7565b5b6000610afb84828501610935565b91505092915050565b60008060408385031215610b1b57610b1a6108e7565b5b6000610b2985828601610935565b9250506020610b3a85828601610935565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610b8b57607f821691505b602082108103610b9e57610b9d610b44565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610bde8261094a565b9150610be98361094a565b925082821015610bfc57610bfb610ba4565b5b828203905092915050565b6000610c128261094a565b9150610c1d8361094a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610c5257610c51610ba4565b5b82820190509291505056fea2646970667358221220c238d234fe4fb54e9cf662b790ed7dbd6eeef6cbaf32cc25e7bcd7682cbad90c64736f6c634300080e0033
0x60806040526040518060400160405280600481526020017f7369676e000000000000000000000000000000000000000000000000000000008152506002908051906020019062000051929190620001f5565b506040518060400160405280600481526020017f5349474e00000000000000000000000000000000000000000000000000000000815250600390805190602001906200009f929190620001f5565b506012600460006101000a81548160ff021916908360ff1602179055506000600555348015620000ce57600080fd5b506040516200131f3803806200131f8339818101604052810190620000f491906200030f565b6000600460009054906101000a900460ff16600a620001149190620004db565b633b9aca006200012591906200052c565b9050806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600560008282546200017e91906200058d565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620001e59190620005fb565b60405180910390a350506200067c565b828054620002039062000647565b90600052602060002090601f01602090048101928262000227576000855562000273565b82601f106200024257805160ff191683800117855562000273565b8280016001018555821562000273579182015b828111156200027257825182559160200191906001019062000255565b5b50905062000282919062000286565b5090565b5b80821115620002a157600081600090555060010162000287565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002d782620002aa565b9050919050565b620002e981620002ca565b8114620002f557600080fd5b50565b6000815190506200030981620002de565b92915050565b600060208284031215620003285762000327620002a5565b5b60006200033884828501620002f8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620003cf57808604811115620003a757620003a662000341565b5b6001851615620003b75780820291505b8081029050620003c78562000370565b945062000387565b94509492505050565b600082620003ea5760019050620004bd565b81620003fa5760009050620004bd565b81600181146200041357600281146200041e5762000454565b6001915050620004bd565b60ff84111562000433576200043262000341565b5b8360020a9150848211156200044d576200044c62000341565b5b50620004bd565b5060208310610133831016604e8410600b84101617156200048e5782820a90508381111562000488576200048762000341565b5b620004bd565b6200049d84848460016200037d565b92509050818404811115620004b757620004b662000341565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620004e882620004c4565b9150620004f583620004ce565b9250620005247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620003d8565b905092915050565b60006200053982620004c4565b91506200054683620004c4565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000582576200058162000341565b5b828202905092915050565b60006200059a82620004c4565b9150620005a783620004c4565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620005df57620005de62000341565b5b828201905092915050565b620005f581620004c4565b82525050565b6000602082019050620006126000830184620005ea565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200066057607f821691505b60208210810362000676576200067562000618565b5b50919050565b610c93806200068c6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806342966c681161006657806342966c681461015d57806370a082311461017957806395d89b41146101a9578063a9059cbb146101c7578063dd62ed3e146101f75761009e565b806306fdde03146100a3578063095ea7b3146100c157806318160ddd146100f157806323b872dd1461010f578063313ce5671461013f575b600080fd5b6100ab610227565b6040516100b891906108c5565b60405180910390f35b6100db60048036038101906100d69190610980565b6102b5565b6040516100e891906109db565b60405180910390f35b6100f96103a7565b6040516101069190610a05565b60405180910390f35b61012960048036038101906101249190610a20565b6103ad565b60405161013691906109db565b60405180910390f35b61014761055c565b6040516101549190610a8f565b60405180910390f35b61017760048036038101906101729190610aaa565b61056f565b005b610193600480360381019061018e9190610ad7565b610646565b6040516101a09190610a05565b60405180910390f35b6101b161065e565b6040516101be91906108c5565b60405180910390f35b6101e160048036038101906101dc9190610980565b6106ec565b6040516101ee91906109db565b60405180910390f35b610211600480360381019061020c9190610b04565b610807565b60405161021e9190610a05565b60405180910390f35b6002805461023490610b73565b80601f016020809104026020016040519081016040528092919081815260200182805461026090610b73565b80156102ad5780601f10610282576101008083540402835291602001916102ad565b820191906000526020600020905b81548152906001019060200180831161029057829003601f168201915b505050505081565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516103959190610a05565b60405180910390a36001905092915050565b60055481565b600081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461043b9190610bd3565b92505081905550816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546104909190610bd3565b92505081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546104e59190610c07565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516105499190610a05565b60405180910390a3600190509392505050565b600460009054906101000a900460ff1681565b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546105bd9190610bd3565b9250508190555080600560008282546105d69190610bd3565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161063b9190610a05565b60405180910390a350565b60006020528060005260406000206000915090505481565b6003805461066b90610b73565b80601f016020809104026020016040519081016040528092919081815260200182805461069790610b73565b80156106e45780601f106106b9576101008083540402835291602001916106e4565b820191906000526020600020905b8154815290600101906020018083116106c757829003601f168201915b505050505081565b6000816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461073c9190610bd3565b92505081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107919190610c07565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107f59190610a05565b60405180910390a36001905092915050565b6001602052816000526040600020602052806000526040600020600091509150505481565b600081519050919050565b600082825260208201905092915050565b60005b8381101561086657808201518184015260208101905061084b565b83811115610875576000848401525b50505050565b6000601f19601f8301169050919050565b60006108978261082c565b6108a18185610837565b93506108b1818560208601610848565b6108ba8161087b565b840191505092915050565b600060208201905081810360008301526108df818461088c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610917826108ec565b9050919050565b6109278161090c565b811461093257600080fd5b50565b6000813590506109448161091e565b92915050565b6000819050919050565b61095d8161094a565b811461096857600080fd5b50565b60008135905061097a81610954565b92915050565b60008060408385031215610997576109966108e7565b5b60006109a585828601610935565b92505060206109b68582860161096b565b9150509250929050565b60008115159050919050565b6109d5816109c0565b82525050565b60006020820190506109f060008301846109cc565b92915050565b6109ff8161094a565b82525050565b6000602082019050610a1a60008301846109f6565b92915050565b600080600060608486031215610a3957610a386108e7565b5b6000610a4786828701610935565b9350506020610a5886828701610935565b9250506040610a698682870161096b565b9150509250925092565b600060ff82169050919050565b610a8981610a73565b82525050565b6000602082019050610aa46000830184610a80565b92915050565b600060208284031215610ac057610abf6108e7565b5b6000610ace8482850161096b565b91505092915050565b600060208284031215610aed57610aec6108e7565b5b6000610afb84828501610935565b91505092915050565b60008060408385031215610b1b57610b1a6108e7565b5b6000610b2985828601610935565b9250506020610b3a85828601610935565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610b8b57607f821691505b602082108103610b9e57610b9d610b44565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610bde8261094a565b9150610be98361094a565b925082821015610bfc57610bfb610ba4565b5b828203905092915050565b6000610c128261094a565b9150610c1d8361094a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610c5257610c51610ba4565b5b82820190509291505056fea2646970667358221220c238d234fe4fb54e9cf662b790ed7dbd6eeef6cbaf32cc25e7bcd7682cbad90c64736f6c634300080e003300000000000000000000000055fe63e5ed3bf1194e93a02144437b3bf3337d67