0x60806040526004361061012e5760003560e01c806362256589116100ab57806395d89b411161006f57806395d89b4114610343578063a9059cbb14610358578063bf474bed14610378578063c9567bf91461038e578063d34628cc146103a3578063dd62ed3e146103c357600080fd5b806362256589146102a557806370a08231146102ba578063715018a6146102f05780638da5cb5b146103055780638f9a55c01461032d57600080fd5b806323b872dd116100f257806323b872dd146101f0578063313ce5671461021057806331c2d8471461022c5780633bbac5791461024c578063571ac8b01461028557600080fd5b806306b501971461013a57806306fdde031461015c578063095ea7b3146101875780630faee56f146101b757806318160ddd146101db57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5061015a610155366004611611565b610409565b005b34801561016857600080fd5b50610171610447565b60405161017e919061162a565b60405180910390f35b34801561019357600080fd5b506101a76101a23660046116a0565b6104d9565b604051901515815260200161017e565b3480156101c357600080fd5b506101cd60125481565b60405190815260200161017e565b3480156101e757600080fd5b506101cd6104f0565b3480156101fc57600080fd5b506101a761020b3660046116cc565b610511565b34801561021c57600080fd5b506040516009815260200161017e565b34801561023857600080fd5b5061015a610247366004611723565b61057a565b34801561025857600080fd5b506101a76102673660046117e8565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561029157600080fd5b506101a76102a03660046117e8565b610615565b3480156102b157600080fd5b5061015a610643565b3480156102c657600080fd5b506101cd6102d53660046117e8565b6001600160a01b031660009081526001602052604090205490565b3480156102fc57600080fd5b5061015a61068c565b34801561031157600080fd5b506000546040516001600160a01b03909116815260200161017e565b34801561033957600080fd5b506101cd60105481565b34801561034f57600080fd5b50610171610700565b34801561036457600080fd5b506101a76103733660046116a0565b61070f565b34801561038457600080fd5b506101cd60115481565b34801561039a57600080fd5b5061015a61071c565b3480156103af57600080fd5b5061015a6103be366004611723565b610b14565b3480156103cf57600080fd5b506101cd6103de366004611805565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610443573d6000803e3d6000fd5b5050565b6060600e80546104569061183e565b80601f01602080910402602001604051908101604052809291908181526020018280546104829061183e565b80156104cf5780601f106104a4576101008083540402835291602001916104cf565b820191906000526020600020905b8154815290600101906020018083116104b257829003601f168201915b5050505050905090565b60006104e6338484610ba6565b5060015b92915050565b60006104fe6009600a61196c565b61050c90632920908061197b565b905090565b600061051e848484610cca565b610570843361056b85604051806060016040528060288152602001611b1d602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906112c7565b610ba6565b5060019392505050565b6000546001600160a01b031633146105ad5760405162461bcd60e51b81526004016105a490611992565b60405180910390fd5b60005b8151811015610443576000600460008484815181106105d1576105d16119c7565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061060d816119dd565b9150506105b0565b30600090815260026020908152604080832033808552925282205461063b918491610ba6565b506001919050565b6000546001600160a01b0316331461066d5760405162461bcd60e51b81526004016105a490611992565b6106796009600a61196c565b61068790632920908061197b565b601055565b6000546001600160a01b031633146106b65760405162461bcd60e51b81526004016105a490611992565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6060600f80546104569061183e565b60006104e6338484610cca565b6000546001600160a01b031633146107465760405162461bcd60e51b81526004016105a490611992565b601454600160a01b900460ff16156107a05760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105a4565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556107d33033600019610ba6565b61080c3061037360646108066062610800336001600160a01b031660009081526001602052604090205490565b90611301565b9061138a565b50601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610860573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088491906119f6565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090a91906119f6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097b91906119f6565b601480546001600160a01b0319166001600160a01b039283161790556013546109a991309116600019610ba6565b6013546001600160a01b031663f305d71947306109db816001600160a01b031660009081526001602052604090205490565b6000806109f06000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a58573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a7d9190611a13565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610ad6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afa9190611a41565b506014805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b03163314610b3e5760405162461bcd60e51b81526004016105a490611992565b60005b815181101561044357600160046000848481518110610b6257610b626119c7565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610b9e816119dd565b915050610b41565b6001600160a01b038316610c085760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105a4565b6001600160a01b038216610c695760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105a4565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d2e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105a4565b6001600160a01b038216610d905760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105a4565b60008111610df25760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105a4565b600080546001600160a01b03858116911614801590610e1f57506000546001600160a01b03848116911614155b15611184576001600160a01b03841660009081526004602052604090205460ff16158015610e6657506001600160a01b03831660009081526004602052604090205460ff16155b610e6f57600080fd5b610e956064610806600a54600d5411610e8a57600654610e8e565b6008545b8590611301565b6014549091506001600160a01b038581169116148015610ec357506013546001600160a01b03848116911614155b8015610ee857506001600160a01b03831660009081526003602052604090205460ff16155b15610f7e5760105482610f10856001600160a01b031660009081526001602052604090205490565b610f1a9190611a63565b1115610f685760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105a4565b600d8054906000610f78836119dd565b91905055505b6014546001600160a01b03848116911614801590610fb557506001600160a01b03831660009081526003602052604090205460ff16155b156110355760105482610fdd856001600160a01b031660009081526001602052604090205490565b610fe79190611a63565b11156110355760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105a4565b6014546001600160a01b03848116911614801561105b57506001600160a01b0384163014155b15611088576110856064610806600b54600d541161107b57600754610e8e565b6009548590611301565b90505b6014546001600160a01b0384811691161480156110ad57506001600160a01b03841630145b156110e5576110e26064610806605d610806603f610800600a54600d54116110d7576006546110db565b6008545b8990611301565b90505b30600090815260016020526040902054601454600160a81b900460ff1615801561111c57506014546001600160a01b038581169116145b80156111315750601454600160b01b900460ff165b801561113e575060115481115b801561114e5750600c54600d5410155b156111825761117061116b84611166846012546113cc565b6113cc565b6113e1565b4780156111805761118047610409565b505b505b80156111fe57306000908152600160205260409020546111a49082611542565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111f59085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461122190836115a1565b6001600160a01b03851660009081526001602052604090205561126661124783836115a1565b6001600160a01b03851660009081526001602052604090205490611542565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112b085856115a1565b60405190815260200160405180910390a350505050565b600081848411156112eb5760405162461bcd60e51b81526004016105a4919061162a565b5060006112f88486611a76565b95945050505050565b600082600003611313575060006104ea565b600061131f838561197b565b90508261132c8583611a89565b146113835760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105a4565b9392505050565b600061138383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115e3565b60008183116113db5782611383565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611429576114296119c7565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611482573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a691906119f6565b816001815181106114b9576114b96119c7565b6001600160a01b03928316602091820292909201015260135460405163791ac94760e01b815291169063791ac947906114ff908590600090869030904290600401611aab565b600060405180830381600087803b15801561151957600080fd5b505af115801561152d573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b60008061154f8385611a63565b9050838110156113835760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105a4565b600061138383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112c7565b600081836116045760405162461bcd60e51b81526004016105a4919061162a565b5060006112f88486611a89565b60006020828403121561162357600080fd5b5035919050565b600060208083528351808285015260005b818110156116575785810183015185820160400152820161163b565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461168d57600080fd5b50565b803561169b81611678565b919050565b600080604083850312156116b357600080fd5b82356116be81611678565b946020939093013593505050565b6000806000606084860312156116e157600080fd5b83356116ec81611678565b925060208401356116fc81611678565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561173657600080fd5b823567ffffffffffffffff8082111561174e57600080fd5b818501915085601f83011261176257600080fd5b8135818111156117745761177461170d565b8060051b604051601f19603f830116810181811085821117156117995761179961170d565b6040529182528482019250838101850191888311156117b757600080fd5b938501935b828510156117dc576117cd85611690565b845293850193928501926117bc565b98975050505050505050565b6000602082840312156117fa57600080fd5b813561138381611678565b6000806040838503121561181857600080fd5b823561182381611678565b9150602083013561183381611678565b809150509250929050565b600181811c9082168061185257607f821691505b6020821081036113db57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600181815b808511156118c35781600019048211156118a9576118a9611872565b808516156118b657918102915b93841c939080029061188d565b509250929050565b6000826118da575060016104ea565b816118e7575060006104ea565b81600181146118fd576002811461190757611923565b60019150506104ea565b60ff84111561191857611918611872565b50506001821b6104ea565b5060208310610133831016604e8410600b8410161715611946575081810a6104ea565b6119508383611888565b806000190482111561196457611964611872565b029392505050565b600061138360ff8416836118cb565b80820281158282048414176104ea576104ea611872565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016119ef576119ef611872565b5060010190565b600060208284031215611a0857600080fd5b815161138381611678565b600080600060608486031215611a2857600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611a5357600080fd5b8151801515811461138357600080fd5b808201808211156104ea576104ea611872565b818103818111156104ea576104ea611872565b600082611aa657634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611afb5784516001600160a01b031683529383019391830191600101611ad6565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207635ad8705ae07e44817d8fe7382a7dfadf94f105315c5e6a68351f6cfa7ece764736f6c63430008130033
0x608060405260176006556018600755600060085560006009556019600a55601f600b556000600c556000600d55620000676127106200006060c86009600a62000049919062000483565b6200005990632920908062000494565b9062000253565b90620002ea565b60105562000085612710620000606064620000496009600a62000483565b601155620000a3612710620000606096620000496009600a62000483565b6012556014805462ffffff60a01b191690556040516200232238819003908190833981016040819052620000d7916200057b565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600e62000126838262000674565b50600f62000135828262000674565b50600580546001600160a01b03191633179055620001566009600a62000483565b6200016690632920908062000494565b336000908152600160208190526040822092909255600390620001916000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001f03390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200022a6009600a62000483565b6200023a90632920908062000494565b60405190815260200160405180910390a3505062000798565b6000826000036200026757506000620002e4565b600062000275838562000494565b90508262000284858362000740565b14620002e15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b6000620002e183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200033460201b60201c565b60008183620003585760405162461bcd60e51b8152600401620002d8919062000763565b50600062000367848662000740565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003c7578160001904821115620003ab57620003ab62000370565b80851615620003b957918102915b93841c93908002906200038b565b509250929050565b600082620003e057506001620002e4565b81620003ef57506000620002e4565b8160018114620004085760028114620004135762000433565b6001915050620002e4565b60ff84111562000427576200042762000370565b50506001821b620002e4565b5060208310610133831016604e8410600b841016171562000458575081810a620002e4565b62000464838362000386565b80600019048211156200047b576200047b62000370565b029392505050565b6000620002e160ff841683620003cf565b8082028115828204841417620002e457620002e462000370565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620004e1578181015183820152602001620004c7565b50506000910152565b600082601f830112620004fc57600080fd5b81516001600160401b0380821115620005195762000519620004ae565b604051601f8301601f19908116603f01168101908282118183101715620005445762000544620004ae565b816040528381528660208588010111156200055e57600080fd5b62000571846020830160208901620004c4565b9695505050505050565b600080604083850312156200058f57600080fd5b82516001600160401b0380821115620005a757600080fd5b620005b586838701620004ea565b93506020850151915080821115620005cc57600080fd5b50620005db85828601620004ea565b9150509250929050565b600181811c90821680620005fa57607f821691505b6020821081036200061b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200066f57600081815260208120601f850160051c810160208610156200064a5750805b601f850160051c820191505b818110156200066b5782815560010162000656565b5050505b505050565b81516001600160401b03811115620006905762000690620004ae565b620006a881620006a18454620005e5565b8462000621565b602080601f831160018114620006e05760008415620006c75750858301515b600019600386901b1c1916600185901b1785556200066b565b600085815260208120601f198616915b828110156200071157888601518255948401946001909101908401620006f0565b5085821015620007305787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000826200075e57634e487b7160e01b600052601260045260246000fd5b500490565b602081526000825180602084015262000784816040850160208701620004c4565b601f01601f19169190910160400192915050565b611b7a80620007a86000396000f3fe60806040526004361061012e5760003560e01c806362256589116100ab57806395d89b411161006f57806395d89b4114610343578063a9059cbb14610358578063bf474bed14610378578063c9567bf91461038e578063d34628cc146103a3578063dd62ed3e146103c357600080fd5b806362256589146102a557806370a08231146102ba578063715018a6146102f05780638da5cb5b146103055780638f9a55c01461032d57600080fd5b806323b872dd116100f257806323b872dd146101f0578063313ce5671461021057806331c2d8471461022c5780633bbac5791461024c578063571ac8b01461028557600080fd5b806306b501971461013a57806306fdde031461015c578063095ea7b3146101875780630faee56f146101b757806318160ddd146101db57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5061015a610155366004611611565b610409565b005b34801561016857600080fd5b50610171610447565b60405161017e919061162a565b60405180910390f35b34801561019357600080fd5b506101a76101a23660046116a0565b6104d9565b604051901515815260200161017e565b3480156101c357600080fd5b506101cd60125481565b60405190815260200161017e565b3480156101e757600080fd5b506101cd6104f0565b3480156101fc57600080fd5b506101a761020b3660046116cc565b610511565b34801561021c57600080fd5b506040516009815260200161017e565b34801561023857600080fd5b5061015a610247366004611723565b61057a565b34801561025857600080fd5b506101a76102673660046117e8565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561029157600080fd5b506101a76102a03660046117e8565b610615565b3480156102b157600080fd5b5061015a610643565b3480156102c657600080fd5b506101cd6102d53660046117e8565b6001600160a01b031660009081526001602052604090205490565b3480156102fc57600080fd5b5061015a61068c565b34801561031157600080fd5b506000546040516001600160a01b03909116815260200161017e565b34801561033957600080fd5b506101cd60105481565b34801561034f57600080fd5b50610171610700565b34801561036457600080fd5b506101a76103733660046116a0565b61070f565b34801561038457600080fd5b506101cd60115481565b34801561039a57600080fd5b5061015a61071c565b3480156103af57600080fd5b5061015a6103be366004611723565b610b14565b3480156103cf57600080fd5b506101cd6103de366004611805565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610443573d6000803e3d6000fd5b5050565b6060600e80546104569061183e565b80601f01602080910402602001604051908101604052809291908181526020018280546104829061183e565b80156104cf5780601f106104a4576101008083540402835291602001916104cf565b820191906000526020600020905b8154815290600101906020018083116104b257829003601f168201915b5050505050905090565b60006104e6338484610ba6565b5060015b92915050565b60006104fe6009600a61196c565b61050c90632920908061197b565b905090565b600061051e848484610cca565b610570843361056b85604051806060016040528060288152602001611b1d602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906112c7565b610ba6565b5060019392505050565b6000546001600160a01b031633146105ad5760405162461bcd60e51b81526004016105a490611992565b60405180910390fd5b60005b8151811015610443576000600460008484815181106105d1576105d16119c7565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061060d816119dd565b9150506105b0565b30600090815260026020908152604080832033808552925282205461063b918491610ba6565b506001919050565b6000546001600160a01b0316331461066d5760405162461bcd60e51b81526004016105a490611992565b6106796009600a61196c565b61068790632920908061197b565b601055565b6000546001600160a01b031633146106b65760405162461bcd60e51b81526004016105a490611992565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6060600f80546104569061183e565b60006104e6338484610cca565b6000546001600160a01b031633146107465760405162461bcd60e51b81526004016105a490611992565b601454600160a01b900460ff16156107a05760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105a4565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790556107d33033600019610ba6565b61080c3061037360646108066062610800336001600160a01b031660009081526001602052604090205490565b90611301565b9061138a565b50601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610860573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088491906119f6565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090a91906119f6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097b91906119f6565b601480546001600160a01b0319166001600160a01b039283161790556013546109a991309116600019610ba6565b6013546001600160a01b031663f305d71947306109db816001600160a01b031660009081526001602052604090205490565b6000806109f06000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a58573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a7d9190611a13565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610ad6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afa9190611a41565b506014805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b03163314610b3e5760405162461bcd60e51b81526004016105a490611992565b60005b815181101561044357600160046000848481518110610b6257610b626119c7565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610b9e816119dd565b915050610b41565b6001600160a01b038316610c085760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105a4565b6001600160a01b038216610c695760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105a4565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d2e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105a4565b6001600160a01b038216610d905760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105a4565b60008111610df25760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105a4565b600080546001600160a01b03858116911614801590610e1f57506000546001600160a01b03848116911614155b15611184576001600160a01b03841660009081526004602052604090205460ff16158015610e6657506001600160a01b03831660009081526004602052604090205460ff16155b610e6f57600080fd5b610e956064610806600a54600d5411610e8a57600654610e8e565b6008545b8590611301565b6014549091506001600160a01b038581169116148015610ec357506013546001600160a01b03848116911614155b8015610ee857506001600160a01b03831660009081526003602052604090205460ff16155b15610f7e5760105482610f10856001600160a01b031660009081526001602052604090205490565b610f1a9190611a63565b1115610f685760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105a4565b600d8054906000610f78836119dd565b91905055505b6014546001600160a01b03848116911614801590610fb557506001600160a01b03831660009081526003602052604090205460ff16155b156110355760105482610fdd856001600160a01b031660009081526001602052604090205490565b610fe79190611a63565b11156110355760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105a4565b6014546001600160a01b03848116911614801561105b57506001600160a01b0384163014155b15611088576110856064610806600b54600d541161107b57600754610e8e565b6009548590611301565b90505b6014546001600160a01b0384811691161480156110ad57506001600160a01b03841630145b156110e5576110e26064610806605d610806603f610800600a54600d54116110d7576006546110db565b6008545b8990611301565b90505b30600090815260016020526040902054601454600160a81b900460ff1615801561111c57506014546001600160a01b038581169116145b80156111315750601454600160b01b900460ff165b801561113e575060115481115b801561114e5750600c54600d5410155b156111825761117061116b84611166846012546113cc565b6113cc565b6113e1565b4780156111805761118047610409565b505b505b80156111fe57306000908152600160205260409020546111a49082611542565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111f59085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461122190836115a1565b6001600160a01b03851660009081526001602052604090205561126661124783836115a1565b6001600160a01b03851660009081526001602052604090205490611542565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112b085856115a1565b60405190815260200160405180910390a350505050565b600081848411156112eb5760405162461bcd60e51b81526004016105a4919061162a565b5060006112f88486611a76565b95945050505050565b600082600003611313575060006104ea565b600061131f838561197b565b90508261132c8583611a89565b146113835760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105a4565b9392505050565b600061138383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115e3565b60008183116113db5782611383565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611429576114296119c7565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611482573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a691906119f6565b816001815181106114b9576114b96119c7565b6001600160a01b03928316602091820292909201015260135460405163791ac94760e01b815291169063791ac947906114ff908590600090869030904290600401611aab565b600060405180830381600087803b15801561151957600080fd5b505af115801561152d573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b60008061154f8385611a63565b9050838110156113835760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105a4565b600061138383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112c7565b600081836116045760405162461bcd60e51b81526004016105a4919061162a565b5060006112f88486611a89565b60006020828403121561162357600080fd5b5035919050565b600060208083528351808285015260005b818110156116575785810183015185820160400152820161163b565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461168d57600080fd5b50565b803561169b81611678565b919050565b600080604083850312156116b357600080fd5b82356116be81611678565b946020939093013593505050565b6000806000606084860312156116e157600080fd5b83356116ec81611678565b925060208401356116fc81611678565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561173657600080fd5b823567ffffffffffffffff8082111561174e57600080fd5b818501915085601f83011261176257600080fd5b8135818111156117745761177461170d565b8060051b604051601f19603f830116810181811085821117156117995761179961170d565b6040529182528482019250838101850191888311156117b757600080fd5b938501935b828510156117dc576117cd85611690565b845293850193928501926117bc565b98975050505050505050565b6000602082840312156117fa57600080fd5b813561138381611678565b6000806040838503121561181857600080fd5b823561182381611678565b9150602083013561183381611678565b809150509250929050565b600181811c9082168061185257607f821691505b6020821081036113db57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600181815b808511156118c35781600019048211156118a9576118a9611872565b808516156118b657918102915b93841c939080029061188d565b509250929050565b6000826118da575060016104ea565b816118e7575060006104ea565b81600181146118fd576002811461190757611923565b60019150506104ea565b60ff84111561191857611918611872565b50506001821b6104ea565b5060208310610133831016604e8410600b8410161715611946575081810a6104ea565b6119508383611888565b806000190482111561196457611964611872565b029392505050565b600061138360ff8416836118cb565b80820281158282048414176104ea576104ea611872565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016119ef576119ef611872565b5060010190565b600060208284031215611a0857600080fd5b815161138381611678565b600080600060608486031215611a2857600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611a5357600080fd5b8151801515811461138357600080fd5b808201808211156104ea576104ea611872565b818103818111156104ea576104ea611872565b600082611aa657634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611afb5784516001600160a01b031683529383019391830191600101611ad6565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207635ad8705ae07e44817d8fe7382a7dfadf94f105315c5e6a68351f6cfa7ece764736f6c63430008130033000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000007536166657275670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000075341464552554700000000000000000000000000000000000000000000000000