VeChain
Explorer
Testnet
Search
Networks
Main
Test
Contract
0x87E90A…e26a
Summary
Transactions
Transfers
Address
0x87E90Ad5dFB6fEea2cb08d3db51c4DeDe4E5e26a
VET
3.94
VET
VTHO
2.11
VTHO
Master
0xb4c760B1D39ae353ff68571039fc7383F068b7db
Deployer
0xb4c760B1D39ae353ff68571039fc7383F068b7db
Code
0x6080604052600436106101a05760003560e01c80637beab0e1116100ec578063aac3a2c01161008a578063d21e373e11610064578063d21e373e14610625578063e7e1a50114610662578063f2fde38b1461069f578063f9bfaa7d146106c8576101b8565b8063aac3a2c01461056e578063bb06950c146105ab578063c75f78d7146105e8576101b8565b80639e241e85116100c65780639e241e851461048a5780639fa32e8f146104b7578063a56ddb38146104f4578063a96eb9e014610531576101b8565b80637beab0e11461041f5780638456cb59146104485780638da5cb5b1461045f576101b8565b806338baac5511610159578063563d854111610133578063563d8541146103775780635c975abb146103b457806369d03738146103df578063715018a614610408576101b8565b806338baac55146102fa5780633e458a8e146103375780633f4ba83a14610360576101b8565b806302f72bc6146101bd57806306939f5c146101fa5780630cb2228914610225578063150b7a02146102625780632e00f9091461029f578063310c87cc146102cf576101b8565b366101b8576101b66101b06106f1565b346106f9565b005b600080fd5b3480156101c957600080fd5b506101e460048036038101906101df91906149a3565b61075f565b6040516101f191906151c0565b60405180910390f35b34801561020657600080fd5b5061020f610981565b60405161021c9190615415565b60405180910390f35b34801561023157600080fd5b5061024c60048036038101906102479190614788565b610992565b6040516102599190615415565b60405180910390f35b34801561026e57600080fd5b5061028960048036038101906102849190614893565b6109db565b604051610296919061521f565b60405180910390f35b6102b960048036038101906102b491906149a3565b6109ef565b6040516102c6919061519e565b60405180910390f35b3480156102db57600080fd5b506102e4610ead565b6040516102f1919061523a565b60405180910390f35b34801561030657600080fd5b50610321600480360381019061031c91906149e4565b610ed7565b60405161032e9190615204565b60405180910390f35b34801561034357600080fd5b5061035e60048036038101906103599190614857565b611398565b005b34801561036c57600080fd5b50610375611602565b005b34801561038357600080fd5b5061039e600480360381019061039991906149a3565b6116cf565b6040516103ab919061519e565b60405180910390f35b3480156103c057600080fd5b506103c96118e4565b6040516103d69190615204565b60405180910390f35b3480156103eb57600080fd5b5061040660048036038101906104019190614788565b6118fa565b005b34801561041457600080fd5b5061041d611a4b565b005b34801561042b57600080fd5b5061044660048036038101906104419190614803565b611b85565b005b34801561045457600080fd5b5061045d611d7c565b005b34801561046b57600080fd5b50610474611e4a565b60405161048191906150fa565b60405180910390f35b34801561049657600080fd5b5061049f611e73565b6040516104ae93929190615430565b60405180910390f35b3480156104c357600080fd5b506104de60048036038101906104d991906149a3565b611f0b565b6040516104eb919061519e565b60405180910390f35b34801561050057600080fd5b5061051b60048036038101906105169190614788565b61233d565b6040516105289190615415565b60405180910390f35b34801561053d57600080fd5b506105586004803603810190610553919061490e565b61238d565b60405161056591906151c0565b60405180910390f35b34801561057a57600080fd5b50610595600480360381019061059091906149a3565b6125ed565b6040516105a291906151e2565b60405180910390f35b3480156105b757600080fd5b506105d260048036038101906105cd91906149a3565b6127f4565b6040516105df919061519e565b60405180910390f35b3480156105f457600080fd5b5061060f600480360381019061060a9190614962565b612bb8565b60405161061c919061519e565b60405180910390f35b34801561063157600080fd5b5061064c600480360381019061064791906149a3565b6131cb565b60405161065991906151c0565b60405180910390f35b34801561066e57600080fd5b50610689600480360381019061068491906149a3565b6133d4565b604051610696919061519e565b60405180910390f35b3480156106ab57600080fd5b506106c660048036038101906106c19190614788565b6137d9565b005b3480156106d457600080fd5b506106ef60048036038101906106ea91906147da565b613982565b005b600033905090565b600081111561075b5761070c8282613b84565b8173ffffffffffffffffffffffffffffffffffffffff167f35db3d768e685509e031bae369804ca7dc6656af739e079f1d3312cadc7b19d8826040516107529190615415565b60405180910390a25b5050565b6060815167ffffffffffffffff8111801561077957600080fd5b506040519080825280602002602001820160405280156107b357816020015b6107a0614490565b8152602001906001900390816107985790505b50905060005b825181101561097b5760006107eb8483815181106107d357fe5b60200260200101516002613ca790919063ffffffff16565b9050600460008281526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152602001600282015481526020016003820160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016003820160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016004820160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016004820160089054906101000a900460ff16151515158152505083838151811061096257fe5b60200260200101819052505080806001019150506107b9565b50919050565b600061098d6002613cc1565b905090565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600063150b7a0260e01b9050949350505050565b60606109f96118e4565b15610a39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3090615375565b60405180910390fd5b610a4a610a446106f1565b346106f9565b815167ffffffffffffffff81118015610a6257600080fd5b50604051908082528060200260200182016040528015610a915781602001602082028036833780820191505090505b50905060005b8251811015610ea757610aa8614490565b60046000858481518110610ab857fe5b602002602001015181526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152602001600282015481526020016003820160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016003820160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016004820160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016004820160089054906101000a900460ff1615151515815250509050610c2e6106f1565b73ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff161415610c6b5750610e9a565b60001515610c7882613cd6565b15151415610c865750610e9a565b6000610c9182613d28565b905081608001516fffffffffffffffffffffffffffffffff16811080610cfc57508060066000610cbf6106f1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054105b15610d08575050610e9a565b610d19610d136106f1565b82613e6a565b610d27826000015182613b84565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e30610d6e6106f1565b888781518110610d7a57fe5b60200260200101516040518463ffffffff1660e01b8152600401610da093929190615130565b600060405180830381600087803b158015610dba57600080fd5b505af1158015610dce573d6000803e3d6000fd5b50505050610df3858481518110610de157fe5b60200260200101518360000151613f25565b848381518110610dff57fe5b6020026020010151610e0f6106f1565b73ffffffffffffffffffffffffffffffffffffffff16836000015173ffffffffffffffffffffffffffffffffffffffff167fb2f957e6e6ed6377e70534f97fc23756b916174a0228bf795ee7d21597c5f63784604051610e6f9190615415565b60405180910390a46001848481518110610e8557fe5b60200260200101901515908115158152505050505b8080600101915050610a97565b50919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610ee16118e4565b15610f21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1890615375565b60405180910390fd5b6000846fffffffffffffffffffffffffffffffff16111580610f665750836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff16105b80610f7b5750603c8367ffffffffffffffff16105b15610f89576000905061138f565b6000806004600089815260200190815260200160002060020154141561110357610fbd87600261405290919063ffffffff16565b506110168760056000610fce6106f1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061405290919063ffffffff16565b50600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e61105d6106f1565b308a6040518463ffffffff1660e01b815260040161107d93929190615130565b600060405180830381600087803b15801561109757600080fd5b505af11580156110ab573d6000803e3d6000fd5b50505050866110b86106f1565b73ffffffffffffffffffffffffffffffffffffffff167f3249a06bd478adf780bb7930214ad005e9cfa517d63221c0b77f27199d1a58b360405160405180910390a3600190506111c5565b6004600088815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111586106f1565b73ffffffffffffffffffffffffffffffffffffffff1614156111c4578661117d6106f1565b73ffffffffffffffffffffffffffffffffffffffff167f16c69ed4446daadbd485f51a328ea10a09013f6a3e805ca5cf933d9427ba4c5960405160405180910390a3600190505b5b801561138a576040518060e001604052806111de6106f1565b73ffffffffffffffffffffffffffffffffffffffff168152602001888152602001428152602001876fffffffffffffffffffffffffffffffff168152602001866fffffffffffffffffffffffffffffffff1681526020018567ffffffffffffffff1681526020018415158152506004600089815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101556040820151816002015560608201518160030160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060808201518160030160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060a08201518160040160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c08201518160040160086101000a81548160ff0219169083151502179055509050505b809150505b95945050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ff906152d5565b60405180910390fd5b6000811161144b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144290615295565b60405180910390fd5b80600660006114586106f1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156114d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114cb90615335565b60405180910390fd5b6114e56114df6106f1565b82613e6a565b60008273ffffffffffffffffffffffffffffffffffffffff168260405161150b906150e5565b60006040518083038185875af1925050503d8060008114611548576040519150601f19603f3d011682016040523d82523d6000602084013e61154d565b606091505b5050905080611591576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158890615395565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166115b06106f1565b73ffffffffffffffffffffffffffffffffffffffff167f6985a6dd52aeb8194df40b7af2f362f362440affc39c1314649abc28dbf6b628846040516115f59190615415565b60405180910390a3505050565b61160a6106f1565b73ffffffffffffffffffffffffffffffffffffffff16611628611e4a565b73ffffffffffffffffffffffffffffffffffffffff161461167e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611675906153d5565b60405180910390fd5b6116866118e4565b6116c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116bc906152b5565b60405180910390fd5b6116cd61406c565b565b6060815167ffffffffffffffff811180156116e957600080fd5b506040519080825280602002602001820160405280156117185781602001602082028036833780820191505090505b50905060005b82518110156118de576118ab6004600085848151811061173a57fe5b602002602001015181526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152602001600282015481526020016003820160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016003820160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016004820160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016004820160089054906101000a900460ff161515151581525050613cd6565b156118d15760018282815181106118be57fe5b6020026020010190151590811515815250505b808060010191505061171e565b50919050565b60008060149054906101000a900460ff16905090565b6119026106f1565b73ffffffffffffffffffffffffffffffffffffffff16611920611e4a565b73ffffffffffffffffffffffffffffffffffffffff1614611976576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196d906153d5565b60405180910390fd5b61197e6118e4565b6119bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b4906152b5565b60405180910390fd5b60006119c7610981565b14611a07576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fe906153b5565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611a536106f1565b73ffffffffffffffffffffffffffffffffffffffff16611a71611e4a565b73ffffffffffffffffffffffffffffffffffffffff1614611ac7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611abe906153d5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611b8d6106f1565b73ffffffffffffffffffffffffffffffffffffffff16611bab611e4a565b73ffffffffffffffffffffffffffffffffffffffff1614611c01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf8906153d5565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6790615255565b60405180910390fd5b6000611c7a610981565b14611cba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb1906153b5565b60405180910390fd5b60005b8151811015611d7757600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e3085858581518110611d1257fe5b60200260200101516040518463ffffffff1660e01b8152600401611d3893929190615130565b600060405180830381600087803b158015611d5257600080fd5b505af1158015611d66573d6000803e3d6000fd5b505050508080600101915050611cbd565b505050565b611d846106f1565b73ffffffffffffffffffffffffffffffffffffffff16611da2611e4a565b73ffffffffffffffffffffffffffffffffffffffff1614611df8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611def906153d5565b60405180910390fd5b611e006118e4565b15611e40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3790615375565b60405180910390fd5b611e4861410d565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000806000611e806106f1565b73ffffffffffffffffffffffffffffffffffffffff16611e9e611e4a565b73ffffffffffffffffffffffffffffffffffffffff1614611ef4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eeb906153d5565b60405180910390fd5b479250826007546007548503925092509250909192565b6060611f156106f1565b73ffffffffffffffffffffffffffffffffffffffff16611f33611e4a565b73ffffffffffffffffffffffffffffffffffffffff1614611f89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f80906153d5565b60405180910390fd5b611f916118e4565b611fd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc7906152b5565b60405180910390fd5b815167ffffffffffffffff81118015611fe857600080fd5b506040519080825280602002602001820160405280156120175781602001602082028036833780820191505090505b50905060005b82518110156123375761202e614490565b6004600085848151811061203e57fe5b602002602001015181526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152602001600282015481526020016003820160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016003820160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016004820160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016004820160089054906101000a900460ff1615151515815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff161461232957600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e30836000015187868151811061223457fe5b60200260200101516040518463ffffffff1660e01b815260040161225a93929190615167565b600060405180830381600087803b15801561227457600080fd5b505af1158015612288573d6000803e3d6000fd5b505050506122ad84838151811061229b57fe5b60200260200101518260000151613f25565b8382815181106122b957fe5b6020026020010151816000015173ffffffffffffffffffffffffffffffffffffffff167f018b64b6242d32aa550e95d78985b938d71af5b3f10827b0683f55da1639304860405160405180910390a3600183838151811061231657fe5b6020026020010190151590811515815250505b50808060010191505061201d565b50919050565b6000612386600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020613cc1565b9050919050565b6060815167ffffffffffffffff811180156123a757600080fd5b506040519080825280602002602001820160405280156123e157816020015b6123ce614490565b8152602001906001900390816123c65790505b50905060005b82518110156125e657600061245684838151811061240157fe5b6020026020010151600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020613ca790919063ffffffff16565b9050600460008281526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152602001600282015481526020016003820160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016003820160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016004820160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016004820160089054906101000a900460ff1615151515815250508383815181106125cd57fe5b60200260200101819052505080806001019150506123e7565b5092915050565b6060815167ffffffffffffffff8111801561260757600080fd5b506040519080825280602002602001820160405280156126365781602001602082028036833780820191505090505b50905060005b82518110156127ee576127c96004600085848151811061265857fe5b602002602001015181526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152602001600282015481526020016003820160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016003820160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016004820160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016004820160089054906101000a900460ff161515151581525050613d28565b8282815181106127d557fe5b602002602001018181525050808060010191505061263c565b50919050565b60606127fe6118e4565b1561283e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283590615375565b60405180910390fd5b815167ffffffffffffffff8111801561285657600080fd5b506040519080825280602002602001820160405280156128855781602001602082028036833780820191505090505b50905060005b8251811015612bb25761289c614490565b600460008584815181106128ac57fe5b602002602001015181526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152602001600282015481526020016003820160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016003820160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016004820160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016004820160089054906101000a900460ff1615151515815250509050612a226106f1565b73ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff161415612ba457600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e30612aa06106f1565b878681518110612aac57fe5b60200260200101516040518463ffffffff1660e01b8152600401612ad293929190615130565b600060405180830381600087803b158015612aec57600080fd5b505af1158015612b00573d6000803e3d6000fd5b50505050612b25848381518110612b1357fe5b60200260200101518260000151613f25565b838281518110612b3157fe5b6020026020010151612b416106f1565b73ffffffffffffffffffffffffffffffffffffffff167f018b64b6242d32aa550e95d78985b938d71af5b3f10827b0683f55da1639304860405160405180910390a36001838381518110612b9157fe5b6020026020010190151590811515815250505b50808060010191505061288b565b50919050565b6060612bc26118e4565b15612c02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bf990615375565b60405180910390fd5b815167ffffffffffffffff81118015612c1a57600080fd5b50604051908082528060200260200182016040528015612c495781602001602082028036833780820191505090505b50905060005b82518110156131c5576000838281518110612c6657fe5b6020026020010151604001516fffffffffffffffffffffffffffffffff1611612c8e576131b8565b828181518110612c9a57fe5b6020026020010151604001516fffffffffffffffffffffffffffffffff16838281518110612cc457fe5b6020026020010151602001516fffffffffffffffffffffffffffffffff161015612ced576131b8565b603c838281518110612cfb57fe5b60200260200101516060015167ffffffffffffffff161015612d1c576131b8565b600080848381518110612d2b57fe5b6020026020010151600001519050600060046000838152602001908152602001600020600201541415612eb257612d6c81600261405290919063ffffffff16565b50612dc58160056000612d7d6106f1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061405290919063ffffffff16565b50600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342842e0e612e0c6106f1565b30846040518463ffffffff1660e01b8152600401612e2c93929190615130565b600060405180830381600087803b158015612e4657600080fd5b505af1158015612e5a573d6000803e3d6000fd5b5050505080612e676106f1565b73ffffffffffffffffffffffffffffffffffffffff167f3249a06bd478adf780bb7930214ad005e9cfa517d63221c0b77f27199d1a58b360405160405180910390a360019150612f74565b6004600082815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612f076106f1565b73ffffffffffffffffffffffffffffffffffffffff161415612f735780612f2c6106f1565b73ffffffffffffffffffffffffffffffffffffffff167f16c69ed4446daadbd485f51a328ea10a09013f6a3e805ca5cf933d9427ba4c5960405160405180910390a3600191505b5b81156131b5576040518060e00160405280612f8d6106f1565b73ffffffffffffffffffffffffffffffffffffffff168152602001828152602001428152602001868581518110612fc057fe5b6020026020010151602001516fffffffffffffffffffffffffffffffff168152602001868581518110612fef57fe5b6020026020010151604001516fffffffffffffffffffffffffffffffff16815260200186858151811061301e57fe5b60200260200101516060015167ffffffffffffffff16815260200186858151811061304557fe5b60200260200101516080015115158152506004600083815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101556040820151816002015560608201518160030160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060808201518160030160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060a08201518160040160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c08201518160040160086101000a81548160ff02191690831515021790555090505060018484815181106131a257fe5b6020026020010190151590811515815250505b50505b8080600101915050612c4f565b50919050565b6060815167ffffffffffffffff811180156131e557600080fd5b5060405190808252806020026020018201604052801561321f57816020015b61320c614490565b8152602001906001900390816132045790505b50905060005b82518110156133ce576004600084838151811061323e57fe5b602002602001015181526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152602001600282015481526020016003820160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016003820160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016004820160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016004820160089054906101000a900460ff1615151515815250508282815181106133b657fe5b60200260200101819052508080600101915050613225565b50919050565b60606133de6106f1565b73ffffffffffffffffffffffffffffffffffffffff166133fc611e4a565b73ffffffffffffffffffffffffffffffffffffffff1614613452576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613449906153d5565b60405180910390fd5b815167ffffffffffffffff8111801561346a57600080fd5b506040519080825280602002602001820160405280156134995781602001602082028036833780820191505090505b50905060005b82518110156137d3576134b0614490565b600460008584815181106134c057fe5b602002602001015181526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152602001600282015481526020016003820160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016003820160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016004820160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016004820160089054906101000a900460ff1615151515815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff16146137c557600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e8584815181106136b057fe5b60200260200101516040518263ffffffff1660e01b81526004016136d49190615415565b60206040518083038186803b1580156136ec57600080fd5b505afa92505050801561371d57506040513d601f19601f8201168201806040525081019061371a91906147b1565b60015b6137c25761374284838151811061373057fe5b60200260200101518260000151613f25565b83828151811061374e57fe5b6020026020010151816000015173ffffffffffffffffffffffffffffffffffffffff167f018b64b6242d32aa550e95d78985b938d71af5b3f10827b0683f55da1639304860405160405180910390a360018383815181106137ab57fe5b6020026020010190151590811515815250506137c4565b505b5b50808060010191505061349f565b50919050565b6137e16106f1565b73ffffffffffffffffffffffffffffffffffffffff166137ff611e4a565b73ffffffffffffffffffffffffffffffffffffffff1614613855576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161384c906153d5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156138c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138bc906152f5565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61398a6106f1565b73ffffffffffffffffffffffffffffffffffffffff166139a8611e4a565b73ffffffffffffffffffffffffffffffffffffffff16146139fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139f5906153d5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415613a6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a65906152d5565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415613add576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613ad490615255565b60405180910390fd5b6000613af4600754476141b090919063ffffffff16565b905060008111613b39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b30906153f5565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613b7f573d6000803e3d6000fd5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015613bed57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15613ca357613c4481600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461420090919063ffffffff16565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613c9c8160075461420090919063ffffffff16565b6007819055505b5050565b6000613cb68360000183614255565b60001c905092915050565b6000613ccf826000016142c2565b9050919050565b60008082604001514203905060008360400151118015613d205750600015158360c0015115151480613d1f57508260a0015167ffffffffffffffff168167ffffffffffffffff16105b5b915050919050565b60008082608001516fffffffffffffffffffffffffffffffff161480613d79575081606001516fffffffffffffffffffffffffffffffff1682608001516fffffffffffffffffffffffffffffffff16145b15613d9c5781608001516fffffffffffffffffffffffffffffffff169050613e65565b60008260400151420390508260a0015167ffffffffffffffff168167ffffffffffffffff1610613de55782608001516fffffffffffffffffffffffffffffffff16915050613e65565b600083606001516fffffffffffffffffffffffffffffffff1684608001516fffffffffffffffffffffffffffffffff1603905060008460a0015167ffffffffffffffff168367ffffffffffffffff16830281613e3d57fe5b05905060008186606001516fffffffffffffffffffffffffffffffff16019050809450505050505b919050565b613ebc81600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141b090919063ffffffff16565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000613f16826007546142d390919063ffffffff16565b91505080600781905550505050565b60046000838152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905560028201600090556003820160006101000a8154906fffffffffffffffffffffffffffffffff02191690556003820160106101000a8154906fffffffffffffffffffffffffffffffff02191690556004820160006101000a81549067ffffffffffffffff02191690556004820160086101000a81549060ff02191690555050613ffb8260026142fb90919063ffffffff16565b5061404d82600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206142fb90919063ffffffff16565b505050565b6000614064836000018360001b614315565b905092915050565b6140746118e4565b6140b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016140aa906152b5565b60405180910390fd5b60008060146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6140f66106f1565b6040516141039190615115565b60405180910390a1565b6141156118e4565b15614155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161414c90615375565b60405180910390fd5b6001600060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586141996106f1565b6040516141a69190615115565b60405180910390a1565b6000828211156141f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016141ec90615355565b60405180910390fd5b818303905092915050565b60008082840190508381101561424b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161424290615315565b60405180910390fd5b8091505092915050565b6000818360000180549050116142a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161429790615275565b60405180910390fd5b8260000182815481106142af57fe5b9060005260206000200154905092915050565b600081600001805490509050919050565b600080838311156142ea57600080915091506142f4565b6001838503915091505b9250929050565b600061430d836000018360001b614385565b905092915050565b6000614321838361446d565b61437a57826000018290806001815401808255809150506001900390600052602060002001600090919091909150558260000180549050836001016000848152602001908152602001600020819055506001905061437f565b600090505b92915050565b6000808360010160008481526020019081526020016000205490506000811461446157600060018203905060006001866000018054905003905060008660000182815481106143d057fe5b90600052602060002001549050808760000184815481106143ed57fe5b906000526020600020018190555060018301876001016000838152602001908152602001600020819055508660000180548061442557fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050614467565b60009150505b92915050565b600080836001016000848152602001908152602001600020541415905092915050565b6040518060e00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160006fffffffffffffffffffffffffffffffff16815260200160006fffffffffffffffffffffffffffffffff168152602001600067ffffffffffffffff1681526020016000151581525090565b60008135905061452281615700565b92915050565b60008151905061453781615700565b92915050565b60008135905061454c81615717565b92915050565b600082601f83011261456357600080fd5b813561457661457182615494565b615467565b915081818352602084019350602081019050838560a084028201111561459b57600080fd5b60005b838110156145cb57816145b188826146c1565b845260208401935060a0830192505060018101905061459e565b5050505092915050565b600082601f8301126145e657600080fd5b81356145f96145f4826154bc565b615467565b9150818183526020840193506020810190508385602084028201111561461e57600080fd5b60005b8381101561464e5781614634888261475e565b845260208401935060208301925050600181019050614621565b5050505092915050565b6000813590506146678161572e565b92915050565b600082601f83011261467e57600080fd5b813561469161468c826154e4565b615467565b915080825260208301602083018583830111156146ad57600080fd5b6146b88382846156f1565b50505092915050565b600060a082840312156146d357600080fd5b6146dd60a0615467565b905060006146ed8482850161475e565b600083015250602061470184828501614749565b602083015250604061471584828501614749565b604083015250606061472984828501614773565b606083015250608061473d84828501614658565b60808301525092915050565b60008135905061475881615745565b92915050565b60008135905061476d8161575c565b92915050565b60008135905061478281615773565b92915050565b60006020828403121561479a57600080fd5b60006147a884828501614513565b91505092915050565b6000602082840312156147c357600080fd5b60006147d184828501614528565b91505092915050565b6000602082840312156147ec57600080fd5b60006147fa8482850161453d565b91505092915050565b6000806040838503121561481657600080fd5b60006148248582860161453d565b925050602083013567ffffffffffffffff81111561484157600080fd5b61484d858286016145d5565b9150509250929050565b6000806040838503121561486a57600080fd5b60006148788582860161453d565b92505060206148898582860161475e565b9150509250929050565b600080600080608085870312156148a957600080fd5b60006148b787828801614513565b94505060206148c887828801614513565b93505060406148d98782880161475e565b925050606085013567ffffffffffffffff8111156148f657600080fd5b6149028782880161466d565b91505092959194509250565b6000806040838503121561492157600080fd5b600061492f85828601614513565b925050602083013567ffffffffffffffff81111561494c57600080fd5b614958858286016145d5565b9150509250929050565b60006020828403121561497457600080fd5b600082013567ffffffffffffffff81111561498e57600080fd5b61499a84828501614552565b91505092915050565b6000602082840312156149b557600080fd5b600082013567ffffffffffffffff8111156149cf57600080fd5b6149db848285016145d5565b91505092915050565b600080600080600060a086880312156149fc57600080fd5b6000614a0a8882890161475e565b9550506020614a1b88828901614749565b9450506040614a2c88828901614749565b9350506060614a3d88828901614773565b9250506080614a4e88828901614658565b9150509295509295909350565b6000614a678383614bea565b60208301905092915050565b6000614a7f838361501b565b60e08301905092915050565b6000614a9783836150b8565b60208301905092915050565b614aac81615697565b82525050565b614abb816155d7565b82525050565b614aca816155d7565b82525050565b6000614adb82615540565b614ae58185615588565b9350614af083615510565b8060005b83811015614b21578151614b088882614a5b565b9750614b1383615561565b925050600181019050614af4565b5085935050505092915050565b6000614b398261554b565b614b438185615599565b9350614b4e83615520565b8060005b83811015614b7f578151614b668882614a73565b9750614b718361556e565b925050600181019050614b52565b5085935050505092915050565b6000614b9782615556565b614ba181856155aa565b9350614bac83615530565b8060005b83811015614bdd578151614bc48882614a8b565b9750614bcf8361557b565b925050600181019050614bb0565b5085935050505092915050565b614bf3816155fb565b82525050565b614c02816155fb565b82525050565b614c1181615607565b82525050565b614c20816156a9565b82525050565b614c2f81615633565b82525050565b6000614c426002836155c6565b91507f45330000000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000614c826022836155c6565b91507f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e60008301527f64730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614ce86002836155c6565b91507f45350000000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000614d286014836155c6565b91507f5061757361626c653a206e6f74207061757365640000000000000000000000006000830152602082019050919050565b6000614d686002836155c6565b91507f45320000000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000614da86026836155c6565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614e0e601b836155c6565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b6000614e4e6002836155c6565b91507f45360000000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000614e8e601e836155c6565b91507f536166654d6174683a207375627472616374696f6e206f766572666c6f7700006000830152602082019050919050565b6000614ece6010836155c6565b91507f5061757361626c653a20706175736564000000000000000000000000000000006000830152602082019050919050565b6000614f0e6002836155c6565b91507f45370000000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000614f4e6002836155c6565b91507f45310000000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000614f8e6020836155c6565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000614fce6000836155bb565b9150600082019050919050565b6000614fe86002836155c6565b91507f45340000000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b60e0820160008201516150316000850182614ab2565b50602082015161504460208501826150b8565b50604082015161505760408501826150b8565b50606082015161506a60608501826150a9565b50608082015161507d60808501826150a9565b5060a082015161509060a08501826150d6565b5060c08201516150a360c0850182614bea565b50505050565b6150b28161563d565b82525050565b6150c181615679565b82525050565b6150d081615679565b82525050565b6150df81615683565b82525050565b60006150f082614fc1565b9150819050919050565b600060208201905061510f6000830184614ac1565b92915050565b600060208201905061512a6000830184614aa3565b92915050565b60006060820190506151456000830186614aa3565b6151526020830185614aa3565b61515f60408301846150c7565b949350505050565b600060608201905061517c6000830186614aa3565b6151896020830185614ac1565b61519660408301846150c7565b949350505050565b600060208201905081810360008301526151b88184614ad0565b905092915050565b600060208201905081810360008301526151da8184614b2e565b905092915050565b600060208201905081810360008301526151fc8184614b8c565b905092915050565b60006020820190506152196000830184614bf9565b92915050565b60006020820190506152346000830184614c08565b92915050565b600060208201905061524f6000830184614c17565b92915050565b6000602082019050818103600083015261526e81614c35565b9050919050565b6000602082019050818103600083015261528e81614c75565b9050919050565b600060208201905081810360008301526152ae81614cdb565b9050919050565b600060208201905081810360008301526152ce81614d1b565b9050919050565b600060208201905081810360008301526152ee81614d5b565b9050919050565b6000602082019050818103600083015261530e81614d9b565b9050919050565b6000602082019050818103600083015261532e81614e01565b9050919050565b6000602082019050818103600083015261534e81614e41565b9050919050565b6000602082019050818103600083015261536e81614e81565b9050919050565b6000602082019050818103600083015261538e81614ec1565b9050919050565b600060208201905081810360008301526153ae81614f01565b9050919050565b600060208201905081810360008301526153ce81614f41565b9050919050565b600060208201905081810360008301526153ee81614f81565b9050919050565b6000602082019050818103600083015261540e81614fdb565b9050919050565b600060208201905061542a60008301846150c7565b92915050565b600060608201905061544560008301866150c7565b61545260208301856150c7565b61545f6040830184614c26565b949350505050565b6000604051905081810181811067ffffffffffffffff8211171561548a57600080fd5b8060405250919050565b600067ffffffffffffffff8211156154ab57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff8211156154d357600080fd5b602082029050602081019050919050565b600067ffffffffffffffff8211156154fb57600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006155e282615659565b9050919050565b60006155f482615659565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b60006fffffffffffffffffffffffffffffffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b60006156a2826156cd565b9050919050565b60006156b4826156bb565b9050919050565b60006156c682615659565b9050919050565b60006156d8826156df565b9050919050565b60006156ea82615659565b9050919050565b82818337600083830152505050565b615709816155d7565b811461571457600080fd5b50565b615720816155e9565b811461572b57600080fd5b50565b615737816155fb565b811461574257600080fd5b50565b61574e8161563d565b811461575957600080fd5b50565b61576581615679565b811461577057600080fd5b50565b61577c81615683565b811461578757600080fd5b5056fea264697066735822122016ed377ff2dc4dfbbef0232d53eedef1440712879f7447f30c69b032125b24d664736f6c63430007000033