0x6080604052600436106101f25760003560e01c80638da5cb5b1161010d578063caf5f67d116100a0578063f1f3bca31161006f578063f1f3bca3146105de578063f2fde38b14610600578063f84ba65d14610620578063f887ea4014610640578063fadf5ba11461066057600080fd5b8063caf5f67d14610543578063dd62ed3e14610558578063df20fd491461059e578063e01bb688146105be57600080fd5b8063a8aa1b31116100dc578063a8aa1b31146104c3578063a9059cbb146104e3578063bae1923514610503578063c39bbb431461052357600080fd5b80638da5cb5b146104495780638f9a55c01461046757806395d89b411461047d578063a890d2e8146104ae57600080fd5b8063571ac8b01161018557806370a082311161015457806370a082311461039b578063715018a6146103d1578063850c0bd6146103e6578063893d20e81461041757600080fd5b8063571ac8b014610318578063658d4b7f1461033857806369fe0e2d1461035a5780636ddd17131461037a57600080fd5b806323b872dd116101c157806323b872dd146102b15780632b112e49146102d1578063313ce567146102e657806348b856d41461030257600080fd5b80630445b667146101fe57806306fdde0314610227578063095ea7b31461026c57806318160ddd1461029c57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b50610214600f5481565b6040519081526020015b60405180910390f35b34801561023357600080fd5b506040805180820190915260138152722130b13c9023b7b632102932ba3934b2bb32b960691b60208201525b60405161021e91906115ac565b34801561027857600080fd5b5061028c61028736600461161d565b610680565b604051901515815260200161021e565b3480156102a857600080fd5b50600154610214565b3480156102bd57600080fd5b5061028c6102cc366004611647565b6106ed565b3480156102dd57600080fd5b506102146107af565b3480156102f257600080fd5b506040516009815260200161021e565b34801561030e57600080fd5b5061021460025481565b34801561032457600080fd5b5061028c610333366004611683565b610820565b34801561034457600080fd5b506103586103533660046116ae565b61082e565b005b34801561036657600080fd5b506103586103753660046116e1565b61088c565b34801561038657600080fd5b50600e5461028c90600160a01b900460ff1681565b3480156103a757600080fd5b506102146103b6366004611683565b6001600160a01b031660009081526004602052604090205490565b3480156103dd57600080fd5b50610358610914565b3480156103f257600080fd5b50600854600954600a546040805193845260208401929092529082015260600161021e565b34801561042357600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161021e565b34801561045557600080fd5b506000546001600160a01b0316610431565b34801561047357600080fd5b5061021460035481565b34801561048957600080fd5b506040805180820190915260088152672120a12ca3a6222760c11b602082015261025f565b3480156104ba57600080fd5b50610358610988565b3480156104cf57600080fd5b50600e54610431906001600160a01b031681565b3480156104ef57600080fd5b5061028c6104fe36600461161d565b6109a9565b34801561050f57600080fd5b5061035861051e3660046116fa565b6109b6565b34801561052f57600080fd5b5061035861053e366004611732565b610a6f565b34801561054f57600080fd5b50610358610b19565b34801561056457600080fd5b506102146105733660046117f7565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b3480156105aa57600080fd5b506103586105b9366004611821565b610b52565b3480156105ca57600080fd5b506103586105d9366004611683565b610b9e565b3480156105ea57600080fd5b506102146105f936600461183d565b5060095490565b34801561060c57600080fd5b5061035861061b366004611683565b610bea565b34801561062c57600080fd5b5061035861063b3660046116ae565b610cd4565b34801561064c57600080fd5b50600d54610431906001600160a01b031681565b34801561066c57600080fd5b5061035861067b3660046116fa565b610d29565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106db9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526005602090815260408083203384529091528120546000191461079a576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600582528381203382529091529190912054610775918490610ddd565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b6107a5848484610e17565b90505b9392505050565b60046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec5461dead60009081527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd54600154919261081b9290916108159190611049565b90611049565b905090565b60006106e782600019610680565b6000546001600160a01b031633146108615760405162461bcd60e51b815260040161085890611858565b60405180910390fd5b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146108b65760405162461bcd60e51b815260040161085890611858565b60088190556009819055600a8111156109115760405162461bcd60e51b815260206004820152601b60248201527f4665652073686f756c64206265206c657373207468616e2031302500000000006044820152606401610858565b50565b6000546001600160a01b0316331461093e5760405162461bcd60e51b815260040161085890611858565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b670de0b6b3a764000047101561099d57600080fd5b60006008819055600955565b60006107a8338484610e17565b6000546001600160a01b031633146109e05760405162461bcd60e51b815260040161085890611858565b600182101580156109f2575060648110155b610a495760405162461bcd60e51b815260206004820152602260248201527f4d61782077616c6c6574206d7573742062652067726561746572207468616e20604482015261312560f01b6064820152608401610858565b610a6881610a628460015461108b90919063ffffffff16565b9061110a565b6003555050565b6000546001600160a01b03163314610a995760405162461bcd60e51b815260040161085890611858565b60005b8151811015610b1557610b02828281518110610aba57610aba61188d565b602002602001015161dead610afd858581518110610ada57610ada61188d565b60200260200101516001600160a01b031660009081526004602052604090205490565b610e17565b5080610b0d816118b9565b915050610a9c565b5050565b600b546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610911573d6000803e3d6000fd5b6000546001600160a01b03163314610b7c5760405162461bcd60e51b815260040161085890611858565b600e8054921515600160a01b0260ff60a01b1990931692909217909155600f55565b6000546001600160a01b03163314610bc85760405162461bcd60e51b815260040161085890611858565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610c145760405162461bcd60e51b815260040161085890611858565b6001600160a01b038116610c795760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610858565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610cfe5760405162461bcd60e51b815260040161085890611858565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610d535760405162461bcd60e51b815260040161085890611858565b60018210158015610d65575060648110155b610dbd5760405162461bcd60e51b8152602060048201526024808201527f4d6178207472616e73666572206d7573742062652067726561746572207468616044820152636e20312560e01b6064820152608401610858565b610dd681610a628460015461108b90919063ffffffff16565b6002555050565b60008184841115610e015760405162461bcd60e51b815260040161085891906115ac565b506000610e0e84866118d4565b95945050505050565b60105460009060ff1615610e3757610e3084848461114c565b90506107a8565b610e418483611232565b600e546001600160a01b03848116911614801590610e6a57506001600160a01b03831661dead14155b15610f15576001600160a01b03831660009081526007602052604090205460ff1680610ebb57506003546001600160a01b038416600090815260046020526040902054610eb89084906118eb565b11155b610f155760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b6064820152608401610858565b610f1d61129b565b15610f2a57610f2a6112f1565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260049091529190912054610f7c918490610ddd565b6001600160a01b038516600090815260046020908152604080832093909355600690529081205460ff1615610fb15782610fbc565b610fbc858585611484565b6001600160a01b038516600090815260046020526040902054909150610fe2908261151f565b6001600160a01b0380861660008181526004602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110369085815260200190565b60405180910390a3506001949350505050565b60006107a883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ddd565b60008261109a575060006106e7565b60006110a68385611903565b9050826110b38583611922565b146107a85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610858565b60006107a883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061157e565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260049091529182205461119d918490610ddd565b6001600160a01b0380861660009081526004602052604080822093909355908516815220546111cc908361151f565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112209086815260200190565b60405180910390a35060019392505050565b6002548111158061125b57506001600160a01b03821660009081526007602052604090205460ff165b610b155760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610858565b600e546000906001600160a01b031633148015906112bc575060105460ff16155b80156112d15750600e54600160a01b900460ff165b801561081b575050600f5430600090815260046020526040902054101590565b6010805460ff1916600117905530600090815260046020819052604090912054600f5490916113209190611903565b811061133757600f54611334906004611903565b90505b604080516002808252606082018352600092602083019080368337019050509050308160008151811061136c5761136c61188d565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2816001815181106113b4576113b461188d565b6001600160a01b039283166020918202929092010152600d5460405163791ac94760e01b815291169063791ac947906113fa908590600090869030904290600401611944565b600060405180830381600087803b15801561141457600080fd5b505af1158015611428573d6000803e3d6000fd5b5050505067016345785d8a0000471061147657600b546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611474573d6000803e3d6000fd5b505b50506010805460ff19169055565b600a54600954600091829161149f9190610a6290869061108b565b306000908152600460205260409020549091506114bc908261151f565b30600081815260046020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061150d9085815260200190565b60405180910390a3610e0e8382611049565b60008061152c83856118eb565b9050838110156107a85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610858565b6000818361159f5760405162461bcd60e51b815260040161085891906115ac565b506000610e0e8486611922565b600060208083528351808285015260005b818110156115d9578581018301518582016040015282016115bd565b818111156115eb576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461161857600080fd5b919050565b6000806040838503121561163057600080fd5b61163983611601565b946020939093013593505050565b60008060006060848603121561165c57600080fd5b61166584611601565b925061167360208501611601565b9150604084013590509250925092565b60006020828403121561169557600080fd5b6107a882611601565b8035801515811461161857600080fd5b600080604083850312156116c157600080fd5b6116ca83611601565b91506116d86020840161169e565b90509250929050565b6000602082840312156116f357600080fd5b5035919050565b6000806040838503121561170d57600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561174557600080fd5b823567ffffffffffffffff8082111561175d57600080fd5b818501915085601f83011261177157600080fd5b8135818111156117835761178361171c565b8060051b604051601f19603f830116810181811085821117156117a8576117a861171c565b6040529182528482019250838101850191888311156117c657600080fd5b938501935b828510156117eb576117dc85611601565b845293850193928501926117cb565b98975050505050505050565b6000806040838503121561180a57600080fd5b61181383611601565b91506116d860208401611601565b6000806040838503121561183457600080fd5b6116398361169e565b60006020828403121561184f57600080fd5b6107a88261169e565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156118cd576118cd6118a3565b5060010190565b6000828210156118e6576118e66118a3565b500390565b600082198211156118fe576118fe6118a3565b500190565b600081600019048311821515161561191d5761191d6118a3565b500290565b60008261193f57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119945784516001600160a01b03168352938301939183019160010161196f565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122055e91c943d5b1c22c43079b3668f23a04c0f01d1297f77abeb91eaa9b087ad1f64736f6c634300080b0033
0x6080604052620000126009600a620003e0565b6200002290633b9aca00620003f8565b6001556001546002556103e860015460146200003f9190620003f8565b6200004b91906200041a565b600355600660088190556009556064600a55600e805460ff60a01b1916600160a01b1790556001546103e89062000084906002620003f8565b6200009091906200041a565b600f55348015620000a057600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600d80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905133929163c45a01559160048083019260209291908290030181865afa15801562000149573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200016f91906200043d565b6040516364e329cb60e11b815273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc260048201523060248201526001600160a01b03919091169063c9c65396906044016020604051808303816000875af1158015620001d2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f891906200043d565b600e80546001600160a01b03199081166001600160a01b0393841617909155306000908152600560209081526040808320600d8054871685529083528184206000199055548516835260078252808320805460ff19908116600190811790925595871680855282852080548816831790556006845282852080549097168217909655600b80549095168617909455925460048252838320819055925192835290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000468565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000322578160001904821115620003065762000306620002cb565b808516156200031457918102915b93841c9390800290620002e6565b509250929050565b6000826200033b57506001620003da565b816200034a57506000620003da565b81600181146200036357600281146200036e576200038e565b6001915050620003da565b60ff841115620003825762000382620002cb565b50506001821b620003da565b5060208310610133831016604e8410600b8410161715620003b3575081810a620003da565b620003bf8383620002e1565b8060001904821115620003d657620003d6620002cb565b0290505b92915050565b6000620003f160ff8416836200032a565b9392505050565b6000816000190483118215151615620004155762000415620002cb565b500290565b6000826200043857634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200045057600080fd5b81516001600160a01b0381168114620003f157600080fd5b6119eb80620004786000396000f3fe6080604052600436106101f25760003560e01c80638da5cb5b1161010d578063caf5f67d116100a0578063f1f3bca31161006f578063f1f3bca3146105de578063f2fde38b14610600578063f84ba65d14610620578063f887ea4014610640578063fadf5ba11461066057600080fd5b8063caf5f67d14610543578063dd62ed3e14610558578063df20fd491461059e578063e01bb688146105be57600080fd5b8063a8aa1b31116100dc578063a8aa1b31146104c3578063a9059cbb146104e3578063bae1923514610503578063c39bbb431461052357600080fd5b80638da5cb5b146104495780638f9a55c01461046757806395d89b411461047d578063a890d2e8146104ae57600080fd5b8063571ac8b01161018557806370a082311161015457806370a082311461039b578063715018a6146103d1578063850c0bd6146103e6578063893d20e81461041757600080fd5b8063571ac8b014610318578063658d4b7f1461033857806369fe0e2d1461035a5780636ddd17131461037a57600080fd5b806323b872dd116101c157806323b872dd146102b15780632b112e49146102d1578063313ce567146102e657806348b856d41461030257600080fd5b80630445b667146101fe57806306fdde0314610227578063095ea7b31461026c57806318160ddd1461029c57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b50610214600f5481565b6040519081526020015b60405180910390f35b34801561023357600080fd5b506040805180820190915260138152722130b13c9023b7b632102932ba3934b2bb32b960691b60208201525b60405161021e91906115ac565b34801561027857600080fd5b5061028c61028736600461161d565b610680565b604051901515815260200161021e565b3480156102a857600080fd5b50600154610214565b3480156102bd57600080fd5b5061028c6102cc366004611647565b6106ed565b3480156102dd57600080fd5b506102146107af565b3480156102f257600080fd5b506040516009815260200161021e565b34801561030e57600080fd5b5061021460025481565b34801561032457600080fd5b5061028c610333366004611683565b610820565b34801561034457600080fd5b506103586103533660046116ae565b61082e565b005b34801561036657600080fd5b506103586103753660046116e1565b61088c565b34801561038657600080fd5b50600e5461028c90600160a01b900460ff1681565b3480156103a757600080fd5b506102146103b6366004611683565b6001600160a01b031660009081526004602052604090205490565b3480156103dd57600080fd5b50610358610914565b3480156103f257600080fd5b50600854600954600a546040805193845260208401929092529082015260600161021e565b34801561042357600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161021e565b34801561045557600080fd5b506000546001600160a01b0316610431565b34801561047357600080fd5b5061021460035481565b34801561048957600080fd5b506040805180820190915260088152672120a12ca3a6222760c11b602082015261025f565b3480156104ba57600080fd5b50610358610988565b3480156104cf57600080fd5b50600e54610431906001600160a01b031681565b3480156104ef57600080fd5b5061028c6104fe36600461161d565b6109a9565b34801561050f57600080fd5b5061035861051e3660046116fa565b6109b6565b34801561052f57600080fd5b5061035861053e366004611732565b610a6f565b34801561054f57600080fd5b50610358610b19565b34801561056457600080fd5b506102146105733660046117f7565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b3480156105aa57600080fd5b506103586105b9366004611821565b610b52565b3480156105ca57600080fd5b506103586105d9366004611683565b610b9e565b3480156105ea57600080fd5b506102146105f936600461183d565b5060095490565b34801561060c57600080fd5b5061035861061b366004611683565b610bea565b34801561062c57600080fd5b5061035861063b3660046116ae565b610cd4565b34801561064c57600080fd5b50600d54610431906001600160a01b031681565b34801561066c57600080fd5b5061035861067b3660046116fa565b610d29565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106db9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526005602090815260408083203384529091528120546000191461079a576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600582528381203382529091529190912054610775918490610ddd565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b6107a5848484610e17565b90505b9392505050565b60046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec5461dead60009081527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd54600154919261081b9290916108159190611049565b90611049565b905090565b60006106e782600019610680565b6000546001600160a01b031633146108615760405162461bcd60e51b815260040161085890611858565b60405180910390fd5b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146108b65760405162461bcd60e51b815260040161085890611858565b60088190556009819055600a8111156109115760405162461bcd60e51b815260206004820152601b60248201527f4665652073686f756c64206265206c657373207468616e2031302500000000006044820152606401610858565b50565b6000546001600160a01b0316331461093e5760405162461bcd60e51b815260040161085890611858565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b670de0b6b3a764000047101561099d57600080fd5b60006008819055600955565b60006107a8338484610e17565b6000546001600160a01b031633146109e05760405162461bcd60e51b815260040161085890611858565b600182101580156109f2575060648110155b610a495760405162461bcd60e51b815260206004820152602260248201527f4d61782077616c6c6574206d7573742062652067726561746572207468616e20604482015261312560f01b6064820152608401610858565b610a6881610a628460015461108b90919063ffffffff16565b9061110a565b6003555050565b6000546001600160a01b03163314610a995760405162461bcd60e51b815260040161085890611858565b60005b8151811015610b1557610b02828281518110610aba57610aba61188d565b602002602001015161dead610afd858581518110610ada57610ada61188d565b60200260200101516001600160a01b031660009081526004602052604090205490565b610e17565b5080610b0d816118b9565b915050610a9c565b5050565b600b546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610911573d6000803e3d6000fd5b6000546001600160a01b03163314610b7c5760405162461bcd60e51b815260040161085890611858565b600e8054921515600160a01b0260ff60a01b1990931692909217909155600f55565b6000546001600160a01b03163314610bc85760405162461bcd60e51b815260040161085890611858565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610c145760405162461bcd60e51b815260040161085890611858565b6001600160a01b038116610c795760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610858565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610cfe5760405162461bcd60e51b815260040161085890611858565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610d535760405162461bcd60e51b815260040161085890611858565b60018210158015610d65575060648110155b610dbd5760405162461bcd60e51b8152602060048201526024808201527f4d6178207472616e73666572206d7573742062652067726561746572207468616044820152636e20312560e01b6064820152608401610858565b610dd681610a628460015461108b90919063ffffffff16565b6002555050565b60008184841115610e015760405162461bcd60e51b815260040161085891906115ac565b506000610e0e84866118d4565b95945050505050565b60105460009060ff1615610e3757610e3084848461114c565b90506107a8565b610e418483611232565b600e546001600160a01b03848116911614801590610e6a57506001600160a01b03831661dead14155b15610f15576001600160a01b03831660009081526007602052604090205460ff1680610ebb57506003546001600160a01b038416600090815260046020526040902054610eb89084906118eb565b11155b610f155760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b6064820152608401610858565b610f1d61129b565b15610f2a57610f2a6112f1565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260049091529190912054610f7c918490610ddd565b6001600160a01b038516600090815260046020908152604080832093909355600690529081205460ff1615610fb15782610fbc565b610fbc858585611484565b6001600160a01b038516600090815260046020526040902054909150610fe2908261151f565b6001600160a01b0380861660008181526004602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110369085815260200190565b60405180910390a3506001949350505050565b60006107a883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ddd565b60008261109a575060006106e7565b60006110a68385611903565b9050826110b38583611922565b146107a85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610858565b60006107a883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061157e565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260049091529182205461119d918490610ddd565b6001600160a01b0380861660009081526004602052604080822093909355908516815220546111cc908361151f565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112209086815260200190565b60405180910390a35060019392505050565b6002548111158061125b57506001600160a01b03821660009081526007602052604090205460ff165b610b155760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610858565b600e546000906001600160a01b031633148015906112bc575060105460ff16155b80156112d15750600e54600160a01b900460ff165b801561081b575050600f5430600090815260046020526040902054101590565b6010805460ff1916600117905530600090815260046020819052604090912054600f5490916113209190611903565b811061133757600f54611334906004611903565b90505b604080516002808252606082018352600092602083019080368337019050509050308160008151811061136c5761136c61188d565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2816001815181106113b4576113b461188d565b6001600160a01b039283166020918202929092010152600d5460405163791ac94760e01b815291169063791ac947906113fa908590600090869030904290600401611944565b600060405180830381600087803b15801561141457600080fd5b505af1158015611428573d6000803e3d6000fd5b5050505067016345785d8a0000471061147657600b546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611474573d6000803e3d6000fd5b505b50506010805460ff19169055565b600a54600954600091829161149f9190610a6290869061108b565b306000908152600460205260409020549091506114bc908261151f565b30600081815260046020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061150d9085815260200190565b60405180910390a3610e0e8382611049565b60008061152c83856118eb565b9050838110156107a85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610858565b6000818361159f5760405162461bcd60e51b815260040161085891906115ac565b506000610e0e8486611922565b600060208083528351808285015260005b818110156115d9578581018301518582016040015282016115bd565b818111156115eb576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461161857600080fd5b919050565b6000806040838503121561163057600080fd5b61163983611601565b946020939093013593505050565b60008060006060848603121561165c57600080fd5b61166584611601565b925061167360208501611601565b9150604084013590509250925092565b60006020828403121561169557600080fd5b6107a882611601565b8035801515811461161857600080fd5b600080604083850312156116c157600080fd5b6116ca83611601565b91506116d86020840161169e565b90509250929050565b6000602082840312156116f357600080fd5b5035919050565b6000806040838503121561170d57600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561174557600080fd5b823567ffffffffffffffff8082111561175d57600080fd5b818501915085601f83011261177157600080fd5b8135818111156117835761178361171c565b8060051b604051601f19603f830116810181811085821117156117a8576117a861171c565b6040529182528482019250838101850191888311156117c657600080fd5b938501935b828510156117eb576117dc85611601565b845293850193928501926117cb565b98975050505050505050565b6000806040838503121561180a57600080fd5b61181383611601565b91506116d860208401611601565b6000806040838503121561183457600080fd5b6116398361169e565b60006020828403121561184f57600080fd5b6107a88261169e565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156118cd576118cd6118a3565b5060010190565b6000828210156118e6576118e66118a3565b500390565b600082198211156118fe576118fe6118a3565b500190565b600081600019048311821515161561191d5761191d6118a3565b500290565b60008261193f57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119945784516001600160a01b03168352938301939183019160010161196f565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122055e91c943d5b1c22c43079b3668f23a04c0f01d1297f77abeb91eaa9b087ad1f64736f6c634300080b0033