VeChain
Explorer
Testnet
Search
Networks
Main
Test
Contract
0x2f66b5…2b8e
Summary
Transactions
Transfers
Address
0x2f66b59fDF73F821034086FfaCA331484F4d2b8e
VET
0.00
VET
VTHO
0.00
VTHO
Master
0xf077b491b355E64048cE21E3A6Fc4751eEeA77fa
Deployer
0xf077b491b355E64048cE21E3A6Fc4751eEeA77fa
Code
0x6080604052600436106102bd5760003560e01c806301ffc9a7146102c257806305bca0b0146102f757806306fdde031461030e578063081812fc14610330578063095ea7b31461035d57806318160ddd1461037d57806323b872dd146103a0578063248a9ca3146103c05780632b42df38146103e05780632f2ff15d146104005780632f745c59146104205780633261186914610440578063344f1ba51461046057806336568abe146104805780633af03ea8146104a05780633f4ba83a146104c057806342842e0e146104d557806342966c68146104f557806345977d03146105155780634bf5d7e9146105355780634f1ef2861461054a5780634f6ccce71461055d57806352d1902d1461057d57806354fd4d501461059257806355f804b3146105bc578063582a486a146105dc5780635b5da514146105f15780635b70ea9f146106115780635c975abb146106265780635ecf68e91461063b5780635f4e42ca1461065057806361d027b3146106705780636352211e146106855780636a627842146106a55780636c0360eb146106c55780636d5e3032146106da5780636fcfff45146106fa57806370a082311461072f5780637893d7361461074f5780638456cb5914610764578063860f22e6146107795780638c5b76fb1461079957806391d14854146107b957806391ddadf4146107d9578063952f21331461080557806395d89b4114610827578063a217fddf1461083c578063a22cb46514610851578063a49062d414610871578063a51d2e0b14610886578063ad3cb1cc146108a6578063b1ccbd2c146108d7578063b88d4fde146108f7578063c87b56dd14610917578063d325d4ed14610937578063d539139314610957578063d547741f14610979578063ddd8634d14610999578063e63ab1e9146109b9578063e985e9c5146109db578063f1127ed8146109fb578063f72c0d8b14610a47575b600080fd5b3480156102ce57600080fd5b506102e26102dd366004613d39565b610a69565b60405190151581526020015b60405180910390f35b34801561030357600080fd5b5061030c610a7a565b005b34801561031a57600080fd5b50610323610a85565b6040516102ee9190613da6565b34801561033c57600080fd5b5061035061034b366004613db9565b610b26565b6040516102ee9190613dd2565b34801561036957600080fd5b5061030c610378366004613e02565b610b3b565b34801561038957600080fd5b50610392610b4a565b6040519081526020016102ee565b3480156103ac57600080fd5b5061030c6103bb366004613e2c565b610b5f565b3480156103cc57600080fd5b506103926103db366004613db9565b610bf3565b3480156103ec57600080fd5b506103926103fb366004613db9565b610c13565b34801561040c57600080fd5b5061030c61041b366004613e68565b610c33565b34801561042c57600080fd5b5061039261043b366004613e02565b610c4f565b34801561044c57600080fd5b5061039261045b366004613db9565b610cb1565b34801561046c57600080fd5b5061030c61047b366004613db9565b610ce2565b34801561048c57600080fd5b5061030c61049b366004613e68565b610d76565b3480156104ac57600080fd5b5061030c6104bb366004613e94565b610dae565b3480156104cc57600080fd5b5061030c610e6f565b3480156104e157600080fd5b5061030c6104f0366004613e2c565b610e92565b34801561050157600080fd5b5061030c610510366004613db9565b610ead565b34801561052157600080fd5b5061030c610530366004613db9565b610f32565b34801561054157600080fd5b5061032361140f565b61030c610558366004613f8d565b611487565b34801561056957600080fd5b50610392610578366004613db9565b6114a2565b34801561058957600080fd5b50610392611503565b34801561059e57600080fd5b506040805180820190915260018152603160f81b6020820152610323565b3480156105c857600080fd5b5061030c6105d7366004613fda565b611520565b3480156105e857600080fd5b50610350611566565b3480156105fd57600080fd5b5061030c61060c36600461401c565b611584565b34801561061d57600080fd5b5061030c6115b0565b34801561063257600080fd5b506102e26116c5565b34801561064757600080fd5b506103506116da565b34801561065c57600080fd5b5061030c61066b3660046140ad565b6116f5565b34801561067c57600080fd5b50610350611b11565b34801561069157600080fd5b506103506106a0366004613db9565b611b2f565b3480156106b157600080fd5b5061030c6106c0366004613e94565b611b3a565b3480156106d157600080fd5b50610323611b81565b3480156106e657600080fd5b506103926106f5366004613db9565b611b90565b34801561070657600080fd5b5061071a610715366004613e94565b611bb0565b60405163ffffffff90911681526020016102ee565b34801561073b57600080fd5b5061039261074a366004613e94565b611bbb565b34801561075b57600080fd5b50610350611c13565b34801561077057600080fd5b5061030c611c31565b34801561078557600080fd5b50610392610794366004613e94565b611c51565b3480156107a557600080fd5b506102e26107b4366004613e94565b611c92565b3480156107c557600080fd5b506102e26107d4366004613e68565b611e76565b3480156107e557600080fd5b506107ee611eac565b60405165ffffffffffff90911681526020016102ee565b34801561081157600080fd5b5061039260008051602061477683398151915281565b34801561083357600080fd5b50610323611eb6565b34801561084857600080fd5b50610392600081565b34801561085d57600080fd5b5061030c61086c366004614213565b611ed3565b34801561087d57600080fd5b50610392611ede565b34801561089257600080fd5b506103926108a1366004613db9565b611ef3565b3480156108b257600080fd5b50610323604051806040016040528060058152602001640352e302e360dc1b81525081565b3480156108e357600080fd5b5061030c6108f236600461424a565b611f39565b34801561090357600080fd5b5061030c61091236600461427e565b611fb5565b34801561092357600080fd5b50610323610932366004613db9565b611fcc565b34801561094357600080fd5b50610392610952366004613e02565b612040565b34801561096357600080fd5b5061039260008051602061475683398151915281565b34801561098557600080fd5b5061030c610994366004613e68565b6120d0565b3480156109a557600080fd5b5061030c6109b4366004613e94565b6120ec565b3480156109c557600080fd5b5061039260008051602061473683398151915281565b3480156109e757600080fd5b506102e26109f63660046142e5565b6121aa565b348015610a0757600080fd5b50610a1b610a1636600461430f565b6121e9565b60408051825165ffffffffffff1681526020928301516001600160d01b031692810192909252016102ee565b348015610a5357600080fd5b506103926000805160206146f683398151915281565b6000610a74826121fb565b92915050565b610a8333612220565b565b60606000610a91612280565b9050806000018054610aa290614344565b80601f0160208091040260200160405190810160405280929190818152602001828054610ace90614344565b8015610b1b5780601f10610af057610100808354040283529160200191610b1b565b820191906000526020600020905b815481529060010190602001808311610afe57829003601f168201915b505050505091505090565b6000610b31826122a4565b50610a74826122dc565b610b46828233612305565b5050565b600080610b55612312565b6002015492915050565b6001600160a01b038216610b92576000604051633250574960e11b8152600401610b899190613dd2565b60405180910390fd5b6000610b9f838333612336565b9050836001600160a01b0316816001600160a01b031614610bed576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401610b89565b50505050565b600080610bfe612356565b60009384526020525050604090206001015490565b600080610c1e61237a565b60009384526008016020525050604090205490565b610c3c82610bf3565b610c458161239e565b610bed83836123a8565b600080610c5a612312565b9050610c6584611bbb565b8310610c8857838360405163295f44f760e21b8152600401610b8992919061437e565b6001600160a01b0384166000908152602091825260408082208583529092522054905092915050565b600080610cbc61237a565b6000848152600782016020526040902054909150610cdb9060016143ad565b9392505050565b6000610ced8161239e565b6000610cf761237a565b905080600601548311610d6c5760405162461bcd60e51b815260206004820152604360248201526000805160206146d683398151915260448201527f2067726561746572207468616e207468652063757272656e74206d6178206c656064820152621d995b60ea1b608482015260a401610b89565b6006019190915550565b6001600160a01b0381163314610d9f5760405163334bd91960e11b815260040160405180910390fd5b610da98282612449565b505050565b600080516020614776833981519152610dc68161239e565b6001600160a01b038216610e425760405162461bcd60e51b815260206004820152603f60248201527f47616c617879204d656d6265723a205f78416c6c6f636174696f6e73476f766560448201527f726e6f722063616e6e6f7420626520746865207a65726f2061646472657373006064820152608401610b89565b6000610e4c61237a565b80546001600160a01b0319166001600160a01b0394909416939093179092555050565b600080516020614736833981519152610e878161239e565b610e8f6124c1565b50565b610da983838360405180602001604052806000815250611fb5565b33610eb782611b2f565b6001600160a01b031614610f295760405162461bcd60e51b815260206004820152603360248201527f47616c617879204d656d6265723a2063616c6c6572206973206e6f74207468656044820152721037bbb732b91037b3103a3432903a37b5b2b760691b6064820152608401610b89565b610e8f81612518565b610f3a612524565b610f4261255a565b33610f4c82611b2f565b6001600160a01b031614610fbe5760405162461bcd60e51b815260206004820152603360248201527f47616c617879204d656d6265723a20796f75206d757374206f776e2074686520604482015272151bdad95b881d1bc81d5c19dc985919481a5d606a1b6064820152608401610b89565b6000610fc861237a565b600083815260078201602052604090205460068201549192509081106110455760405162461bcd60e51b815260206004820152602c60248201527f47616c617879204d656d6265723a20546f6b656e20697320616c72656164792060448201526b185d081b585e081b195d995b60a21b6064820152608401610b89565b600060088301816110578460016143ad565b81526020810191909152604090810160002054600285015491516370a0823160e01b815290925082916001600160a01b0316906370a082319061109e903390600401613dd2565b602060405180830381865afa1580156110bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110df91906143c0565b10156111445760405162461bcd60e51b815260206004820152602e60248201527f47616c617879204d656d6265723a20496e73756666696369656e742062616c6160448201526d6e636520746f207570677261646560901b6064820152608401610b89565b6002830154604051636eb1769f60e11b815233600482015230602482015282916001600160a01b03169063dd62ed3e90604401602060405180830381865afa158015611194573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b891906143c0565b101561121f5760405162461bcd60e51b815260206004820152603060248201527f47616c617879204d656d6265723a20496e73756666696369656e7420616c6c6f60448201526f77616e636520746f207570677261646560801b6064820152608401610b89565b61122a8260016143ad565b6000858152600785016020908152604080832093909355338252600a860181528282208583529052908120805491611261836143d9565b9091555050336000908152600a840160205260408120906112838460016143ad565b815260200190815260200160002060008154809291906112a2906143f0565b919050555060006112b233611c51565b60008681526007860160205260409020549091508110156112e95760008581526007850160205260409020546112e9903390612580565b600284015460038501546040516323b872dd60e01b81523360048201526001600160a01b039182166024820152604481018590529116906323b872dd906064016020604051808303816000875af1158015611348573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136c9190614409565b6113b85760405162461bcd60e51b815260206004820152601d60248201527f47616c6178794d656d6265723a205472616e73666572206661696c65640000006044820152606401610b89565b60008581526007850160209081526040918290205482518681529182015286917f936f056112badb39ff4b5bf0d185576c15ed35d94502e37e8b6d7bfbec428854910160405180910390a250505050610e8f612632565b6060611419612643565b65ffffffffffff16611429611eac565b65ffffffffffff161461144f576040516301bfc1c560e61b815260040160405180910390fd5b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b61148f61264e565b611498826126f3565b610b46828261270b565b6000806114ad612312565b90506114b7610b4a565b83106114db5760008360405163295f44f760e21b8152600401610b8992919061437e565b8060020183815481106114f0576114f0614426565b9060005260206000200154915050919050565b600061150d6127bf565b5060008051602061471683398151915290565b600061152b8161239e565b600082511161154c5760405162461bcd60e51b8152600401610b899061443c565b600061155661237a565b905060048101610bed84826144c5565b60008061157161237a565b600201546001600160a01b031692915050565b600061158f8161239e565b600061159961237a565b600b01805460ff1916931515939093179092555050565b60006115ba61237a565b600b81015490915060ff16156116225760405162461bcd60e51b815260206004820152602760248201527f47616c617879204d656d6265723a205075626c6963206d696e74696e67206973604482015266081c185d5cd95960ca1b6064820152608401610b89565b61162b33611c92565b6116965760405162461bcd60e51b815260206004820152603660248201527f47616c617879204d656d6265723a205573657220686173206e6f742070617274604482015275696369706174656420696e20676f7665726e616e636560501b6064820152608401610b89565b60006116a061237a565b60058101546000818152600783016020526040902060019055909150610da933612808565b6000806116d0612839565b5460ff1692915050565b6000806116e561237a565b546001600160a01b031692915050565b60006116ff61285d565b805490915060ff600160401b82041615906001600160401b03166000811580156117265750825b90506000826001600160401b031660011480156117425750303b155b905081158015611750575080155b1561176e5760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b0319166001178555831561179757845460ff60401b1916600160401b1785555b60008660e00151116117f15760405162461bcd60e51b815260206004820152602f60248201526000805160206146d683398151915260448201526e02067726561746572207468616e203608c1b6064820152608401610b89565b600086610100015151116118175760405162461bcd60e51b8152600401610b899061443c565b6101408601516001600160a01b03166118975760405162461bcd60e51b815260206004820152603c60248201527f47616c617879204d656d6265723a204233545220746f6b656e2061646472657360448201527b732063616e6e6f7420626520746865207a65726f206164647265737360201b6064820152608401610b89565b6101608601516001600160a01b03166119155760405162461bcd60e51b815260206004820152603a60248201527f47616c617879204d656d6265723a20547265617375727920616464726573732060448201527963616e6e6f7420626520746865207a65726f206164647265737360301b6064820152608401610b89565b61192786600001518760200151612881565b61192f612893565b61193761289b565b61193f612893565b611947612893565b61194f6128ab565b611957612893565b600061196161237a565b60e08801516006820155610100880151909150600482019061198390826144c5565b5060005b876101200151518160ff1610156119f3578761012001518160ff16815181106119b2576119b2614426565b60200260200101518260080160008360026119cd9190614584565b60ff168152602081019190915260400160002055806119eb8161459d565b915050611987565b506101408701516002820180546001600160a01b039283166001600160a01b031991821617909155610160890151600384018054919093169116179055600b8101805460ff191690556040870151611a4d906000906123a8565b50611a6a6000805160206146f683398151915288606001516123a8565b50611a8760008051602061473683398151915288608001516123a8565b50611aa46000805160206147568339815191528860a001516123a8565b50611ac16000805160206147768339815191528860c001516123a8565b50508315611b0957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b600080611b1c61237a565b600301546001600160a01b031692915050565b6000610a74826122a4565b600080516020614756833981519152611b528161239e565b6000611b5c61237a565b60058101546000818152600783016020526040902060019055909150610bed84612808565b6060611b8b6128bb565b905090565b600080611b9b61237a565b60009384526007016020525050604090205490565b6000610a74826128d8565b600080611bc6612280565b90506001600160a01b038316611bf25760006040516322718ad960e21b8152600401610b899190613dd2565b6001600160a01b039092166000908152600390920160205250604090205490565b600080611c1e61237a565b600101546001600160a01b031692915050565b600080516020614736833981519152611c498161239e565b610e8f61290a565b600080611c5c61237a565b6001600160a01b03841660009081526009820160205260409020909150611c8290612951565b6001600160d01b03169392505050565b600080611c9d61237a565b80549091506001600160a01b0316611d105760405162461bcd60e51b815260206004820152603060248201527f47616c617879204d656d6265723a2058416c6c6f636174696f6e566f74696e6760448201526f11dbdd995c9b9bdc881b9bdd081cd95d60821b6064820152608401610b89565b60018101546001600160a01b0316611d765760405162461bcd60e51b815260206004820152602360248201527f47616c617879204d656d6265723a2042335452476f7665726e6f72206e6f74206044820152621cd95d60ea1b6064820152608401610b89565b8054604051639aeb962b60e01b81526001600160a01b0390911690639aeb962b90611da5908690600401613dd2565b602060405180830381865afa158015611dc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de69190614409565b80611e5f57506001810154604051639aeb962b60e01b81526001600160a01b0390911690639aeb962b90611e1e908690600401613dd2565b602060405180830381865afa158015611e3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5f9190614409565b15611e6d5750600192915050565b50600092915050565b600080611e81612356565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b6000611b8b612643565b60606000611ec2612280565b9050806001018054610aa290614344565b610b4633838361298f565b600080611ee961237a565b6006015492915050565b600080611efe61237a565b60008481526007820160205260408120549192506008830191611f229060016143ad565b815260200190815260200160002054915050919050565b6000611f448161239e565b6000611f4e61237a565b905060005b83518160ff161015610bed57838160ff1681518110611f7457611f74614426565b6020026020010151826008016000836002611f8f9190614584565b60ff16815260208101919091526040016000205580611fad8161459d565b915050611f53565b611fc0848484610b5f565b610bed84848484612a34565b60606000611fd861237a565b6000848152600782016020526040902054909150806120065760405180602001604052806000815250612038565b61200e611b81565b61201782612b4b565b6040516020016120289291906145bc565b6040516020818303038152906040525b949350505050565b60008061204b611eac565b90508065ffffffffffff16831061208657604051637669fc0f60e11b81526004810184905265ffffffffffff82166024820152604401610b89565b600061209061237a565b90506120be61209e85612bdd565b6001600160a01b0387166000908152600984016020526040902090612c0f565b6001600160d01b031695945050505050565b6120d982610bf3565b6120e28161239e565b610bed8383612449565b6000805160206147768339815191526121048161239e565b6001600160a01b03821661217a5760405162461bcd60e51b815260206004820152603760248201527f47616c617879204d656d6265723a205f62337472476f7665726e6f722063616e6044820152766e6f7420626520746865207a65726f206164647265737360481b6064820152608401610b89565b600061218461237a565b60010180546001600160a01b0319166001600160a01b0394909416939093179092555050565b6000806121b5612280565b6001600160a01b03948516600090815260059190910160209081526040808320959096168252939093525050205460ff1690565b6121f1613d0c565b610cdb8383612cb7565b60006001600160e01b03198216637965db0b60e01b1480610a745750610a7482612cf0565b600061222a61237a565b60068101549091505b8015610da9576001600160a01b0383166000908152600a8301602090815260408083208484529091529020541561226e57610da98382612580565b80612278816143d9565b915050612233565b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930090565b6000806122b083612d15565b90506001600160a01b038116610a7457604051637e27328960e01b815260048101849052602401610b89565b6000806122e7612280565b6000938452600401602052505060409020546001600160a01b031690565b610da98383836001612d3e565b7f645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed0090565b600061234061255a565b61234b828585612e48565b612038848484612fa3565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b7f7a79e46844ed04411e4579c7bc49d053e59b0854fa4e9a8df3d5a0597ce4520090565b610e8f8133612fb8565b6000806123b3612356565b90506123bf8484611e76565b61243f576000848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556123f53390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610a74565b6000915050610a74565b600080612454612356565b90506124608484611e76565b1561243f576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610a74565b6124c9612fe3565b60006124d3612839565b805460ff1916815590507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405161250d9190613dd2565b60405180910390a150565b610b4660008233612336565b600061252e613008565b80549091506001190161255457604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b6125626116c5565b15610a835760405163d93c066560e01b815260040160405180910390fd5b600061258a61237a565b90508161259684611c51565b14610da9576001600160a01b0383166000908152600982016020526040812081906125c9906125c48661302c565b61305b565b6001600160d01b031691506001600160d01b03169150846001600160a01b03167f13c176ea972a95c2e9d4fac2a9ba6d6945e1b9c80eb17e26bd04bd9a3e229edf8383604051612623929190918252602082015260400190565b60405180910390a25050505050565b600061263c613008565b6001905550565b6000611b8b43612bdd565b306001600160a01b037f0000000000000000000000002f66b59fdf73f821034086ffaca331484f4d2b8e1614806126d557507f0000000000000000000000002f66b59fdf73f821034086ffaca331484f4d2b8e6001600160a01b03166126c9600080516020614716833981519152546001600160a01b031690565b6001600160a01b031614155b15610a835760405163703e46dd60e11b815260040160405180910390fd5b6000805160206146f6833981519152610b468161239e565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612765575060408051601f3d908101601f19168201909252612762918101906143c0565b60015b6127845781604051634c9c8ce360e01b8152600401610b899190613dd2565b60008051602061471683398151915281146127b557604051632a87526960e21b815260048101829052602401610b89565b610da9838361307c565b306001600160a01b037f0000000000000000000000002f66b59fdf73f821034086ffaca331484f4d2b8e1614610a835760405163703e46dd60e11b815260040160405180910390fd5b600061281261237a565b6005810180549192506000919082612829836143f0565b919050559050610da983826130d2565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b6128896130ec565b610b468282613111565b610a836130ec565b6128a36130ec565b610a8361313f565b6128b36130ec565b610a8361315c565b606060006128c761237a565b9050806004018054610aa290614344565b6000806128e361237a565b6001600160a01b0384166000908152600982016020526040902054909150610cdb90613164565b61291261255a565b600061291c612839565b805460ff1916600117815590507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586125003390565b80546000908015611e6d576129798361296b6001846145eb565b600091825260209091200190565b54600160301b90046001600160d01b0316610cdb565b6000612999612280565b90506001600160a01b0383166129c45782604051630b61174360e31b8152600401610b899190613dd2565b6001600160a01b038481166000818152600584016020908152604080832094881680845294825291829020805460ff191687151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a350505050565b6001600160a01b0383163b15610bed57604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290612a769033908890879087906004016145fe565b6020604051808303816000875af1925050508015612ab1575060408051601f3d908101601f19168201909252612aae9181019061463b565b60015b612b11573d808015612adf576040519150601f19603f3d011682016040523d82523d6000602084013e612ae4565b606091505b508051600003612b095783604051633250574960e11b8152600401610b899190613dd2565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b14612b445783604051633250574960e11b8152600401610b899190613dd2565b5050505050565b60606000612b5883613190565b60010190506000816001600160401b03811115612b7757612b77613eaf565b6040519080825280601f01601f191660200182016040528015612ba1576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084612bab57509392505050565b600065ffffffffffff821115612c0b576030826040516306dfcc6560e41b8152600401610b8992919061466e565b5090565b815460009081816005811115612c6e576000612c2a84613266565b612c3490856145eb565b60008881526020902090915081015465ffffffffffff9081169087161015612c5e57809150612c6c565b612c698160016143ad565b92505b505b6000612c7c8787858561334e565b90508015612ca957612c938761296b6001846145eb565b54600160301b90046001600160d01b0316612cac565b60005b979650505050505050565b612cbf613d0c565b6000612cc961237a565b6001600160a01b0385166000908152600982016020526040902090915061203890846133b0565b60006001600160e01b0319821663780e9d6360e01b1480610a745750610a7482613414565b600080612d20612280565b6000938452600201602052505060409020546001600160a01b031690565b6000612d48612280565b90508180612d5e57506001600160a01b03831615155b15612e17576000612d6e856122a4565b90506001600160a01b03841615801590612d9a5750836001600160a01b0316816001600160a01b031614155b8015612dad5750612dab81856121aa565b155b15612dcd578360405163a9fbf51f60e01b8152600401610b899190613dd2565b8215612e155784866001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b600093845260040160205250506040902080546001600160a01b0319166001600160a01b0392909216919091179055565b816001600160a01b0316836001600160a01b031614610da9576000612e6b61237a565b90506001600160a01b03841615612f1657612e8584611bbb565b600103612e9757612e97846000612580565b6001600160a01b0384166000908152600a8201602090815260408083208584526007850183528184205484529091528120805491612ed4836143d9565b9190505550612ee284611c51565b6000838152600783016020526040902054148015612f0857506001612f0685611bbb565b115b15612f1657612f1684612220565b6001600160a01b03831615610bed576001600160a01b0383166000908152600a8201602090815260408083208584526007850183528184205484529091528120805491612f62836143f0565b9190505550612f7083611c51565b60008381526007830160205260409020541115610bed576000828152600782016020526040902054610bed908490612580565b6000612fad61255a565b612038848484613464565b612fc28282611e76565b610b4657808260405163e2517d3f60e01b8152600401610b8992919061437e565b612feb6116c5565b610a8357604051638dfc202b60e01b815260040160405180910390fd5b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0090565b60006001600160d01b03821115612c0b5760d0826040516306dfcc6560e41b8152600401610b8992919061466e565b600080613071613069611eac565b8590856134f2565b915091509250929050565b6130858261350d565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156130ca57610da98282613569565b610b466135df565b610b468282604051806020016040528060008152506135fe565b6130f4613615565b610a8357604051631afcd79f60e31b815260040160405180910390fd5b6131196130ec565b6000613123612280565b90508061313084826144c5565b5060018101610bed83826144c5565b6131476130ec565b6000613151612839565b805460ff1916905550565b6126326130ec565b600063ffffffff821115612c0b576020826040516306dfcc6560e41b8152600401610b8992919061466e565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106131cf5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b83106131f9576904ee2d6d415b85acef8160201b830492506020015b662386f26fc10000831061321757662386f26fc10000830492506010015b6305f5e100831061322f576305f5e100830492506008015b612710831061324357612710830492506004015b60648310613255576064830492506002015b600a8310610a745760010192915050565b60008160000361327857506000919050565b600060016132858461362f565b901c6001901b9050600181848161329e5761329e614658565b048201901c905060018184816132b6576132b6614658565b048201901c905060018184816132ce576132ce614658565b048201901c905060018184816132e6576132e6614658565b048201901c905060018184816132fe576132fe614658565b048201901c9050600181848161331657613316614658565b048201901c9050600181848161332e5761332e614658565b048201901c9050610cdb8182858161334857613348614658565b046136c3565b60005b818310156133a857600061336584846136d9565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613394578092506133a2565b61339f8160016143ad565b93505b50613351565b509392505050565b6133b8613d0c565b826000018263ffffffff16815481106133d3576133d3614426565b60009182526020918290206040805180820190915291015465ffffffffffff81168252600160301b90046001600160d01b0316918101919091529392505050565b60006001600160e01b031982166380ac58cd60e01b148061344557506001600160e01b03198216635b5e139f60e01b145b80610a7457506301ffc9a760e01b6001600160e01b0319831614610a74565b6000806134728585856136f4565b90506001600160a01b0381166134905761348b846137fb565b6134b3565b846001600160a01b0316816001600160a01b0316146134b3576134b38185613834565b6001600160a01b0385166134cf576134ca846138d5565b612038565b846001600160a01b0316816001600160a01b03161461203857612038858561399e565b6000806135008585856139f6565b915091505b935093915050565b806001600160a01b03163b60000361353a5780604051634c9c8ce360e01b8152600401610b899190613dd2565b60008051602061471683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516135869190614681565b600060405180830381855af49150503d80600081146135c1576040519150601f19603f3d011682016040523d82523d6000602084013e6135c6565b606091505b50915091506135d6858383613b70565b95945050505050565b3415610a835760405163b398979f60e01b815260040160405180910390fd5b6136088383613bc3565b610da96000848484612a34565b600061361f61285d565b54600160401b900460ff16919050565b600080608083901c1561364457608092831c92015b604083901c1561365657604092831c92015b602083901c1561366857602092831c92015b601083901c1561367a57601092831c92015b600883901c1561368c57600892831c92015b600483901c1561369e57600492831c92015b600283901c156136b057600292831c92015b600183901c15610a745760010192915050565b60008183106136d25781610cdb565b5090919050565b60006136e8600284841861469d565b610cdb908484166143ad565b6000806136ff612280565b9050600061370c85612d15565b90506001600160a01b0384161561372857613728818587613c28565b6001600160a01b0381161561376857613745600086600080612d3e565b6001600160a01b0381166000908152600383016020526040902080546000190190555b6001600160a01b03861615613799576001600160a01b03861660009081526003830160205260409020805460010190555b600085815260028301602052604080822080546001600160a01b0319166001600160a01b038a811691821790925591518893918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a495945050505050565b6000613805612312565b600281018054600085815260039093016020908152604084208290556001820183559183529120019190915550565b600061383e612312565b9050600061384b84611bbb565b60008481526001840160205260409020549091508082146138a0576001600160a01b03851660009081526020848152604080832085845282528083205484845281842081905583526001860190915290208190555b50600092835260018201602090815260408085208590556001600160a01b039095168452918252838320908352905290812055565b60006138df612312565b60028101549091506000906138f6906001906145eb565b600084815260038401602052604081205460028501805493945090928490811061392257613922614426565b906000526020600020015490508084600201838154811061394557613945614426565b600091825260208083209091019290925582815260038601909152604080822084905586825281205560028401805480613981576139816146bf565b600190038181906000526020600020016000905590555050505050565b60006139a8612312565b9050600060016139b785611bbb565b6139c191906145eb565b6001600160a01b0390941660009081526020838152604080832087845282528083208690559482526001909301909252502055565b825460009081908015613b15576000613a148761296b6001856145eb565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015613a6857604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603613ab45784613a8b8861296b6001866145eb565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055613b05565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b6020015192508391506135059050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081613505565b606082613b8557613b8082613c7e565b610cdb565b8151158015613b9c57506001600160a01b0384163b155b15613bbc5783604051639996b31560e01b8152600401610b899190613dd2565b5080610cdb565b6001600160a01b038216613bed576000604051633250574960e11b8152600401610b899190613dd2565b6000613bfb83836000612336565b90506001600160a01b03811615610da95760006040516339e3563760e11b8152600401610b899190613dd2565b613c33838383613ca7565b610da9576001600160a01b038316613c6157604051637e27328960e01b815260048101829052602401610b89565b818160405163177e802f60e01b8152600401610b8992919061437e565b805115613c8e5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60006001600160a01b038316158015906120385750826001600160a01b0316846001600160a01b03161480613ce15750613ce184846121aa565b806120385750826001600160a01b0316613cfa836122dc565b6001600160a01b031614949350505050565b604080518082019091526000808252602082015290565b6001600160e01b031981168114610e8f57600080fd5b600060208284031215613d4b57600080fd5b8135610cdb81613d23565b60005b83811015613d71578181015183820152602001613d59565b50506000910152565b60008151808452613d92816020860160208601613d56565b601f01601f19169290920160200192915050565b602081526000610cdb6020830184613d7a565b600060208284031215613dcb57600080fd5b5035919050565b6001600160a01b0391909116815260200190565b80356001600160a01b0381168114613dfd57600080fd5b919050565b60008060408385031215613e1557600080fd5b613e1e83613de6565b946020939093013593505050565b600080600060608486031215613e4157600080fd5b613e4a84613de6565b9250613e5860208501613de6565b9150604084013590509250925092565b60008060408385031215613e7b57600080fd5b82359150613e8b60208401613de6565b90509250929050565b600060208284031215613ea657600080fd5b610cdb82613de6565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b0381118282101715613ee857613ee8613eaf565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613f1657613f16613eaf565b604052919050565b600082601f830112613f2f57600080fd5b81356001600160401b03811115613f4857613f48613eaf565b613f5b601f8201601f1916602001613eee565b818152846020838601011115613f7057600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215613fa057600080fd5b613fa983613de6565b915060208301356001600160401b03811115613fc457600080fd5b613fd085828601613f1e565b9150509250929050565b600060208284031215613fec57600080fd5b81356001600160401b0381111561400257600080fd5b61203884828501613f1e565b8015158114610e8f57600080fd5b60006020828403121561402e57600080fd5b8135610cdb8161400e565b600082601f83011261404a57600080fd5b813560206001600160401b0382111561406557614065613eaf565b8160051b614074828201613eee565b928352848101820192828101908785111561408e57600080fd5b83870192505b84831015612cac57823582529183019190830190614094565b6000602082840312156140bf57600080fd5b81356001600160401b03808211156140d657600080fd5b9083019061018082860312156140eb57600080fd5b6140f3613ec5565b82358281111561410257600080fd5b61410e87828601613f1e565b82525060208301358281111561412357600080fd5b61412f87828601613f1e565b60208301525061414160408401613de6565b604082015261415260608401613de6565b606082015261416360808401613de6565b608082015261417460a08401613de6565b60a082015261418560c08401613de6565b60c082015260e083013560e082015261010080840135838111156141a857600080fd5b6141b488828701613f1e565b82840152505061012080840135838111156141ce57600080fd5b6141da88828701614039565b82840152505061014091506141f0828401613de6565b828201526101609150614204828401613de6565b91810191909152949350505050565b6000806040838503121561422657600080fd5b61422f83613de6565b9150602083013561423f8161400e565b809150509250929050565b60006020828403121561425c57600080fd5b81356001600160401b0381111561427257600080fd5b61203884828501614039565b6000806000806080858703121561429457600080fd5b61429d85613de6565b93506142ab60208601613de6565b92506040850135915060608501356001600160401b038111156142cd57600080fd5b6142d987828801613f1e565b91505092959194509250565b600080604083850312156142f857600080fd5b61430183613de6565b9150613e8b60208401613de6565b6000806040838503121561432257600080fd5b61432b83613de6565b9150602083013563ffffffff8116811461423f57600080fd5b600181811c9082168061435857607f821691505b60208210810361437857634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610a7457610a74614397565b6000602082840312156143d257600080fd5b5051919050565b6000816143e8576143e8614397565b506000190190565b60006001820161440257614402614397565b5060010190565b60006020828403121561441b57600080fd5b8151610cdb8161400e565b634e487b7160e01b600052603260045260246000fd5b60208082526023908201527f47616c617879204d656d6265723a204261736520555249206d757374206265206040820152621cd95d60ea1b606082015260800190565b601f821115610da957600081815260208120601f850160051c810160208610156144a65750805b601f850160051c820191505b81811015611b09578281556001016144b2565b81516001600160401b038111156144de576144de613eaf565b6144f2816144ec8454614344565b8461447f565b602080601f831160018114614527576000841561450f5750858301515b600019600386901b1c1916600185901b178555611b09565b600085815260208120601f198616915b8281101561455657888601518255948401946001909101908401614537565b50858210156145745787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60ff8181168382160190811115610a7457610a74614397565b600060ff821660ff81036145b3576145b3614397565b60010192915050565b600083516145ce818460208801613d56565b8351908301906145e2818360208801613d56565b01949350505050565b81810381811115610a7457610a74614397565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061463190830184613d7a565b9695505050505050565b60006020828403121561464d57600080fd5b8151610cdb81613d23565b634e487b7160e01b600052601260045260246000fd5b60ff929092168252602082015260400190565b60008251614693818460208701613d56565b9190910192915050565b6000826146ba57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603160045260246000fdfe47616c617879204d656d6265723a204d6178206c6576656c206d757374206265189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a656af926aa3845d4dc63a6c773ed36f51794728c97ebcd1bf845bcecb16eeb6b7a26469706673582212205eedead496a64a7426e0b6fb99275ac86903264b54c952c96e6ee8c3bb34219264736f6c63430008140033