6080604052600a805460ff60a01b1916600160a01b1790553480156200002457600080fd5b5060405162003bf338038062003bf3833981810160405260408110156200004a57600080fd5b508051602091820151604080518082018252601e81527f53746162696c697a65205374726174656779204d756c74692d546f6b656e0000818601908152825180840190935260068352651e9ccb5554d160d21b958301959095528051939492939092620000bb916003919062000577565b508051620000d190600490602084019062000577565b50506005805460ff19166012179055506000620000f66001600160e01b036200019c16565b60058054610100600160a81b0319166101006001600160a01b03841690810291909117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001600655600a80546001600160a01b038085166001600160a01b0319928316179092556007805492841692909116919091179055620001946001600160e01b03620001a116565b505062000619565b335b90565b6000736b175474e89094c44da98b954eedeac495271d0f905060096040518060600160405280836001600160a01b03168152602001836001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156200021057600080fd5b505afa15801562000225573d6000803e3d6000fd5b505050506040513d60208110156200023c57600080fd5b505160ff168152670de0b6b3a7640000602091820152825460018082018555600094855293829020835160039092020180546001600160a01b0319166001600160a01b039092169190911781558282015193810193909355604091820151600290930192909255805160608101825273a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48808252825163313ce56760e01b81529251909450600993919283830192869263313ce567926004808201939291829003018186803b1580156200030257600080fd5b505afa15801562000317573d6000803e3d6000fd5b505050506040513d60208110156200032e57600080fd5b505160ff168152670de0b6b3a7640000602091820152825460018082018555600094855293829020835160039092020180546001600160a01b0319166001600160a01b039092169190911781558282015193810193909355604091820151600290930192909255805160608101825273dac17f958d2ee523a2206206994597c13d831ec7808252825163313ce56760e01b81529251909450600993919283830192869263313ce567926004808201939291829003018186803b158015620003f457600080fd5b505afa15801562000409573d6000803e3d6000fd5b505050506040513d60208110156200042057600080fd5b505160ff168152670de0b6b3a7640000602091820152825460018082018555600094855293829020835160039092020180546001600160a01b0319166001600160a01b03909216919091178155828201519381019390935560409182015160029093019290925580516060810182527357ab1ec28d129707052df4df418d58a2d46d5f51808252825163313ce56760e01b81529251909450600993919283830192869263313ce567926004808201939291829003018186803b158015620004e657600080fd5b505afa158015620004fb573d6000803e3d6000fd5b505050506040513d60208110156200051257600080fd5b505160ff168152670de0b6b3a7640000602091820152825460018082018555600094855293829020835160039092020180546001600160a01b0319166001600160a01b0390921691909117815590820151928101929092556040015160029091015550565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620005ba57805160ff1916838001178555620005ea565b82800160010185558215620005ea579182015b82811115620005ea578251825591602001919060010190620005cd565b50620005f8929150620005fc565b5090565b6200019e91905b80821115620005f8576000815560010162000603565b6135ca80620006296000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c80637158da7c1161010f578063b9195072116100a2578063dd62ed3e11610071578063dd62ed3e14610528578063e2bbb15814610556578063f63aeac314610579578063f80087761461059f576101f0565b8063b9195072146104d0578063c650ea59146104d8578063d9a74be014610503578063db006a751461050b576101f0565b80639d63b8f7116100de5780639d63b8f71461044a578063a457c2d714610470578063a4b88e7b1461049c578063a9059cbb146104a4576101f0565b80637158da7c1461042a5780637b1b1de61461043257806383249ef91461043a57806395d89b4114610442576101f0565b8063549c4627116101875780635c27af87116101565780635c27af87146103b85780635cbe86bc146103c05780636d8ac22d146103c857806370a0823114610404576101f0565b8063549c462714610398578063563a7956146103a057806357a53799146103a85780635aa6e675146103b0576101f0565b8063313ce567116101c3578063313ce5671461030257806337c6de961461032057806339509351146103445780633e3bc62314610370576101f0565b806306fdde03146101f5578063095ea7b31461027257806318160ddd146102b257806323b872dd146102cc575b600080fd5b6101fd6105c5565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023757818101518382015260200161021f565b50505050905090810190601f1680156102645780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61029e6004803603604081101561028857600080fd5b506001600160a01b03813516906020013561065c565b604080519115158252519081900360200190f35b6102ba61067a565b60408051918252519081900360200190f35b61029e600480360360608110156102e257600080fd5b506001600160a01b03813581169160208101359091169060400135610680565b61030a61070d565b6040805160ff9092168252519081900360200190f35b610328610716565b604080516001600160a01b039092168252519081900360200190f35b61029e6004803603604081101561035a57600080fd5b506001600160a01b038135169060200135610725565b6103966004803603602081101561038657600080fd5b50356001600160a01b0316610779565b005b61029e610801565b6102ba610811565b6103966108b2565b6103286109df565b6103966109f3565b610396610a65565b6103d0610ad1565b604080516001600160a01b039586168152938516602085015291841683830152909216606082015290519081900360800190f35b6102ba6004803603602081101561041a57600080fd5b50356001600160a01b0316610b91565b610328610bac565b6102ba610bbb565b610328610c16565b6101fd610c25565b6102ba6004803603602081101561046057600080fd5b50356001600160a01b0316610c86565b61029e6004803603604081101561048657600080fd5b506001600160a01b038135169060200135610d91565b610396610dff565b61029e600480360360408110156104ba57600080fd5b506001600160a01b038135169060200135611056565b61039661106a565b6104e061118a565b604080516001600160a01b03909316835260208301919091528051918290030190f35b6103966113ed565b6103966004803603602081101561052157600080fd5b50356114fd565b6102ba6004803603604081101561053e57600080fd5b506001600160a01b0381358116916020013516611992565b6103966004803603604081101561056c57600080fd5b50803590602001356119bd565b6103966004803603602081101561058f57600080fd5b50356001600160a01b0316611fc9565b610396600480360360208110156105b557600080fd5b50356001600160a01b031661206e565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106515780601f1061062657610100808354040283529160200191610651565b820191906000526020600020905b81548152906001019060200180831161063457829003601f168201915b505050505090505b90565b60006106706106696120f6565b84846120fa565b5060015b92915050565b60025490565b600061068d8484846121e6565b610703846106996120f6565b6106fe856040518060600160405280602881526020016133f8602891396001600160a01b038a166000908152600160205260408120906106d76120f6565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61234216565b6120fa565b5060019392505050565b60055460ff1690565b600c546001600160a01b031690565b60006106706107326120f6565b846106fe85600160006107436120f6565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff6123d916565b6107816120f6565b60055461010090046001600160a01b039081169116146107d6576040805162461bcd60e51b81526020600482018190526024820152600080516020613420833981519152604482015290519081900360640190fd5b42600d556003600e55600f80546001600160a01b0319166001600160a01b0392909216919091179055565b600a54600160a01b900460ff1681565b60008061081d30610c86565b600b549091506001600160a01b0316156108ad57600b60009054906101000a90046001600160a01b03166001600160a01b031663b69ef8a86040518163ffffffff1660e01b815260040160206040518083038186803b15801561087f57600080fd5b505afa158015610893573d6000803e3d6000fd5b505050506040513d60208110156108a957600080fd5b5051015b905090565b6108ba6120f6565b60055461010090046001600160a01b0390811691161461090f576040805162461bcd60e51b81526020600482018190526024820152600080516020613420833981519152604482015290519081900360640190fd5b600380600e54146109515760405162461bcd60e51b81526004018080602001828103825260278152602001806133b06027913960400191505060405180910390fd5b6000600e81905561096061067a565b11156109ba5762015180600d54014210156109ba576040805162461bcd60e51b8152602060048201526015602482015274151a5b595b1bd8dac81d1a5b59481b9bdd081b595d605a1b604482015290519081900360640190fd5b50600f54600780546001600160a01b0319166001600160a01b03909216919091179055565b60055461010090046001600160a01b031690565b6109fb6120f6565b60055461010090046001600160a01b03908116911614610a50576040805162461bcd60e51b81526020600482018190526024820152600080516020613420833981519152604482015290519081900360640190fd5b600a805460ff60a01b1916600160a01b179055565b610a6d6120f6565b60055461010090046001600160a01b03908116911614610ac2576040805162461bcd60e51b81526020600482018190526024820152600080516020613420833981519152604482015290519081900360640190fd5b600a805460ff60a01b19169055565b6000806000806009600081548110610ae557fe5b6000918252602090912060039091020154600980546001600160a01b03909216916001908110610b1157fe5b6000918252602090912060039091020154600980546001600160a01b03909216916002908110610b3d57fe5b6000918252602090912060039182020154600980546001600160a01b039092169290918110610b6857fe5b6000918252602090912060039091020154929791965094506001600160a01b0390911692509050565b6001600160a01b031660009081526020819052604090205490565b600a546001600160a01b031690565b6000610bc561067a565b610bd85750670de0b6b3a7640000610659565b610c0f610be361067a565b610c03610bee610811565b670de0b6b3a76400009063ffffffff61243a16565b9063ffffffff61249316565b9050610659565b600b546001600160a01b031690565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106515780601f1061062657610100808354040283529160200191610651565b600080805b600954811015610d8a57600060098281548110610ca457fe5b600091825260209182902060039091020154604080516370a0823160e01b81526001600160a01b038981166004830152915191909216926370a082319260248082019391829003018186803b158015610cfc57600080fd5b505afa158015610d10573d6000803e3d6000fd5b505050506040513d6020811015610d2657600080fd5b505160098054919250610d6d9184908110610d3d57fe5b906000526020600020906003020160010154600a0a610c03670de0b6b3a76400008461243a90919063ffffffff16565b9050610d7f838263ffffffff6123d916565b925050600101610c8b565b5092915050565b6000610670610d9e6120f6565b846106fe856040518060600160405280602581526020016135706025913960016000610dc86120f6565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61234216565b610e076120f6565b60055461010090046001600160a01b03908116911614610e5c576040805162461bcd60e51b81526020600482018190526024820152600080516020613420833981519152604482015290519081900360640190fd5b600280600e5414610e9e5760405162461bcd60e51b81526004018080602001828103825260278152602001806133b06027913960400191505060405180910390fd5b6000600e819055610ead61067a565b1115610f075762015180600d5401421015610f07576040805162461bcd60e51b8152602060048201526015602482015274151a5b595b1bd8dac81d1a5b59481b9bdd081b595d605a1b604482015290519081900360640190fd5b600b546001600160a01b031615801590610f2857506000610f2661067a565b115b15610f9657600b60009054906101000a90046001600160a01b03166001600160a01b031663e9fad8ee6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610f7d57600080fd5b505af1158015610f91573d6000803e3d6000fd5b505050505b600f54600b80546001600160a01b0319166001600160a01b0392831617908190551615801590610fcd57506000610fcb61067a565b115b1561104357610fda6124d5565b600b60009054906101000a90046001600160a01b03166001600160a01b031663e97dcb626040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561102a57600080fd5b505af115801561103e573d6000803e3d6000fd5b505050505b50600c80546001600160a01b0319169055565b60006106706110636120f6565b84846121e6565b6110726120f6565b60055461010090046001600160a01b039081169116146110c7576040805162461bcd60e51b81526020600482018190526024820152600080516020613420833981519152604482015290519081900360640190fd5b600180600e54146111095760405162461bcd60e51b81526004018080602001828103825260278152602001806133b06027913960400191505060405180910390fd5b6000600e81905561111861067a565b11156111725762015180600d5401421015611172576040805162461bcd60e51b8152602060048201526015602482015274151a5b595b1bd8dac81d1a5b59481b9bdd081b595d605a1b604482015290519081900360640190fd5b600f54611187906001600160a01b0316612679565b50565b600b5460009081906001600160a01b03161561121f57600b546040805163c650ea5960e01b815281516001600160a01b039093169263c650ea5992600480840193919291829003018186803b1580156111e257600080fd5b505afa1580156111f6573d6000803e3d6000fd5b505050506040513d604081101561120c57600080fd5b50805160209091015190925090506113e9565b600954600080805b8381101561130c5760006009828154811061123e57fe5b600091825260209182902060039091020154604080516370a0823160e01b815230600482015290516001600160a01b03909216926370a0823192602480840193829003018186803b15801561129257600080fd5b505afa1580156112a6573d6000803e3d6000fd5b505050506040513d60208110156112bc57600080fd5b50511115611304576000600982815481106112d357fe5b906000526020600020906003020160020154905082600014806112f65750828111155b15611302578092508193505b505b600101611227565b5080156113d9576009828154811061132057fe5b6000918252602090912060039091020154600980546001600160a01b03909216918490811061134b57fe5b600091825260209182902060039091020154604080516370a0823160e01b815230600482015290516001600160a01b03909216926370a0823192602480840193829003018186803b15801561139f57600080fd5b505afa1580156113b3573d6000803e3d6000fd5b505050506040513d60208110156113c957600080fd5b505190955093506113e992505050565b50600093508392506113e9915050565b9091565b6113f56120f6565b60055461010090046001600160a01b0390811691161461144a576040805162461bcd60e51b81526020600482018190526024820152600080516020613420833981519152604482015290519081900360640190fd5b600a805460ff60a01b19169055600b546001600160a01b0316158015906114785750600061147661067a565b115b156114e657600b60009054906101000a90046001600160a01b03166001600160a01b031663e9fad8ee6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156114cd57600080fd5b505af11580156114e1573d6000803e3d6000fd5b505050505b600b80546001600160a01b03191690556000600e55565b60026006541415611555576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002600655806115a0576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b60006115aa61067a565b116115f2576040805162461bcd60e51b81526020600482015260136024820152724e6f2076616c75652072656465656d61626c6560681b604482015290519081900360640190fd5b60006115fc61067a565b905061160f6116096120f6565b83612782565b60006116196120f6565b6001600160a01b0316326001600160a01b0316141561163a575060016116ce565b42600860006116476120f6565b6001600160a01b0316815260208101919091526040016000205410801561169357506000600860006116776120f6565b6001600160a01b03168152602081019190915260400160002054115b6116ce5760405162461bcd60e51b81526004018080602001828103825260348152602001806134406034913960400191505060405180910390fd5b600860006116da6120f6565b6001600160a01b03166001600160a01b0316815260200190815260200160002060010154831161176b5761173d83600860006117146120f6565b6001600160a01b031681526020810191909152604001600020600101549063ffffffff61287e16565b600860006117496120f6565b6001600160a01b031681526020810191909152604001600020600101556117da565b6000600860006117796120f6565b6001600160a01b031681526020810191909152604001600020600190810191909155811515146117da5760405162461bcd60e51b815260040180806020018281038252603e815260200180613508603e913960400191505060405180910390fd5b600b546000906001600160a01b0316156118d357600b546001600160a01b031663234b67456118076120f6565b604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482018890526044820187905285151560648301525160848083019260209291908290030181600087803b15801561186457600080fd5b505af1158015611878573d6000803e3d6000fd5b505050506040513d602081101561188e57600080fd5b50519050806118ce5760405162461bcd60e51b815260040180806020018281038252602481526020018061338c6024913960400191505060405180910390fd5b61193f565b8284101561191c5760006118e630610c86565b905060006118fe85610c03848963ffffffff61243a16565b905061191361190b6120f6565b8260006128c0565b915061193f9050565b600061192730610c86565b905061193c6119346120f6565b8260016128c0565b90505b6119476120f6565b6001600160a01b03167f95ae649bfaaef9def56a52f4fb2d9e8fa5496bb7082930e442c74cc76b03dcb3826040518082815260200191505060405180910390a2505060016006555050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60026006541415611a15576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026006556000611a24610811565b600a54909150600160a01b900460ff161515600114611a745760405162461bcd60e51b81526004018080602001828103825260388152602001806132956038913960400191505060405180910390fd5b600b546001600160a01b0316611abb5760405162461bcd60e51b815260040180806020018281038252602a8152602001806134ba602a913960400191505060405180910390fd5b6009548210611afb5760405162461bcd60e51b815260040180806020018281038252602f815260200180613337602f913960400191505060405180910390fd5b600060098381548110611b0a57fe5b60009182526020808320600390920290910154604080516370a0823160e01b815230600482015290516001600160a01b03909216945084926370a0823192602480840193829003018186803b158015611b6257600080fd5b505afa158015611b76573d6000803e3d6000fd5b505050506040513d6020811015611b8c57600080fd5b50519050611bb3611b9b6120f6565b6001600160a01b03841690308863ffffffff612cf516565b604080516370a0823160e01b81523060048201529051611c379183916001600160a01b038616916370a08231916024808301926020929190829003018186803b158015611bff57600080fd5b505afa158015611c13573d6000803e3d6000fd5b505050506040513d6020811015611c2957600080fd5b50519063ffffffff61287e16565b945060008511611c81576040805162461bcd60e51b815260206004820152601060248201526f043616e6e6f74206465706f73697420360841b604482015290519081900360640190fd5b6000611c8b6120f6565b6001600160a01b0316326001600160a01b03161415611ca8575060015b600b54604080516316d3df1560e31b815290516000926001600160a01b03169163b69ef8a8916004808301926020929190829003018186803b158015611ced57600080fd5b505afa158015611d01573d6000803e3d6000fd5b505050506040513d6020811015611d1757600080fd5b50519050611d236124d5565b600b54604080516362b939e160e11b8152841515600482015290516001600160a01b039092169163c57273c29160248082019260009290919082900301818387803b158015611d7157600080fd5b505af1158015611d85573d6000803e3d6000fd5b5050505080600b60009054906101000a90046001600160a01b03166001600160a01b031663b69ef8a86040518163ffffffff1660e01b815260040160206040518083038186803b158015611dd857600080fd5b505afa158015611dec573d6000803e3d6000fd5b505050506040513d6020811015611e0257600080fd5b505111611e56576040805162461bcd60e51b815260206004820152601d60248201527f4e6f206368616e676520696e2073747261746567792062616c616e6365000000604482015290519081900360640190fd5b6000611e9860098881548110611e6857fe5b906000526020600020906003020160010154600a0a610c03670de0b6b3a76400008b61243a90919063ffffffff16565b9050806000611ea561067a565b1115611eca57611ec787610c03611eba61067a565b859063ffffffff61243a16565b90505b611edb611ed56120f6565b82612d55565b4260086000611ee86120f6565b6001600160a01b03166001600160a01b0316815260200190815260200160002060000181905550611f488160086000611f1f6120f6565b6001600160a01b031681526020810191909152604001600020600101549063ffffffff6123d916565b60086000611f546120f6565b6001600160a01b03168152602081019190915260400160002060010155611f796120f6565b6001600160a01b03167f4700c1726b4198077cd40320a32c45265a1910521eb0ef713dd1d8412413d7fc8a6040518082815260200191505060405180910390a25050600160065550505050505050565b611fd16120f6565b60055461010090046001600160a01b03908116911614612026576040805162461bcd60e51b81526020600482018190526024820152600080516020613420833981519152604482015290519081900360640190fd5b42600d556002600e55600f80546001600160a01b0383166001600160a01b03199182168117909255600c8054909116909117905561206261067a565b61118757611187610dff565b6120766120f6565b60055461010090046001600160a01b039081169116146120cb576040805162461bcd60e51b81526020600482018190526024820152600080516020613420833981519152604482015290519081900360640190fd5b42600d556001600e55600f80546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6001600160a01b03831661213f5760405162461bcd60e51b81526004018080602001828103825260248152602001806134e46024913960400191505060405180910390fd5b6001600160a01b0382166121845760405162461bcd60e51b81526004018080602001828103825260228152602001806133156022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661222b5760405162461bcd60e51b81526004018080602001828103825260258152602001806134956025913960400191505060405180910390fd5b6001600160a01b0382166122705760405162461bcd60e51b81526004018080602001828103825260238152602001806132726023913960400191505060405180910390fd5b6122b381604051806060016040528060268152602001613366602691396001600160a01b038616600090815260208190526040902054919063ffffffff61234216565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546122e8908263ffffffff6123d916565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156123d15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561239657818101518382015260200161237e565b50505050905090810190601f1680156123c35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015612433576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60008261244957506000610674565b8282028284828161245657fe5b04146124335760405162461bcd60e51b81526004018080602001828103825260218152602001806133d76021913960400191505060405180910390fd5b600061243383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612e45565b600b546040805163780d9d2d60e01b815290516000926001600160a01b03169163780d9d2d916004808301926020929190829003018186803b15801561251a57600080fd5b505afa15801561252e573d6000803e3d6000fd5b505050506040513d602081101561254457600080fd5b5051905060005b8181101561267557600b5460408051635930a0a160e01b81526004810184905290516000926001600160a01b031691635930a0a1916024808301926020929190829003018186803b15801561259f57600080fd5b505afa1580156125b3573d6000803e3d6000fd5b505050506040513d60208110156125c957600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038416916370a08231916024808301926020929190829003018186803b15801561261757600080fd5b505afa15801561262b573d6000803e3d6000fd5b505050506040513d602081101561264157600080fd5b50519050801561266b57600b5461266b906001600160a01b0384811691168363ffffffff612eaa16565b505060010161254b565b5050565b6126816120f6565b60055461010090046001600160a01b039081169116146126d6576040805162461bcd60e51b81526020600482018190526024820152600080516020613420833981519152604482015290519081900360640190fd5b6001600160a01b03811661271b5760405162461bcd60e51b81526004018080602001828103825260268152602001806132ef6026913960400191505060405180910390fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6001600160a01b0382166127c75760405162461bcd60e51b81526004018080602001828103825260218152602001806134746021913960400191505060405180910390fd5b61280a816040518060600160405280602281526020016132cd602291396001600160a01b038516600090815260208190526040902054919063ffffffff61234216565b6001600160a01b038316600090815260208190526040902055600254612836908263ffffffff61287e16565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b600061243383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612342565b60095460018215151415612a435760005b81811015612a3c576000600982815481106128e857fe5b600091825260209182902060039091020154604080516370a0823160e01b815230600482015290516001600160a01b03909216926370a0823192602480840193829003018186803b15801561293c57600080fd5b505afa158015612950573d6000803e3d6000fd5b505050506040513d602081101561296657600080fd5b50511115612a3457612a34856009838154811061297f57fe5b600091825260209182902060039091020154604080516370a0823160e01b815230600482015290516001600160a01b03909216926370a0823192602480840193829003018186803b1580156129d357600080fd5b505afa1580156129e7573d6000803e3d6000fd5b505050506040513d60208110156129fd57600080fd5b50516009805485908110612a0d57fe5b60009182526020909120600390910201546001600160a01b0316919063ffffffff612eaa16565b6001016128d1565b5050612cf0565b612a4b613253565b600080612a56612efc565b60005b84811015612cea5760009150815b85811015612acc57848160048110612a7b57fe5b6020020151612ac457600060098281548110612a9357fe5b90600052602060002090600302016002015490508360001480612ab65750838111155b15612ac2578093508194505b505b600101612a67565b506001848460048110612adb57fe5b9115156020909202015260098054600091612bb49186908110612afa57fe5b906000526020600020906003020160010154600a0a610c03670de0b6b3a764000060098881548110612b2857fe5b600091825260209182902060039091020154604080516370a0823160e01b815230600482015290516001600160a01b03909216926370a0823192602480840193829003018186803b158015612b7c57600080fd5b505afa158015612b90573d6000803e3d6000fd5b505050506040513d6020811015612ba657600080fd5b50519063ffffffff61243a16565b9050878111612c79578015612c7457612bd3888263ffffffff61287e16565b9750612c748960098681548110612be657fe5b600091825260209182902060039091020154604080516370a0823160e01b815230600482015290516001600160a01b03909216926370a0823192602480840193829003018186803b158015612c3a57600080fd5b505afa158015612c4e573d6000803e3d6000fd5b505050506040513d6020811015612c6457600080fd5b50516009805488908110612a0d57fe5b612ce1565b8715612cdb576000612cc1670de0b6b3a7640000610c0360098881548110612c9d57fe5b906000526020600020906003020160010154600a0a8c61243a90919063ffffffff16565b905060009850612cd98a8260098881548110612a0d57fe5b505b50612cea565b50600101612a59565b50505050505b505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612d4f908590612fe5565b50505050565b6001600160a01b038216612db0576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254612dc3908263ffffffff6123d916565b6002556001600160a01b038216600090815260208190526040902054612def908263ffffffff6123d916565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008183612e945760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561239657818101518382015260200161237e565b506000838581612ea057fe5b0495945050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612cf0908490612fe5565b60005b60095481101561118757600754600980546000926001600160a01b0316916341976e099185908110612f2d57fe5b60009182526020808320600390920290910154604080516001600160e01b031960e087901b1681526001600160a01b0390921660048301525160248083019491928390030190829087803b158015612f8457600080fd5b505af1158015612f98573d6000803e3d6000fd5b505050506040513d6020811015612fae57600080fd5b505190508015612fdc578060098381548110612fc657fe5b9060005260206000209060030201600201819055505b50600101612eff565b606061303a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166130969092919063ffffffff16565b805190915015612cf05780806020019051602081101561305957600080fd5b5051612cf05760405162461bcd60e51b815260040180806020018281038252602a815260200180613546602a913960400191505060405180910390fd5b60606130a584846000856130ad565b949350505050565b60606130b88561321a565b613109576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106131485780518252601f199092019160209182019101613129565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146131aa576040519150601f19603f3d011682016040523d82523d6000602084013e6131af565b606091505b509150915081156131c35791506130a59050565b8051156131d35780518082602001fd5b60405162461bcd60e51b815260206004820181815286516024840152865187939192839260440191908501908083836000831561239657818101518382015260200161237e565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906130a5575050151592915050565b6040518060800160405280600490602082028036833750919291505056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734465706f736974732068617665206265656e2073757370656e6465642c2062757420796f752063616e207374696c6c20776974686472617745524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373546f6b656e204944206973206f7574736964652072616e6765206f6620746f6b656e7320696e20636f6e747261637445524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654661696c656420746f2077697468647261772066726f6d2074686520737472617465677954696d656c6f636b206e6f7420616371756972656420666f7220746869732066756e6374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572436f6e7472616374206465706f7369746f722063616e6e6f742072656465656d20696e2073616d65207472616e73616374696f6e45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f20616464726573734e6f20737472617465677920636f6e747261637420686173206265656e2073656c65637465642079657445524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373436f6e7472616374206465706f7369746f72732063616e6e6f742074616b65206f7574206d6f7265207468616e207768617420746865792070757420696e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656445524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212208e948a2b0bcce26275886d6ae593ebc412e92063b525d6ad037caba99c13731c64736f6c63430006060033000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000438462bf1b159c64c05d795b5589435f318c25fc