VeChain
Explorer
Testnet
Search
Networks
Main
Test
Contract
0x2aC899…fF34
Summary
Transactions
Transfers
Address
0x2aC8994e41f26B17e89277E7EEaC65d21D2DfF34
VET
0.00
VET
VTHO
0.00
VTHO
Master
0xf077b491b355E64048cE21E3A6Fc4751eEeA77fa
Deployer
0xf077b491b355E64048cE21E3A6Fc4751eEeA77fa
Code
0x60806040526004361061039b5760003560e01c806384b0196e116101dc578063c01f9e3711610102578063deaaa7cc116100a0578063f23a6e611161006f578063f23a6e6114610c1c578063f8ce560a14610c3c578063f9f36f4514610c5c578063fc0c546a14610c7c57600080fd5b8063deaaa7cc14610b88578063e540d01d14610bbc578063eb9019d414610bdc578063ece40cc114610bfc57600080fd5b8063d33219b4116100dc578063d33219b414610b1e578063d4a8dd9814610b33578063d547741f14610b53578063dd4e2ba514610b7357600080fd5b8063c01f9e3714610acb578063c28bc2fa14610aeb578063c59057e414610afe57600080fd5b8063a217fddf1161017a578063ab58fb8e11610149578063ab58fb8e14610a20578063ad3cb1cc14610a65578063b58131b014610a96578063bc197c8114610aab57600080fd5b8063a217fddf146109b6578063a7713a70146109cb578063a890c910146109e0578063a9a9529414610a0057600080fd5b806391ddadf4116101b657806391ddadf4146108fe57806397c3d3341461092a5780639a802a6d1461093e5780639aeb962b1461095e57600080fd5b806384b0196e146108965780638ff262e3146108be57806391d14854146108de57600080fd5b806343859632116102c1578063567813881161025f578063790518871161022e57806379051887146107e15780637b3c71d3146108015780637d5e81e2146108215780637ecebe001461084157600080fd5b806356781388146107615780635b8d0e0d146107815780635f398a14146107a157806360c4247f146107c157600080fd5b80634f1ef2861161029b5780634f1ef286146106ad57806352d1902d146106c0578063544ffc9c146106d557806354fd4d501461073757600080fd5b80634385963214610621578063452115d6146106785780634bf5d7e91461069857600080fd5b8063248a9ca3116103395780632fe3e261116103085780632fe3e2611461058b57806336568abe146105bf5780633932abb1146105df5780633e4f49e6146105f457600080fd5b8063248a9ca3146105185780632656227d146105385780632d63f6931461054b5780632f2ff15d1461056b57600080fd5b806306fdde031161037557806306fdde0314610465578063143489d014610487578063150b7a02146104bf578063160cbed7146104f857600080fd5b806301ffc9a7146103d757806302a251a31461040c57806306f3f9e61461044557600080fd5b366103d257306103a9610c91565b6001600160a01b0316146103d057604051637485328f60e11b815260040160405180910390fd5b005b600080fd5b3480156103e357600080fd5b506103f76103f23660046140c0565b610ca0565b60405190151581526020015b60405180910390f35b34801561041857600080fd5b5060008051602061534283398151915254600160301b900463ffffffff165b604051908152602001610403565b34801561045157600080fd5b506103d06104603660046140ea565b610cb1565b34801561047157600080fd5b5061047a610cc5565b6040516104039190614153565b34801561049357600080fd5b506104a76104a23660046140ea565b610d69565b6040516001600160a01b039091168152602001610403565b3480156104cb57600080fd5b506104df6104da366004614246565b610d91565b6040516001600160e01b03199091168152602001610403565b34801561050457600080fd5b50610437610513366004614412565b610dd4565b34801561052457600080fd5b506104376105333660046140ea565b610eb6565b610437610546366004614412565b610ed8565b34801561055757600080fd5b506104376105663660046140ea565b611064565b34801561057757600080fd5b506103d06105863660046144a1565b611092565b34801561059757600080fd5b506104377f3e83946653575f9a39005e1545185629e92736b7528ab20ca3816f315424a81181565b3480156105cb57600080fd5b506103d06105da3660046144a1565b6110b4565b3480156105eb57600080fd5b506104376110ec565b34801561060057600080fd5b5061061461060f3660046140ea565b61110c565b6040516104039190614509565b34801561062d57600080fd5b506103f761063c3660046144a1565b60009182526000805160206153c2833981519152602090815260408084206001600160a01b039390931684526003909201905290205460ff1690565b34801561068457600080fd5b50610437610693366004614412565b611117565b3480156106a457600080fd5b5061047a6111fe565b6103d06106bb366004614517565b6112a7565b3480156106cc57600080fd5b506104376112c6565b3480156106e157600080fd5b5061071c6106f03660046140ea565b60009081526000805160206153c283398151915260205260409020805460018201546002909201549092565b60408051938452602084019290925290820152606001610403565b34801561074357600080fd5b506040805180820190915260018152603160f81b602082015261047a565b34801561076d57600080fd5b5061043761077c366004614577565b6112e3565b34801561078d57600080fd5b5061043761079c3660046145eb565b61130c565b3480156107ad57600080fd5b506104376107bc3660046146a5565b61144d565b3480156107cd57600080fd5b506104376107dc3660046140ea565b6114a2565b3480156107ed57600080fd5b506103d06107fc36600461473c565b611551565b34801561080d57600080fd5b5061043761081c366004614759565b611562565b34801561082d57600080fd5b5061043761083c3660046147b2565b6115aa565b34801561084d57600080fd5b5061043761085c366004614866565b6001600160a01b031660009081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052604090205490565b3480156108a257600080fd5b506108ab611667565b60405161040397969594939291906148be565b3480156108ca57600080fd5b506104376108d936600461492e565b611713565b3480156108ea57600080fd5b506103f76108f93660046144a1565b6117c7565b34801561090a57600080fd5b506109136117ff565b60405165ffffffffffff9091168152602001610403565b34801561093657600080fd5b506064610437565b34801561094a57600080fd5b5061043761095936600461497f565b61186e565b34801561096a57600080fd5b506103f7610979366004614866565b6001600160a01b031660009081527fa1cefa0f43667ef127a258e673c94202a79b656e62899531c4376d87a7f39801602052604090205460ff1690565b3480156109c257600080fd5b50610437600081565b3480156109d757600080fd5b50610437611885565b3480156109ec57600080fd5b506103d06109fb366004614866565b6118c0565b348015610a0c57600080fd5b506103f7610a1b3660046140ea565b6118d1565b348015610a2c57600080fd5b50610437610a3b3660046140ea565b6000908152600080516020615322833981519152602052604090206001015465ffffffffffff1690565b348015610a7157600080fd5b5061047a604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610aa257600080fd5b506104376118da565b348015610ab757600080fd5b506104df610ac63660046149d7565b6118f2565b348015610ad757600080fd5b50610437610ae63660046140ea565b611936565b6103d0610af9366004614a6a565b611997565b348015610b0a57600080fd5b50610437610b19366004614412565b611a17565b348015610b2a57600080fd5b506104a7611a51565b348015610b3f57600080fd5b506103f7610b4e3660046140ea565b611a74565b348015610b5f57600080fd5b506103d0610b6e3660046144a1565b611a7f565b348015610b7f57600080fd5b5061047a611a9b565b348015610b9457600080fd5b506104377ff2aad550cf55f045cb27e9c559f9889fdfb6e6cdaa032301d6ea397784ae51d781565b348015610bc857600080fd5b506103d0610bd7366004614ac1565b611abb565b348015610be857600080fd5b50610437610bf7366004614adc565b611acc565b348015610c0857600080fd5b506103d0610c173660046140ea565b611aed565b348015610c2857600080fd5b506104df610c37366004614b08565b611afe565b348015610c4857600080fd5b50610437610c573660046140ea565b611b42565b348015610c6857600080fd5b506103d0610c77366004614b70565b611b4d565b348015610c8857600080fd5b506104a7611ccf565b6000610c9b611a51565b905090565b6000610cab82611cf8565b92915050565b610cb9611d38565b610cc281611dc3565b50565b6000805160206154228339815191528054606091908190610ce590614bf2565b80601f0160208091040260200160405190810160405280929190818152602001828054610d1190614bf2565b8015610d5e5780601f10610d3357610100808354040283529160200191610d5e565b820191906000526020600020905b815481529060010190602001808311610d4157829003601f168201915b505050505091505090565b600090815260008051602061532283398151915260205260409020546001600160a01b031690565b600030610d9c610c91565b6001600160a01b031614610dc357604051637485328f60e11b815260040160405180910390fd5b50630a85bd0160e11b949350505050565b600060008051602061542283398151915281610df287878787611a17565b9050610e0781610e026004611e7a565b611e9d565b506000610e178289898989611edc565b905065ffffffffffff811615610e9257600082815260018481016020908152604092839020909101805465ffffffffffff191665ffffffffffff85169081179091558251858152918201527f9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda2892910160405180910390a1610eab565b604051634844252360e11b815260040160405180910390fd5b509695505050505050565b60009081526000805160206153e2833981519152602052604090206001015490565b600060008051602061542283398151915281610ef687878787611a17565b9050610f1681610f066005611e7a565b610f106004611e7a565b17611e9d565b5060008181526001830160205260409020805460ff60f01b1916600160f01b17905530610f41610c91565b6001600160a01b031614610fd55760005b8751811015610fd357306001600160a01b0316888281518110610f7757610f77614c2c565b60200260200101516001600160a01b031603610fc357610fc3868281518110610fa257610fa2614c2c565b60200260200101518051906020012084600201611eeb90919063ffffffff16565b610fcc81614c58565b9050610f52565b505b610fe28188888888611f5c565b30610feb610c91565b6001600160a01b031614158015611019575060028201546001600160801b03808216600160801b9092041614155b1561102657600060028301555b6040518181527f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f906020015b60405180910390a19695505050505050565b60009081526000805160206153228339815191526020526040902054600160a01b900465ffffffffffff1690565b61109b82610eb6565b6110a481611f70565b6110ae8383611f7a565b50505050565b6001600160a01b03811633146110dd5760405163334bd91960e11b815260040160405180910390fd5b6110e78282612026565b505050565b6000610c9b6000805160206153428339815191525465ffffffffffff1690565b6000610cab826120a2565b60008061112686868686611a17565b905061113181610d69565b6001600160a01b0316336001600160a01b03161415801561115a57506111586000336117c7565b155b1561117f57604051633733be5960e21b81523360048201526024015b60405180910390fd5b600061118a8261110c565b600781111561119b5761119b6144d1565b146111e85760405162461bcd60e51b815260206004820152601e60248201527f476f7665726e6f723a2070726f706f73616c206e6f742070656e64696e6700006044820152606401611176565b6111f4868686866121f4565b9695505050505050565b6060611208611ccf565b6001600160a01b0316634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa92505050801561126657506040513d6000823e601f3d908101601f191682016040526112639190810190614c71565b60015b6112a2575060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b919050565b6112af61220b565b6112b8826122b2565b6112c282826122ba565b5050565b60006112d0612377565b506000805160206153a283398151915290565b600080339050611304848285604051806020016040528060008152506123c0565b949350505050565b6000806113d1876113cb7f3e83946653575f9a39005e1545185629e92736b7528ab20ca3816f315424a8118c8c8c6113438e6123e3565b8d8d604051611353929190614cde565b60405180910390208c805190602001206040516020016113b09796959493929190968752602087019590955260ff9390931660408601526001600160a01b03919091166060850152608084015260a083015260c082015260e00190565b60405160208183030381529060405280519060200120612425565b85612452565b9050806113fc576040516394ab6c0760e01b81526001600160a01b0388166004820152602401611176565b61144089888a89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508b92506124aa915050565b9998505050505050505050565b60008033905061149787828888888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a92506124aa915050565b979650505050505050565b7fe770710421fd2cad75ad828c61aa98f2d77d423a440b67872d0f65554148e00080546000919082826114d6600184614cee565b815481106114e6576114e6614c2c565b6000918252602090912001805490915065ffffffffffff811690600160301b90046001600160d01b031686821161152a576001600160d01b03169695505050505050565b61153d61153688612587565b86906125be565b6001600160d01b0316979650505050505050565b611559611d38565b610cc281612673565b6000803390506111f486828787878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506123c092505050565b6000336115b781846126f7565b6115df5760405163d9b3955760e01b81526001600160a01b0382166004820152602401611176565b60006116068260016115ef6117ff565b6115f99190614d01565b65ffffffffffff16611acc565b905060006116126118da565b90508082101561164e57604051636121770b60e11b81526001600160a01b03841660048201526024810183905260448101829052606401611176565b61165b88888888876127e8565b98975050505050505050565b60006060808280808381600080516020615362833981519152805490915015801561169457506001810154155b6116d85760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606401611176565b6116e0612a2c565b6116e8612a6b565b60408051600080825260208201909252600f60f81b9c939b5091995046985030975095509350915050565b600080611781846113cb7ff2aad550cf55f045cb27e9c559f9889fdfb6e6cdaa032301d6ea397784ae51d789898961174a8b6123e3565b60408051602081019690965285019390935260ff90911660608401526001600160a01b0316608083015260a082015260c0016113b0565b9050806117ac576040516394ab6c0760e01b81526001600160a01b0385166004820152602401611176565b6111f4868587604051806020016040528060008152506123c0565b60009182526000805160206153e2833981519152602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6000611809611ccf565b6001600160a01b03166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611862575060408051601f3d908101601f1916820190925261185f91810190614d20565b60015b6112a257610c9b612aaa565b600061187b848484612ab5565b90505b9392505050565b60007fe770710421fd2cad75ad828c61aa98f2d77d423a440b67872d0f65554148e0006118b181612b32565b6001600160d01b031691505090565b6118c8611d38565b610cc281612b6b565b60006001610cab565b6000610c9b6000805160206153828339815191525490565b6000306118fd610c91565b6001600160a01b03161461192457604051637485328f60e11b815260040160405180910390fd5b5063bc197c8160e01b95945050505050565b600081815260008051602061532283398151915260205260408120546000805160206154228339815191529061198890600160d01b810463ffffffff1690600160a01b900465ffffffffffff16614d3d565b65ffffffffffff169392505050565b61199f611d38565b600080856001600160a01b03168585856040516119bd929190614cde565b60006040518083038185875af1925050503d80600081146119fa576040519150601f19603f3d011682016040523d82523d6000602084013e6119ff565b606091505b5091509150611a0e8282612be1565b50505050505050565b600084848484604051602001611a309493929190614dea565b60408051601f19818403018152919052805160209091012095945050505050565b6000806000805160206154028339815191525b546001600160a01b031692915050565b6000610cab82612bfd565b611a8882610eb6565b611a9181611f70565b6110ae8383612026565b606060405180606001604052806028815260200161544260289139905090565b611ac3611d38565b610cc281612c50565b600061187e8383611ae860408051602081019091526000815290565b612ab5565b611af5611d38565b610cc281612d00565b600030611b09610c91565b6001600160a01b031614611b3057604051637485328f60e11b815260040160405180910390fd5b5063f23a6e6160e01b95945050505050565b6000610cab82612d4e565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b0316600081158015611b925750825b90506000826001600160401b03166001148015611bae5750303b155b905081158015611bbc575080155b15611bda5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611c0457845460ff60401b1916600160401b1785555b611c316040518060400160405280600c81526020016b2119aa2923b7bb32b93737b960a11b815250612de5565b611c3c888a89612e1d565b611c44612e30565b611c4d8c612e38565b611c568a612e49565b611c5f8b612e5a565b611c67612e30565b611c6f612e30565b611c7a600087611f7a565b508315611cc157845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050505050565b6000807f3ba4977254e415696610a40ebf2258dbfa0ec6a2ff64e84bfe715ff16977cc00611a64565b60006001600160e01b031982166332a2ad4360e11b1480611d2957506001600160e01b03198216630271189760e51b145b80610cab5750610cab82612e6b565b60008051602061542283398151915233611d50610c91565b6001600160a01b031614611d79576040516347096e4760e01b8152336004820152602401611176565b30611d82610c91565b6001600160a01b031614610cc25760008036604051611da2929190614cde565b604051809103902090505b80611dba83600201612ea0565b03611dad575050565b7fe770710421fd2cad75ad828c61aa98f2d77d423a440b67872d0f65554148e000606480831115611e115760405163243e544560e01b81526004810184905260248101829052604401611176565b6000611e1b611885565b9050611e39611e286117ff565b611e3186612f1e565b859190612f52565b505060408051828152602081018690527f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997910160405180910390a150505050565b6000816007811115611e8e57611e8e6144d1565b600160ff919091161b92915050565b600080611ea98461110c565b9050600083611eb783611e7a565b160361187e578381846040516331b75e4d60e01b815260040161117693929190614e35565b60006111f48686868686612f6d565b81546001600160801b03600160801b820481169181166001830190911603611f2657604051638acb5f2760e01b815260040160405180910390fd5b6001600160801b03808216600090815260018086016020526040909120939093558354919092018216600160801b029116179055565b611f698585858585613114565b5050505050565b610cc281336131bc565b60006000805160206153e2833981519152611f9584846117c7565b612015576000848152602082815260408083206001600160a01b03871684529091529020805460ff19166001179055611fcb3390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610cab565b6000915050610cab565b5092915050565b60006000805160206153e283398151915261204184846117c7565b15612015576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610cab565b6000600080516020615402833981519152816120bd846131f5565b905060058160078111156120d3576120d36144d1565b146120df579392505050565b6000848152600183016020526040908190205483549151632c258a9f60e11b81526004810182905290916001600160a01b03169063584b153e90602401602060405180830381865afa158015612139573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061215d9190614e57565b1561216d57506005949350505050565b8254604051632ab0f52960e01b8152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa1580156121b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121d99190614e57565b156121e957506007949350505050565b506002949350505050565b60006122028585858561336e565b95945050505050565b306001600160a01b037f0000000000000000000000002ac8994e41f26b17e89277e7eeac65d21d2dff3416148061229257507f0000000000000000000000002ac8994e41f26b17e89277e7eeac65d21d2dff346001600160a01b03166122866000805160206153a2833981519152546001600160a01b031690565b6001600160a01b031614155b156122b05760405163703e46dd60e11b815260040160405180910390fd5b565b610cc2611d38565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612314575060408051601f3d908101601f1916820190925261231191810190614e79565b60015b61233c57604051634c9c8ce360e01b81526001600160a01b0383166004820152602401611176565b6000805160206153a2833981519152811461236d57604051632a87526960e21b815260048101829052602401611176565b6110e78383613420565b306001600160a01b037f0000000000000000000000002ac8994e41f26b17e89277e7eeac65d21d2dff3416146122b05760405163703e46dd60e11b815260040160405180910390fd5b6000612202858585856123de60408051602081019091526000815290565b6124aa565b6001600160a01b031660009081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915590565b6000610cab612432613476565b8360405161190160f01b8152600281019290925260228201526042902090565b60008060006124618585613480565b509092509050600081600381111561247b5761247b6144d1565b1480156124995750856001600160a01b0316826001600160a01b0316145b806111f457506111f48686866134cd565b60006124ba86610e026001611e7a565b5060006124d0866124ca89611064565b85612ab5565b90506124df87878784876135a8565b825160000361253457856001600160a01b03167fb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda4888784886040516125279493929190614e92565b60405180910390a26111f4565b856001600160a01b03167fe2babfbac5889a709b63bb7f598b324e08bc5a4fb9ec647fb3cbc9ec07eb87128887848888604051612575959493929190614eba565b60405180910390a29695505050505050565b600065ffffffffffff8211156125ba576040516306dfcc6560e41b81526030600482015260248101839052604401611176565b5090565b81546000908181600581111561261d5760006125d984613703565b6125e39085614cee565b60008881526020902090915081015465ffffffffffff908116908716101561260d5780915061261b565b612618816001614ef4565b92505b505b600061262b878785856137eb565b905080156126665761265087612642600184614cee565b600091825260209091200190565b54600160301b90046001600160d01b0316611497565b6000979650505050505050565b600080516020615342833981519152546040805165ffffffffffff928316815291831660208301528051600080516020615382833981519152927fc565b045403dc03c2eea82b81a0465edad9e2e7fc4d97e11421c209da93d7a9392908290030190a1600101805465ffffffffffff191665ffffffffffff92909216919091179055565b8051600090603481101561270f576001915050610cab565b82810160131901516001600160a01b031981166b046e0e4dee0dee6cae47a60f60a31b1461274257600192505050610cab565b600080612750602885614cee565b90505b838110156127c75760008061278788848151811061277357612773614c2c565b01602001516001600160f81b03191661384d565b915091508161279f5760019650505050505050610cab565b8060ff166004856001600160a01b0316901b1793505050806127c090614c58565b9050612753565b50856001600160a01b0316816001600160a01b031614935050505092915050565b600080600080516020615422833981519152905061280f8787878780519060200120611a17565b91508551875114158061282457508451875114155b8061282e57508651155b1561286357865185518751604051630447b05d60e41b8152600481019390935260248301919091526044820152606401611176565b6000828152600182016020526040902054600160a01b900465ffffffffffff16156128b057816128928361110c565b6040516331b75e4d60e01b8152611176929190600090600401614e35565b60006128ba6110ec565b6128c26117ff565b65ffffffffffff166128d49190614ef4565b905060006128fc6000805160206153428339815191525463ffffffff600160301b9091041690565b6000858152600185016020526040902080546001600160a01b0319166001600160a01b03881617815590915061293183612587565b815465ffffffffffff91909116600160a01b0265ffffffffffff60a01b1990911617815561295e826138df565b815463ffffffff91909116600160d01b0263ffffffff60d01b1990911617815589517f7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e090869088908d908d906001600160401b038111156129c1576129c161417b565b6040519080825280602002602001820160405280156129f457816020015b60608152602001906001900390816129df5790505b508d89612a018a82614ef4565b8f604051612a1799989796959493929190614f07565b60405180910390a15050505095945050505050565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102805460609160008051602061536283398151915291610ce590614bf2565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103805460609160008051602061536283398151915291610ce590614bf2565b6000610c9b43612587565b6000612abf611ccf565b604051630748d63560e31b81526001600160a01b038681166004830152602482018690529190911690633a46b1a890604401602060405180830381865afa158015612b0e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187b9190614e79565b80546000908015612b6257612b4c83612642600184614cee565b54600160301b90046001600160d01b031661187e565b60009392505050565b6000805160206154028339815191528054604080516001600160a01b039283168152918416602083015280517f08f74ea46ef7894f65eabfb5e6e695de773a000b47c529ab559178069b2264019281900390910190a180546001600160a01b0319166001600160a01b0392909216919091179055565b606082612bf657612bf182613910565b610cab565b5080610cab565b60008181526000805160206153c2833981519152602081905260408220805460028201546001830154612c309190614ef4565b612c3a9190614ef4565b612c46610c5786611064565b1115949350505050565b60008051602061538283398151915263ffffffff8216600003612c895760405163f1cfbf0560e01b815260006004820152602401611176565b60018101546040805163ffffffff600160301b9093048316815291841660208301527f7e3f7f0708a84de9203036abaa450dccc85ad5ff52f78c170f3edb55cf5e8828910160405180910390a1600101805463ffffffff909216600160301b0269ffffffff00000000000019909216919091179055565b6000805160206153828339815191528054604080519182526020820184905280517fccb45da8d5717e6c4544694297c4ba5cf151d455c9bb0ed4fc7a38411bc054619281900390910190a155565b60006064612d5b836114a2565b612d63611ccf565b6001600160a01b0316638e539e8c856040518263ffffffff1660e01b8152600401612d9091815260200190565b602060405180830381865afa158015612dad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dd19190614e79565b612ddb9190614fde565b610cab919061500b565b612ded613939565b612e1481612e0f6040805180820190915260018152603160f81b602082015290565b613982565b610cc2816139e3565b612e25613939565b6110e7838383613a05565b6122b0613939565b612e40613939565b610cc281613a28565b612e51613939565b610cc281613a71565b612e62613939565b610cc281613a79565b60006001600160e01b03198216637965db0b60e01b1480610cab57506301ffc9a760e01b6001600160e01b0319831614610cab565b80546000906001600160801b0380821691600160801b9004168103612ed8576040516375e52f4f60e01b815260040160405180910390fd5b6001600160801b038181166000908152600185810160205260408220805492905585546fffffffffffffffffffffffffffffffff19169301909116919091179092555090565b60006001600160d01b038211156125ba576040516306dfcc6560e41b815260d0600482015260248101839052604401611176565b600080612f60858585613a81565b915091505b935093915050565b60008051602061540283398151915280546040805163793d064960e11b815290516000939284926001600160a01b039091169163f27a0c92916004808201926020929091908290030181865afa158015612fcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fef9190614e79565b905060003060601b6bffffffffffffffffffffffff19168518835460405163b1c5f42760e01b81529192506001600160a01b03169063b1c5f42790613041908b908b908b90600090889060040161502d565b602060405180830381865afa15801561305e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130829190614e79565b60008a815260018501602052604080822092909255845491516308f2a0bb60e41b81526001600160a01b0390921691638f2a0bb0916130ce918c918c918c919088908a9060040161507b565b600060405180830381600087803b1580156130e857600080fd5b505af11580156130fc573d6000803e3d6000fd5b50505050611440824261310f9190614ef4565b612587565b600080516020615402833981519152805460405163e38335e560e01b81526001600160a01b039091169063e38335e5903490613171908990899089906000906bffffffffffffffffffffffff193060601b168b189060040161502d565b6000604051808303818588803b15801561318a57600080fd5b505af115801561319e573d6000803e3d6000fd5b50505060009788525050600101602052505060408320929092555050565b6131c682826117c7565b6112c25760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401611176565b6000818152600080516020615322833981519152602052604081208054600080516020615422833981519152919060ff600160f01b8204811691600160f81b90041681156132495750600795945050505050565b801561325b5750600295945050505050565b600061326687611064565b90508060000361328c57604051636ad0607560e01b815260048101889052602401611176565b60006132966117ff565b65ffffffffffff1690508082106132b557506000979650505050505050565b60006132c089611936565b90508181106132d85750600198975050505050505050565b6132e189612bfd565b158061330e575060008981526000805160206153c283398151915260205260409020805460019091015411155b156133225750600398975050505050505050565b6000898152600080516020615322833981519152602052604090206001015465ffffffffffff1660000361335f5750600498975050505050505050565b50600598975050505050505050565b60006000805160206154028339815191528161338c87878787613bfb565b60008181526001840160205260409020549091508015610eab57825460405163c4d252f560e01b8152600481018390526001600160a01b039091169063c4d252f590602401600060405180830381600087803b1580156133eb57600080fd5b505af11580156133ff573d6000803e3d6000fd5b50505060008381526001850160205260408120555050915050949350505050565b61342982613cbd565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561346e576110e78282613d22565b6112c2613d8f565b6000610c9b613dae565b600080600083516041036134ba5760208401516040850151606086015160001a6134ac88828585613e22565b9550955095505050506134c6565b50508151600091506002905b9250925092565b6000806000856001600160a01b031685856040516024016134ef9291906150d3565b60408051601f198184030181529181526020820180516001600160e01b0316630b135d3f60e11b1790525161352491906150ec565b600060405180830381855afa9150503d806000811461355f576040519150601f19603f3d011682016040523d82523d6000602084013e613564565b606091505b509150915081801561357857506020815110155b80156111f457508051630b135d3f60e11b9061359d9083016020908101908401614e79565b149695505050505050565b60008581526000805160206153c2833981519152602081815260408084206001600160a01b0389168552600381019092529092205490919060ff161561360c576040516371c6af4960e01b81526001600160a01b0387166004820152602401611176565b6001600160a01b03861660009081526003820160205260409020805460ff1916600117905560ff8516613658578381600001600082825461364d9190614ef4565b909155506136b19050565b60001960ff861601613678578381600101600082825461364d9190614ef4565b60011960ff861601613698578381600201600082825461364d9190614ef4565b6040516303599be160e11b815260040160405180910390fd5b6001600160a01b038616600090815260018301602052604090205460ff16611a0e576001600160a01b038616600090815260018381016020526040909120805460ff1916909117905550505050505050565b60008160000361371557506000919050565b6000600161372284613ef1565b901c6001901b9050600181848161373b5761373b614ff5565b048201901c9050600181848161375357613753614ff5565b048201901c9050600181848161376b5761376b614ff5565b048201901c9050600181848161378357613783614ff5565b048201901c9050600181848161379b5761379b614ff5565b048201901c905060018184816137b3576137b3614ff5565b048201901c905060018184816137cb576137cb614ff5565b048201901c905061187e818285816137e5576137e5614ff5565b04613f85565b60005b818310156138455760006138028484613f9b565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff1611156138315780925061383f565b61383c816001614ef4565b93505b506137ee565b509392505050565b60008060f883901c602f811180156138685750603a8160ff16105b1561387d57600194602f199091019350915050565b8060ff166040108015613893575060478160ff16105b156138a8576001946036199091019350915050565b8060ff1660601080156138be575060678160ff16105b156138d3576001946056199091019350915050565b50600093849350915050565b600063ffffffff8211156125ba576040516306dfcc6560e41b81526020600482015260248101839052604401611176565b8051156139205780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166122b057604051631afcd79f60e31b815260040160405180910390fd5b61398a613939565b6000805160206153628339815191527fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1026139c48482615156565b50600381016139d38382615156565b5060008082556001909101555050565b6139eb613939565b600080516020615422833981519152806110e78382615156565b613a0d613939565b613a1683612673565b613a1f82612c50565b6110e781612d00565b613a30613939565b7f3ba4977254e415696610a40ebf2258dbfa0ec6a2ff64e84bfe715ff16977cc0080546001600160a01b0319166001600160a01b0392909216919091179055565b610cb9613939565b6118c8613939565b825460009081908015613ba0576000613a9f87612642600185614cee565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015613af357604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603613b3f5784613b1688612642600186614cee565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055613b90565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b602001519250839150612f659050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081612f65565b600060008051602061542283398151915281613c1987878787611a17565b9050613c6781613c296007611e7a565b613c336006611e7a565b613c3d6002611e7a565b6001613c4a600782615215565b613c55906002615312565b613c5f9190614cee565b181818611e9d565b5060008181526001830160205260409081902080546001600160f81b0316600160f81b179055517f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c906110529083815260200190565b806001600160a01b03163b600003613cf357604051634c9c8ce360e01b81526001600160a01b0382166004820152602401611176565b6000805160206153a283398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051613d3f91906150ec565b600060405180830381855af49150503d8060008114613d7a576040519150601f19603f3d011682016040523d82523d6000602084013e613d7f565b606091505b5091509150612202858383613fb6565b34156122b05760405163b398979f60e01b815260040160405180910390fd5b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f613dd9614012565b613de161407c565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115613e5d5750600091506003905082613ee7565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015613eb1573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116613edd57506000925060019150829050613ee7565b9250600091508190505b9450945094915050565b600080608083901c15613f0657608092831c92015b604083901c15613f1857604092831c92015b602083901c15613f2a57602092831c92015b601083901c15613f3c57601092831c92015b600883901c15613f4e57600892831c92015b600483901c15613f6057600492831c92015b600283901c15613f7257600292831c92015b600183901c15610cab5760010192915050565b6000818310613f94578161187e565b5090919050565b6000613faa600284841861500b565b61187e90848416614ef4565b606082613fcb57613fc682613910565b61187e565b8151158015613fe257506001600160a01b0384163b155b1561400b57604051639996b31560e01b81526001600160a01b0385166004820152602401611176565b508061187e565b60006000805160206153628339815191528161402c612a2c565b80519091501561404457805160209091012092915050565b81548015614053579392505050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470935050505090565b600060008051602061536283398151915281614096612a6b565b8051909150156140ae57805160209091012092915050565b60018201548015614053579392505050565b6000602082840312156140d257600080fd5b81356001600160e01b03198116811461187e57600080fd5b6000602082840312156140fc57600080fd5b5035919050565b60005b8381101561411e578181015183820152602001614106565b50506000910152565b6000815180845261413f816020860160208601614103565b601f01601f19169290920160200192915050565b60208152600061187e6020830184614127565b6001600160a01b0381168114610cc257600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156141b9576141b961417b565b604052919050565b60006001600160401b038211156141da576141da61417b565b50601f01601f191660200190565b60006141fb6141f6846141c1565b614191565b905082815283838301111561420f57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261423757600080fd5b61187e838335602085016141e8565b6000806000806080858703121561425c57600080fd5b843561426781614166565b9350602085013561427781614166565b92506040850135915060608501356001600160401b0381111561429957600080fd5b6142a587828801614226565b91505092959194509250565b60006001600160401b038211156142ca576142ca61417b565b5060051b60200190565b600082601f8301126142e557600080fd5b813560206142f56141f6836142b1565b82815260059290921b8401810191818101908684111561431457600080fd5b8286015b84811015610eab57803561432b81614166565b8352918301918301614318565b600082601f83011261434957600080fd5b813560206143596141f6836142b1565b82815260059290921b8401810191818101908684111561437857600080fd5b8286015b84811015610eab578035835291830191830161437c565b600082601f8301126143a457600080fd5b813560206143b46141f6836142b1565b82815260059290921b840181019181810190868411156143d357600080fd5b8286015b84811015610eab5780356001600160401b038111156143f65760008081fd5b6144048986838b0101614226565b8452509183019183016143d7565b6000806000806080858703121561442857600080fd5b84356001600160401b038082111561443f57600080fd5b61444b888389016142d4565b9550602087013591508082111561446157600080fd5b61446d88838901614338565b9450604087013591508082111561448357600080fd5b5061449087828801614393565b949793965093946060013593505050565b600080604083850312156144b457600080fd5b8235915060208301356144c681614166565b809150509250929050565b634e487b7160e01b600052602160045260246000fd5b6008811061450557634e487b7160e01b600052602160045260246000fd5b9052565b60208101610cab82846144e7565b6000806040838503121561452a57600080fd5b823561453581614166565b915060208301356001600160401b0381111561455057600080fd5b61455c85828601614226565b9150509250929050565b803560ff811681146112a257600080fd5b6000806040838503121561458a57600080fd5b8235915061459a60208401614566565b90509250929050565b60008083601f8401126145b557600080fd5b5081356001600160401b038111156145cc57600080fd5b6020830191508360208285010111156145e457600080fd5b9250929050565b600080600080600080600060c0888a03121561460657600080fd5b8735965061461660208901614566565b9550604088013561462681614166565b945060608801356001600160401b038082111561464257600080fd5b61464e8b838c016145a3565b909650945060808a013591508082111561466757600080fd5b6146738b838c01614226565b935060a08a013591508082111561468957600080fd5b506146968a828b01614226565b91505092959891949750929550565b6000806000806000608086880312156146bd57600080fd5b853594506146cd60208701614566565b935060408601356001600160401b03808211156146e957600080fd5b6146f589838a016145a3565b9095509350606088013591508082111561470e57600080fd5b5061471b88828901614226565b9150509295509295909350565b65ffffffffffff81168114610cc257600080fd5b60006020828403121561474e57600080fd5b813561187e81614728565b6000806000806060858703121561476f57600080fd5b8435935061477f60208601614566565b925060408501356001600160401b0381111561479a57600080fd5b6147a6878288016145a3565b95989497509550505050565b600080600080608085870312156147c857600080fd5b84356001600160401b03808211156147df57600080fd5b6147eb888389016142d4565b9550602087013591508082111561480157600080fd5b61480d88838901614338565b9450604087013591508082111561482357600080fd5b61482f88838901614393565b9350606087013591508082111561484557600080fd5b508501601f8101871361485757600080fd5b6142a5878235602084016141e8565b60006020828403121561487857600080fd5b813561187e81614166565b600081518084526020808501945080840160005b838110156148b357815187529582019590820190600101614897565b509495945050505050565b60ff60f81b8816815260e0602082015260006148dd60e0830189614127565b82810360408401526148ef8189614127565b606084018890526001600160a01b038716608085015260a0840186905283810360c085015290506149208185614883565b9a9950505050505050505050565b6000806000806080858703121561494457600080fd5b8435935061495460208601614566565b9250604085013561496481614166565b915060608501356001600160401b0381111561429957600080fd5b60008060006060848603121561499457600080fd5b833561499f81614166565b92506020840135915060408401356001600160401b038111156149c157600080fd5b6149cd86828701614226565b9150509250925092565b600080600080600060a086880312156149ef57600080fd5b85356149fa81614166565b94506020860135614a0a81614166565b935060408601356001600160401b0380821115614a2657600080fd5b614a3289838a01614338565b94506060880135915080821115614a4857600080fd5b614a5489838a01614338565b9350608088013591508082111561470e57600080fd5b60008060008060608587031215614a8057600080fd5b8435614a8b81614166565b93506020850135925060408501356001600160401b0381111561479a57600080fd5b803563ffffffff811681146112a257600080fd5b600060208284031215614ad357600080fd5b61187e82614aad565b60008060408385031215614aef57600080fd5b8235614afa81614166565b946020939093013593505050565b600080600080600060a08688031215614b2057600080fd5b8535614b2b81614166565b94506020860135614b3b81614166565b9350604086013592506060860135915060808601356001600160401b03811115614b6457600080fd5b61471b88828901614226565b600080600080600080600060e0888a031215614b8b57600080fd5b8735614b9681614166565b96506020880135614ba681614166565b955060408801359450614bbb60608901614aad565b93506080880135614bcb81614728565b925060a0880135915060c0880135614be281614166565b8091505092959891949750929550565b600181811c90821680614c0657607f821691505b602082108103614c2657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201614c6a57614c6a614c42565b5060010190565b600060208284031215614c8357600080fd5b81516001600160401b03811115614c9957600080fd5b8201601f81018413614caa57600080fd5b8051614cb86141f6826141c1565b818152856020838501011115614ccd57600080fd5b612202826020830160208601614103565b8183823760009101908152919050565b81810381811115610cab57610cab614c42565b65ffffffffffff82811682821603908082111561201f5761201f614c42565b600060208284031215614d3257600080fd5b815161187e81614728565b65ffffffffffff81811683821601908082111561201f5761201f614c42565b600081518084526020808501945080840160005b838110156148b35781516001600160a01b031687529582019590820190600101614d70565b600081518084526020808501808196508360051b8101915082860160005b85811015614ddd578284038952614dcb848351614127565b98850198935090840190600101614db3565b5091979650505050505050565b608081526000614dfd6080830187614d5c565b8281036020840152614e0f8187614883565b90508281036040840152614e238186614d95565b91505082606083015295945050505050565b83815260608101614e4960208301856144e7565b826040830152949350505050565b600060208284031215614e6957600080fd5b8151801515811461187e57600080fd5b600060208284031215614e8b57600080fd5b5051919050565b84815260ff841660208201528260408201526080606082015260006111f46080830184614127565b85815260ff8516602082015283604082015260a060608201526000614ee260a0830185614127565b828103608084015261165b8185614127565b80820180821115610cab57610cab614c42565b60006101208b8352602060018060a01b038c1681850152816040850152614f308285018c614d5c565b91508382036060850152614f44828b614883565b915083820360808501528189518084528284019150828160051b850101838c0160005b83811015614f9557601f19878403018552614f83838351614127565b94860194925090850190600101614f67565b505086810360a0880152614fa9818c614d95565b9450505050508560c08401528460e0840152828103610100840152614fce8185614127565b9c9b505050505050505050505050565b8082028115828204841417610cab57610cab614c42565b634e487b7160e01b600052601260045260246000fd5b60008261502857634e487b7160e01b600052601260045260246000fd5b500490565b60a08152600061504060a0830188614d5c565b82810360208401526150528188614883565b905082810360408401526150668187614d95565b60608401959095525050608001529392505050565b60c08152600061508e60c0830189614d5c565b82810360208401526150a08189614883565b905082810360408401526150b48188614d95565b60608401969096525050608081019290925260a0909101529392505050565b82815260406020820152600061187b6040830184614127565b600082516150fe818460208701614103565b9190910192915050565b601f8211156110e757600081815260208120601f850160051c8101602086101561512f5750805b601f850160051c820191505b8181101561514e5782815560010161513b565b505050505050565b81516001600160401b0381111561516f5761516f61417b565b6151838161517d8454614bf2565b84615108565b602080601f8311600181146151b857600084156151a05750858301515b600019600386901b1c1916600185901b17855561514e565b600085815260208120601f198616915b828110156151e7578886015182559484019460019091019084016151c8565b50858210156152055787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60ff8181168382160190811115610cab57610cab614c42565b600181815b8085111561526957816000190482111561524f5761524f614c42565b8085161561525c57918102915b93841c9390800290615233565b509250929050565b60008261528057506001610cab565b8161528d57506000610cab565b81600181146152a357600281146152ad576152c9565b6001915050610cab565b60ff8411156152be576152be614c42565b50506001821b610cab565b5060208310610133831016604e8410600b84101617156152ec575081810a610cab565b6152f6838361522e565b806000190482111561530a5761530a614c42565b029392505050565b600061187e60ff84168361527156fe7c712897014dbe49c045ef1299aa2d5f9e67e48eea4403efa21f1e0f3ac0cb0100d7616c8fe29c6c2fbe1d0c5bc8f2faa4c35b43746e70b24b4d532752affd01a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10000d7616c8fe29c6c2fbe1d0c5bc8f2faa4c35b43746e70b24b4d532752affd00360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca1cefa0f43667ef127a258e673c94202a79b656e62899531c4376d87a7f3980002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268000d5829787b8befdbc6044ef7457d8a95c2a04bc99235349f1a212c063e59d4007c712897014dbe49c045ef1299aa2d5f9e67e48eea4403efa21f1e0f3ac0cb00737570706f72743d627261766f2671756f72756d3d666f722c6162737461696e2c616761696e7374a264697066735822122089fba16d2f4521099e85f72504e934d51421a12f293ec4c37b3937eedbc25bc864736f6c63430008140033