0x608060405260043610610108575f3560e01c80638da5cb5b11610092578063bf474bed11610062578063bf474bed146102a8578063c876d0b9146102bd578063c9567bf9146102dc578063d7091b71146102e4578063dd62ed3e146102f9575f80fd5b80638da5cb5b1461024e5780638f9a55c01461027457806395d89b4114610113578063a9059cbb14610289575f80fd5b8063313ce567116100d8578063313ce567146101c05780633fa38de3146101db57806370a08231146101f0578063715018a614610224578063751039fc1461023a575f80fd5b806306fdde0314610113578063095ea7b31461015057806318160ddd1461017f57806323b872dd146101a1575f80fd5b3661010f57005b5f80fd5b34801561011e575f80fd5b5060408051808201825260068152650b0988a82a6960d31b602082015290516101479190611453565b60405180910390f35b34801561015b575f80fd5b5061016f61016a3660046114b5565b61033d565b6040519015158152602001610147565b34801561018a575f80fd5b50610193610353565b604051908152602001610147565b3480156101ac575f80fd5b5061016f6101bb3660046114df565b610373565b3480156101cb575f80fd5b5060405160098152602001610147565b3480156101e6575f80fd5b50610193600e5481565b3480156101fb575f80fd5b5061019361020a36600461151d565b6001600160a01b03165f9081526016602052604090205490565b34801561022f575f80fd5b506102386103da565b005b348015610245575f80fd5b50610238610454565b348015610259575f80fd5b505f546040516001600160a01b039091168152602001610147565b34801561027f575f80fd5b50610193600f5481565b348015610294575f80fd5b5061016f6102a33660046114b5565b610511565b3480156102b3575f80fd5b5061019360105481565b3480156102c8575f80fd5b5060125461016f9062010000900460ff1681565b61023861051d565b3480156102ef575f80fd5b5061019360115481565b348015610304575f80fd5b50610193610313366004611538565b6001600160a01b039182165f90815260136020908152604080832093909416825291909152205490565b5f6103493384846108e4565b5060015b92915050565b5f6103606009600a611663565b61036e90633b9aca00611671565b905090565b5f61037f848484610a07565b6103d084336103cb85604051806060016040528060288152602001611803602891396001600160a01b038a165f908152601360209081526040808320338452909152902054919061101b565b6108e4565b5060019392505050565b5f546001600160a01b0316331461040c5760405162461bcd60e51b815260040161040390611688565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461047d5760405162461bcd60e51b815260040161040390611688565b6104896009600a611663565b61049790633b9aca00611671565b600e556104a66009600a611663565b6104b490633b9aca00611671565b600f556012805462ff0000191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6104f06009600a611663565b6104fe90633b9aca00611671565b60405190815260200160405180910390a1565b5f610349338484610a07565b5f546001600160a01b031633146105465760405162461bcd60e51b815260040161040390611688565b601254610100900460ff161561059e5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610403565b60128054640100000000600160c01b031916777a250d5630b4cf539739df2c5dacb4c659f2488d0000000017908190556105ff9030906001600160a01b03600160201b909104166105f16009600a611663565b6103cb90633b9aca00611671565b601260049054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610650573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067491906116bd565b6001600160a01b031663c9c6539630601260049054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f891906116bd565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610742573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061076691906116bd565b600180546001600160a01b039283166001600160a01b0319909116179055601254600160201b90041663f305d71934306107b4816001600160a01b03165f9081526016602052604090205490565b5f806107c75f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561082d573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061085291906116d8565b505060015460125460405163095ea7b360e01b81526001600160a01b03600160201b909204821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156108ae573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108d29190611703565b506012805461ffff1916610101179055565b6001600160a01b0383166109465760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610403565b6001600160a01b0382166109a75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610403565b6001600160a01b038381165f8181526013602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a6b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610403565b6001600160a01b038216610acd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610403565b5f8111610b2e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610403565b5f81610b415f546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610b6f57505f546001600160a01b03858116911614155b15610edd57610b916064610b8b610b84611053565b8690611090565b90611115565b6017549092506001600160a01b0390811690861603610bad57505f5b60125462010000900460ff1615610c9d576012546001600160a01b03858116600160201b9092041614801590610bf157506001546001600160a01b03858116911614155b15610c9d57325f908152601560205260409020544311610c8b5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610403565b325f9081526015602052604090204390555b6001546001600160a01b038681169116148015610ccf57506012546001600160a01b03858116600160201b9092041614155b8015610cf357506001600160a01b0384165f9081526014602052604090205460ff16155b15610dd957600e54831115610d4a5760405162461bcd60e51b815260206004820152601f60248201527f4578636565647320746865205f6d5472616e73616374696f6e4c696d69742e006044820152606401610403565b600f5483610d6c866001600160a01b03165f9081526016602052604090205490565b610d769190611722565b1115610dc45760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610403565b600d8054905f610dd383611735565b91905055505b6001546001600160a01b038581169116148015610e0e57506001600160a01b0385165f9081526014602052604090205460ff16155b15610e2657610e236064610b8b610b84611156565b91505b305f908152601660205260409020546012546301000000900460ff16158015610e5c57506001546001600160a01b038681169116145b8015610e6a575060125460ff165b8015610e77575060105481115b8015610e865750600b54600d54115b15610edb575f479050610eac610ea786610ea2856011546111a2565b6111a2565b6111b6565b5f610ec76064610b8b6050610ec1478761134d565b90611090565b90508015610ed857610ed88161138e565b50505b505b8115610f5557305f90815260166020526040902054610efc90836113c9565b305f81815260166020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f4c9086815260200190565b60405180910390a35b6001600160a01b0385165f90815260166020526040902054610f77908261134d565b6001600160a01b0386165f90815260166020526040902055610fba610f9c848461134d565b6001600160a01b0386165f90815260166020526040902054906113c9565b6001600160a01b038086165f8181526016602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611003868661134d565b60405190815260200160405180910390a35050505050565b5f818484111561103e5760405162461bcd60e51b81526004016104039190611453565b505f61104a848661174d565b95945050505050565b5f600554600d5411611066575060035490565b600554600d5411801561107d5750600954600d5411155b156110895750600a5490565b5060065490565b5f825f0361109f57505f61034d565b5f6110aa8385611671565b9050826110b78583611760565b1461110e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610403565b9392505050565b5f61110e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611427565b5f600554600d5411611169575060045490565b601754600854611182916001600160a01b03163161134d565b600d541180156111965750600954600d5411155b156110895750600c5490565b5f8183116111b0578261110e565b50919050565b6012805463ff000000191663010000001790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106111fc576111fc61177f565b60200260200101906001600160a01b031690816001600160a01b031681525050601260049054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561126d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061129191906116bd565b816001815181106112a4576112a461177f565b6001600160a01b0392831660209182029290920101526012546112d1913091600160201b900416846108e4565b60125460405163791ac94760e01b8152600160201b9091046001600160a01b03169063791ac9479061130f9085905f90869030904290600401611793565b5f604051808303815f87803b158015611326575f80fd5b505af1158015611338573d5f803e3d5ffd5b50506012805463ff0000001916905550505050565b5f61110e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061101b565b6002546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156113c5573d5f803e3d5ffd5b5050565b5f806113d58385611722565b90508381101561110e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610403565b5f81836114475760405162461bcd60e51b81526004016104039190611453565b505f61104a8486611760565b5f6020808352835180828501525f5b8181101561147e57858101830151858201604001528201611462565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146114b2575f80fd5b50565b5f80604083850312156114c6575f80fd5b82356114d18161149e565b946020939093013593505050565b5f805f606084860312156114f1575f80fd5b83356114fc8161149e565b9250602084013561150c8161149e565b929592945050506040919091013590565b5f6020828403121561152d575f80fd5b813561110e8161149e565b5f8060408385031215611549575f80fd5b82356115548161149e565b915060208301356115648161149e565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156115bd57815f19048211156115a3576115a361156f565b808516156115b057918102915b93841c9390800290611588565b509250929050565b5f826115d35750600161034d565b816115df57505f61034d565b81600181146115f557600281146115ff5761161b565b600191505061034d565b60ff8411156116105761161061156f565b50506001821b61034d565b5060208310610133831016604e8410600b841016171561163e575081810a61034d565b6116488383611583565b805f190482111561165b5761165b61156f565b029392505050565b5f61110e60ff8416836115c5565b808202811582820484141761034d5761034d61156f565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156116cd575f80fd5b815161110e8161149e565b5f805f606084860312156116ea575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611713575f80fd5b8151801515811461110e575f80fd5b8082018082111561034d5761034d61156f565b5f600182016117465761174661156f565b5060010190565b8181038181111561034d5761034d61156f565b5f8261177a57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117e15784516001600160a01b0316835293830193918301916001016117bc565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b74e94404e244809582c1c47b6e661feb748ea3ccbffcaa7ad30a99287cdb80964736f6c63430008150033
0x60806040526006600355600660045560066005555f6006555f60075560066008555f6009555f600a55600b80555f600c555f600d5560646009600a620000469190620003b4565b6200005690633b9aca00620003cb565b6200006390600a620003cb565b6200006f9190620003e5565b600e556064620000826009600a620003b4565b6200009290633b9aca00620003cb565b6200009f90600a620003cb565b620000ab9190620003e5565b600f556103e8620000bf6009600a620003b4565b620000cf90633b9aca00620003cb565b620000dc906001620003cb565b620000e89190620003e5565b6010556103e8620000fc6009600a620003b4565b6200010c90633b9aca00620003cb565b6200011990600a620003cb565b620001259190620003e5565b6011556012805463ffff00ff191662010000179055601780546001600160a01b031916731f4981a49142685c772e0d03fb76cce3f8d3e9b71790553480156200016c575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600280546001600160a01b03191633179055620001cd6009600a620003b4565b620001dd90633b9aca00620003cb565b335f818152601660209081526040808320949094556017546001600160a01b03908116835260149091528382208054600160ff1991821681179092556002548316845285842080548216831790558354909216835284832080548316821790553083529382208054909116909317909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200027e6009600a620003b4565b6200028e90633b9aca00620003cb565b60405190815260200160405180910390a362000405565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620002f957815f1904821115620002dd57620002dd620002a5565b80851615620002eb57918102915b93841c9390800290620002be565b509250929050565b5f826200031157506001620003ae565b816200031f57505f620003ae565b8160018114620003385760028114620003435762000363565b6001915050620003ae565b60ff841115620003575762000357620002a5565b50506001821b620003ae565b5060208310610133831016604e8410600b841016171562000388575081810a620003ae565b620003948383620002b9565b805f1904821115620003aa57620003aa620002a5565b0290505b92915050565b5f620003c460ff84168362000301565b9392505050565b8082028115828204841417620003ae57620003ae620002a5565b5f826200040057634e487b7160e01b5f52601260045260245ffd5b500490565b61186080620004135f395ff3fe608060405260043610610108575f3560e01c80638da5cb5b11610092578063bf474bed11610062578063bf474bed146102a8578063c876d0b9146102bd578063c9567bf9146102dc578063d7091b71146102e4578063dd62ed3e146102f9575f80fd5b80638da5cb5b1461024e5780638f9a55c01461027457806395d89b4114610113578063a9059cbb14610289575f80fd5b8063313ce567116100d8578063313ce567146101c05780633fa38de3146101db57806370a08231146101f0578063715018a614610224578063751039fc1461023a575f80fd5b806306fdde0314610113578063095ea7b31461015057806318160ddd1461017f57806323b872dd146101a1575f80fd5b3661010f57005b5f80fd5b34801561011e575f80fd5b5060408051808201825260068152650b0988a82a6960d31b602082015290516101479190611453565b60405180910390f35b34801561015b575f80fd5b5061016f61016a3660046114b5565b61033d565b6040519015158152602001610147565b34801561018a575f80fd5b50610193610353565b604051908152602001610147565b3480156101ac575f80fd5b5061016f6101bb3660046114df565b610373565b3480156101cb575f80fd5b5060405160098152602001610147565b3480156101e6575f80fd5b50610193600e5481565b3480156101fb575f80fd5b5061019361020a36600461151d565b6001600160a01b03165f9081526016602052604090205490565b34801561022f575f80fd5b506102386103da565b005b348015610245575f80fd5b50610238610454565b348015610259575f80fd5b505f546040516001600160a01b039091168152602001610147565b34801561027f575f80fd5b50610193600f5481565b348015610294575f80fd5b5061016f6102a33660046114b5565b610511565b3480156102b3575f80fd5b5061019360105481565b3480156102c8575f80fd5b5060125461016f9062010000900460ff1681565b61023861051d565b3480156102ef575f80fd5b5061019360115481565b348015610304575f80fd5b50610193610313366004611538565b6001600160a01b039182165f90815260136020908152604080832093909416825291909152205490565b5f6103493384846108e4565b5060015b92915050565b5f6103606009600a611663565b61036e90633b9aca00611671565b905090565b5f61037f848484610a07565b6103d084336103cb85604051806060016040528060288152602001611803602891396001600160a01b038a165f908152601360209081526040808320338452909152902054919061101b565b6108e4565b5060019392505050565b5f546001600160a01b0316331461040c5760405162461bcd60e51b815260040161040390611688565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461047d5760405162461bcd60e51b815260040161040390611688565b6104896009600a611663565b61049790633b9aca00611671565b600e556104a66009600a611663565b6104b490633b9aca00611671565b600f556012805462ff0000191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6104f06009600a611663565b6104fe90633b9aca00611671565b60405190815260200160405180910390a1565b5f610349338484610a07565b5f546001600160a01b031633146105465760405162461bcd60e51b815260040161040390611688565b601254610100900460ff161561059e5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610403565b60128054640100000000600160c01b031916777a250d5630b4cf539739df2c5dacb4c659f2488d0000000017908190556105ff9030906001600160a01b03600160201b909104166105f16009600a611663565b6103cb90633b9aca00611671565b601260049054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610650573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067491906116bd565b6001600160a01b031663c9c6539630601260049054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f891906116bd565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610742573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061076691906116bd565b600180546001600160a01b039283166001600160a01b0319909116179055601254600160201b90041663f305d71934306107b4816001600160a01b03165f9081526016602052604090205490565b5f806107c75f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561082d573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061085291906116d8565b505060015460125460405163095ea7b360e01b81526001600160a01b03600160201b909204821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156108ae573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108d29190611703565b506012805461ffff1916610101179055565b6001600160a01b0383166109465760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610403565b6001600160a01b0382166109a75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610403565b6001600160a01b038381165f8181526013602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a6b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610403565b6001600160a01b038216610acd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610403565b5f8111610b2e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610403565b5f81610b415f546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610b6f57505f546001600160a01b03858116911614155b15610edd57610b916064610b8b610b84611053565b8690611090565b90611115565b6017549092506001600160a01b0390811690861603610bad57505f5b60125462010000900460ff1615610c9d576012546001600160a01b03858116600160201b9092041614801590610bf157506001546001600160a01b03858116911614155b15610c9d57325f908152601560205260409020544311610c8b5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610403565b325f9081526015602052604090204390555b6001546001600160a01b038681169116148015610ccf57506012546001600160a01b03858116600160201b9092041614155b8015610cf357506001600160a01b0384165f9081526014602052604090205460ff16155b15610dd957600e54831115610d4a5760405162461bcd60e51b815260206004820152601f60248201527f4578636565647320746865205f6d5472616e73616374696f6e4c696d69742e006044820152606401610403565b600f5483610d6c866001600160a01b03165f9081526016602052604090205490565b610d769190611722565b1115610dc45760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610403565b600d8054905f610dd383611735565b91905055505b6001546001600160a01b038581169116148015610e0e57506001600160a01b0385165f9081526014602052604090205460ff16155b15610e2657610e236064610b8b610b84611156565b91505b305f908152601660205260409020546012546301000000900460ff16158015610e5c57506001546001600160a01b038681169116145b8015610e6a575060125460ff165b8015610e77575060105481115b8015610e865750600b54600d54115b15610edb575f479050610eac610ea786610ea2856011546111a2565b6111a2565b6111b6565b5f610ec76064610b8b6050610ec1478761134d565b90611090565b90508015610ed857610ed88161138e565b50505b505b8115610f5557305f90815260166020526040902054610efc90836113c9565b305f81815260166020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f4c9086815260200190565b60405180910390a35b6001600160a01b0385165f90815260166020526040902054610f77908261134d565b6001600160a01b0386165f90815260166020526040902055610fba610f9c848461134d565b6001600160a01b0386165f90815260166020526040902054906113c9565b6001600160a01b038086165f8181526016602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611003868661134d565b60405190815260200160405180910390a35050505050565b5f818484111561103e5760405162461bcd60e51b81526004016104039190611453565b505f61104a848661174d565b95945050505050565b5f600554600d5411611066575060035490565b600554600d5411801561107d5750600954600d5411155b156110895750600a5490565b5060065490565b5f825f0361109f57505f61034d565b5f6110aa8385611671565b9050826110b78583611760565b1461110e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610403565b9392505050565b5f61110e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611427565b5f600554600d5411611169575060045490565b601754600854611182916001600160a01b03163161134d565b600d541180156111965750600954600d5411155b156110895750600c5490565b5f8183116111b0578261110e565b50919050565b6012805463ff000000191663010000001790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106111fc576111fc61177f565b60200260200101906001600160a01b031690816001600160a01b031681525050601260049054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561126d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061129191906116bd565b816001815181106112a4576112a461177f565b6001600160a01b0392831660209182029290920101526012546112d1913091600160201b900416846108e4565b60125460405163791ac94760e01b8152600160201b9091046001600160a01b03169063791ac9479061130f9085905f90869030904290600401611793565b5f604051808303815f87803b158015611326575f80fd5b505af1158015611338573d5f803e3d5ffd5b50506012805463ff0000001916905550505050565b5f61110e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061101b565b6002546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156113c5573d5f803e3d5ffd5b5050565b5f806113d58385611722565b90508381101561110e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610403565b5f81836114475760405162461bcd60e51b81526004016104039190611453565b505f61104a8486611760565b5f6020808352835180828501525f5b8181101561147e57858101830151858201604001528201611462565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146114b2575f80fd5b50565b5f80604083850312156114c6575f80fd5b82356114d18161149e565b946020939093013593505050565b5f805f606084860312156114f1575f80fd5b83356114fc8161149e565b9250602084013561150c8161149e565b929592945050506040919091013590565b5f6020828403121561152d575f80fd5b813561110e8161149e565b5f8060408385031215611549575f80fd5b82356115548161149e565b915060208301356115648161149e565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156115bd57815f19048211156115a3576115a361156f565b808516156115b057918102915b93841c9390800290611588565b509250929050565b5f826115d35750600161034d565b816115df57505f61034d565b81600181146115f557600281146115ff5761161b565b600191505061034d565b60ff8411156116105761161061156f565b50506001821b61034d565b5060208310610133831016604e8410600b841016171561163e575081810a61034d565b6116488383611583565b805f190482111561165b5761165b61156f565b029392505050565b5f61110e60ff8416836115c5565b808202811582820484141761034d5761034d61156f565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156116cd575f80fd5b815161110e8161149e565b5f805f606084860312156116ea575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611713575f80fd5b8151801515811461110e575f80fd5b8082018082111561034d5761034d61156f565b5f600182016117465761174661156f565b5060010190565b8181038181111561034d5761034d61156f565b5f8261177a57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117e15784516001600160a01b0316835293830193918301916001016117bc565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b74e94404e244809582c1c47b6e661feb748ea3ccbffcaa7ad30a99287cdb80964736f6c63430008150033