60806040526002805460ff19169055655af3107a400060075560006008553480156200002a57600080fd5b5060008054600160a060020a031916339081179091556200005c90600190640100000000620019956200008182021704565b6200007b3369152d02c7e14af68000006401000000006200011e810204565b620002bd565b600160a060020a0381161515620000f957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f496e76616c696420616464726573732e00000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a03821615156200019657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f496e76616c696420616464726573732e00000000000000000000000000000000604482015290519081900360640190fd5b600354620001b39082640100000000620019386200024182021704565b600355600160a060020a038216600090815260046020526040902054620001e99082640100000000620019386200024182021704565b600160a060020a03831660008181526004602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600082820183811015620002b657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f536166654d61746820616464206661696c65642e000000000000000000000000604482015290519081900360640190fd5b9392505050565b611f6880620002cd6000396000f30060806040526004361061017e5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166265318b811461018857806306fdde03146101bb578063095ea7b31461024557806318160ddd1461027d57806323b872dd146102925780632d06177a146102bc578063313ce567146102dd57806338b76ec31461030857806339509351146103205780633f4ba83a1461034457806340c10f191461035957806351cff8d91461037d5780635c975abb1461039e57806370a08231146103b3578063715018a6146103d45780638456cb59146103e95780638da5cb5b146103fe5780638f32d59b1461042f57806395d89b41146104445780639dc29fac14610459578063a457c2d71461047d578063a9059cbb146104a1578063ac18de43146104c5578063c949f2c4146104e6578063d0e30db01461017e578063dd62ed3e146104fb578063e191a17b14610522578063e2d2e21914610543578063f2fde38b14610558578063f3ae241514610579575b61018661059a565b005b34801561019457600080fd5b506101a9600160a060020a036004351661062d565b60408051918252519081900360200190f35b3480156101c757600080fd5b506101d061068c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561020a5781810151838201526020016101f2565b50505050905090810190601f1680156102375780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561025157600080fd5b50610269600160a060020a03600435166024356106c3565b604080519115158252519081900360200190f35b34801561028957600080fd5b506101a96107c4565b34801561029e57600080fd5b50610269600160a060020a03600435811690602435166044356107ca565b3480156102c857600080fd5b50610186600160a060020a0360043516610916565b3480156102e957600080fd5b506102f26109aa565b6040805160ff9092168252519081900360200190f35b34801561031457600080fd5b506101866004356109af565b34801561032c57600080fd5b50610269600160a060020a0360043516602435610a01565b34801561035057600080fd5b50610186610b34565b34801561036557600080fd5b50610186600160a060020a0360043516602435610c12565b34801561038957600080fd5b50610186600160a060020a0360043516610cc1565b3480156103aa57600080fd5b50610269610e36565b3480156103bf57600080fd5b506101a9600160a060020a0360043516610e3f565b3480156103e057600080fd5b50610186610e5a565b3480156103f557600080fd5b50610186610eed565b34801561040a57600080fd5b50610413610fbb565b60408051600160a060020a039092168252519081900360200190f35b34801561043b57600080fd5b50610269610fca565b34801561045057600080fd5b506101d0610fdb565b34801561046557600080fd5b50610186600160a060020a0360043516602435611012565b34801561048957600080fd5b50610269600160a060020a03600435166024356110f1565b3480156104ad57600080fd5b50610269600160a060020a03600435166024356111bf565b3480156104d157600080fd5b50610186600160a060020a036004351661130f565b3480156104f257600080fd5b506101a96113a3565b34801561050757600080fd5b506101a9600160a060020a03600435811690602435166113a9565b34801561052e57600080fd5b50610186600160a060020a03600435166113d4565b34801561054f57600080fd5b506101a9611450565b34801561056457600080fd5b50610186600160a060020a0360043516611456565b34801561058557600080fd5b50610269600160a060020a036004351661154b565b60025460009060ff16156105e6576040805160e560020a62461bcd02815260206004820152601b6024820152600080516020611edd833981519152604482015290519081900360640190fd5b50346105f18161155e565b60085560408051828152905133917f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4919081900360200190a250565b600160a060020a038116600090815260096020526040812054600854600754610686929161067a9161066e9061066288610e3f565b9063ffffffff61159016565b9063ffffffff61160316565b9063ffffffff61168316565b92915050565b60408051808201909152600b81527f5479636865205368617265000000000000000000000000000000000000000000602082015281565b60025460009060ff161561070f576040805160e560020a62461bcd02815260206004820152601b6024820152600080516020611edd833981519152604482015290519081900360640190fd5b600160a060020a038316151561075d576040805160e560020a62461bcd0281526020600482015260106024820152600080516020611ebd833981519152604482015290519081900360640190fd5b336000818152600560209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60035490565b600254600090819060ff1615610818576040805160e560020a62461bcd02815260206004820152601b6024820152600080516020611edd833981519152604482015290519081900360640190fd5b600754831015610872576040805160e560020a62461bcd02815260206004820152600e60248201527f496e76616c69642076616c75652e000000000000000000000000000000000000604482015290519081900360640190fd5b61087b85610cc1565b6108868585856116e5565b506108908361191b565b600160a060020a0386166000908152600960205260409020549091506108bc908263ffffffff61168316565b600160a060020a0380871660009081526009602052604080822093909355908616815220546108f1908263ffffffff61193816565b600160a060020a03851660009081526009602052604090205560019150509392505050565b61091e610fca565b1515610962576040805160e560020a62461bcd0281526020600482015260126024820152600080516020611f1d833981519152604482015290519081900360640190fd5b61097360018263ffffffff61199516565b604051600160a060020a038216907f3b4a40cccf2058c593542587329dd385be4f0b588db5471fbd9598e56dd7093a90600090a250565b601281565b6109b83361154b565b15156109fc576040805160e560020a62461bcd02815260206004820152601d6024820152600080516020611e9d833981519152604482015290519081900360640190fd5b600755565b60025460009060ff1615610a4d576040805160e560020a62461bcd02815260206004820152601b6024820152600080516020611edd833981519152604482015290519081900360640190fd5b600160a060020a0383161515610a9b576040805160e560020a62461bcd0281526020600482015260106024820152600080516020611ebd833981519152604482015290519081900360640190fd5b336000908152600560209081526040808320600160a060020a0387168452909152902054610acf908363ffffffff61193816565b336000818152600560209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b610b3d3361154b565b1515610b81576040805160e560020a62461bcd02815260206004820152601d6024820152600080516020611e9d833981519152604482015290519081900360640190fd5b60025460ff161515610bdd576040805160e560020a62461bcd02815260206004820152601760248201527f54686520636f6e7472616374206973207061757365642e000000000000000000604482015290519081900360640190fd5b6002805460ff191690556040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a1565b6000610c1d3361154b565b1515610c61576040805160e560020a62461bcd02815260206004820152601d6024820152600080516020611e9d833981519152604482015290519081900360640190fd5b610c6b8383611a08565b610c748261191b565b600160a060020a038416600090815260096020526040902054909150610ca0908263ffffffff61193816565b600160a060020a039093166000908152600960205260409020929092555050565b60025460009060ff1615610d0d576040805160e560020a62461bcd02815260206004820152601b6024820152600080516020611edd833981519152604482015290519081900360640190fd5b610d168261062d565b90506000811115610e3257600160a060020a038216600090815260096020526040902054610d4a908263ffffffff61193816565b600160a060020a038084166000818152600960209081526040918290209490945560065481517ff088d5470000000000000000000000000000000000000000000000000000000081526004810193909352905192169263f088d547928592602480820193929182900301818588803b158015610dc557600080fd5b505af1158015610dd9573d6000803e3d6000fd5b50505050506040513d6020811015610df057600080fd5b5050604080518281529051600160a060020a038416917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25b5050565b60025460ff1690565b600160a060020a031660009081526004602052604090205490565b610e62610fca565b1515610ea6576040805160e560020a62461bcd0281526020600482015260126024820152600080516020611f1d833981519152604482015290519081900360640190fd5b6000805473ffffffffffffffffffffffffffffffffffffffff191681556040517ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c64820908290a2565b610ef63361154b565b1515610f3a576040805160e560020a62461bcd02815260206004820152601d6024820152600080516020611e9d833981519152604482015290519081900360640190fd5b60025460ff1615610f83576040805160e560020a62461bcd02815260206004820152601b6024820152600080516020611edd833981519152604482015290519081900360640190fd5b6002805460ff191660011790556040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a1565b600054600160a060020a031690565b600054600160a060020a0316331490565b60408051808201909152600381527f5459530000000000000000000000000000000000000000000000000000000000602082015281565b600061101d3361154b565b1515611061576040805160e560020a62461bcd02815260206004820152601d6024820152600080516020611e9d833981519152604482015290519081900360640190fd5b61106b8383611adb565b6110748261191b565b600160a060020a03841660009081526009602052604090205490915081111561109e5760006110c7565b600160a060020a0383166000908152600960205260409020546110c7908263ffffffff61168316565b600160a060020a0384166000908152600960205260409020556110e98161155e565b600855505050565b60025460009060ff161561113d576040805160e560020a62461bcd02815260206004820152601b6024820152600080516020611edd833981519152604482015290519081900360640190fd5b600160a060020a038316151561118b576040805160e560020a62461bcd0281526020600482015260106024820152600080516020611ebd833981519152604482015290519081900360640190fd5b336000908152600560209081526040808320600160a060020a0387168452909152902054610acf908363ffffffff61168316565b6002546000908190819060ff161561120f576040805160e560020a62461bcd02815260206004820152601b6024820152600080516020611edd833981519152604482015290519081900360640190fd5b60075433925084101561126c576040805160e560020a62461bcd02815260206004820152600e60248201527f496e76616c69642076616c75652e000000000000000000000000000000000000604482015290519081900360640190fd5b61127582610cc1565b61127f8585611c1d565b506112898461191b565b600160a060020a0383166000908152600960205260409020549091506112b5908263ffffffff61168316565b600160a060020a0380841660009081526009602052604080822093909355908716815220546112ea908263ffffffff61193816565b600160a060020a03861660009081526009602052604090205560019250505092915050565b611317610fca565b151561135b576040805160e560020a62461bcd0281526020600482015260126024820152600080516020611f1d833981519152604482015290519081900360640190fd5b61136c60018263ffffffff611dbc16565b604051600160a060020a038216907fef69f7d97228658c92417be1b16b19058315de71fecb435d07b7d23728b6bd3190600090a250565b60075490565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b6113dd3361154b565b1515611421576040805160e560020a62461bcd02815260206004820152601d6024820152600080516020611e9d833981519152604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60085490565b61145e610fca565b15156114a2576040805160e560020a62461bcd0281526020600482015260126024820152600080516020611f1d833981519152604482015290519081900360640190fd5b600160a060020a03811615156114f0576040805160e560020a62461bcd0281526020600482015260106024820152600080516020611ebd833981519152604482015290519081900360640190fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691821780845560405192939116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b600061068660018363ffffffff611e2c16565b60006106866115816115746007546106626107c4565b849063ffffffff61159016565b6008549063ffffffff61193816565b6000808083116115ea576040805160e560020a62461bcd02815260206004820152601460248201527f536166654d61746820646976206661696c65642e000000000000000000000000604482015290519081900360640190fd5b82848115156115f557fe5b0490508091505b5092915050565b60008083151561161657600091506115fc565b5082820282848281151561162657fe5b041461167c576040805160e560020a62461bcd02815260206004820152601460248201527f536166654d617468206d756c206661696c65642e000000000000000000000000604482015290519081900360640190fd5b9392505050565b600080838311156116de576040805160e560020a62461bcd02815260206004820152601460248201527f536166654d61746820737562206661696c65642e000000000000000000000000604482015290519081900360640190fd5b5050900390565b60025460009060ff1615611731576040805160e560020a62461bcd02815260206004820152601b6024820152600080516020611edd833981519152604482015290519081900360640190fd5b600160a060020a038316151561177f576040805160e560020a62461bcd0281526020600482015260106024820152600080516020611ebd833981519152604482015290519081900360640190fd5b600160a060020a03841660009081526004602052604090205482118015906117ca5750600160a060020a03841660009081526005602090815260408083203384529091529020548211155b1515611820576040805160e560020a62461bcd02815260206004820152601660248201527f496e73756666696369656e742062616c616e6365732e00000000000000000000604482015290519081900360640190fd5b600160a060020a038416600090815260046020526040902054611849908363ffffffff61168316565b600160a060020a03808616600090815260046020526040808220939093559085168152205461187e908363ffffffff61193816565b600160a060020a0380851660009081526004602090815260408083209490945591871681526005825282812033825290915220546118c2908363ffffffff61168316565b600160a060020a0380861660008181526005602090815260408083203384528252918290209490945580518681529051928716939192600080516020611efd833981519152929181900390910190a35060019392505050565b600061068660085461066e6007548561159090919063ffffffff16565b60008282018381101561167c576040805160e560020a62461bcd02815260206004820152601460248201527f536166654d61746820616464206661696c65642e000000000000000000000000604482015290519081900360640190fd5b600160a060020a03811615156119e3576040805160e560020a62461bcd0281526020600482015260106024820152600080516020611ebd833981519152604482015290519081900360640190fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a0382161515611a56576040805160e560020a62461bcd0281526020600482015260106024820152600080516020611ebd833981519152604482015290519081900360640190fd5b600354611a69908263ffffffff61193816565b600355600160a060020a038216600090815260046020526040902054611a95908263ffffffff61193816565b600160a060020a0383166000818152600460209081526040808320949094558351858152935192939192600080516020611efd8339815191529281900390910190a35050565b600160a060020a0382161515611b29576040805160e560020a62461bcd0281526020600482015260106024820152600080516020611ebd833981519152604482015290519081900360640190fd5b600160a060020a038216600090815260046020526040902054811115611b99576040805160e560020a62461bcd02815260206004820152601660248201527f496e73756666696369656e742062616c616e6365732e00000000000000000000604482015290519081900360640190fd5b600354611bac908263ffffffff61168316565b600355600160a060020a038216600090815260046020526040902054611bd8908263ffffffff61168316565b600160a060020a038316600081815260046020908152604080832094909455835185815293519193600080516020611efd833981519152929081900390910190a35050565b60025460009060ff1615611c69576040805160e560020a62461bcd02815260206004820152601b6024820152600080516020611edd833981519152604482015290519081900360640190fd5b600160a060020a0383161515611cb7576040805160e560020a62461bcd0281526020600482015260106024820152600080516020611ebd833981519152604482015290519081900360640190fd5b33600090815260046020526040902054821115611d1e576040805160e560020a62461bcd02815260206004820152601660248201527f496e73756666696369656e742062616c616e6365732e00000000000000000000604482015290519081900360640190fd5b33600090815260046020526040902054611d3e908363ffffffff61168316565b3360009081526004602052604080822092909255600160a060020a03851681522054611d70908363ffffffff61193816565b600160a060020a038416600081815260046020908152604091829020939093558051858152905191923392600080516020611efd8339815191529281900390910190a350600192915050565b600160a060020a0381161515611e0a576040805160e560020a62461bcd0281526020600482015260106024820152600080516020611ebd833981519152604482015290519081900360640190fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b6000600160a060020a0382161515611e7c576040805160e560020a62461bcd0281526020600482015260106024820152600080516020611ebd833981519152604482015290519081900360640190fd5b50600160a060020a03166000908152602091909152604090205460ff16905600596f7520617265206e6f74206f776e6572206f72206d616e616765722e000000496e76616c696420616464726573732e0000000000000000000000000000000054686520636f6e7472616374206973206e6f74207061757365642e0000000000ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef596f7520617265206e6f74206f776e65722e0000000000000000000000000000a165627a7a72305820c8ed55950f8b09625dc6d683a4395f04ff2814952faf7ccbb49c7ce2f0c43f3c0029