VeChain
Explorer
Mainnet
Search
Networks
Main
Test
Contract
0x8c41b2…3c31
Summary
Transactions
Transfers
Address
0x8c41b27504C2EA059312c55122D07149A3363c31
VET
0.00
VET
VTHO
0.00
VTHO
Master
0x5541b7c4566293Cc6966DEFbd2047806b8D89D8B
Deployer
0x5541b7c4566293Cc6966DEFbd2047806b8D89D8B
Code
0x6080604052600436106103e65760003560e01c806301ffc9a7146103eb578063021a5f481461042057806303f1737d1461044257806306fdde0314610457578063081812fc1461047957806309589975146104a6578063095ea7b3146104ca57806314e34030146104ea578063150b7a021461050057806318160ddd146105395780631c19c2151461054e57806323b872dd1461056e5780632403c08e1461058e578063248a9ca3146105a35780632682a376146105c3578063298d904a146105e35780632a55205a146106035780632c91b7f8146106315780632cf74d1c146106515780632f2ff15d146106715780632f745c591461069157806334452f38146106b157806336568abe146106c657806339091184146106e65780633b37d1d6146107005780633ccfd60b146107155780633f4ba83a1461072a57806342842e0e1461073f57806342966c681461075f578063438b63001461077f57806343b17259146107ac578063449bcd92146107cc57806344b28d59146107ec578063494cfc6c1461080157806349d5e604146108215780634f6ccce7146108435780635157f46f1461086357806355f804b3146108795780635944c75314610899578063599d2cb1146108b95780635c868028146108d95780635c975abb146108f95780635dc96d16146109115780635ea8cd12146109305780636352211e146109505780636b0000f5146109705780636f8b44b014610990578063708612e1146109b057806370a08231146109c657806375b238fc146109e65780637b45275d14610a085780637caad58314610a1e5780637fd6b25e14610a3e5780638456cb5914610a5457806384cf6b4e14610a695780638a616bc014610a7f5780638c5db77614610a9f5780638c63c07214610acc57806391d1485414610aec57806395d89b4114610b0c5780639659867e14610b215780639d1b464a14610b375780639d980bd214610b4c578063a217fddf14610b62578063a22cb46514610b77578063a288caa314610b97578063a3117bc014610bad578063a8d0466c14610bcd578063acc3f3a814610be7578063b88d4fde14610c07578063c21b471b14610c27578063c32a50f914610c47578063c87b56dd14610c67578063cbb3071814610c87578063d123973014610ca7578063d4f3ecc614610cc1578063d539139314610ce1578063d547741f14610d15578063d5abeb0114610d35578063e45be8eb14610d4b578063e467f7e014610d61578063e686cbd314610d74578063e985e9c514610ddf578063e9c2651814610dff578063ea60be0c14610e33578063f489e49614610e48578063fc11913314610e68578063fc9b05df14610e88578063fca76c2614610e9d575b600080fd5b3480156103f757600080fd5b5061040b610406366004615130565b610eb2565b60405190151581526020015b60405180910390f35b34801561042c57600080fd5b5061044061043b3660046150f6565b610ec3565b005b34801561044e57600080fd5b50610440610f23565b34801561046357600080fd5b5061046c611043565b6040516104179190615401565b34801561048557600080fd5b506104996104943660046150f6565b6110d5565b604051610417919061532f565b3480156104b257600080fd5b506104bc602a5481565b604051908152602001610417565b3480156104d657600080fd5b506104406104e5366004614eb7565b6110fc565b3480156104f657600080fd5b506104bc60295481565b34801561050c57600080fd5b5061052061051b366004614e09565b61120d565b6040516001600160e01b03199091168152602001610417565b34801561054557600080fd5b50600a546104bc565b34801561055a57600080fd5b506104406105693660046150f6565b61121e565b34801561057a57600080fd5b50610440610589366004614dce565b61129b565b34801561059a57600080fd5b506104406112cd565b3480156105af57600080fd5b506104bc6105be3660046150f6565b61132c565b3480156105cf57600080fd5b506104406105de366004614f09565b611341565b3480156105ef57600080fd5b50601d54610499906001600160a01b031681565b34801561060f57600080fd5b5061062361061e3660046151ed565b61169f565b6040516104179291906153a4565b34801561063d57600080fd5b5061044061064c3660046150be565b61174d565b34801561065d57600080fd5b50602254610499906001600160a01b031681565b34801561067d57600080fd5b5061044061068c36600461510e565b6117b2565b34801561069d57600080fd5b506104bc6106ac366004614eb7565b6117ce565b3480156106bd57600080fd5b50610440611864565b3480156106d257600080fd5b506104406106e136600461510e565b6118c2565b3480156106f257600080fd5b5060185461040b9060ff1681565b34801561070c57600080fd5b50610440611940565b34801561072157600080fd5b506104406119a3565b34801561073657600080fd5b506104406119f2565b34801561074b57600080fd5b5061044061075a366004614dce565b611a4e565b34801561076b57600080fd5b5061044061077a3660046150f6565b611a69565b34801561078b57600080fd5b5061079f61079a366004614d82565b611a97565b60405161041791906153bd565b3480156107b857600080fd5b50602054610499906001600160a01b031681565b3480156107d857600080fd5b506104406107e73660046150f6565b611b54565b3480156107f857600080fd5b50610440611bab565b34801561080d57600080fd5b5061079f61081c3660046151ed565b611c0c565b34801561082d57600080fd5b506104bc60008051602061583683398151915281565b34801561084f57600080fd5b506104bc61085e3660046150f6565b611ce5565b34801561086f57600080fd5b506104bc60155481565b34801561088557600080fd5b50610440610894366004615168565b611d86565b3480156108a557600080fd5b506104406108b43660046151b2565b611deb565b3480156108c557600080fd5b506104406108d4366004614d82565b611e48565b3480156108e557600080fd5b50601f54610499906001600160a01b031681565b34801561090557600080fd5b50600d5460ff1661040b565b34801561091d57600080fd5b5060105461040b90610100900460ff1681565b34801561093c57600080fd5b5061044061094b3660046150f6565b611ebc565b34801561095c57600080fd5b5061049961096b3660046150f6565b611f13565b34801561097c57600080fd5b5061044061098b366004614d82565b611f47565b34801561099c57600080fd5b506104406109ab3660046150f6565b611f82565b3480156109bc57600080fd5b506104bc60255481565b3480156109d257600080fd5b506104bc6109e1366004614d82565b611fea565b3480156109f257600080fd5b506104bc60008051602061585683398151915281565b348015610a1457600080fd5b506104bc60285481565b348015610a2a57600080fd5b50610440610a39366004614f71565b612070565b348015610a4a57600080fd5b506104bc60265481565b348015610a6057600080fd5b506104406121e4565b348015610a7557600080fd5b506104bc60145481565b348015610a8b57600080fd5b50610440610a9a3660046150f6565b61223e565b348015610aab57600080fd5b506104bc610aba366004614d82565b60166020526000908152604090205481565b348015610ad857600080fd5b50610440610ae7366004614d82565b6122a1565b348015610af857600080fd5b5061040b610b0736600461510e565b612315565b348015610b1857600080fd5b5061046c612340565b348015610b2d57600080fd5b506104bc60115481565b348015610b4357600080fd5b506104bc61234f565b348015610b5857600080fd5b506104bc602b5481565b348015610b6e57600080fd5b506104bc600081565b348015610b8357600080fd5b50610440610b92366004614e81565b6123be565b348015610ba357600080fd5b506104bc60275481565b348015610bb957600080fd5b50610440610bc83660046151ed565b6123c9565b348015610bd957600080fd5b5060135461040b9060ff1681565b348015610bf357600080fd5b50610440610c0236600461502c565b612426565b348015610c1357600080fd5b50610440610c22366004614e09565b6124ea565b348015610c3357600080fd5b50610440610c42366004614ee0565b61251c565b348015610c5357600080fd5b50610440610c623660046150f6565b612578565b348015610c7357600080fd5b5061046c610c823660046150f6565b612596565b348015610c9357600080fd5b50602154610499906001600160a01b031681565b348015610cb357600080fd5b5060105461040b9060ff1681565b348015610ccd57600080fd5b50610440610cdc36600461520e565b6125a1565b348015610ced57600080fd5b506104bc7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b348015610d2157600080fd5b50610440610d3036600461510e565b612601565b348015610d4157600080fd5b506104bc60125481565b348015610d5757600080fd5b506104bc60245481565b61079f610d6f366004614f09565b61261d565b348015610d8057600080fd5b50610dcc610d8f3660046150f6565b602c602052600090815260409020805460018201546002830154600384015460048501546005860154600690960154949593949293919290919087565b60405161041797969594939291906155d9565b348015610deb57600080fd5b5061040b610dfa366004614d9c565b612c84565b348015610e0b57600080fd5b506104bc7f3b5d4cc60d3ec3516ee8ae083bd60934f6eb2a6c54b1229985c41bfb092b260381565b348015610e3f57600080fd5b50601b546104bc565b348015610e5457600080fd5b50610440610e633660046150f6565b612cb2565b348015610e7457600080fd5b50610440610e83366004614d9c565b612d09565b348015610e9457600080fd5b50610440612d89565b348015610ea957600080fd5b50610440612dde565b6000610ebd82612e06565b92915050565b610edb60008051602061583683398151915233612315565b80610ef95750610ef960008051602061585683398151915233612315565b610f1e5760405162461bcd60e51b8152600401610f1590615560565b60405180910390fd5b602855565b600080516020615856833981519152610f3b81612e11565b610f43612e1b565b6022546040516370a0823160e01b81526001600160a01b0390911690819063a9059cbb90339083906370a0823190610f7f90309060040161532f565b60206040518083038186803b158015610f9757600080fd5b505afa158015610fab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcf919061519a565b6040518363ffffffff1660e01b8152600401610fec9291906153a4565b602060405180830381600087803b15801561100657600080fd5b505af115801561101a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103e91906150da565b505050565b60606002805461105290615745565b80601f016020809104026020016040519081016040528092919081815260200182805461107e90615745565b80156110cb5780601f106110a0576101008083540402835291602001916110cb565b820191906000526020600020905b8154815290600101906020018083116110ae57829003601f168201915b5050505050905090565b60006110e082612e61565b506000908152600660205260409020546001600160a01b031690565b600061110782611f13565b9050806001600160a01b0316836001600160a01b031614156111755760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610f15565b336001600160a01b038216148061119157506111918133612c84565b6112035760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610f15565b61103e8383612e86565b630a85bd0160e11b5b949350505050565b611226612e1b565b3361123082611f13565b6001600160a01b0316146112845760405162461bcd60e51b815260206004820152601b60248201527a6f6e6c79206f776e65722063616e207265726f6c6c20737461747360281b6044820152606401610f15565b61128f602b54612ef4565b611298816130a3565b50565b6112a6335b82613219565b6112c25760405162461bcd60e51b8152600401610f1590615414565b61103e838383613277565b6112e560008051602061583683398151915233612315565b80611303575061130360008051602061585683398151915233612315565b61131f5760405162461bcd60e51b8152600401610f1590615560565b6010805461ff0019169055565b6000908152600e602052604090206001015490565b60008051602061585683398151915261135981612e11565b60005b828110156116975760185460ff161561140957601984848381811061139157634e487b7160e01b600052603260045260246000fd5b90506020028101906113a39190615609565b6040516113b1929190615265565b9081526040519081900360200190205460ff16600114156114095760405162461bcd60e51b815260206004820152601260248201527175726920616c72656164792065786973747360701b6044820152606401610f15565b601a600087878481811061142d57634e487b7160e01b600052603260045260246000fd5b602090810292909201358352508101919091526040016000205460ff16600114156114945760405162461bcd60e51b8152602060048201526017602482015276746f6b656e20696420616c72656164792065786973747360481b6044820152606401610f15565b60008484838181106114b657634e487b7160e01b600052603260045260246000fd5b90506020028101906114c89190615609565b90501161150d5760405162461bcd60e51b81526020600482015260136024820152727572692063616e6e6f7420626520656d70747960681b6044820152606401610f15565b601b86868381811061152f57634e487b7160e01b600052603260045260246000fd5b8354600181018555600094855260209485902091909402929092013591909201555083838281811061157157634e487b7160e01b600052603260045260246000fd5b90506020028101906115839190615609565b601c60008989868181106115a757634e487b7160e01b600052603260045260246000fd5b90506020020135815260200190815260200160002091906115c9929190614b54565b50600160198585848181106115ee57634e487b7160e01b600052603260045260246000fd5b90506020028101906116009190615609565b60405161160e929190615265565b908152604051908190036020019020805460ff9290921660ff199092169190911790556001601a600088888581811061165757634e487b7160e01b600052603260045260246000fd5b90506020020135815260200190815260200160002060006101000a81548160ff021916908360ff160217905550808061168f90615780565b91505061135c565b505050505050565b60008281526001602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b03169282019290925282916117145750604080518082019091526000546001600160a01b0381168252600160a01b90046001600160601b031660208201525b602081015160009061271090611733906001600160601b0316876156cc565b61173d91906156b8565b91519350909150505b9250929050565b61176560008051602061583683398151915233612315565b80611783575061178360008051602061585683398151915233612315565b61179f5760405162461bcd60e51b8152600401610f1590615560565b6018805460ff1916911515919091179055565b6117bb8261132c565b6117c481612e11565b61103e83836133d6565b60006117d983611fea565b821061183b5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610f15565b506001600160a01b03919091166000908152600860209081526040808320938352929052205490565b61187c60008051602061583683398151915233612315565b8061189a575061189a60008051602061585683398151915233612315565b6118b65760405162461bcd60e51b8152600401610f1590615560565b6010805460ff19169055565b6001600160a01b03811633146119325760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610f15565b61193c828261345c565b5050565b61195860008051602061583683398151915233612315565b80611976575061197660008051602061585683398151915233612315565b6119925760405162461bcd60e51b8152600401610f1590615560565b6010805461ff001916610100179055565b6000805160206158568339815191526119bb81612e11565b6119c3612e1b565b6040514790339082156108fc029083906000818181858888f1935050505015801561103e573d6000803e3d6000fd5b611a0a60008051602061583683398151915233612315565b80611a285750611a2860008051602061585683398151915233612315565b611a445760405162461bcd60e51b8152600401610f1590615560565b611a4c6134c3565b565b61103e838383604051806020016040528060008152506124ea565b611a72336112a0565b611a8e5760405162461bcd60e51b8152600401610f1590615414565b6112988161350f565b60606000611aa483611fea565b90506000816001600160401b03811115611ace57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015611af7578160200160208202803683370190505b50905060005b82811015611b4c57611b0f85826117ce565b828281518110611b2f57634e487b7160e01b600052603260045260246000fd5b602090810291909101015280611b4481615780565b915050611afd565b509392505050565b611b6c60008051602061583683398151915233612315565b80611b8a5750611b8a60008051602061585683398151915233612315565b611ba65760405162461bcd60e51b8152600401610f1590615560565b602a55565b611bc360008051602061583683398151915233612315565b80611be15750611be160008051602061585683398151915233612315565b611bfd5760405162461bcd60e51b8152600401610f1590615560565b6010805460ff19166001179055565b60606000611c1a84846156eb565b611c259060016156a0565b6001600160401b03811115611c4a57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015611c73578160200160208202803683370190505b5090506000845b848111611cdb57611c8a8161359a565b15611cc95780838381518110611cb057634e487b7160e01b600052603260045260246000fd5b602090810291909101015281611cc581615780565b9250505b80611cd381615780565b915050611c7a565b5090949350505050565b6000611cf0600a5490565b8210611d535760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610f15565b600a8281548110611d7457634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050919050565b611d9e60008051602061583683398151915233612315565b80611dbc5750611dbc60008051602061585683398151915233612315565b611dd85760405162461bcd60e51b8152600401610f1590615560565b805161193c90600f906020840190614bd8565b611e0360008051602061583683398151915233612315565b80611e215750611e2160008051602061585683398151915233612315565b611e3d5760405162461bcd60e51b8152600401610f1590615560565b61103e8383836135b7565b611e6060008051602061583683398151915233612315565b80611e7e5750611e7e60008051602061585683398151915233612315565b611e9a5760405162461bcd60e51b8152600401610f1590615560565b602280546001600160a01b0319166001600160a01b0392909216919091179055565b611ed460008051602061583683398151915233612315565b80611ef25750611ef260008051602061585683398151915233612315565b611f0e5760405162461bcd60e51b8152600401610f1590615560565b602455565b600080611f1f83613680565b90506001600160a01b038116610ebd5760405162461bcd60e51b8152600401610f159061552e565b600080516020615856833981519152611f5f81612e11565b50601d80546001600160a01b0319166001600160a01b0392909216919091179055565b600080516020615856833981519152611f9a81612e11565b60135460ff1615611fe45760405162461bcd60e51b815260206004820152601460248201527326b0bc1039bab838363c9034b990333937bd32b760611b6044820152606401610f15565b50601255565b60006001600160a01b0382166120545760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610f15565b506001600160a01b031660009081526005602052604090205490565b61208860008051602061583683398151915233612315565b806120a657506120a660008051602061585683398151915233612315565b6120c25760405162461bcd60e51b8152600401610f1590615560565b6000815b83516120d290846156a0565b8110156121de576120e28161359a565b61212e5760405162461bcd60e51b815260206004820152601f60248201527f55524920717565727920666f72206e6f6e6578697374656e7420746f6b656e006044820152606401610f15565b61215f8185848151811061215257634e487b7160e01b600052603260045260246000fd5b602002602001015161369b565b807fa21868eaf3c7f76e3920b694616a9b525dabdac615d6e3da5f3890aac442e05d8584815181106121a157634e487b7160e01b600052603260045260246000fd5b60200260200101516040516121b69190615401565b60405180910390a2816121c881615780565b92505080806121d690615780565b9150506120c6565b50505050565b6121fc60008051602061583683398151915233612315565b8061221a575061221a60008051602061585683398151915233612315565b6122365760405162461bcd60e51b8152600401610f1590615560565b611a4c613726565b61225660008051602061583683398151915233612315565b80612274575061227460008051602061585683398151915233612315565b6122905760405162461bcd60e51b8152600401610f1590615560565b600090815260016020526040812055565b6122b960008051602061583683398151915233612315565b806122d757506122d760008051602061585683398151915233612315565b6122f35760405162461bcd60e51b8152600401610f1590615560565b602180546001600160a01b0319166001600160a01b0392909216919091179055565b6000918252600e602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606003805461105290615745565b6000806029544361236091906156eb565b905060006028548261237291906156cc565b9050601e54811115612388576024549250505090565b60245481601e5461239991906156eb565b10156123a9576024549250505090565b80601e546123b791906156eb565b9250505090565b61193c338383613763565b6123e160008051602061583683398151915233612315565b806123ff57506123ff60008051602061585683398151915233612315565b61241b5760405162461bcd60e51b8152600401610f1590615560565b601491909155601555565b60008051602061585683398151915261243e81612e11565b60005b825181101561103e57600083828151811061246c57634e487b7160e01b600052603260045260246000fd5b6020026020010151905060006124818261382e565b90506019816040516124939190615275565b9081526040805160209281900383019020805460ff191690556000848152601c90925281206124c191614c4c565b506000908152601a60205260409020805460ff19169055806124e281615780565b915050612441565b6124f43383613219565b6125105760405162461bcd60e51b8152600401610f1590615414565b6121de848484846139e2565b61253460008051602061583683398151915233612315565b80612552575061255260008051602061585683398151915233612315565b61256e5760405162461bcd60e51b8152600401610f1590615560565b61193c8282613a15565b60008051602061585683398151915261259081612e11565b50601755565b6060610ebd82613acb565b6125b960008051602061583683398151915233612315565b806125d757506125d760008051602061585683398151915233612315565b6125f35760405162461bcd60e51b8152600401610f1590615560565b602592909255602655602755565b61260a8261132c565b61261381612e11565b61103e838361345c565b6060612627612e1b565b60105460019060ff166126755760405162461bcd60e51b8152602060048201526016602482015275135a5b9d1a5b99c81a5cc81b9bdd08195b98589b195960521b6044820152606401610f15565b600081116126c25760405162461bcd60e51b815260206004820152601a6024820152790517479206d7573742062652067726561746572207468616e20360341b6044820152606401610f15565b60155415806126d357506015548111155b6127185760405162461bcd60e51b81526020600482015260166024820152750a2e8f240caf0c6cacac8e640dac2f040e0cae440e8f60531b6044820152606401610f15565b60145415806127435750601454336000908152601660205260409020546127409083906156a0565b11155b61278d5760405162461bcd60e51b815260206004820152601b60248201527a5174792065786365656473206d617820706572206164647265737360281b6044820152606401610f15565b60125415806127ab5750601254816011546127a891906156a0565b11155b6127f05760405162461bcd60e51b81526020600482015260166024820152755174792065786365656473206d617820737570706c7960501b6044820152606401610f15565b33600090815260236020526040902054431161284e5760405162461bcd60e51b815260206004820152601e60248201527f6f6e65206d696e742070657220626c6f636b20706572206164647265737300006044820152606401610f15565b600061285861234f565b90506027548110156128865760646025548261287491906156cc565b61287e91906156b8565b601e556128a4565b60646026548261289691906156cc565b6128a091906156b8565b601e555b436029819055336000908152602360205260409020556128c381612ef4565b6000805b87811015612bb9578888828181106128ef57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906129049190614d82565b6020546001600160a01b03908116911614156129ea576129256001836156a0565b915088888281811061294757634e487b7160e01b600052603260045260246000fd5b905060200201602081019061295c9190614d82565b6001600160a01b03166323b872dd3361dead8a8a8681811061298e57634e487b7160e01b600052603260045260246000fd5b905060200201356040518463ffffffff1660e01b81526004016129b393929190615343565b600060405180830381600087803b1580156129cd57600080fd5b505af11580156129e1573d6000803e3d6000fd5b50505050612ba7565b888882818110612a0a57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190612a1f9190614d82565b601f546001600160a01b0390811691161415612ba757612a406001836156a0565b6021549092506001600160a01b03166340c10f1933898985818110612a7557634e487b7160e01b600052603260045260246000fd5b905060200201356040518363ffffffff1660e01b8152600401612a999291906153a4565b602060405180830381600087803b158015612ab357600080fd5b505af1158015612ac7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aeb919061519a565b50888882818110612b0c57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190612b219190614d82565b6001600160a01b03166342966c68888884818110612b4f57634e487b7160e01b600052603260045260246000fd5b905060200201356040518263ffffffff1660e01b8152600401612b7491815260200190565b600060405180830381600087803b158015612b8e57600080fd5b505af1158015612ba2573d6000803e3d6000fd5b505050505b80612bb181615780565b9150506128c7565b50602a548114612bfe5760405162461bcd60e51b815260206004820152601060248201526f696e76616c6964206275726e2071747960801b6044820152606401610f15565b600080612c09613bc7565b91509150612c1e612c173390565b8383613db6565b612c27826130a3565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612c6b57634e487b7160e01b600052603260045260246000fd5b60209081029190910101529a9950505050505050505050565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b612cca60008051602061583683398151915233612315565b80612ce85750612ce860008051602061585683398151915233612315565b612d045760405162461bcd60e51b8152600401610f1590615560565b602b55565b612d2160008051602061583683398151915233612315565b80612d3f5750612d3f60008051602061585683398151915233612315565b612d5b5760405162461bcd60e51b8152600401610f1590615560565b601f80546001600160a01b039384166001600160a01b03199182161790915560208054929093169116179055565b600080516020615856833981519152612da181612e11565b612da9612e1b565b6040516370a0823160e01b815265456e6572677990819063a9059cbb90339083906370a0823190610f7f90309060040161532f565b600080516020615856833981519152612df681612e11565b506013805460ff19166001179055565b6000610ebd82613e4c565b6112988133613e71565b600d5460ff1615611a4c5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610f15565b612e6a8161359a565b6112985760405162461bcd60e51b8152600401610f159061552e565b600081815260066020526040902080546001600160a01b0319166001600160a01b0384169081179091558190612ebb82611f13565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b601d546040516323b872dd60e01b81526001600160a01b03909116906323b872dd90612f2890339030908690600401615343565b602060405180830381600087803b158015612f4257600080fd5b505af1158015612f56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f7a91906150da565b612fbd5760405162461bcd60e51b815260206004820152601460248201527363616e6e6f74207472616e73666572205653454160601b6044820152606401610f15565b601d5460405163095ea7b360e01b81526001600160a01b039091169063095ea7b390612fef90309085906004016153a4565b602060405180830381600087803b15801561300957600080fd5b505af115801561301d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061304191906150da565b50601d54604051630852cd8d60e31b8152600481018390526001600160a01b03909116906342966c6890602401600060405180830381600087803b15801561308857600080fd5b505af115801561309c573d6000803e3d6000fd5b5050505050565b6130af60036006613eca565b6000828152602c60205260409020556130ca60036006613eca565b6000828152602c60205260409020600101556130e860036006613eca565b6000828152602c602052604090206002015561310660036006613eca565b6000828152602c60205260409020600390810191909155613128906006613eca565b6000828152602c602052604090206004015561314660036006613eca565b6000828152602c602052604090206005810182905560048101546003820154600283015460018401549354929391929091613180916156a0565b61318a91906156a0565b61319491906156a0565b61319e91906156a0565b6131a891906156a0565b6000828152602c6020526040908190206006810183905580546001820154600283015460038401546004850154600590950154955188977f96d198482e51c02028d523fa2a53599731a3be603a45953a24b5434ae6b90da19761320e97929091906155d9565b60405180910390a250565b60008061322583611f13565b9050806001600160a01b0316846001600160a01b0316148061324c575061324c8185612c84565b806112165750836001600160a01b0316613265846110d5565b6001600160a01b031614949350505050565b826001600160a01b031661328a82611f13565b6001600160a01b0316146132b05760405162461bcd60e51b8152600401610f15906154b3565b6001600160a01b0382166133125760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610f15565b61331f8383836001613efe565b826001600160a01b031661333282611f13565b6001600160a01b0316146133585760405162461bcd60e51b8152600401610f15906154b3565b600081815260066020908152604080832080546001600160a01b03199081169091556001600160a01b03878116808652600585528386208054600019019055908716808652838620805460010190558686526004909452828520805490921684179091559051849360008051602061581683398151915291a4505050565b6133e08282612315565b61193c576000828152600e602090815260408083206001600160a01b03851684529091529020805460ff191660011790556134183390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6134668282612315565b1561193c576000828152600e602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6134cb613f12565b600d805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b604051613505919061532f565b60405180910390a1565b613517612e1b565b601054610100900460ff166135615760405162461bcd60e51b815260206004820152601060248201526f109d5c9b9a5b99c8191a5cd8589b195960821b6044820152606401610f15565b61356a81613f5b565b604051339082907f41b05bf655882bc27017be44e8216d1059cbc6b9668d754f5a745dcce690a9d490600090a350565b6000806135a683613680565b6001600160a01b0316141592915050565b6127106001600160601b03821611156135e25760405162461bcd60e51b8152600401610f159061558f565b6001600160a01b0382166136365760405162461bcd60e51b815260206004820152601b60248201527a455243323938313a20496e76616c696420706172616d657465727360281b6044820152606401610f15565b6040805180820182526001600160a01b0393841681526001600160601b0392831660208083019182526000968752600190529190942093519051909116600160a01b029116179055565b6000908152600460205260409020546001600160a01b031690565b6136a48261359a565b6137075760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610f15565b6000828152600c60209081526040909120825161103e92840190614bd8565b61372e612e1b565b600d805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586134f83390565b816001600160a01b0316836001600160a01b031614156137c15760405162461bcd60e51b815260206004820152601960248201527822a9219b99189d1030b8383937bb32903a379031b0b63632b960391b6044820152606401610f15565b6001600160a01b03838116600081815260076020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b606060005b601b548110156139cc5782601b828154811061385f57634e487b7160e01b600052603260045260246000fd5b906000526020600020015414156139ba57601b548110156138e157601b805461388a906001906156eb565b815481106138a857634e487b7160e01b600052603260045260246000fd5b9060005260206000200154601b82815481106138d457634e487b7160e01b600052603260045260246000fd5b6000918252602090912001555b601b80548061390057634e487b7160e01b600052603160045260246000fd5b60019003818190600052602060002001600090559055601c6000848152602001908152602001600020805461393490615745565b80601f016020809104026020016040519081016040528092919081815260200182805461396090615745565b80156139ad5780601f10613982576101008083540402835291602001916139ad565b820191906000526020600020905b81548152906001019060200180831161399057829003601f168201915b5050505050915050919050565b806139c481615780565b915050613833565b5050604080516020810190915260008152919050565b6139ed848484613277565b6139f984848484613f64565b6121de5760405162461bcd60e51b8152600401610f1590615461565b6127106001600160601b0382161115613a405760405162461bcd60e51b8152600401610f159061558f565b6001600160a01b038216613a925760405162461bcd60e51b815260206004820152601960248201527822a921991c9c189d1034b73b30b634b2103932b1b2b4bb32b960391b6044820152606401610f15565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600055565b6060613ad682612e61565b6000828152600c602052604081208054613aef90615745565b80601f0160208091040260200160405190810160405280929190818152602001828054613b1b90615745565b8015613b685780601f10613b3d57610100808354040283529160200191613b68565b820191906000526020600020905b815481529060010190602001808311613b4b57829003601f168201915b505050505090506000613b7961406e565b9050805160001415613b8c575092915050565b815115613bbe578082604051602001613ba6929190615291565b60405160208183030381529060405292505050919050565b6112168461407d565b601b54600090606090613c145760405162461bcd60e51b8152602060048201526015602482015274746f6b656e20696e76656e746f727920656d70747960581b6044820152606401610f15565b601b546000613c22826140e4565b90506000601b613c336001846156eb565b81548110613c5157634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905082821015613cd657601b613c736001856156eb565b81548110613c9157634e487b7160e01b600052603260045260246000fd5b9060005260206000200154601b600184613cab91906156eb565b81548110613cc957634e487b7160e01b600052603260045260246000fd5b6000918252602090912001555b601b805480613cf557634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905580601c6000838152602001908152602001600020808054613d2b90615745565b80601f0160208091040260200160405190810160405280929190818152602001828054613d5790615745565b8015613da45780601f10613d7957610100808354040283529160200191613da4565b820191906000526020600020905b815481529060010190602001808311613d8757829003601f168201915b50505050509050945094505050509091565b600160116000828254613dc991906156a0565b90915550613dd990508383614131565b613de3828261369b565b6040516001600160a01b0384169083907f3a5398bda6f1f57d6c96834fa9bf02b5517bdc847d14312015a917ba421c31c990600090a36001600160a01b0383166000908152601660205260408120805460019290613e429084906156a0565b9091555050505050565b60006001600160e01b03198216637965db0b60e01b1480610ebd5750610ebd8261414b565b613e7b8282612315565b61193c57613e8881614156565b613e93836020614168565b604051602001613ea49291906152c0565b60408051601f198184030181529082905262461bcd60e51b8252610f1591600401615401565b600080805b84811015611b4c57613ee084614349565b613eea90836156a0565b915080613ef681615780565b915050613ecf565b613f06612e1b565b6121de848484846143bf565b600d5460ff16611a4c5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610f15565b612290816144f8565b60006001600160a01b0384163b1561406657604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290613fa8903390899088908890600401615367565b602060405180830381600087803b158015613fc257600080fd5b505af1925050508015613ff2575060408051601f3d908101601f19168201909252613fef9181019061514c565b60015b61404c573d808015614020576040519150601f19603f3d011682016040523d82523d6000602084013e614025565b606091505b5080516140445760405162461bcd60e51b8152600401610f1590615461565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611216565b506001611216565b6060600f805461105290615745565b606061408882612e61565b600061409261406e565b905060008151116140b257604051806020016040528060008152506140dd565b806140bc84614538565b6040516020016140cd929190615291565b6040516020818303038152906040525b9392505050565b6000806140f083614349565b90507fec6cdc8e735e4069f6e89062582f3e5532a8e71373e7ef2962fa916cf2af21f28160405161412391815260200190565b60405180910390a192915050565b61193c8282604051806020016040528060008152506145da565b6000610ebd8261460d565b6060610ebd6001600160a01b03831660145b606060006141778360026156cc565b6141829060026156a0565b6001600160401b038111156141a757634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156141d1576020820181803683370190505b509050600360fc1b816000815181106141fa57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061423757634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600061425b8460026156cc565b6142669060016156a0565b90505b60018111156142fa576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106142a857634e487b7160e01b600052603260045260246000fd5b1a60f81b8282815181106142cc57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c936142f38161572e565b9050614269565b5083156140dd5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610f15565b60008043614358602a8261579b565b336017546040805160208101959095528401929092526001600160601b0319606091821b1690830152607482015260940160408051601f1981840301815291905280516020909101206017819055905060006143b4848361579b565b6112169060016156a0565b6143cb84848484614632565b600181111561443a5760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b6064820152608401610f15565b816001600160a01b0385166144965761449181600a80546000838152600b60205260408120829055600182018355919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80155565b6144b9565b836001600160a01b0316856001600160a01b0316146144b9576144b985826146ba565b6001600160a01b0384166144d5576144d081614757565b61309c565b846001600160a01b0316846001600160a01b03161461309c5761309c8482614830565b61450181614874565b6000818152600c60205260409020805461451a90615745565b159050611298576000818152600c6020526040812061129891614c4c565b6060600061454583614905565b60010190506000816001600160401b0381111561457257634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f19166020018201604052801561459c576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846145d557611b4c565b6145a6565b6145e483836149db565b6145f16000848484613f64565b61103e5760405162461bcd60e51b8152600401610f1590615461565b60006001600160e01b0319821663780e9d6360e01b1480610ebd5750610ebd82614ae4565b60018111156121de576001600160a01b03841615614678576001600160a01b038416600090815260056020526040812080548392906146729084906156eb565b90915550505b6001600160a01b038316156121de576001600160a01b038316600090815260056020526040812080548392906146af9084906156a0565b909155505050505050565b600060016146c784611fea565b6146d191906156eb565b600083815260096020526040902054909150808214614724576001600160a01b03841660009081526008602090815260408083208584528252808320548484528184208190558352600990915290208190555b5060009182526009602090815260408084208490556001600160a01b039094168352600881528383209183525290812055565b600a54600090614769906001906156eb565b6000838152600b6020526040812054600a805493945090928490811061479f57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905080600a83815481106147ce57634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255828152600b9091526040808220849055858252812055600a80548061481457634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b600061483b83611fea565b6001600160a01b039093166000908152600860209081526040808320868452825280832085905593825260099052919091209190915550565b600061487f82611f13565b905061488f816000846001613efe565b61489882611f13565b600083815260066020908152604080832080546001600160a01b03199081169091556001600160a01b038516808552600584528285208054600019019055878552600490935281842080549091169055519293508492600080516020615816833981519152908390a45050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106149445772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b831061496e576904ee2d6d415b85acef8160201b830492506020015b662386f26fc10000831061498c57662386f26fc10000830492506010015b6305f5e10083106149a4576305f5e100830492506008015b61271083106149b857612710830492506004015b606483106149ca576064830492506002015b600a8310610ebd5760010192915050565b6001600160a01b038216614a315760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610f15565b614a3a8161359a565b15614a575760405162461bcd60e51b8152600401610f15906154f8565b614a65600083836001613efe565b614a6e8161359a565b15614a8b5760405162461bcd60e51b8152600401610f15906154f8565b6001600160a01b038216600081815260056020908152604080832080546001019055848352600490915280822080546001600160a01b031916841790555183929190600080516020615816833981519152908290a45050565b60006001600160e01b031982166380ac58cd60e01b1480614b1557506001600160e01b03198216635b5e139f60e01b145b80610ebd5750610ebd8260006001600160e01b0319821663152a902d60e11b1480610ebd57506301ffc9a760e01b6001600160e01b0319831614610ebd565b828054614b6090615745565b90600052602060002090601f016020900481019282614b825760008555614bc8565b82601f10614b9b5782800160ff19823516178555614bc8565b82800160010185558215614bc8579182015b82811115614bc8578235825591602001919060010190614bad565b50614bd4929150614c82565b5090565b828054614be490615745565b90600052602060002090601f016020900481019282614c065760008555614bc8565b82601f10614c1f57805160ff1916838001178555614bc8565b82800160010185558215614bc8579182015b82811115614bc8578251825591602001919060010190614c31565b508054614c5890615745565b6000825580601f10614c68575050565b601f01602090049060005260206000209081019061129891905b5b80821115614bd45760008155600101614c83565b60006001600160401b03831115614cb057614cb06157db565b614cc3601f8401601f191660200161564d565b9050828152838383011115614cd757600080fd5b828260208301376000602084830101529392505050565b80356001600160a01b0381168114614d0557600080fd5b919050565b60008083601f840112614d1b578182fd5b5081356001600160401b03811115614d31578182fd5b6020830191508360208260051b850101111561174657600080fd5b600082601f830112614d5c578081fd5b6140dd83833560208501614c97565b80356001600160601b0381168114614d0557600080fd5b600060208284031215614d93578081fd5b6140dd82614cee565b60008060408385031215614dae578081fd5b614db783614cee565b9150614dc560208401614cee565b90509250929050565b600080600060608486031215614de2578081fd5b614deb84614cee565b9250614df960208501614cee565b9150604084013590509250925092565b60008060008060808587031215614e1e578081fd5b614e2785614cee565b9350614e3560208601614cee565b92506040850135915060608501356001600160401b03811115614e56578182fd5b8501601f81018713614e66578182fd5b614e7587823560208401614c97565b91505092959194509250565b60008060408385031215614e93578182fd5b614e9c83614cee565b91506020830135614eac816157f1565b809150509250929050565b60008060408385031215614ec9578182fd5b614ed283614cee565b946020939093013593505050565b60008060408385031215614ef2578182fd5b614efb83614cee565b9150614dc560208401614d6b565b60008060008060408587031215614f1e578182fd5b84356001600160401b0380821115614f34578384fd5b614f4088838901614d0a565b90965094506020870135915080821115614f58578384fd5b50614f6587828801614d0a565b95989497509550505050565b60008060408385031215614f83578182fd5b82356001600160401b0380821115614f99578384fd5b818501915085601f830112614fac578384fd5b81356020614fc1614fbc8361567d565b61564d565b8083825282820191508286018a848660051b8901011115614fe0578889fd5b885b8581101561501957813587811115614ff8578a8bfd5b6150068d87838c0101614d4c565b8552509284019290840190600101614fe2565b50909a9890920135985050505050505050565b6000602080838503121561503e578182fd5b82356001600160401b03811115615053578283fd5b8301601f81018513615063578283fd5b8035615071614fbc8261567d565b80828252848201915084840188868560051b8701011115615090578687fd5b8694505b838510156150b2578035835260019490940193918501918501615094565b50979650505050505050565b6000602082840312156150cf578081fd5b81356140dd816157f1565b6000602082840312156150eb578081fd5b81516140dd816157f1565b600060208284031215615107578081fd5b5035919050565b60008060408385031215615120578182fd5b82359150614dc560208401614cee565b600060208284031215615141578081fd5b81356140dd816157ff565b60006020828403121561515d578081fd5b81516140dd816157ff565b600060208284031215615179578081fd5b81356001600160401b0381111561518e578182fd5b61121684828501614d4c565b6000602082840312156151ab578081fd5b5051919050565b6000806000606084860312156151c6578081fd5b833592506151d660208501614cee565b91506151e460408501614d6b565b90509250925092565b600080604083850312156151ff578182fd5b50508035926020909101359150565b600080600060608486031215615222578081fd5b505081359360208301359350604090920135919050565b60008151808452615251816020860160208601615702565b601f01601f19169290920160200192915050565b8183823760009101908152919050565b60008251615287818460208701615702565b9190910192915050565b600083516152a3818460208801615702565b8351908301906152b7818360208801615702565b01949350505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516152f2816017850160208801615702565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351615323816028840160208801615702565b01602801949350505050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061539a90830184615239565b9695505050505050565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b818110156153f5578351835292840192918401916001016153d9565b50909695505050505050565b6020815260006140dd6020830184615239565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6020808252601c908201527b115490cdcc8c4e881d1bdad95b88185b1c9958591e481b5a5b9d195960221b604082015260600190565b602080825260189082015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604082015260600190565b60208082526015908201527426bab9ba103132903a32b0b69037b91030b236b4b760591b604082015260600190565b6020808252602a908201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646040820152692073616c65507269636560b01b606082015260800190565b968752602087019590955260408601939093526060850191909152608084015260a083015260c082015260e00190565b6000808335601e1984360301811261561f578283fd5b8301803591506001600160401b03821115615638578283fd5b60200191503681900382131561174657600080fd5b604051601f8201601f191681016001600160401b0381118282101715615675576156756157db565b604052919050565b60006001600160401b03821115615696576156966157db565b5060051b60200190565b600082198211156156b3576156b36157af565b500190565b6000826156c7576156c76157c5565b500490565b60008160001904831182151516156156e6576156e66157af565b500290565b6000828210156156fd576156fd6157af565b500390565b60005b8381101561571d578181015183820152602001615705565b838111156121de5750506000910152565b60008161573d5761573d6157af565b506000190190565b600181811c9082168061575957607f821691505b6020821081141561577a57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415615794576157946157af565b5060010190565b6000826157aa576157aa6157c5565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b801515811461129857600080fd5b6001600160e01b03198116811461129857600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5146a08baf902532d0ee2f909971144f12ca32651cd70cbee1117cddfb3b3b33a49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775a2646970667358221220f831dc330d653a99d961ee3882868e81d48cc0675229c777cd977df4c174fa2a64736f6c63430008040033