6080604052600060015530600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507341726684f619b2ef4dd5afbadb79e2c33c69d3e9600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260ff16600a0a621e8480026000819055506611c37937e080006002819055506032600381905550620000ff600a620000eb60066000546200020660201b62000b391790919060201c565b6200029160201b62000aaa1790919060201c565b60066000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200019b600a6200018760046000546200020660201b62000b391790919060201c565b6200029160201b62000aaa1790919060201c565b60066000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000322565b6000808314156200021b57600090506200028b565b60008284029050828482816200022d57fe5b041462000286576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180620026b96021913960400191505060405180910390fd5b809150505b92915050565b600080821162000309576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b60008284816200031557fe5b0490508091505092915050565b61238780620003326000396000f3fe6080604052600436106101095760003560e01c806395d89b4111610095578063a9059cbb11610064578063a9059cbb146108f3578063b88a802f14610966578063c703f44c14610995578063dd62ed3e146109c0578063e0d6a6a314610a4557610109565b806395d89b41146107985780639d18e4b0146108285780639d1b464a1461088d578063a2b40d19146108b857610109565b8063313ce567116100dc578063313ce5671461066d5780633a4b66f11461069e5780635a63561c146106cd5780635ed9ebfc1461070857806370a082311461073357610109565b806306fdde03146104ac578063095ea7b31461053c57806318160ddd146105af57806323b872dd146105da575b66038d7ea4c68000341015610186576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f53656e6420302e30303120455448206d696e696d756d0000000000000000000081525060200191505060405180910390fd5b60006101b6601260ff16600a0a6101a860025434610aaa90919063ffffffff16565b610b3990919063ffffffff16565b905080600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541161024157600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b61025681600154610bbf90919063ffffffff16565b60018190555080600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156102ab5750600081115b156104405761030281600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bbf90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061039781600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c4790919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156104a8573d6000803e3d6000fd5b5050005b3480156104b857600080fd5b506104c1610cd0565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105015780820151818401526020810190506104e6565b50505050905090810190601f16801561052e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561054857600080fd5b506105956004803603604081101561055f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d09565b604051808215151515815260200191505060405180910390f35b3480156105bb57600080fd5b506105c4610dfb565b6040518082815260200191505060405180910390f35b3480156105e657600080fd5b50610653600480360360608110156105fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e04565b604051808215151515815260200191505060405180910390f35b34801561067957600080fd5b5061068261142b565b604051808260ff1660ff16815260200191505060405180910390f35b3480156106aa57600080fd5b506106b3611430565b604051808215151515815260200191505060405180910390f35b3480156106d957600080fd5b50610706600480360360208110156106f057600080fd5b8101908080359060200190929190505050611642565b005b34801561071457600080fd5b5061071d61170f565b6040518082815260200191505060405180910390f35b34801561073f57600080fd5b506107826004803603602081101561075657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611715565b6040518082815260200191505060405180910390f35b3480156107a457600080fd5b506107ad61175e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107ed5780820151818401526020810190506107d2565b50505050905090810190601f16801561081a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561083457600080fd5b506108776004803603602081101561084b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611797565b6040518082815260200191505060405180910390f35b34801561089957600080fd5b506108a26119a9565b6040518082815260200191505060405180910390f35b3480156108c457600080fd5b506108f1600480360360208110156108db57600080fd5b81019080803590602001909291905050506119af565b005b3480156108ff57600080fd5b5061094c6004803603604081101561091657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a7c565b604051808215151515815260200191505060405180910390f35b34801561097257600080fd5b5061097b611f09565b604051808215151515815260200191505060405180910390f35b3480156109a157600080fd5b506109aa61225b565b6040518082815260200191505060405180910390f35b3480156109cc57600080fd5b50610a2f600480360360408110156109e357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612261565b6040518082815260200191505060405180910390f35b348015610a5157600080fd5b50610a9460048036036020811015610a6857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122e8565b6040518082815260200191505060405180910390f35b6000808211610b21576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b6000828481610b2c57fe5b0490508091505092915050565b600080831415610b4c5760009050610bb9565b6000828402905082848281610b5d57fe5b0414610bb4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806123326021913960400191505060405180910390fd5b809150505b92915050565b600080828401905083811015610c3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600082821115610cbf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b6040518060400160405280600e81526020017f5375736869204661726d20322e3000000000000000000000000000000000000081525081565b600081600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008054905090565b600081600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610ed1575081600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b1561141f576064821015610f4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f616d6f756e74206f66204e534820697320746f6f20736d616c6c21000000000081525060200191505060405180910390fd5b6000610f63606484610aaa90919063ffffffff16565b90506000610f8e6064610f80600387610b3990919063ffffffff16565b610aaa90919063ffffffff16565b90506000610fb96064610fab606088610b3990919063ffffffff16565b610aaa90919063ffffffff16565b905061100d85600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c4790919063ffffffff16565b600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110df85600960008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c4790919063ffffffff16565b600960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111b181600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bbf90919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112688260066000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bbf90919063ffffffff16565b60066000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fcec1bae6e024d929f2929f3478ce70f55f9c636c8ef7b5073a61d7c3a432451b8342604051808381526020018281526020019250505060405180910390a161132183600054610c4790919063ffffffff16565b6000819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019350505050611424565b600090505b9392505050565b601281565b600080600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061163a576000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905061150e81600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bbf90919063ffffffff16565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167f1d69b4311561328cf56f4f72b8b25a4a7f0fbfafa3fc89f046542bb4adf7e12a8242604051808381526020018281526020019250505060405180910390a2600191505061163f565b600090505b90565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611705576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f546869732066756e6374696f6e20697320666f72207465616d206f6e6c79210081525060200191505060405180910390fd5b8060038190555050565b60015481565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6040518060400160405280600681526020017f535553484932000000000000000000000000000000000000000000000000000081525081565b600080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561199f5760006118c26301e133806118b461183f600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442610c4790919063ffffffff16565b6118a66064611898600354600760008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3990919063ffffffff16565b610aaa90919063ffffffff16565b610b3990919063ffffffff16565b610aaa90919063ffffffff16565b905060066000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811161193557809150506119a4565b60066000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150506119a4565b600090505b919050565b60025481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a72576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f546869732066756e6374696f6e20697320666f72207465616d206f6e6c79210081525060200191505060405180910390fd5b8060028190555050565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611efe576064821015611b3b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f616d6f756e74206f66204e534820697320746f6f20736d616c6c21000000000081525060200191505060405180910390fd5b611b8d82600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c4790919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611be6606484610aaa90919063ffffffff16565b90506000611c116064611c03600387610b3990919063ffffffff16565b610aaa90919063ffffffff16565b90506000611c3c6064611c2e606088610b3990919063ffffffff16565b610aaa90919063ffffffff16565b9050611c9081600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bbf90919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d478260066000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bbf90919063ffffffff16565b60066000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fcec1bae6e024d929f2929f3478ce70f55f9c636c8ef7b5073a61d7c3a432451b8342604051808381526020018281526020019250505060405180910390a1611e0083600054610c4790919063ffffffff16565b6000819055508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019350505050611f03565b600090505b92915050565b600080600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611fbf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f596f752068617665206e6f207374616b6564204e53482100000000000000000081525060200191505060405180910390fd5b6000611fca33611797565b90506120408160066000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c4790919063ffffffff16565b60066000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120f781600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bbf90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506121cb600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bbf90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600191505090565b60035481565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905091905056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a72315820e30306bba40e0388b53202191b67a4b72ef15e83002b8f8afd2ddb0b2f8166e764736f6c63430005110032536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77