0x60806040526009600a620000149190620005ee565b633b9aca006200002591906200063f565b6002556032600254620000399190620006cf565b60035560326002546200004d9190620006cf565b6004556005600a556000600b60006101000a81548160ff0219169083151502179055506000600b60016101000a81548160ff0219169083151502179055503480156200009857600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550506001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016008600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016009600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600254600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60025460405162000446919062000718565b60405180910390a362000735565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620004e257808604811115620004ba57620004b962000454565b5b6001851615620004ca5780820291505b8081029050620004da8562000483565b94506200049a565b94509492505050565b600082620004fd5760019050620005d0565b816200050d5760009050620005d0565b8160018114620005265760028114620005315762000567565b6001915050620005d0565b60ff84111562000546576200054562000454565b5b8360020a91508482111562000560576200055f62000454565b5b50620005d0565b5060208310610133831016604e8410600b8410161715620005a15782820a9050838111156200059b576200059a62000454565b5b620005d0565b620005b0848484600162000490565b92509050818404811115620005ca57620005c962000454565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620005fb82620005d7565b91506200060883620005e1565b9250620006377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004eb565b905092915050565b60006200064c82620005d7565b91506200065983620005d7565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000695576200069462000454565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620006dc82620005d7565b9150620006e983620005d7565b925082620006fc57620006fb620006a0565b5b828204905092915050565b6200071281620005d7565b82525050565b60006020820190506200072f600083018462000707565b92915050565b6134a180620007456000396000f3fe6080604052600436106102275760003560e01c806370a0823111610123578063a9059cbb116100ab578063dd62ed3e1161006f578063dd62ed3e14610846578063e0dca26e14610883578063f0b37c04146108ae578063fe9fbb80146108d7578063ffb54a99146109145761022e565b8063a9059cbb14610751578063b6a5d7de1461078e578063bd9ab537146107b7578063c33e9eba146107e0578063c867d60b146108095761022e565b80637d1db4a5116100f25780637d1db4a51461066a5780638187f51614610695578063893d20e8146106be5780638b42507f146106e957806395d89b41146107265761022e565b806370a08231146105ae578063715018a6146105eb57806377b54bad1461060257806378109e541461063f5761022e565b80631df4ccfc116101b1578063313ce56711610175578063313ce567146104b757806338e80f68146104e25780633f4218e01461050b5780634be9d86914610548578063571ac8b0146105715761022e565b80631df4ccfc146103be57806323b872dd146103e95780632a9b8072146104265780632b112e491461044f5780632f54bf6e1461047a5761022e565b8063095ea7b3116101f8578063095ea7b3146102d95780631664e98514610316578063180b0d7e1461033f57806318160ddd1461036a5780631da1db5e146103955761022e565b806210868314610233578062bff4461461025c57806306fdde031461028557806309302dc6146102b05761022e565b3661022e57005b600080fd5b34801561023f57600080fd5b5061025a60048036038101906102559190612905565b61093f565b005b34801561026857600080fd5b50610283600480360381019061027e9190612905565b610a71565b005b34801561029157600080fd5b5061029a610ba3565b6040516102a791906129f5565b60405180910390f35b3480156102bc57600080fd5b506102d760048036038101906102d29190612a4d565b610bdc565b005b3480156102e557600080fd5b5061030060048036038101906102fb9190612ad8565b610c8c565b60405161030d9190612b27565b60405180910390f35b34801561032257600080fd5b5061033d60048036038101906103389190612b42565b610d7e565b005b34801561034b57600080fd5b50610354610de3565b6040516103619190612b7e565b60405180910390f35b34801561037657600080fd5b5061037f610de8565b60405161038c9190612b7e565b60405180910390f35b3480156103a157600080fd5b506103bc60048036038101906103b79190612a4d565b610dee565b005b3480156103ca57600080fd5b506103d3610ea3565b6040516103e09190612b7e565b60405180910390f35b3480156103f557600080fd5b50610410600480360381019061040b9190612b99565b610ea9565b60405161041d9190612b27565b60405180910390f35b34801561043257600080fd5b5061044d60048036038101906104489190612b42565b6110a9565b005b34801561045b57600080fd5b5061046461110e565b6040516104719190612b7e565b60405180910390f35b34801561048657600080fd5b506104a1600480360381019061049c9190612bec565b6111ae565b6040516104ae9190612b27565b60405180910390f35b3480156104c357600080fd5b506104cc611207565b6040516104d99190612c35565b60405180910390f35b3480156104ee57600080fd5b5061050960048036038101906105049190612a4d565b61120c565b005b34801561051757600080fd5b50610532600480360381019061052d9190612bec565b61132f565b60405161053f9190612b27565b60405180910390f35b34801561055457600080fd5b5061056f600480360381019061056a9190612905565b61134f565b005b34801561057d57600080fd5b5061059860048036038101906105939190612bec565b611481565b6040516105a59190612b27565b60405180910390f35b3480156105ba57600080fd5b506105d560048036038101906105d09190612bec565b6114b4565b6040516105e29190612b7e565b60405180910390f35b3480156105f757600080fd5b506106006114cc565b005b34801561060e57600080fd5b5061062960048036038101906106249190612ad8565b6115d0565b6040516106369190612b27565b60405180910390f35b34801561064b57600080fd5b50610654611725565b6040516106619190612b7e565b60405180910390f35b34801561067657600080fd5b5061067f61172b565b60405161068c9190612b7e565b60405180910390f35b3480156106a157600080fd5b506106bc60048036038101906106b79190612bec565b611731565b005b3480156106ca57600080fd5b506106d361182c565b6040516106e09190612c5f565b60405180910390f35b3480156106f557600080fd5b50610710600480360381019061070b9190612bec565b611855565b60405161071d9190612b27565b60405180910390f35b34801561073257600080fd5b5061073b611875565b60405161074891906129f5565b60405180910390f35b34801561075d57600080fd5b5061077860048036038101906107739190612ad8565b6118ae565b6040516107859190612b27565b60405180910390f35b34801561079a57600080fd5b506107b560048036038101906107b09190612bec565b6118c3565b005b3480156107c357600080fd5b506107de60048036038101906107d99190612a4d565b611965565b005b3480156107ec57600080fd5b5061080760048036038101906108029190612a4d565b611a15565b005b34801561081557600080fd5b50610830600480360381019061082b9190612bec565b611a67565b60405161083d9190612b27565b60405180910390f35b34801561085257600080fd5b5061086d60048036038101906108689190612c7a565b611a87565b60405161087a9190612b7e565b60405180910390f35b34801561088f57600080fd5b50610898611b0e565b6040516108a59190612b27565b60405180910390f35b3480156108ba57600080fd5b506108d560048036038101906108d09190612bec565b611b21565b005b3480156108e357600080fd5b506108fe60048036038101906108f99190612bec565b611c52565b60405161090b9190612b27565b60405180910390f35b34801561092057600080fd5b50610929611ca8565b6040516109369190612b27565b60405180910390f35b61094833611c52565b610987576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097e90612d06565b60405180910390fd5b6101f583839050106109ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c590612d98565b60405180910390fd5b60005b83839050811015610a6b5781600960008686858181106109f4576109f3612db8565b5b9050602002016020810190610a099190612bec565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080610a6490612e16565b90506109d1565b50505050565b610a7a33611c52565b610ab9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab090612d06565b60405180910390fd5b6101f58383905010610b00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af790612d98565b60405180910390fd5b60005b83839050811015610b9d578160076000868685818110610b2657610b25612db8565b5b9050602002016020810190610b3b9190612bec565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080610b9690612e16565b9050610b03565b50505050565b6040518060400160405280600c81526020017f506f6c79205a4b2050455045000000000000000000000000000000000000000081525081565b610be5336111ae565b610c24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1b90612eaa565b60405180910390fd5b6005811015610c68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5f90612f3c565b60405180910390fd5b6103e881600254610c799190612f5c565b610c839190612fe5565b60048190555050565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610d6c9190612b7e565b60405180910390a36001905092915050565b610d87336111ae565b610dc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbd90612eaa565b60405180910390fd5b80600b60016101000a81548160ff02191690831515021790555050565b606481565b60025481565b610df7336111ae565b610e36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2d90612eaa565b60405180910390fd5b6000479050600060648383610e4b9190612f5c565b610e559190612fe5565b90503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610e9d573d6000803e3d6000fd5b50505050565b600a5481565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461109557611014826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cbb9092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6110a0848484611d1f565b90509392505050565b6110b2336111ae565b6110f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e890612eaa565b60405180910390fd5b80600b60006101000a81548160ff02191690831515021790555050565b6000600560008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546005600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460025461119f9190613016565b6111a99190613016565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b600981565b611215336111ae565b611254576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124b90612eaa565b60405180910390fd5b806002546112629190612f5c565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836002546113039190612f5c565b6040516113109190612b7e565b60405180910390a3806002546113269190612f5c565b60028190555050565b60076020528060005260406000206000915054906101000a900460ff1681565b61135833611c52565b611397576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138e90612d06565b60405180910390fd5b6101f583839050106113de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d590612d98565b60405180910390fd5b60005b8383905081101561147b57816008600086868581811061140457611403612db8565b5b90506020020160208101906114199190612bec565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508061147490612e16565b90506113e1565b50505050565b60006114ad827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610c8c565b9050919050565b60056020528060005260406000206000915090505481565b6114d5336111ae565b611514576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150b90612eaa565b60405180910390fd5b6000600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60006115db336111ae565b61161a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161190612eaa565b60405180910390fd5b6000820361169f578273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161165b9190612c5f565b602060405180830381865afa158015611678573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169c919061305f565b91505b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b81526004016116da92919061308c565b6020604051808303816000875af11580156116f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171d91906130ca565b905092915050565b60045481565b60035481565b61173a336111ae565b611779576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177090612eaa565b60405180910390fd5b6001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60086020528060005260406000206000915054906101000a900460ff1681565b6040518060400160405280600581526020017f7a5045504500000000000000000000000000000000000000000000000000000081525081565b60006118bb338484611d1f565b905092915050565b6118cc336111ae565b61190b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190290612eaa565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61196e336111ae565b6119ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a490612eaa565b60405180910390fd5b60058110156119f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e890613169565b60405180910390fd5b6103e881600254611a029190612f5c565b611a0c9190612fe5565b60038190555050565b611a1e336111ae565b611a5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5490612eaa565b60405180910390fd5b80600a8190555050565b60096020528060005260406000206000915054906101000a900460ff1681565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600b60019054906101000a900460ff1681565b611b2a336111ae565b611b69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6090612eaa565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bee906131d5565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600b60009054906101000a900460ff1681565b6000838311158290611d03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cfa91906129f5565b60405180910390fd5b5060008385611d129190613016565b9050809150509392505050565b6000600b60019054906101000a900460ff1615611d4857611d4133848461234a565b9050612343565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611dec5750600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e4157600b60009054906101000a900460ff16611e40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3790613241565b60405180910390fd5b5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611ee55750600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f3b5750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611fd05760045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f8e9190613261565b1115611fcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc6906132e1565b60405180910390fd5b5b6003548211158061202a5750600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061207e5750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6120bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120b49061334d565b60405180910390fd5b612146826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cbb9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061222c5750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61223f5761223a858461251d565b612241565b825b905061229581600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461268f90919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516123359190612b7e565b60405180910390a360019150505b9392505050565b60006123d5826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cbb9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061246a82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461268f90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161250a9190612b7e565b60405180910390a3600190509392505050565b60008082148061252f57506000600a54145b1561253c57819050612689565b60006125666064612558600a54866126ed90919063ffffffff16565b61276790919063ffffffff16565b90506000811115612672576125c5816005600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461268f90919063ffffffff16565b6005600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516126699190612b7e565b60405180910390a35b61268581846127b190919063ffffffff16565b9150505b92915050565b600080828461269e9190613261565b9050838110156126e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126da906133b9565b60405180910390fd5b8091505092915050565b60008083036126ff5760009050612761565b6000828461270d9190612f5c565b905082848261271c9190612fe5565b1461275c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127539061344b565b60405180910390fd5b809150505b92915050565b60006127a983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506127fb565b905092915050565b60006127f383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611cbb565b905092915050565b60008083118290612842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283991906129f5565b60405180910390fd5b50600083856128519190612fe5565b9050809150509392505050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f84011261288d5761288c612868565b5b8235905067ffffffffffffffff8111156128aa576128a961286d565b5b6020830191508360208202830111156128c6576128c5612872565b5b9250929050565b60008115159050919050565b6128e2816128cd565b81146128ed57600080fd5b50565b6000813590506128ff816128d9565b92915050565b60008060006040848603121561291e5761291d61285e565b5b600084013567ffffffffffffffff81111561293c5761293b612863565b5b61294886828701612877565b9350935050602061295b868287016128f0565b9150509250925092565b600081519050919050565b600082825260208201905092915050565b60005b8381101561299f578082015181840152602081019050612984565b60008484015250505050565b6000601f19601f8301169050919050565b60006129c782612965565b6129d18185612970565b93506129e1818560208601612981565b6129ea816129ab565b840191505092915050565b60006020820190508181036000830152612a0f81846129bc565b905092915050565b6000819050919050565b612a2a81612a17565b8114612a3557600080fd5b50565b600081359050612a4781612a21565b92915050565b600060208284031215612a6357612a6261285e565b5b6000612a7184828501612a38565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612aa582612a7a565b9050919050565b612ab581612a9a565b8114612ac057600080fd5b50565b600081359050612ad281612aac565b92915050565b60008060408385031215612aef57612aee61285e565b5b6000612afd85828601612ac3565b9250506020612b0e85828601612a38565b9150509250929050565b612b21816128cd565b82525050565b6000602082019050612b3c6000830184612b18565b92915050565b600060208284031215612b5857612b5761285e565b5b6000612b66848285016128f0565b91505092915050565b612b7881612a17565b82525050565b6000602082019050612b936000830184612b6f565b92915050565b600080600060608486031215612bb257612bb161285e565b5b6000612bc086828701612ac3565b9350506020612bd186828701612ac3565b9250506040612be286828701612a38565b9150509250925092565b600060208284031215612c0257612c0161285e565b5b6000612c1084828501612ac3565b91505092915050565b600060ff82169050919050565b612c2f81612c19565b82525050565b6000602082019050612c4a6000830184612c26565b92915050565b612c5981612a9a565b82525050565b6000602082019050612c746000830184612c50565b92915050565b60008060408385031215612c9157612c9061285e565b5b6000612c9f85828601612ac3565b9250506020612cb085828601612ac3565b9150509250929050565b7f21415554484f52495a4544000000000000000000000000000000000000000000600082015250565b6000612cf0600b83612970565b9150612cfb82612cba565b602082019050919050565b60006020820190508181036000830152612d1f81612ce3565b9050919050565b7f474153204572726f723a206d6178206c696d697420697320353030206164647260008201527f6573736573000000000000000000000000000000000000000000000000000000602082015250565b6000612d82602583612970565b9150612d8d82612d26565b604082019050919050565b60006020820190508181036000830152612db181612d75565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612e2182612a17565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612e5357612e52612de7565b5b600182019050919050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b6000612e94600683612970565b9150612e9f82612e5e565b602082019050919050565b60006020820190508181036000830152612ec381612e87565b9050919050565b7f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e2060008201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b6000612f26602483612970565b9150612f3182612eca565b604082019050919050565b60006020820190508181036000830152612f5581612f19565b9050919050565b6000612f6782612a17565b9150612f7283612a17565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612fab57612faa612de7565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612ff082612a17565b9150612ffb83612a17565b92508261300b5761300a612fb6565b5b828204905092915050565b600061302182612a17565b915061302c83612a17565b925082820390508181111561304457613043612de7565b5b92915050565b60008151905061305981612a21565b92915050565b6000602082840312156130755761307461285e565b5b60006130838482850161304a565b91505092915050565b60006040820190506130a16000830185612c50565b6130ae6020830184612b6f565b9392505050565b6000815190506130c4816128d9565b92915050565b6000602082840312156130e0576130df61285e565b5b60006130ee848285016130b5565b91505092915050565b7f43616e6e6f7420736574206d6178207472616e73616374696f6e206c6573732060008201527f7468616e20302e35250000000000000000000000000000000000000000000000602082015250565b6000613153602983612970565b915061315e826130f7565b604082019050919050565b6000602082019050818103600083015261318281613146565b9050919050565b7f4f574e45522063616e7420626520756e617574686f72697a6564000000000000600082015250565b60006131bf601a83612970565b91506131ca82613189565b602082019050919050565b600060208201905081810360008301526131ee816131b2565b9050919050565b7f74726164696e67206e6f74206f70656e20796574000000000000000000000000600082015250565b600061322b601483612970565b9150613236826131f5565b602082019050919050565b6000602082019050818103600083015261325a8161321e565b9050919050565b600061326c82612a17565b915061327783612a17565b925082820190508082111561328f5761328e612de7565b5b92915050565b7f6d61782077616c6c6574206c696d697420726561636865640000000000000000600082015250565b60006132cb601883612970565b91506132d682613295565b602082019050919050565b600060208201905081810360008301526132fa816132be565b9050919050565b7f4d6178205458204c696d69742045786365656465640000000000000000000000600082015250565b6000613337601583612970565b915061334282613301565b602082019050919050565b600060208201905081810360008301526133668161332a565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006133a3601b83612970565b91506133ae8261336d565b602082019050919050565b600060208201905081810360008301526133d281613396565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613435602183612970565b9150613440826133d9565b604082019050919050565b6000602082019050818103600083015261346481613428565b905091905056fea2646970667358221220b5926d22c98fffa14fc6ac3816e68fac5a980945fbfb62ae55285cd88906291464736f6c63430008100033