6080604052601260ff16600a620000179190620000df565b6305f5e1006200002891906200021c565b6002553480156200003857600080fd5b506002546000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620002c3565b6000808291508390505b6001851115620000d657808604811115620000ae57620000ad62000287565b5b6001851615620000be5780820291505b8081029050620000ce85620002b6565b94506200008e565b94509492505050565b6000620000ec826200027d565b9150620000f9836200027d565b9250620001287fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000130565b905092915050565b60008262000142576001905062000215565b8162000152576000905062000215565b81600181146200016b57600281146200017657620001ac565b600191505062000215565b60ff8411156200018b576200018a62000287565b5b8360020a915084821115620001a557620001a462000287565b5b5062000215565b5060208310610133831016604e8410600b8410161715620001e65782820a905083811115620001e057620001df62000287565b5b62000215565b620001f5848484600162000084565b925090508184048111156200020f576200020e62000287565b5b81810290505b9392505050565b600062000229826200027d565b915062000236836200027d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000272576200027162000287565b5b828202905092915050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b610e0380620002d36000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce5671461013457806370a082311461015257806395d89b4114610182578063a9059cbb146101a0578063dd62ed3e146101d057610093565b806306fdde0314610098578063095ea7b3146100b657806318160ddd146100e657806323b872dd14610104575b600080fd5b6100a0610200565b6040516100ad9190610bd9565b60405180910390f35b6100d060048036038101906100cb9190610b1c565b610239565b6040516100dd9190610bbe565b60405180910390f35b6100ee61032b565b6040516100fb9190610bfb565b60405180910390f35b61011e60048036038101906101199190610acd565b610335565b60405161012b9190610bbe565b60405180910390f35b61013c6106b0565b6040516101499190610c16565b60405180910390f35b61016c60048036038101906101679190610a68565b6106b5565b6040516101799190610bfb565b60405180910390f35b61018a6106fd565b6040516101979190610bd9565b60405180910390f35b6101ba60048036038101906101b59190610b1c565b610736565b6040516101c79190610bbe565b60405180910390f35b6101ea60048036038101906101e59190610a91565b610918565b6040516101f79190610bfb565b60405180910390f35b6040518060400160405280600c81526020017f426f7265616c204c69676874000000000000000000000000000000000000000081525081565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516103199190610bfb565b60405180910390a36001905092915050565b6000600254905090565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561038257600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561040b57600080fd5b61045c826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461099f90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061052d82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461099f90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506105fe826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109ec90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161069d9190610bfb565b60405180910390a3600190509392505050565b601281565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6040518060400160405280600681526020017f424f5245414c000000000000000000000000000000000000000000000000000081525081565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561078357600080fd5b6107d4826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461099f90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610867826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109ec90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516109069190610bfb565b60405180910390a36001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211156109d8577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b81836109e49190610ca3565b905092915050565b60008082846109fb9190610c4d565b905083811015610a34577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b8091505092915050565b600081359050610a4d81610d9f565b92915050565b600081359050610a6281610db6565b92915050565b600060208284031215610a7a57600080fd5b6000610a8884828501610a3e565b91505092915050565b60008060408385031215610aa457600080fd5b6000610ab285828601610a3e565b9250506020610ac385828601610a3e565b9150509250929050565b600080600060608486031215610ae257600080fd5b6000610af086828701610a3e565b9350506020610b0186828701610a3e565b9250506040610b1286828701610a53565b9150509250925092565b60008060408385031215610b2f57600080fd5b6000610b3d85828601610a3e565b9250506020610b4e85828601610a53565b9150509250929050565b610b6181610ce9565b82525050565b6000610b7282610c31565b610b7c8185610c3c565b9350610b8c818560208601610d2c565b610b9581610d8e565b840191505092915050565b610ba981610d15565b82525050565b610bb881610d1f565b82525050565b6000602082019050610bd36000830184610b58565b92915050565b60006020820190508181036000830152610bf38184610b67565b905092915050565b6000602082019050610c106000830184610ba0565b92915050565b6000602082019050610c2b6000830184610baf565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610c5882610d15565b9150610c6383610d15565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610c9857610c97610d5f565b5b828201905092915050565b6000610cae82610d15565b9150610cb983610d15565b925082821015610ccc57610ccb610d5f565b5b828203905092915050565b6000610ce282610cf5565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015610d4a578082015181840152602081019050610d2f565b83811115610d59576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000601f19601f8301169050919050565b610da881610cd7565b8114610db357600080fd5b50565b610dbf81610d15565b8114610dca57600080fd5b5056fea2646970667358221220747e4cf27ed09e6f7bac4f154e73a3ccbc101600d71d287c00d201399cf8195f64736f6c63430008000033