diff --git a/core/systemcontracts/upgrade.go b/core/systemcontracts/upgrade.go index 2f9493d61f..977674680a 100644 --- a/core/systemcontracts/upgrade.go +++ b/core/systemcontracts/upgrade.go @@ -558,27 +558,27 @@ func init() { Configs: []*UpgradeConfig{ { ContractAddr: common.HexToAddress(ValidatorContract), - CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/f8bab13f56955e979bfb754425dab1e62e52f151", - Code: "60806040526004361061046c5760003560e01c8063862498821161024a578063c6d3394511610139578063e40716a1116100b6578063f9a2bbc71161007a578063f9a2bbc714610b6b578063fc3e590814610b80578063fccc281314610b95578063fd4ad81f14610baa578063fd6a687914610bd957610473565b8063e40716a114610af9578063eb57e20214610b0e578063eda5868c14610b2e578063f340fa0114610b43578063f92eb86b14610b5657610473565b8063d86222d5116100fd578063d86222d514610a90578063daacdb6614610aa5578063dc927faf14610aba578063e086c7b114610acf578063e1c7392a14610ae457610473565b8063c6d3394514610a3c578063c81b166214610a51578063c8509d811461085f578063d04aa99614610a66578063d68fb56a14610a7b57610473565b8063a5422d5c116101c7578063ad3c9da61161018b578063ad3c9da6146109d0578063aef198a9146109f0578063b7ab4db514610a05578063b8cf4ef114610a27578063bf9f49951461062f57610473565b8063a5422d5c1461095c578063a78abc1614610971578063aaf5eb6814610986578063ab51bb961461099b578063ac431751146109b057610473565b806396713da91161020e57806396713da9146108f35780639dc09262146109085780639fe0f8161461091d578063a0dc275814610932578063a1a11bf51461094757610473565b8063862498821461087f57806388b32f11146108945780638b5ad0c9146108a95780638d19a410146108be5780639369d7de146108de57610473565b80634df6e0c3116103665780636e47b482116102e35780637942fd05116102a75780637942fd05146108205780637a84ca2a1461083557806381650b621461084a578063831d65d11461085f578063853230aa1461080b57610473565b80636e47b482146107b757806370fd5bad146107cc578063718a8aa8146107e157806375d47a0a146107f657806378dfed4a1461080b57610473565b8063565c56b31161032a578063565c56b3146107265780635667515a146107465780635d77156c1461075b57806362b72cf5146107705780636969a25c1461078557610473565b80634df6e0c3146106b25780635192c82c146106c757806351e80672146106dc578063549b03f2146106f157806355614fcc1461070657610473565b8063321d398a116103f45780633dffc387116103b85780633dffc3871461062f57806343756e5c1461065157806345cf9daf14610666578063493279b11461067b5780634bf6c8821461069d57610473565b8063321d398a146105975780633365af3a146105b757806335409f7f146105d75780633b071dcc146105f75780633de0f0d81461061a57610473565b80631182b8751161043b5780631182b875146104fe578063152ad3b81461052b5780631ff180691461054d578063219f22d514610562578063300c35671461057757610473565b806304c4fec61461047857806307a568471461048f5780630bee7a67146104ba5780630e2374a5146104dc57610473565b3661047357005b600080fd5b34801561048457600080fd5b5061048d610bee565b005b34801561049b57600080fd5b506104a4610c60565b6040516104b19190616d9d565b60405180910390f35b3480156104c657600080fd5b506104cf610c66565b6040516104b19190616dc7565b3480156104e857600080fd5b506104f1610c6b565b6040516104b191906161a4565b34801561050a57600080fd5b5061051e61051936600461608a565b610c71565b6040516104b1919061631b565b34801561053757600080fd5b50610540610ea9565b6040516104b19190616310565b34801561055957600080fd5b506104a4610eb2565b34801561056e57600080fd5b506104cf610eb8565b34801561058357600080fd5b5061048d610592366004615f53565b610ebd565b3480156105a357600080fd5b506105406105b2366004616037565b611263565b3480156105c357600080fd5b506105406105d2366004616037565b611332565b3480156105e357600080fd5b5061048d6105f2366004615f2c565b6113e3565b34801561060357600080fd5b5061060c61153c565b6040516104b1929190616226565b34801561062657600080fd5b506104a4611818565b34801561063b57600080fd5b5061064461181e565b6040516104b19190616dd8565b34801561065d57600080fd5b506104f1611823565b34801561067257600080fd5b506104a4611829565b34801561068757600080fd5b5061069061182f565b6040516104b19190616d8e565b3480156106a957600080fd5b50610644611834565b3480156106be57600080fd5b5061060c611839565b3480156106d357600080fd5b506104a46119b7565b3480156106e857600080fd5b506104f16119bd565b3480156106fd57600080fd5b506104a46119c3565b34801561071257600080fd5b50610540610721366004615f2c565b6119c9565b34801561073257600080fd5b506104a4610741366004615f2c565b6119fe565b34801561075257600080fd5b50610644611a4f565b34801561076757600080fd5b506104cf611a54565b34801561077c57600080fd5b506104a4611a59565b34801561079157600080fd5b506107a56107a0366004616037565b611a5f565b6040516104b1969594939291906161d1565b3480156107c357600080fd5b506104f1611ac3565b3480156107d857600080fd5b50610644611ac9565b3480156107ed57600080fd5b50610644611ace565b34801561080257600080fd5b506104f1611ad3565b34801561081757600080fd5b506104a4611ad9565b34801561082c57600080fd5b50610644611adf565b34801561084157600080fd5b506104a4611ae4565b34801561085657600080fd5b506104cf611aea565b34801561086b57600080fd5b5061048d61087a36600461608a565b611aef565b34801561088b57600080fd5b506104a4611b50565b3480156108a057600080fd5b506104a4611b56565b3480156108b557600080fd5b506104a4611b5c565b3480156108ca57600080fd5b506104a46108d9366004615f2c565b611b62565b3480156108ea57600080fd5b5061048d611ba2565b3480156108ff57600080fd5b50610644611cb6565b34801561091457600080fd5b506104f1611cbb565b34801561092957600080fd5b506104a4611cc1565b34801561093e57600080fd5b506104a4611cc6565b34801561095357600080fd5b506104f1611ccb565b34801561096857600080fd5b5061051e611cd1565b34801561097d57600080fd5b50610540611cf0565b34801561099257600080fd5b506104a4611cf9565b3480156109a757600080fd5b506104cf611a4f565b3480156109bc57600080fd5b5061048d6109cb366004615fdb565b611d02565b3480156109dc57600080fd5b506104a46109eb366004615f2c565b6125ae565b3480156109fc57600080fd5b506104a46125c0565b348015610a1157600080fd5b50610a1a6125cd565b6040516104b19190616213565b348015610a3357600080fd5b506104a46126b9565b348015610a4857600080fd5b506104a4611ac9565b348015610a5d57600080fd5b506104f16126be565b348015610a7257600080fd5b506104a46126c4565b348015610a8757600080fd5b506104a46126c9565b348015610a9c57600080fd5b506104a4612708565b348015610ab157600080fd5b506104a4612714565b348015610ac657600080fd5b506104f161271a565b348015610adb57600080fd5b506104a4612720565b348015610af057600080fd5b5061048d612725565b348015610b0557600080fd5b506104a46128d4565b348015610b1a57600080fd5b5061048d610b29366004615f2c565b6128da565b348015610b3a57600080fd5b506104cf6129e2565b61048d610b51366004615f2c565b6129e7565b348015610b6257600080fd5b506104a4612c6f565b348015610b7757600080fd5b506104f1612c75565b348015610b8c57600080fd5b50610644611cc1565b348015610ba157600080fd5b506104f1612c7b565b348015610bb657600080fd5b50610bca610bc5366004616037565b612c81565b6040516104b193929190616da6565b348015610be557600080fd5b506104f1612d43565b6000610bf933611b62565b9050600b8181548110610c0857fe5b600091825260209091206001601690920201015460ff16610c445760405162461bcd60e51b8152600401610c3b90616a46565b60405180910390fd5b6000610c4e6126c9565b9050610c5b338383612d49565b505050565b60095481565b606481565b61200181565b60005460609060ff16610c965760405162461bcd60e51b8152600401610c3b906164da565b3361200014610cb75760405162461bcd60e51b8152600401610c3b90616c25565b600b54610d7557610cc6615c18565b60015460005b81811015610d7157600b80546001810182556000919091528351600080516020616e50833981519152601690920291820190815560208086015160008051602061747f8339815191528401805460ff1916911515919091179055604086015180518794610d4d93600080516020616e70833981519152909101920190615c47565b506060820151610d639060038301906013615cc1565b505050806001019050610ccc565b5050505b610d7d615cee565b6000610dbe85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612f3592505050565b9150915080610dda57610dd160646130f1565b92505050610ea2565b815160009060ff16610dff57610df883602001518460400151613152565b9050610e6e565b825160ff1660011415610e6a57826020015151600114610e4457600080516020616e30833981519152604051610e349061692d565b60405180910390a1506067610e65565b610df88360200151600081518110610e5857fe5b6020026020010151613da6565b610e6e565b5060655b63ffffffff8116610e935750506040805160008152602081019091529150610ea29050565b610e9c816130f1565b93505050505b9392505050565b60075460ff1681565b60035481565b606881565b334114610edc5760405162461bcd60e51b8152600401610c3b90616c74565b6010544311610efd5760405162461bcd60e51b8152600401610c3b90616636565b60005460ff16610f1f5760405162461bcd60e51b8152600401610c3b906164da565b600f54610f37576032600f5561100231601155611259565b60006110023181610f578268056bc75e2d6310000063ffffffff613f1d16565b1115610f7557610f6e81606463ffffffff613f5f16565b9150610fd1565b6000610f8c60115483613f1d90919063ffffffff16565b1115610fca57610f6e6064610fbe600f54610fb260115486613f1d90919063ffffffff16565b9063ffffffff613fa116565b9063ffffffff613f5f16565b5050611259565b6040516309a99b4f60e41b815261100290639a99b4f090610ff890309086906004016161b8565b602060405180830381600087803b15801561101257600080fd5b505af1158015611026573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104a919061604f565b6110023160115591508161105f575050611259565b6000805b8481101561108d5785858281811061107757fe5b9050602002013582019150806001019050611063565b508061109b57505050611259565b6000806000805b8981101561125157848989838181106110b757fe5b905060200201358802816110c757fe5b0493508a8a828181106110d657fe5b90506020020160208101906110eb9190615f2c565b6001600160a01b0381166000908152600460205260409020549093509150811561120757600060018084038154811061112057fe5b9060005260206000209060040201905080600201601c9054906101000a900460ff161561118d57836001600160a01b03167fb9c75cbbfde137c4281689580799ef5f52144e78858f776a5979b2b212137d85866040516111809190616d9d565b60405180910390a2611201565b6003546111a0908663ffffffff613fdb16565b60039081558101546111b8908663ffffffff613fdb16565b60038201556040516001600160a01b038516907fcb0aad6cf9cd03bdf6137e359f541c42f38b39f007cae8e89e88aa7d8c6617b2906111f8908890616d9d565b60405180910390a25b50611249565b826001600160a01b03167fb9c75cbbfde137c4281689580799ef5f52144e78858f776a5979b2b212137d85856040516112409190616d9d565b60405180910390a25b6001016110a2565b505050505050505b5050436010555050565b60015460009082106112775750600061132d565b60006001600160a01b03166001838154811061128f57fe5b60009182526020909120600490910201546001600160a01b031614806112bf575060085415806112bf5750600a54155b806112ce575060085460095410155b806112df57506112dd82611332565b155b8061130857506000600b83815481106112f457fe5b906000526020600020906016020160000154115b8061131c575060016113186125cd565b5111155b156113295750600061132d565b5060015b919050565b60015460009082106113465750600061132d565b600b548210611383576001828154811061135c57fe5b9060005260206000209060040201600201601c9054906101000a900460ff1615905061132d565b6001828154811061139057fe5b9060005260206000209060040201600201601c9054906101000a900460ff161580156113dd5750600b82815481106113c457fe5b600091825260209091206001601690920201015460ff16155b92915050565b33611001146114045760405162461bcd60e51b8152600401610c3b90616d45565b600b546114c257611413615c18565b60015460005b818110156114be57600b80546001810182556000919091528351600080516020616e50833981519152601690920291820190815560208086015160008051602061747f8339815191528401805460ff191691151591909117905560408601518051879461149a93600080516020616e70833981519152909101920190615c47565b5060608201516114b09060038301906013615cc1565b505050806001019050611419565b5050505b6001600160a01b038116600090815260046020526040902054806114e65750611539565b6001810390506000600b82815481106114fb57fe5b600091825260209091206001601690920201015460ff16905061151e8383614000565b80156115275750805b15610c5b576009805460001901905550505b50565b60015460609081906000805b8281101561158f576001818154811061155d57fe5b9060005260206000209060040201600201601c9054906101000a900460ff16611587576001909101905b600101611548565b506060816040519080825280602002602001820160405280156115bc578160200160208202803683370190505b5090506060826040519080825280602002602001820160405280156115f557816020015b60608152602001906001900390816115e05790505b50600b54600094509091508414156117705760005b8481101561176a576001818154811061161f57fe5b9060005260206000209060040201600201601c9054906101000a900460ff16611762576001818154811061164f57fe5b600091825260209091206004909102015483516001600160a01b039091169084908690811061167a57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600b81815481106116a757fe5b600091825260209182902060026016909202018101805460408051601f60001961010060018616150201909316949094049182018590048502840185019052808352919290919083018282801561173f5780601f106117145761010080835404028352916020019161173f565b820191906000526020600020905b81548152906001019060200180831161172257829003601f168201915b505050505082858151811061175057fe5b60209081029190910101526001909301925b60010161160a565b5061180c565b60005b8481101561180a576001818154811061178857fe5b9060005260206000209060040201600201601c9054906101000a900460ff1661180257600181815481106117b857fe5b600091825260209091206004909102015483516001600160a01b03909116908490869081106117e357fe5b6001600160a01b03909216602092830291909101909101526001909301925b600101611773565b505b909450925050505b9091565b61271081565b600181565b61100181565b60085481565b603881565b600881565b600e54600c5460609182918061184d575060155b60606118576125cd565b90506060611864826143b3565b90508282511161187b579094509250611814915050565b8383835103101561188d578282510393505b83156118c35760c843046118a983838388880360008a8a614521565b6118c18383838888038989038a8b8b8b510301614521565b505b6060836040519080825280602002602001820160405280156118ef578160200160208202803683370190505b50905060608460405190808252806020026020018201604052801561192857816020015b60608152602001906001900390816119135790505b50905060005b858110156119a95784818151811061194257fe5b602002602001015183828151811061195657fe5b60200260200101906001600160a01b031690816001600160a01b03168152505083818151811061198257fe5b602002602001015182828151811061199657fe5b602090810291909101015260010161192e565b509096509450505050509091565b60065481565b61200081565b600f5481565b6001600160a01b038116600090815260046020526040812054806119f157600091505061132d565b60001901610ea281611332565b6001600160a01b03811660009081526004602052604081205480611a2657600091505061132d565b600180820381548110611a3557fe5b906000526020600020906004020160030154915050919050565b600081565b606781565b60105481565b60018181548110611a6c57fe5b600091825260209091206004909102018054600182015460028301546003909301546001600160a01b0392831694509082169291821691600160a01b81046001600160401b031691600160e01b90910460ff169086565b61100581565b600281565b601081565b61100881565b6103e881565b600b81565b600c5481565b606681565b3361200014611b105760405162461bcd60e51b8152600401610c3b90616c25565b7f41ce201247b6ceb957dcdb217d0b8acb50b9ea0e12af9af4f5e7f38902101605838383604051611b4393929190616de6565b60405180910390a1505050565b60025481565b60115481565b600a5481565b6001600160a01b03811660009081526004602052604081205480611b985760405162461bcd60e51b8152600401610c3b90616bad565b6000190192915050565b600b54611c6057611bb1615c18565b60015460005b81811015611c5c57600b80546001810182556000919091528351600080516020616e50833981519152601690920291820190815560208086015160008051602061747f8339815191528401805460ff1916911515919091179055604086015180518794611c3893600080516020616e70833981519152909101920190615c47565b506060820151611c4e9060038301906013615cc1565b505050806001019050611bb7565b5050505b600854611c6d5760036008555b600a54611c7a576002600a555b6000611c8533611b62565b9050611c9081611263565b611cac5760405162461bcd60e51b8152600401610c3b906168ea565b6115393382614678565b600981565b61100781565b600381565b60c881565b61100681565b6040518061062001604052806105ef8152602001616e906105ef913981565b60005460ff1681565b6402540be40081565b60005460ff16611d245760405162461bcd60e51b8152600401610c3b906164da565b3361100714611d455760405162461bcd60e51b8152600401610c3b906169b3565b611daf84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080518082019091526013815272065787069726554696d655365636f6e6447617606c1b602082015291506147109050565b15611e4c5760208114611dd45760405162461bcd60e51b8152600401610c3b90616b67565b604080516020601f8401819004810282018101909252828152600091611e129185858083850183828082843760009201919091525061476992505050565b905060648110158015611e285750620186a08111155b611e445760405162461bcd60e51b8152600401610c3b90616793565b60025561256b565b611eac84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260098152686275726e526174696f60b81b602082015291506147109050565b15611f485760208114611ed15760405162461bcd60e51b8152600401610c3b90616360565b604080516020601f8401819004810282018101909252828152600091611f0f9185858083850183828082843760009201919091525061476992505050565b9050612710811115611f335760405162461bcd60e51b8152600401610c3b90616678565b6006556007805460ff1916600117905561256b565b611fb284848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260138152726d61784e756d4f664d61696e7461696e696e6760681b602082015291506147109050565b1561204c5760208114611fd75760405162461bcd60e51b8152600401610c3b90616397565b604080516020601f84018190048102820181019092528281526000916120159185858083850183828082843760009201919091525061476992505050565b600c5490915080612024575060155b8082106120435760405162461bcd60e51b8152600401610c3b906166eb565b5060085561256b565b6120b584848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260128152716d61696e7461696e536c6173685363616c6560701b602082015291506147109050565b1561214e57602081146120da5760405162461bcd60e51b8152600401610c3b90616460565b604080516020601f84018190048102820181019092528281526000916121189185858083850183828082843760009201919091525061476992505050565b905060008111801561212a5750600a81105b6121465760405162461bcd60e51b8152600401610c3b90616cc1565b600a5561256b565b6121c284848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601981527f6d61784e756d4f66576f726b696e6743616e6469646174657300000000000000602082015291506147109050565b1561225157602081146121e75760405162461bcd60e51b8152600401610c3b90616414565b604080516020601f84018190048102820181019092528281526000916122259185858083850183828082843760009201919091525061476992505050565b9050600d548111156122495760405162461bcd60e51b8152600401610c3b90616809565b600e5561256b565b6122ba84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260128152716d61784e756d4f6643616e6469646174657360701b602082015291506147109050565b1561233c57602081146122df5760405162461bcd60e51b8152600401610c3b90616a01565b604080516020601f840181900481028201810190925282815260009161231d9185858083850183828082843760009201919091525061476992505050565b600d819055600e5490915081101561233657600d54600e555b5061256b565b6123a084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600d81526c6e756d4f66436162696e65747360981b602082015291506147109050565b1561244e57602081146123c55760405162461bcd60e51b8152600401610c3b906164a5565b604080516020601f84018190048102820181019092528281526000916124039185858083850183828082843760009201919091525061476992505050565b9050600081116124255760405162461bcd60e51b8152600401610c3b90616548565b60298111156124465760405162461bcd60e51b8152600401610c3b90616590565b600c5561256b565b6124b884848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601381527266696e616c697479526577617264526174696f60681b602082015291506147109050565b1561255357602081146124dd5760405162461bcd60e51b8152600401610c3b90616aea565b604080516020601f840181900481028201810190925282815260009161251b9185858083850183828082843760009201919091525061476992505050565b90506001811015801561252f575060648111155b61254b5760405162461bcd60e51b8152600401610c3b90616878565b600f5561256b565b60405162461bcd60e51b8152600401610c3b90616d1e565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a848484846040516125a0949392919061632e565b60405180910390a150505050565b60046020526000908152604090205481565b68056bc75e2d6310000081565b6001546060906000805b828110156125fc576125e881611332565b156125f4578160010191505b6001016125d7565b50606081604051908082528060200260200182016040528015612629578160200160208202803683370190505b5090506000915060005b838110156126b05761264481611332565b156126a8576001818154811061265657fe5b600091825260209091206004909102015482516001600160a01b039091169083908590811061268157fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508260010192505b600101612633565b50925050505b90565b601581565b61100281565b603281565b60006126d36125cd565b519050600080600c54116126e85760156126ec565b600c545b9050808211156126fa578091505b8161270457600191505b5090565b67016345785d8a000081565b60055481565b61100381565b602981565b60005460ff16156127485760405162461bcd60e51b8152600401610c3b90616ab3565b612750615cee565b60006127766040518061062001604052806105ef8152602001616e906105ef9139612f35565b91509150806127975760405162461bcd60e51b8152600401610c3b90616be4565b60005b8260200151518110156128bc576001836020015182815181106127b957fe5b60209081029190910181015182546001818101855560009485528385208351600493840290910180546001600160a01b039283166001600160a01b03199182161782558587015182850180549185169183169190911790556040860151600283018054606089015160808a01511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b199590981692909516919091179290921694909417161790915560a09093015160039093019290925591860151805191850193918590811061288f57fe5b602090810291909101810151516001600160a01b031682528101919091526040016000205560010161279a565b50506103e8600255506000805460ff19166001179055565b600d5481565b33611001146128fb5760405162461bcd60e51b8152600401610c3b90616d45565b600b546129b95761290a615c18565b60015460005b818110156129b557600b80546001810182556000919091528351600080516020616e50833981519152601690920291820190815560208086015160008051602061747f8339815191528401805460ff191691151591909117905560408601518051879461299193600080516020616e70833981519152909101920190615c47565b5060608201516129a79060038301906013615cc1565b505050806001019050612910565b5050505b60006129c48261476e565b90506129cf81611263565b156129de576129de8282614678565b5050565b606581565b334114612a065760405162461bcd60e51b8152600401610c3b90616c74565b60005460ff16612a285760405162461bcd60e51b8152600401610c3b906164da565b60003411612a485760405162461bcd60e51b8152600401610c3b906167da565b6001600160a01b0381166000908152600460205260409020546007543491906103e89060ff1615612a7857506006545b600083118015612a885750600081115b15612b29576000612aa5612710610fbe868563ffffffff613fa116565b90508015612b275760405161dead9082156108fc029083906000818181858888f19350505050158015612adc573d6000803e3d6000fd5b507f627059660ea01c4733a328effb2294d2f86905bf806da763a89cee254de8bee581604051612b0c9190616d9d565b60405180910390a1612b24848263ffffffff613f1d16565b93505b505b8115612c27576000600180840381548110612b4057fe5b9060005260206000209060040201905080600201601c9054906101000a900460ff1615612bad57846001600160a01b03167ff177e5d6c5764d79c32883ed824111d9b13f5668cf6ab1cc12dd36791dd955b485604051612ba09190616d9d565b60405180910390a2612c21565b600354612bc0908563ffffffff613fdb16565b6003908155810154612bd8908563ffffffff613fdb16565b60038201556040516001600160a01b038616907f93a090ecc682c002995fad3c85b30c5651d7fd29b0be5da9d784a3302aedc05590612c18908790616d9d565b60405180910390a25b50612c69565b836001600160a01b03167ff177e5d6c5764d79c32883ed824111d9b13f5668cf6ab1cc12dd36791dd955b484604051612c609190616d9d565b60405180910390a25b50505050565b600e5481565b61100081565b61dead81565b600b8181548110612c8e57fe5b6000918252602091829020601691909102018054600180830154600280850180546040805161010096831615969096026000190190911692909204601f810188900488028501880190925281845293965060ff90911694919291830182828015612d395780601f10612d0e57610100808354040283529160200191612d39565b820191906000526020600020905b815481529060010190602001808311612d1c57829003601f168201915b5050505050905083565b61100481565b6000600a5460001480612d5a575081155b80612d655750600954155b15612d7257506000610ea2565b60096000815460019003919050819055506000612dbd600a54610fbe85610fbe600b8981548110612d9f57fe5b6000918252602090912060169091020154439063ffffffff613f1d16565b90506000600b8581548110612dce57fe5b906000526020600020906016020160010160006101000a81548160ff0219169083151502179055506000806110016001600160a01b0316638256ace66040518163ffffffff1660e01b8152600401604080518083038186803b158015612e3357600080fd5b505afa158015612e47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e6b9190616067565b9150915060009350808310612ee557612e848787614000565b506040516305bfb49960e41b815261100190635bfb499090612eaa908a906004016161a4565b600060405180830381600087803b158015612ec457600080fd5b505af1158015612ed8573d6000803e3d6000fd5b5050505060019350612ef7565b818310612ef757612ef58761476e565b505b6040516001600160a01b038816907fb9d38178dc641ff1817967a63c9078cbcd955a9f1fcd75e0e3636de615d44d3b90600090a25050509392505050565b612f3d615cee565b6000612f47615cee565b612f4f615d12565b612f60612f5b86614911565b614936565b90506000805b612f6f83614980565b156130e35780612f9457612f8a612f85846149a1565b6149ef565b60ff1684526130db565b80600114156130d6576060612fb0612fab856149a1565b614a6f565b90508051604051908082528060200260200182016040528015612fed57816020015b612fda615d32565b815260200190600190039081612fd25790505b508560200181905250805160405190808252806020026020018201604052801561302b57816020015b60608152602001906001900390816130165790505b50604086015260005b81518110156130cb57613045615d32565b6060600061306585858151811061305857fe5b6020026020010151614b40565b92509250925080613085578860009a509a505050505050505050506130ec565b828960200151858151811061309657fe5b602002602001018190525081896040015185815181106130b257fe5b6020026020010181905250505050806001019050613034565b5060019250506130db565b6130e3565b600101612f66565b50919350909150505b915091565b604080516001808252818301909252606091829190816020015b606081526020019060019003908161310b5790505090506131318363ffffffff16614c5a565b8160008151811061313e57fe5b6020026020010181905250610ea281614c6d565b600060298351111561318957600080516020616e30833981519152604051613179906165ed565b60405180910390a15060666113dd565b60005b83518110156132275760005b8181101561321e578481815181106131ac57fe5b6020026020010151600001516001600160a01b03168583815181106131cd57fe5b6020026020010151600001516001600160a01b0316141561321657600080516020616e3083398151915260405161320390616748565b60405180910390a16066925050506113dd565b600101613198565b5060010161318c565b506060806132358585614cf7565b60015491935091506000908190815b818110156132ba5767016345785d8a00006001828154811061326257fe5b90600052602060002090600402016003015410613284578360010193506132b2565b60006001828154811061329357fe5b90600052602060002090600402016003015411156132b2578260010192505b600101613244565b506060836040519080825280602002602001820160405280156132e7578160200160208202803683370190505b509050606084604051908082528060200260200182016040528015613316578160200160208202803683370190505b509050606085604051908082528060200260200182016040528015613345578160200160208202803683370190505b509050606086604051908082528060200260200182016040528015613374578160200160208202803683370190505b50905060006060876040519080825280602002602001820160405280156133a5578160200160208202803683370190505b5090506060886040519080825280602002602001820160405280156133d4578160200160208202803683370190505b509050600099506000985060006110046001600160a01b031663149d14d96040518163ffffffff1660e01b815260040160206040518083038186803b15801561341c57600080fd5b505afa158015613430573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613454919061604f565b905067016345785d8a000081111561349f57600080516020616e3083398151915260405161348190616a72565b60405180910390a160689d50505050505050505050505050506113dd565b60005b898110156137105767016345785d8a0000600182815481106134c057fe5b9060005260206000209060040201600301541061364557600181815481106134e457fe5b906000526020600020906004020160020160009054906101000a90046001600160a01b0316898d8151811061351557fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060006402540be4006001838154811061354a57fe5b9060005260206000209060040201600301548161356357fe5b066001838154811061357157fe5b9060005260206000209060040201600301540390506135998382613f1d90919063ffffffff16565b898e815181106135a557fe5b602002602001018181525050600182815481106135be57fe5b906000526020600020906004020160020160009054906101000a90046001600160a01b0316878e815181106135ef57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505081888e8151811061361c57fe5b6020908102919091010152613637868263ffffffff613fdb16565b95508c6001019c5050613708565b60006001828154811061365457fe5b9060005260206000209060040201600301541115613708576001818154811061367957fe5b906000526020600020906004020160010160009054906101000a90046001600160a01b0316848c815181106136aa57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600181815481106136d757fe5b906000526020600020906004020160030154838c815181106136f557fe5b6020026020010181815250508a6001019a505b6001016134a2565b5060008415613986576002546040516303702b2960e51b815261100491636e05652091889161374a918e918e918d91420190600401616296565b6020604051808303818588803b15801561376357600080fd5b505af193505050508015613794575060408051601f3d908101601f1916820190925261379191810190615fbb565b60015b61390b576040516000815260443d10156137b05750600061384b565b60046000803e60005160e01c6308c379a081146137d157600091505061384b565b60043d036004833e81513d60248201116001600160401b03821117156137fc5760009250505061384b565b80830180516001600160401b0381111561381d57600094505050505061384b565b8060208301013d860181111561383b5760009550505050505061384b565b601f01601f191660405250925050505b806138565750613898565b60019150857fa7cdeed7d0db45e3219a6e5d60838824c16f1d39991fcfe3f963029c844bf2808260405161388a919061631b565b60405180910390a250613906565b3d8080156138c2576040519150601f19603f3d011682016040523d82523d6000602084013e6138c7565b606091505b5060019150857fbfa884552dd8921b6ce90bfe906952ae5b3b29be0cc1a951d4f62697635a3a45826040516138fc919061631b565b60405180910390a2505b613986565b801561394d577fa217d08e65f80c73121cd9db834d81652d544bfbf452f6d04922b16c90a37b70866040516139409190616d9d565b60405180910390a1613984565b857fa7cdeed7d0db45e3219a6e5d60838824c16f1d39991fcfe3f963029c844bf28060405161397b906163dd565b60405180910390a25b505b8015613b3c5760005b8751811015613b3a5760008882815181106139a657fe5b602002602001015190506000600182815481106139bf57fe5b60009182526020909120600160049092020181015481546001600160a01b03909116916108fc91859081106139f057fe5b9060005260206000209060040201600301549081150290604051600060405180830381858888f1935050505090508015613aac5760018281548110613a3157fe5b60009182526020909120600160049092020181015481546001600160a01b03909116917f6c61d60f69a7beb3e1c80db7f39f37b208537cbb19da3174511b477812b2fc7d9185908110613a8057fe5b906000526020600020906004020160030154604051613a9f9190616d9d565b60405180910390a2613b30565b60018281548110613ab957fe5b60009182526020909120600160049092020181015481546001600160a01b03909116917f25d0ce7d2f0cec669a8c17efe49d195c13455bb8872b65fa610ac7f53fe4ca7d9185908110613b0857fe5b906000526020600020906004020160030154604051613b279190616d9d565b60405180910390a25b505060010161398f565b505b835115613c865760005b8451811015613c84576000858281518110613b5d57fe5b60200260200101516001600160a01b03166108fc868481518110613b7d57fe5b60200260200101519081150290604051600060405180830381858888f1935050505090508015613c1357858281518110613bb357fe5b60200260200101516001600160a01b03167f6c61d60f69a7beb3e1c80db7f39f37b208537cbb19da3174511b477812b2fc7d868481518110613bf157fe5b6020026020010151604051613c069190616d9d565b60405180910390a2613c7b565b858281518110613c1f57fe5b60200260200101516001600160a01b03167f25d0ce7d2f0cec669a8c17efe49d195c13455bb8872b65fa610ac7f53fe4ca7d868481518110613c5d57fe5b6020026020010151604051613c729190616d9d565b60405180910390a25b50600101613b46565b505b5050505050505050505050506000471115613d02577f6ecc855f9440a9282c90913bbc91619fd44f5ec0b462af28d127b116f130aa4d47604051613cca9190616d9d565b60405180910390a1604051611002904780156108fc02916000818181858888f19350505050158015613d00573d6000803e3d6000fd5b505b60006003819055600555815115613d1d57613d1d8282614f30565b6110016001600160a01b031663fc4333cd6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015613d5a57600080fd5b505af1158015613d6e573d6000803e3d6000fd5b50506040517fedd8d7296956dd970ab4de3f2fc03be2b0ffc615d20cd4c72c6e44f928630ebf925060009150a1506000949350505050565b80516001600160a01b0316600090815260046020526040812054801580613df75750600180820381548110613dd757fe5b9060005260206000209060040201600201601c9054906101000a900460ff165b15613e3d5782516040516001600160a01b03909116907fe209c46bebf57cf265d5d9009a00870e256d9150f3ed5281ab9d9eb3cec6e4be90600090a2600091505061132d565b600154600554600019820111801590613e935784516040516001600160a01b03909116907fe209c46bebf57cf265d5d9009a00870e256d9150f3ed5281ab9d9eb3cec6e4be90600090a26000935050505061132d565b600580546001908101909155805481906000198601908110613eb157fe5b6000918252602082206002600490920201018054921515600160e01b0260ff60e01b199093169290921790915585516040516001600160a01b03909116917ff226e7d8f547ff903d9d419cf5f54e0d7d07efa9584135a53a057c5f1f27f49a91a2506000949350505050565b6000610ea283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506155fe565b6000610ea283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061562a565b600082613fb0575060006113dd565b82820282848281613fbd57fe5b0414610ea25760405162461bcd60e51b8152600401610c3b90616972565b600082820183811015610ea25760405162461bcd60e51b8152600401610c3b90616511565b6000806001838154811061401057fe5b9060005260206000209060040201600301549050600060018080549050039050600161403a6125cd565b511161406f5760006001858154811061404f57fe5b9060005260206000209060040201600301819055506000925050506113dd565b846001600160a01b03167f3b6f9ef90462b512a1293ecec018670bf7b7f1876fb727590a8a6d7643130a70836040516140a89190616d9d565b60405180910390a26001600160a01b038516600090815260046020526040812055835b6001546000190181101561429557600181600101815481106140e957fe5b90600052602060002090600402016001828154811061410457fe5b60009182526020909120825460049092020180546001600160a01b03199081166001600160a01b0393841617825560018085015481840180548416918616919091179055600280860180549185018054909416919095161780835584546001600160401b03600160a01b91829004160267ffffffffffffffff60a01b1990911617808355935460ff600160e01b918290041615150260ff60e01b19909416939093179055600392830154920191909155600b8054909183019081106141c557fe5b9060005260206000209060160201600b82815481106141e057fe5b600091825260209091208254601690920201908155600180830154818301805460ff909216151560ff1990921691909117905560028084018054614237938386019390821615610100026000190190911604615d67565b5061424a60038281019084016013615ddc565b5090505080600101600460006001848154811061426357fe5b600091825260208083206004909202909101546001600160a01b031683528201929092526040019020556001016140cb565b5060018054806142a157fe5b60008281526020812060046000199093019283020180546001600160a01b0319908116825560018201805490911690556002810180546001600160e81b0319169055600301559055600b8054806142f457fe5b60008281526020812060166000199093019283020181815560018101805460ff19169055906143266002830182615e06565b614334600383016000615e4a565b50509055600081838161434357fe5b04905080156143a75760015460005b818110156143a457826001828154811061436857fe5b906000526020600020906004020160030154016001828154811061438857fe5b6000918252602090912060036004909202010155600101614352565b50505b50600195945050505050565b6001548151604080518281526020808402820101909152606092919083908280156143f257816020015b60608152602001906001900390816143dd5790505b50600b54909150831461440957925061132d915050565b60005b8281101561451857600b60016004600089858151811061442857fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054038154811061445c57fe5b600091825260209182902060026016909202018101805460408051601f6000196101006001861615020190931694909404918201859004850284018501905280835291929091908301828280156144f45780601f106144c9576101008083540402835291602001916144f4565b820191906000526020600020905b8154815290600101906020018083116144d757829003601f168201915b505050505082828151811061450557fe5b602090810291909101015260010161440c565b50949350505050565b60005b8281101561466e5760008287838801604051602001614544929190616196565b6040516020818303038152906040528051906020012060001c8161456457fe5b06905080850182870114614665576000898388018151811061458257fe5b602002602001015190506060898489018151811061459c57fe5b602002602001015190508a838801815181106145b457fe5b60200260200101518b858a01815181106145ca57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050818b848901815181106145f957fe5b60200260200101906001600160a01b031690816001600160a01b031681525050898388018151811061462757fe5b60200260200101518a858a018151811061463d57fe5b6020026020010181905250808a8489018151811061465757fe5b602002602001018190525050505b50600101614524565b5050505050505050565b600980546001908101909155600b80548390811061469257fe5b906000526020600020906016020160010160006101000a81548160ff02191690831515021790555043600b82815481106146c857fe5b600091825260208220601690910201919091556040516001600160a01b038416917ff62981a567ec3cec866c6fa93c55bcdf841d6292d18b8d522ececa769375d82d91a25050565b600081604051602001614723919061617a565b604051602081830303815290604052805190602001208360405160200161474a919061617a565b6040516020818303038152906040528051906020012014905092915050565b015190565b6001600160a01b038116600090815260046020526040812054806147975750600019905061132d565b6001810390506000600182815481106147ac57fe5b90600052602060002090600402016003015490506000600183815481106147cf57fe5b6000918252602090912060036004909202010155600154604051600019909101906001600160a01b038616907f8cd4e147d8af98a9e3b6724021b8bf6aed2e5dac71c38f2dce8161b82585b25d90614828908590616d9d565b60405180910390a2806148405782935050505061132d565b600081838161484b57fe5b04905080156149075760005b848110156148a957816001828154811061486d57fe5b906000526020600020906004020160030154016001828154811061488d57fe5b6000918252602090912060036004909202010155600101614857565b50600180549085015b818110156149045782600182815481106148c857fe5b90600052602060002090600402016003015401600182815481106148e857fe5b60009182526020909120600360049092020101556001016148b2565b50505b5091949350505050565b614919615e59565b506040805180820190915281518152602082810190820152919050565b61493e615d12565b61494782615661565b61495057600080fd5b600061495f836020015161569b565b60208085015160408051808201909152868152920190820152915050919050565b600061498a615e59565b505080518051602091820151919092015191011190565b6149a9615e59565b6149b282614980565b6149bb57600080fd5b602082015160006149cb826156fe565b80830160209586015260408051808201909152908152938401919091525090919050565b805160009015801590614a0457508151602110155b614a0d57600080fd5b6000614a1c836020015161569b565b90508083600001511015614a425760405162461bcd60e51b8152600401610c3b90616b30565b82516020808501518301805192849003929183101561451857506020919091036101000a90049392505050565b6060614a7a82615661565b614a8357600080fd5b6000614a8e836157df565b9050606081604051908082528060200260200182016040528015614acc57816020015b614ab9615e59565b815260200190600190039081614ab15790505b5090506000614ade856020015161569b565b60208601510190506000805b84811015614b3557614afb836156fe565b9150604051806040016040528083815260200184815250848281518110614b1e57fe5b602090810291909101015291810191600101614aea565b509195945050505050565b614b48615d32565b60606000614b54615d32565b6060614b5e615d12565b614b6787614936565b90506000805b614b7683614980565b15614c4b5780614ba157614b91614b8c846149a1565b61583b565b6001600160a01b03168552614c43565b8060011415614bc957614bb6614b8c846149a1565b6001600160a01b03166020860152614c43565b8060021415614bf157614bde614b8c846149a1565b6001600160a01b03166040860152614c43565b8060031415614c1d57614c06612f85846149a1565b6001600160401b0316606086015260019150614c43565b8060041415614c3e57614c37614c32846149a1565b615855565b9350614c43565b614c4b565b600101614b6d565b50929791965091945092505050565b60606113dd614c68836158c5565b6159ab565b6060815160001415614c8e575060408051600081526020810190915261132d565b606082600081518110614c9d57fe5b602002602001015190506000600190505b8351811015614cde57614cd482858381518110614cc757fe5b60200260200101516159fd565b9150600101614cae565b50610ea2614cf1825160c060ff16615a7a565b826159fd565b606080600080808080614d086126c9565b6001549091505b8015614e1657600181039250600b8381548110614d2857fe5b600091825260209091206001601690920201015460ff16614d4857614e0d565b60018381548110614d5557fe5b60009182526020909120600490910201546001600160a01b03169450614d7c858484612d49565b9350831580614d8f575060018a51038610155b15614d9957614e0d565b60005b8a51811015614e0b57856001600160a01b03168b8281518110614dbb57fe5b6020026020010151600001516001600160a01b03161415614e035760018b8281518110614de457fe5b6020908102919091010151901515608090910152600190960195614e0b565b600101614d9c565b505b60001901614d0f565b5084895103604051908082528060200260200182016040528015614e5457816020015b614e41615d32565b815260200190600190039081614e395790505b50965084895103604051908082528060200260200182016040528015614e8e57816020015b6060815260200190600190039081614e795790505b5095506000915060005b8951811015614f2257898181518110614ead57fe5b602002602001015160800151614f1a57898181518110614ec957fe5b6020026020010151888481518110614edd57fe5b6020026020010181905250888181518110614ef457fe5b6020026020010151878481518110614f0857fe5b60200260200101819052508260010192505b600101614e98565b5050505050505b9250929050565b600154825160005b8281101561504d576001614f4a615d32565b60018381548110614f5757fe5b600091825260208083206040805160c08101825260049490940290910180546001600160a01b0390811685526001820154811693850193909352600281015492831691840191909152600160a01b82046001600160401b03166060840152600160e01b90910460ff16151560808301526003015460a082015291505b8481101561502157878181518110614fe757fe5b6020026020010151600001516001600160a01b031682600001516001600160a01b031614156150195760009250615021565b600101614fd3565b5081156150435780516001600160a01b03166000908152600460205260408120555b5050600101614f38565b508082111561510c57805b8281101561510a57600180548061506b57fe5b60008281526020812060046000199093019283020180546001600160a01b0319908116825560018201805490911690556002810180546001600160e81b0319169055600301559055600b8054806150be57fe5b60008281526020812060166000199093019283020181815560018101805460ff19169055906150f06002830182615e06565b6150fe600383016000615e4a565b50509055600101615058565b505b600081831061511b578161511d565b825b905060005b818110156153b0576151cf86828151811061513957fe5b60200260200101516001838154811061514e57fe5b60009182526020918290206040805160c08101825260049390930290910180546001600160a01b0390811684526001820154811694840194909452600281015493841691830191909152600160a01b83046001600160401b03166060830152600160e01b90920460ff161515608082015260039091015460a0820152615b4c565b6153835780600101600460008884815181106151e757fe5b6020026020010151600001516001600160a01b03166001600160a01b031681526020019081526020016000208190555085818151811061522357fe5b60200260200101516001828154811061523857fe5b6000918252602091829020835160049092020180546001600160a01b039283166001600160a01b0319918216178255928401516001820180549184169185169190911790556040840151600282018054606087015160808801511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b1995909716929097169190911792909216939093171692909217905560a09091015160039091015584518590829081106152f357fe5b6020026020010151600b828154811061530857fe5b9060005260206000209060160201600201908051906020019061532c929190615c47565b506000600b828154811061533c57fe5b60009182526020822060169190910201600101805460ff191692151592909217909155600b80548390811061536d57fe5b60009182526020909120601690910201556153a8565b60006001828154811061539257fe5b9060005260206000209060040201600301819055505b600101615122565b5082821115615588576153c1615c18565b835b83811015615585578581815181106153d757fe5b6020026020010151826040018190525060018782815181106153f557fe5b6020908102919091018101518254600181810185556000948552838520835160049093020180546001600160a01b039384166001600160a01b0319918216178255848601518284018054918616918316919091179055604080860151600284018054606089015160808a01511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b1995909a1692909616919091179290921696909617169190911790935560a090930151600390930192909255600b8054928301815590935284516016909102600080516020616e5083398151915281019182558583015160008051602061747f8339815191528201805491151560ff199092169190911790559285015180518694929361552b93600080516020616e7083398151915201920190615c47565b5060608201516155419060038301906013615cc1565b505050806001016004600089848151811061555857fe5b602090810291909101810151516001600160a01b03168252810191909152604001600020556001016153c3565b50505b6000600981905560015493505b838110156155f6576000600b82815481106155ac57fe5b60009182526020822060169190910201600101805460ff191692151592909217909155600b8054839081106155dd57fe5b6000918252602090912060169091020155600101615595565b505050505050565b600081848411156156225760405162461bcd60e51b8152600401610c3b919061631b565b505050900390565b6000818361564b5760405162461bcd60e51b8152600401610c3b919061631b565b50600083858161565757fe5b0495945050505050565b80516000906156725750600061132d565b6020820151805160001a9060c08210156156915760009250505061132d565b5060019392505050565b8051600090811a60808110156156b557600091505061132d565b60b88110806156d0575060c081108015906156d0575060f881105b156156df57600191505061132d565b60c08110156156f35760b51901905061132d565b60f51901905061132d565b80516000908190811a608081101561571957600191506157d8565b60b881101561572e57607e19810191506157d8565b60c081101561577f57600060b78203600186019550806020036101000a8651049150600181018201935050808310156157795760405162461bcd60e51b8152600401610c3b906168bf565b506157d8565b60f88110156157945760be19810191506157d8565b600060f78203600186019550806020036101000a8651049150600181018201935050808310156157d65760405162461bcd60e51b8152600401610c3b906168bf565b505b5092915050565b80516000906157f05750600061132d565b60008090506000615804846020015161569b565b602085015185519181019250015b8082101561583257615823826156fe565b82019150826001019250615812565b50909392505050565b805160009060151461584c57600080fd5b6113dd826149ef565b805160609061586357600080fd5b6000615872836020015161569b565b83516040805191839003808352601f19601f82011683016020019091529192506060908280156158a9576020820181803683370190505b5090506000816020019050614518848760200151018285615bcd565b604080516020808252818301909252606091829190602082018180368337505050602081018490529050600067ffffffffffffffff1984166159095750601861592d565b6fffffffffffffffffffffffffffffffff1984166159295750601061592d565b5060005b60208110156159635781818151811061594257fe5b01602001516001600160f81b0319161561595b57615963565b60010161592d565b60008160200390506060816040519080825280601f01601f191660200182016040528015615998576020820181803683370190505b5080830196909652508452509192915050565b6060815160011480156159dd5750607f60f81b826000815181106159cb57fe5b01602001516001600160f81b03191611155b156159e957508061132d565b6113dd6159fb8351608060ff16615a7a565b835b6060806040519050835180825260208201818101602087015b81831015615a2e578051835260209283019201615a16565b50855184518101855292509050808201602086015b81831015615a5b578051835260209283019201615a43565b508651929092011591909101601f01601f191660405250905092915050565b6060680100000000000000008310615aa45760405162461bcd60e51b8152600401610c3b906166c3565b60408051600180825281830190925260609160208201818036833701905050905060378411615afe5782840160f81b81600081518110615ae057fe5b60200101906001600160f81b031916908160001a90535090506113dd565b6060615b09856158c5565b90508381510160370160f81b82600081518110615b2257fe5b60200101906001600160f81b031916908160001a905350615b4382826159fd565b95945050505050565b805182516000916001600160a01b039182169116148015615b86575081602001516001600160a01b031683602001516001600160a01b0316145b8015615bab575081604001516001600160a01b031683604001516001600160a01b0316145b8015610ea25750506060908101519101516001600160401b0390811691161490565b80615bd757610c5b565b5b60208110615bf7578251825260209283019290910190601f1901615bd8565b915181516020939093036101000a6000190180199091169216919091179052565b60405180608001604052806000815260200160001515815260200160608152602001615c42615e73565b905290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10615c8857805160ff1916838001178555615cb5565b82800160010185558215615cb5579182015b82811115615cb5578251825591602001919060010190615c9a565b50612704929150615e92565b8260138101928215615cb55791602002820182811115615cb5578251825591602001919060010190615c9a565b6040518060600160405280600060ff16815260200160608152602001606081525090565b6040518060400160405280615d25615e59565b8152602001600081525090565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10615da05780548555615cb5565b82800160010185558215615cb557600052602060002091601f016020900482015b82811115615cb5578254825591600101919060010190615dc1565b8260138101928215615cb55791820182811115615cb5578254825591600101919060010190615dc1565b50805460018160011615610100020316600290046000825580601f10615e2c5750611539565b601f0160209004906000526020600020908101906115399190615e92565b50611539906013810190615e92565b604051806040016040528060008152602001600081525090565b6040518061026001604052806013906020820280368337509192915050565b6126b691905b808211156127045760008155600101615e98565b60008083601f840112615ebd578182fd5b5081356001600160401b03811115615ed3578182fd5b6020830191508360208083028501011115614f2957600080fd5b60008083601f840112615efe578182fd5b5081356001600160401b03811115615f14578182fd5b602083019150836020828501011115614f2957600080fd5b600060208284031215615f3d578081fd5b81356001600160a01b0381168114610ea2578182fd5b60008060008060408587031215615f68578283fd5b84356001600160401b0380821115615f7e578485fd5b615f8a88838901615eac565b90965094506020870135915080821115615fa2578384fd5b50615faf87828801615eac565b95989497509550505050565b600060208284031215615fcc578081fd5b81518015158114610ea2578182fd5b60008060008060408587031215615ff0578384fd5b84356001600160401b0380821115616006578586fd5b61601288838901615eed565b9096509450602087013591508082111561602a578384fd5b50615faf87828801615eed565b600060208284031215616048578081fd5b5035919050565b600060208284031215616060578081fd5b5051919050565b60008060408385031215616079578182fd5b505080516020909101519092909150565b60008060006040848603121561609e578283fd5b833560ff811681146160ae578384fd5b925060208401356001600160401b038111156160c8578283fd5b6160d486828701615eed565b9497909650939450505050565b6000815180845260208085019450808401835b838110156161195781516001600160a01b0316875295820195908201906001016160f4565b509495945050505050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452616166816020860160208601616e03565b601f01601f19169290920160200192915050565b6000825161618c818460208701616e03565b9190910192915050565b918252602082015260400190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03968716815294861660208601529290941660408401526001600160401b03166060830152911515608082015260a081019190915260c00190565b600060208252610ea260208301846160e1565b60006040825261623960408301856160e1565b602083820381850152818551808452828401915082838202850101838801865b8381101561628757601f1987840301855261627583835161614e565b94860194925090850190600101616259565b50909998505050505050505050565b6000608082526162a960808301876160e1565b828103602084810191909152865180835287820192820190845b818110156162df578451835293830193918301916001016162c3565b505084810360408601526162f381886160e1565b93505050506001600160401b038316606083015295945050505050565b901515815260200190565b600060208252610ea2602083018461614e565b600060408252616342604083018688616124565b8281036020840152616355818587616124565b979650505050505050565b6020808252601c908201527f6c656e677468206f66206275726e526174696f206d69736d6174636800000000604082015260600190565b60208082526026908201527f6c656e677468206f66206d61784e756d4f664d61696e7461696e696e67206d696040820152650e6dac2e8c6d60d31b606082015260800190565b6020808252601b908201527f6261746368207472616e736665722072657475726e2066616c73650000000000604082015260600190565b6020808252602c908201527f6c656e677468206f66206d61784e756d4f66576f726b696e6743616e6469646160408201526b0e8cae640dad2e6dac2e8c6d60a31b606082015260800190565b60208082526025908201527f6c656e677468206f66206d61696e7461696e536c6173685363616c65206d69736040820152640dac2e8c6d60db1b606082015260800190565b6020808252818101527f6c656e677468206f66206e756d4f66436162696e657473206d69736d61746368604082015260600190565b60208082526019908201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526028908201527f746865206e756d4f66436162696e657473206d75737420626520677265617465604082015267072207468616e20360c41b606082015260800190565b60208082526039908201527f746865206e756d4f66436162696e657473206d757374206265206c657373207460408201527f68616e204d41585f4e554d5f4f465f56414c494441544f525300000000000000606082015260800190565b60208082526029908201527f746865206e756d626572206f662076616c696461746f727320657863656564206040820152681d1a19481b1a5b5a5d60ba1b606082015260800190565b60208082526022908201527f63616e206e6f7420646f207468697320747769636520696e206f6e6520626c6f604082015261636b60f01b606082015260800190565b6020808252602b908201527f746865206275726e526174696f206d757374206265206e6f206772656174657260408201526a0207468616e2031303030360ac1b606082015260800190565b6020808252600e908201526d696e70757420746f6f206c6f6e6760901b604082015260600190565b60208082526037908201527f746865206d61784e756d4f664d61696e7461696e696e67206d7573742062652060408201527f6c657373207468616e206e756d4f66436162696e657473000000000000000000606082015260800190565b6020808252602b908201527f6475706c696361746520636f6e73656e7375732061646472657373206f66207660408201526a185b1a59185d1bdc94d95d60aa1b606082015260800190565b60208082526027908201527f7468652065787069726554696d655365636f6e64476170206973206f7574206f604082015266662072616e676560c81b606082015260800190565b6020808252601590820152746465706f7369742076616c7565206973207a65726f60581b604082015260600190565b60208082526049908201527f746865206d61784e756d4f66576f726b696e6743616e64696461746573206d7560408201527f7374206265206e6f742067726561746572207468616e206d61784e756d4f6643606082015268616e6469646174657360b81b608082015260a00190565b60208082526027908201527f7468652066696e616c697479526577617264526174696f206973206f7574206f604082015266662072616e676560c81b606082015260800190565b6020808252601190820152706164646974696f6e206f766572666c6f7760781b604082015260600190565b60208082526023908201527f63616e206e6f7420656e7465722054656d706f72617279204d61696e74656e616040820152626e636560e81b606082015260800190565b60208082526025908201527f6c656e677468206f66206a61696c2076616c696461746f7273206d757374206260408201526465206f6e6560d81b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252602e908201527f746865206d6573736167652073656e646572206d75737420626520676f76657260408201526d1b985b98d94818dbdb9d1c9858dd60921b606082015260800190565b60208082526025908201527f6c656e677468206f66206d61784e756d4f6643616e64696461746573206d69736040820152640dac2e8c6d60db1b606082015260800190565b6020808252601290820152716e6f7420696e206d61696e74656e616e636560701b604082015260600190565b60208082526021908201527f666565206973206c6172676572207468616e2044555354595f494e434f4d494e6040820152604760f81b606082015260800190565b60208082526019908201527f74686520636f6e747261637420616c726561647920696e697400000000000000604082015260600190565b60208082526026908201527f6c656e677468206f662066696e616c697479526577617264526174696f206d696040820152650e6dac2e8c6d60d31b606082015260800190565b6020808252601a908201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604082015260600190565b60208082526026908201527f6c656e677468206f662065787069726554696d655365636f6e64476170206d696040820152650e6dac2e8c6d60d31b606082015260800190565b60208082526017908201527f6f6e6c792063757272656e742076616c696461746f7273000000000000000000604082015260600190565b60208082526021908201527f6661696c656420746f20706172736520696e69742076616c696461746f7253656040820152601d60fa1b606082015260800190565b6020808252602f908201527f746865206d6573736167652073656e646572206d7573742062652063726f737360408201526e0818da185a5b8818dbdb9d1c9858dd608a1b606082015260800190565b6020808252602d908201527f746865206d6573736167652073656e646572206d75737420626520746865206260408201526c3637b1b590383937b23ab1b2b960991b606082015260800190565b6020808252603e908201527f746865206d61696e7461696e536c6173685363616c65206d757374206265206760408201527f726561746572207468616e203020616e64206c657373207468616e2031300000606082015260800190565b6020808252600d908201526c756e6b6e6f776e20706172616d60981b604082015260600190565b60208082526029908201527f746865206d6573736167652073656e646572206d75737420626520736c6173686040820152680818dbdb9d1c9858dd60ba1b606082015260800190565b61ffff91909116815260200190565b90815260200190565b6000848252831515602083015260606040830152615b43606083018461614e565b63ffffffff91909116815260200190565b60ff91909116815260200190565b600060ff8516825260406020830152615b43604083018486616124565b60005b83811015616e1e578181015183820152602001616e06565b83811115612c69575050600091015256fe70e72399380dcfb0338abc03dc8d47f9f470ada8e769c9a78d644ea97385ecb20175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbbf905ec80f905e8f846942a7cdd959bfe8d9487b2a43b33565295a698f7e294b6a7edd747c0554875d3fc531d19ba1497992c5e941ff80f3f7f110ffd8920a3ac38fdef318fe94a3f86048c27395000f846946488aa4d1955ee33403f8ccb1d4de5fb97c7ade294220f003d8bdfaadf52aa1e55ae4cc485e6794875941a87e90e440a39c99aa9cb5cea0ad6a3f0b2407b86048c27395000f846949ef9f4360c606c7ab4db26b016007d3ad0ab86a0946103af86a874b705854033438383c82575f25bc29418e2db06cbff3e3c5f856410a1838649e760175786048c27395000f84694ee01c3b1283aa067c58eab4709f85e99d46de5fe94ee4b9bfb1871c64e2bcabb1dc382dc8b7c4218a29415904ab26ab0e99d70b51c220ccdcccabee6e29786048c27395000f84694685b1ded8013785d6623cc18d214320b6bb6475994a20ef4e5e4e7e36258dbf51f4d905114cb1b34bc9413e39085dc88704f4394d35209a02b1a9520320c86048c27395000f8469478f3adfc719c99674c072166708589033e2d9afe9448a30d5eaa7b64492a160f139e2da2800ec3834e94055838358c29edf4dcc1ba1985ad58aedbb6be2b86048c27395000f84694c2be4ec20253b8642161bc3f444f53679c1f3d479466f50c616d737e60d7ca6311ff0d9c434197898a94d1d678a2506eeaa365056fe565df8bc8659f28b086048c27395000f846942f7be8361c80a4c1e7e9aaf001d0877f1cfde218945f93992ac37f3e61db2ef8a587a436a161fd210b94ecbc4fb1a97861344dad0867ca3cba2b860411f086048c27395000f84694ce2fd7544e0b2cc94692d4a704debef7bcb613289444abc67b4b2fba283c582387f54c9cba7c34bafa948acc2ab395ded08bb75ce85bf0f95ad2abc51ad586048c27395000f84694b8f7166496996a7da21cf1f1b04d9b3e26a3d077946770572763289aac606e4f327c2f6cc1aa3b3e3b94882d745ed97d4422ca8da1c22ec49d880c4c097286048c27395000f846942d4c407bbe49438ed859fe965b140dcf1aab71a9943ad0939e120f33518fbba04631afe7a3ed6327b194b2bbb170ca4e499a2b0f3cc85ebfa6e8c4dfcbea86048c27395000f846946bbad7cf34b5fa511d8e963dbba288b1960e75d694853b0f6c324d1f4e76c8266942337ac1b0af1a229442498946a51ca5924552ead6fc2af08b94fcba648601d1a94a2000f846944430b3230294d12c6ab2aac5c2cd68e80b16b581947b107f4976a252a6939b771202c28e64e03f52d694795811a7f214084116949fc4f53cedbf189eeab28601d1a94a2000f84694ea0a6e3c511bbd10f4519ece37dc24887e11b55d946811ca77acfb221a49393c193f3a22db829fcc8e9464feb7c04830dd9ace164fc5c52b3f5a29e5018a8601d1a94a2000f846947ae2f5b9e386cd1b50a4550696d957cb4900f03a94e83bcc5077e6b873995c24bac871b5ad856047e19464e48d4057a90b233e026c1041e6012ada897fe88601d1a94a2000f8469482012708dafc9e1b880fd083b32182b869be8e09948e5adc73a2d233a1b496ed3115464dd6c7b887509428b383d324bc9a37f4e276190796ba5a8947f5ed8601d1a94a2000f8469422b81f8e175ffde54d797fe11eb03f9e3bf75f1d94a1c3ef7ca38d8ba80cce3bfc53ebd2903ed21658942767f7447f7b9b70313d4147b795414aecea54718601d1a94a2000f8469468bf0b8b6fb4e317a0f9d6f03eaf8ce6675bc60d94675cfe570b7902623f47e7f59c9664b5f5065dcf94d84f0d2e50bcf00f2fc476e1c57f5ca2d57f625b8601d1a94a2000f846948c4d90829ce8f72d0163c1d5cf348a862d5506309485c42a7b34309bee2ed6a235f86d16f059deec5894cc2cedc53f0fa6d376336efb67e43d167169f3b78601d1a94a2000f8469435e7a025f4da968de7e4d7e4004197917f4070f194b1182abaeeb3b4d8eba7e6a4162eac7ace23d57394c4fd0d870da52e73de2dd8ded19fe3d26f43a1138601d1a94a2000f84694d6caa02bbebaebb5d7e581e4b66559e635f805ff94c07335cf083c1c46a487f0325769d88e163b653694efaff03b42e41f953a925fc43720e45fb61a19938601d1a94a20000175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbaa2646970667358221220e27eda2c66e25ae7b26ab5145965b2a511fc42ef0bfcbd883a69eaaf8c697cfa64736f6c63430006040033", + CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/b144718e94d7a1ebb24a7103202300f08826f369", + Code: "60806040526004361061046c5760003560e01c8063862498821161024a578063c6d3394511610139578063e40716a1116100b6578063f9a2bbc71161007a578063f9a2bbc714610b6b578063fc3e590814610b80578063fccc281314610b95578063fd4ad81f14610baa578063fd6a687914610bd957610473565b8063e40716a114610af9578063eb57e20214610b0e578063eda5868c14610b2e578063f340fa0114610b43578063f92eb86b14610b5657610473565b8063d86222d5116100fd578063d86222d514610a90578063daacdb6614610aa5578063dc927faf14610aba578063e086c7b114610acf578063e1c7392a14610ae457610473565b8063c6d3394514610a3c578063c81b166214610a51578063c8509d811461085f578063d04aa99614610a66578063d68fb56a14610a7b57610473565b8063a5422d5c116101c7578063ad3c9da61161018b578063ad3c9da6146109d0578063aef198a9146109f0578063b7ab4db514610a05578063b8cf4ef114610a27578063bf9f49951461062f57610473565b8063a5422d5c1461095c578063a78abc1614610971578063aaf5eb6814610986578063ab51bb961461099b578063ac431751146109b057610473565b806396713da91161020e57806396713da9146108f35780639dc09262146109085780639fe0f8161461091d578063a0dc275814610932578063a1a11bf51461094757610473565b8063862498821461087f57806388b32f11146108945780638b5ad0c9146108a95780638d19a410146108be5780639369d7de146108de57610473565b80634df6e0c3116103665780636e47b482116102e35780637942fd05116102a75780637942fd05146108205780637a84ca2a1461083557806381650b621461084a578063831d65d11461085f578063853230aa1461080b57610473565b80636e47b482146107b757806370fd5bad146107cc578063718a8aa8146107e157806375d47a0a146107f657806378dfed4a1461080b57610473565b8063565c56b31161032a578063565c56b3146107265780635667515a146107465780635d77156c1461075b57806362b72cf5146107705780636969a25c1461078557610473565b80634df6e0c3146106b25780635192c82c146106c757806351e80672146106dc578063549b03f2146106f157806355614fcc1461070657610473565b8063321d398a116103f45780633dffc387116103b85780633dffc3871461062f57806343756e5c1461065157806345cf9daf14610666578063493279b11461067b5780634bf6c8821461069d57610473565b8063321d398a146105975780633365af3a146105b757806335409f7f146105d75780633b071dcc146105f75780633de0f0d81461061a57610473565b80631182b8751161043b5780631182b875146104fe578063152ad3b81461052b5780631ff180691461054d578063219f22d514610562578063300c35671461057757610473565b806304c4fec61461047857806307a568471461048f5780630bee7a67146104ba5780630e2374a5146104dc57610473565b3661047357005b600080fd5b34801561048457600080fd5b5061048d610bee565b005b34801561049b57600080fd5b506104a4610c60565b6040516104b19190616ef0565b60405180910390f35b3480156104c657600080fd5b506104cf610c66565b6040516104b19190616f1a565b3480156104e857600080fd5b506104f1610c6b565b6040516104b191906162f7565b34801561050a57600080fd5b5061051e6105193660046161dd565b610c71565b6040516104b1919061646e565b34801561053757600080fd5b50610540610ea9565b6040516104b19190616463565b34801561055957600080fd5b506104a4610eb2565b34801561056e57600080fd5b506104cf610eb8565b34801561058357600080fd5b5061048d6105923660046160a6565b610ebd565b3480156105a357600080fd5b506105406105b236600461618a565b611241565b3480156105c357600080fd5b506105406105d236600461618a565b611310565b3480156105e357600080fd5b5061048d6105f236600461607f565b6113c1565b34801561060357600080fd5b5061060c61151a565b6040516104b1929190616379565b34801561062657600080fd5b506104a46117f6565b34801561063b57600080fd5b506106446117fc565b6040516104b19190616f2b565b34801561065d57600080fd5b506104f1611801565b34801561067257600080fd5b506104a4611807565b34801561068757600080fd5b5061069061180d565b6040516104b19190616ee1565b3480156106a957600080fd5b50610644611812565b3480156106be57600080fd5b5061060c611817565b3480156106d357600080fd5b506104a4611995565b3480156106e857600080fd5b506104f161199b565b3480156106fd57600080fd5b506104a46119a1565b34801561071257600080fd5b5061054061072136600461607f565b6119a7565b34801561073257600080fd5b506104a461074136600461607f565b6119dc565b34801561075257600080fd5b50610644611a2d565b34801561076757600080fd5b506104cf611a32565b34801561077c57600080fd5b506104a4611a37565b34801561079157600080fd5b506107a56107a036600461618a565b611a3d565b6040516104b196959493929190616324565b3480156107c357600080fd5b506104f1611aa1565b3480156107d857600080fd5b50610644611aa7565b3480156107ed57600080fd5b50610644611aac565b34801561080257600080fd5b506104f1611ab1565b34801561081757600080fd5b506104a4611ab7565b34801561082c57600080fd5b50610644611abd565b34801561084157600080fd5b506104a4611ac2565b34801561085657600080fd5b506104cf611ac8565b34801561086b57600080fd5b5061048d61087a3660046161dd565b611acd565b34801561088b57600080fd5b506104a4611b2e565b3480156108a057600080fd5b506104a4611b34565b3480156108b557600080fd5b506104a4611b3a565b3480156108ca57600080fd5b506104a46108d936600461607f565b611b40565b3480156108ea57600080fd5b5061048d611b80565b3480156108ff57600080fd5b50610644611c94565b34801561091457600080fd5b506104f1611c99565b34801561092957600080fd5b506104a4611c9f565b34801561093e57600080fd5b506104a4611ca4565b34801561095357600080fd5b506104f1611ca9565b34801561096857600080fd5b5061051e611caf565b34801561097d57600080fd5b50610540611cce565b34801561099257600080fd5b506104a4611cd7565b3480156109a757600080fd5b506104cf611a2d565b3480156109bc57600080fd5b5061048d6109cb36600461612e565b611ce0565b3480156109dc57600080fd5b506104a46109eb36600461607f565b61258c565b3480156109fc57600080fd5b506104a461259e565b348015610a1157600080fd5b50610a1a6125ab565b6040516104b19190616366565b348015610a3357600080fd5b506104a4612697565b348015610a4857600080fd5b506104a4611aa7565b348015610a5d57600080fd5b506104f161269c565b348015610a7257600080fd5b506104a46126a2565b348015610a8757600080fd5b506104a46126a7565b348015610a9c57600080fd5b506104a46126e6565b348015610ab157600080fd5b506104a46126f2565b348015610ac657600080fd5b506104f16126f8565b348015610adb57600080fd5b506104a46126fe565b348015610af057600080fd5b5061048d612703565b348015610b0557600080fd5b506104a46128b2565b348015610b1a57600080fd5b5061048d610b2936600461607f565b6128b8565b348015610b3a57600080fd5b506104cf6129c0565b61048d610b5136600461607f565b6129c5565b348015610b6257600080fd5b506104a4612c4d565b348015610b7757600080fd5b506104f1612c53565b348015610b8c57600080fd5b50610644611c9f565b348015610ba157600080fd5b506104f1612c59565b348015610bb657600080fd5b50610bca610bc536600461618a565b612c5f565b6040516104b193929190616ef9565b348015610be557600080fd5b506104f1612d21565b6000610bf933611b40565b9050600b8181548110610c0857fe5b600091825260209091206001601690920201015460ff16610c445760405162461bcd60e51b8152600401610c3b90616b99565b60405180910390fd5b6000610c4e6126a7565b9050610c5b338383612d27565b505050565b60095481565b606481565b61200181565b60005460609060ff16610c965760405162461bcd60e51b8152600401610c3b9061662d565b3361200014610cb75760405162461bcd60e51b8152600401610c3b90616d78565b600b54610d7557610cc6615d6b565b60015460005b81811015610d7157600b80546001810182556000919091528351600080516020616fa383398151915260169092029182019081556020808601516000805160206175d28339815191528401805460ff1916911515919091179055604086015180518794610d4d93600080516020616fc3833981519152909101920190615d9a565b506060820151610d639060038301906013615e14565b505050806001019050610ccc565b5050505b610d7d615e41565b6000610dbe85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612f1392505050565b9150915080610dda57610dd160646130cf565b92505050610ea2565b815160009060ff16610dff57610df883602001518460400151613130565b9050610e6e565b825160ff1660011415610e6a57826020015151600114610e4457600080516020616f83833981519152604051610e3490616a80565b60405180910390a1506067610e65565b610df88360200151600081518110610e5857fe5b6020026020010151613d84565b610e6e565b5060655b63ffffffff8116610e935750506040805160008152602081019091529150610ea29050565b610e9c816130cf565b93505050505b9392505050565b60075460ff1681565b60035481565b606881565b334114610edc5760405162461bcd60e51b8152600401610c3b90616dc7565b6010544311610efd5760405162461bcd60e51b8152600401610c3b90616789565b60005460ff16610f1f5760405162461bcd60e51b8152600401610c3b9061662d565b600f54610f37576032600f5561100231601155611237565b60006110023168056bc75e2d63100000811115610f6657610f5f81606463ffffffff613efb16565b9150610faf565b601154811115610fa857610f5f6064610f9c600f54610f9060115486613f3d90919063ffffffff16565b9063ffffffff613f7f16565b9063ffffffff613efb16565b5050611237565b6040516309a99b4f60e41b815261100290639a99b4f090610fd6903090869060040161630b565b602060405180830381600087803b158015610ff057600080fd5b505af1158015611004573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102891906161a2565b6110023160115591508161103d575050611237565b6000805b8481101561106b5785858281811061105557fe5b9050602002013582019150806001019050611041565b508061107957505050611237565b6000806000805b8981101561122f578489898381811061109557fe5b905060200201358802816110a557fe5b0493508a8a828181106110b457fe5b90506020020160208101906110c9919061607f565b6001600160a01b038116600090815260046020526040902054909350915081156111e55760006001808403815481106110fe57fe5b9060005260206000209060040201905080600201601c9054906101000a900460ff161561116b57836001600160a01b03167fb9c75cbbfde137c4281689580799ef5f52144e78858f776a5979b2b212137d858660405161115e9190616ef0565b60405180910390a26111df565b60035461117e908663ffffffff613fb916565b6003908155810154611196908663ffffffff613fb916565b60038201556040516001600160a01b038516907fcb0aad6cf9cd03bdf6137e359f541c42f38b39f007cae8e89e88aa7d8c6617b2906111d6908890616ef0565b60405180910390a25b50611227565b826001600160a01b03167fb9c75cbbfde137c4281689580799ef5f52144e78858f776a5979b2b212137d858560405161121e9190616ef0565b60405180910390a25b600101611080565b505050505050505b5050436010555050565b60015460009082106112555750600061130b565b60006001600160a01b03166001838154811061126d57fe5b60009182526020909120600490910201546001600160a01b0316148061129d5750600854158061129d5750600a54155b806112ac575060085460095410155b806112bd57506112bb82611310565b155b806112e657506000600b83815481106112d257fe5b906000526020600020906016020160000154115b806112fa575060016112f66125ab565b5111155b156113075750600061130b565b5060015b919050565b60015460009082106113245750600061130b565b600b548210611361576001828154811061133a57fe5b9060005260206000209060040201600201601c9054906101000a900460ff1615905061130b565b6001828154811061136e57fe5b9060005260206000209060040201600201601c9054906101000a900460ff161580156113bb5750600b82815481106113a257fe5b600091825260209091206001601690920201015460ff16155b92915050565b33611001146113e25760405162461bcd60e51b8152600401610c3b90616e98565b600b546114a0576113f1615d6b565b60015460005b8181101561149c57600b80546001810182556000919091528351600080516020616fa383398151915260169092029182019081556020808601516000805160206175d28339815191528401805460ff191691151591909117905560408601518051879461147893600080516020616fc3833981519152909101920190615d9a565b50606082015161148e9060038301906013615e14565b5050508060010190506113f7565b5050505b6001600160a01b038116600090815260046020526040902054806114c45750611517565b6001810390506000600b82815481106114d957fe5b600091825260209091206001601690920201015460ff1690506114fc8383613fde565b80156115055750805b15610c5b576009805460001901905550505b50565b60015460609081906000805b8281101561156d576001818154811061153b57fe5b9060005260206000209060040201600201601c9054906101000a900460ff16611565576001909101905b600101611526565b5060608160405190808252806020026020018201604052801561159a578160200160208202803683370190505b5090506060826040519080825280602002602001820160405280156115d357816020015b60608152602001906001900390816115be5790505b50600b546000945090915084141561174e5760005b8481101561174857600181815481106115fd57fe5b9060005260206000209060040201600201601c9054906101000a900460ff16611740576001818154811061162d57fe5b600091825260209091206004909102015483516001600160a01b039091169084908690811061165857fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600b818154811061168557fe5b600091825260209182902060026016909202018101805460408051601f60001961010060018616150201909316949094049182018590048502840185019052808352919290919083018282801561171d5780601f106116f25761010080835404028352916020019161171d565b820191906000526020600020905b81548152906001019060200180831161170057829003601f168201915b505050505082858151811061172e57fe5b60209081029190910101526001909301925b6001016115e8565b506117ea565b60005b848110156117e8576001818154811061176657fe5b9060005260206000209060040201600201601c9054906101000a900460ff166117e0576001818154811061179657fe5b600091825260209091206004909102015483516001600160a01b03909116908490869081106117c157fe5b6001600160a01b03909216602092830291909101909101526001909301925b600101611751565b505b909450925050505b9091565b61271081565b600181565b61100181565b60085481565b603881565b600881565b600e54600c5460609182918061182b575060155b60606118356125ab565b9050606061184282614391565b9050828251116118595790945092506117f2915050565b8383835103101561186b578282510393505b83156118a15760c8430461188783838388880360008a8a6144ff565b61189f8383838888038989038a8b8b8b5103016144ff565b505b6060836040519080825280602002602001820160405280156118cd578160200160208202803683370190505b50905060608460405190808252806020026020018201604052801561190657816020015b60608152602001906001900390816118f15790505b50905060005b858110156119875784818151811061192057fe5b602002602001015183828151811061193457fe5b60200260200101906001600160a01b031690816001600160a01b03168152505083818151811061196057fe5b602002602001015182828151811061197457fe5b602090810291909101015260010161190c565b509096509450505050509091565b60065481565b61200081565b600f5481565b6001600160a01b038116600090815260046020526040812054806119cf57600091505061130b565b60001901610ea281611310565b6001600160a01b03811660009081526004602052604081205480611a0457600091505061130b565b600180820381548110611a1357fe5b906000526020600020906004020160030154915050919050565b600081565b606781565b60105481565b60018181548110611a4a57fe5b600091825260209091206004909102018054600182015460028301546003909301546001600160a01b0392831694509082169291821691600160a01b81046001600160401b031691600160e01b90910460ff169086565b61100581565b600281565b601081565b61100881565b6103e881565b600b81565b600c5481565b606681565b3361200014611aee5760405162461bcd60e51b8152600401610c3b90616d78565b7f41ce201247b6ceb957dcdb217d0b8acb50b9ea0e12af9af4f5e7f38902101605838383604051611b2193929190616f39565b60405180910390a1505050565b60025481565b60115481565b600a5481565b6001600160a01b03811660009081526004602052604081205480611b765760405162461bcd60e51b8152600401610c3b90616d00565b6000190192915050565b600b54611c3e57611b8f615d6b565b60015460005b81811015611c3a57600b80546001810182556000919091528351600080516020616fa383398151915260169092029182019081556020808601516000805160206175d28339815191528401805460ff1916911515919091179055604086015180518794611c1693600080516020616fc3833981519152909101920190615d9a565b506060820151611c2c9060038301906013615e14565b505050806001019050611b95565b5050505b600854611c4b5760036008555b600a54611c58576002600a555b6000611c6333611b40565b9050611c6e81611241565b611c8a5760405162461bcd60e51b8152600401610c3b90616a3d565b6115173382614656565b600981565b61100781565b600381565b60c881565b61100681565b6040518061062001604052806105ef8152602001616fe36105ef913981565b60005460ff1681565b6402540be40081565b60005460ff16611d025760405162461bcd60e51b8152600401610c3b9061662d565b3361100714611d235760405162461bcd60e51b8152600401610c3b90616b06565b611d8d84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080518082019091526013815272065787069726554696d655365636f6e6447617606c1b602082015291506146ee9050565b15611e2a5760208114611db25760405162461bcd60e51b8152600401610c3b90616cba565b604080516020601f8401819004810282018101909252828152600091611df09185858083850183828082843760009201919091525061474792505050565b905060648110158015611e065750620186a08111155b611e225760405162461bcd60e51b8152600401610c3b906168e6565b600255612549565b611e8a84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260098152686275726e526174696f60b81b602082015291506146ee9050565b15611f265760208114611eaf5760405162461bcd60e51b8152600401610c3b906164b3565b604080516020601f8401819004810282018101909252828152600091611eed9185858083850183828082843760009201919091525061474792505050565b9050612710811115611f115760405162461bcd60e51b8152600401610c3b906167cb565b6006556007805460ff19166001179055612549565b611f9084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260138152726d61784e756d4f664d61696e7461696e696e6760681b602082015291506146ee9050565b1561202a5760208114611fb55760405162461bcd60e51b8152600401610c3b906164ea565b604080516020601f8401819004810282018101909252828152600091611ff39185858083850183828082843760009201919091525061474792505050565b600c5490915080612002575060155b8082106120215760405162461bcd60e51b8152600401610c3b9061683e565b50600855612549565b61209384848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260128152716d61696e7461696e536c6173685363616c6560701b602082015291506146ee9050565b1561212c57602081146120b85760405162461bcd60e51b8152600401610c3b906165b3565b604080516020601f84018190048102820181019092528281526000916120f69185858083850183828082843760009201919091525061474792505050565b90506000811180156121085750600a81105b6121245760405162461bcd60e51b8152600401610c3b90616e14565b600a55612549565b6121a084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601981527f6d61784e756d4f66576f726b696e6743616e6469646174657300000000000000602082015291506146ee9050565b1561222f57602081146121c55760405162461bcd60e51b8152600401610c3b90616567565b604080516020601f84018190048102820181019092528281526000916122039185858083850183828082843760009201919091525061474792505050565b9050600d548111156122275760405162461bcd60e51b8152600401610c3b9061695c565b600e55612549565b61229884848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260128152716d61784e756d4f6643616e6469646174657360701b602082015291506146ee9050565b1561231a57602081146122bd5760405162461bcd60e51b8152600401610c3b90616b54565b604080516020601f84018190048102820181019092528281526000916122fb9185858083850183828082843760009201919091525061474792505050565b600d819055600e5490915081101561231457600d54600e555b50612549565b61237e84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600d81526c6e756d4f66436162696e65747360981b602082015291506146ee9050565b1561242c57602081146123a35760405162461bcd60e51b8152600401610c3b906165f8565b604080516020601f84018190048102820181019092528281526000916123e19185858083850183828082843760009201919091525061474792505050565b9050600081116124035760405162461bcd60e51b8152600401610c3b9061669b565b60298111156124245760405162461bcd60e51b8152600401610c3b906166e3565b600c55612549565b61249684848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601381527266696e616c697479526577617264526174696f60681b602082015291506146ee9050565b1561253157602081146124bb5760405162461bcd60e51b8152600401610c3b90616c3d565b604080516020601f84018190048102820181019092528281526000916124f99185858083850183828082843760009201919091525061474792505050565b90506001811015801561250d575060648111155b6125295760405162461bcd60e51b8152600401610c3b906169cb565b600f55612549565b60405162461bcd60e51b8152600401610c3b90616e71565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a8484848460405161257e9493929190616481565b60405180910390a150505050565b60046020526000908152604090205481565b68056bc75e2d6310000081565b6001546060906000805b828110156125da576125c681611310565b156125d2578160010191505b6001016125b5565b50606081604051908082528060200260200182016040528015612607578160200160208202803683370190505b5090506000915060005b8381101561268e5761262281611310565b15612686576001818154811061263457fe5b600091825260209091206004909102015482516001600160a01b039091169083908590811061265f57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508260010192505b600101612611565b50925050505b90565b601581565b61100281565b603281565b60006126b16125ab565b519050600080600c54116126c65760156126ca565b600c545b9050808211156126d8578091505b816126e257600191505b5090565b67016345785d8a000081565b60055481565b61100381565b602981565b60005460ff16156127265760405162461bcd60e51b8152600401610c3b90616c06565b61272e615e41565b60006127546040518061062001604052806105ef8152602001616fe36105ef9139612f13565b91509150806127755760405162461bcd60e51b8152600401610c3b90616d37565b60005b82602001515181101561289a5760018360200151828151811061279757fe5b60209081029190910181015182546001818101855560009485528385208351600493840290910180546001600160a01b039283166001600160a01b03199182161782558587015182850180549185169183169190911790556040860151600283018054606089015160808a01511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b199590981692909516919091179290921694909417161790915560a09093015160039093019290925591860151805191850193918590811061286d57fe5b602090810291909101810151516001600160a01b0316825281019190915260400160002055600101612778565b50506103e8600255506000805460ff19166001179055565b600d5481565b33611001146128d95760405162461bcd60e51b8152600401610c3b90616e98565b600b54612997576128e8615d6b565b60015460005b8181101561299357600b80546001810182556000919091528351600080516020616fa383398151915260169092029182019081556020808601516000805160206175d28339815191528401805460ff191691151591909117905560408601518051879461296f93600080516020616fc3833981519152909101920190615d9a565b5060608201516129859060038301906013615e14565b5050508060010190506128ee565b5050505b60006129a28261474c565b90506129ad81611241565b156129bc576129bc8282614656565b5050565b606581565b3341146129e45760405162461bcd60e51b8152600401610c3b90616dc7565b60005460ff16612a065760405162461bcd60e51b8152600401610c3b9061662d565b60003411612a265760405162461bcd60e51b8152600401610c3b9061692d565b6001600160a01b0381166000908152600460205260409020546007543491906103e89060ff1615612a5657506006545b600083118015612a665750600081115b15612b07576000612a83612710610f9c868563ffffffff613f7f16565b90508015612b055760405161dead9082156108fc029083906000818181858888f19350505050158015612aba573d6000803e3d6000fd5b507f627059660ea01c4733a328effb2294d2f86905bf806da763a89cee254de8bee581604051612aea9190616ef0565b60405180910390a1612b02848263ffffffff613f3d16565b93505b505b8115612c05576000600180840381548110612b1e57fe5b9060005260206000209060040201905080600201601c9054906101000a900460ff1615612b8b57846001600160a01b03167ff177e5d6c5764d79c32883ed824111d9b13f5668cf6ab1cc12dd36791dd955b485604051612b7e9190616ef0565b60405180910390a2612bff565b600354612b9e908563ffffffff613fb916565b6003908155810154612bb6908563ffffffff613fb916565b60038201556040516001600160a01b038616907f93a090ecc682c002995fad3c85b30c5651d7fd29b0be5da9d784a3302aedc05590612bf6908790616ef0565b60405180910390a25b50612c47565b836001600160a01b03167ff177e5d6c5764d79c32883ed824111d9b13f5668cf6ab1cc12dd36791dd955b484604051612c3e9190616ef0565b60405180910390a25b50505050565b600e5481565b61100081565b61dead81565b600b8181548110612c6c57fe5b6000918252602091829020601691909102018054600180830154600280850180546040805161010096831615969096026000190190911692909204601f810188900488028501880190925281845293965060ff90911694919291830182828015612d175780601f10612cec57610100808354040283529160200191612d17565b820191906000526020600020905b815481529060010190602001808311612cfa57829003601f168201915b5050505050905083565b61100481565b6000600a5460001480612d38575081155b80612d435750600954155b15612d5057506000610ea2565b60096000815460019003919050819055506000612d9b600a54610f9c85610f9c600b8981548110612d7d57fe5b6000918252602090912060169091020154439063ffffffff613f3d16565b90506000600b8581548110612dac57fe5b906000526020600020906016020160010160006101000a81548160ff0219169083151502179055506000806110016001600160a01b0316638256ace66040518163ffffffff1660e01b8152600401604080518083038186803b158015612e1157600080fd5b505afa158015612e25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e4991906161ba565b9150915060009350808310612ec357612e628787613fde565b506040516305bfb49960e41b815261100190635bfb499090612e88908a906004016162f7565b600060405180830381600087803b158015612ea257600080fd5b505af1158015612eb6573d6000803e3d6000fd5b5050505060019350612ed5565b818310612ed557612ed38761474c565b505b6040516001600160a01b038816907fb9d38178dc641ff1817967a63c9078cbcd955a9f1fcd75e0e3636de615d44d3b90600090a25050509392505050565b612f1b615e41565b6000612f25615e41565b612f2d615e65565b612f3e612f39866148ef565b614914565b90506000805b612f4d8361495e565b156130c15780612f7257612f68612f638461497f565b6149cd565b60ff1684526130b9565b80600114156130b4576060612f8e612f898561497f565b614a4d565b90508051604051908082528060200260200182016040528015612fcb57816020015b612fb8615e85565b815260200190600190039081612fb05790505b508560200181905250805160405190808252806020026020018201604052801561300957816020015b6060815260200190600190039081612ff45790505b50604086015260005b81518110156130a957613023615e85565b6060600061304385858151811061303657fe5b6020026020010151614b1e565b92509250925080613063578860009a509a505050505050505050506130ca565b828960200151858151811061307457fe5b6020026020010181905250818960400151858151811061309057fe5b6020026020010181905250505050806001019050613012565b5060019250506130b9565b6130c1565b600101612f44565b50919350909150505b915091565b604080516001808252818301909252606091829190816020015b60608152602001906001900390816130e957905050905061310f8363ffffffff16614c38565b8160008151811061311c57fe5b6020026020010181905250610ea281614c4b565b600060298351111561316757600080516020616f8383398151915260405161315790616740565b60405180910390a15060666113bb565b60005b83518110156132055760005b818110156131fc5784818151811061318a57fe5b6020026020010151600001516001600160a01b03168583815181106131ab57fe5b6020026020010151600001516001600160a01b031614156131f457600080516020616f838339815191526040516131e19061689b565b60405180910390a16066925050506113bb565b600101613176565b5060010161316a565b506060806132138585614cd5565b60015491935091506000908190815b818110156132985767016345785d8a00006001828154811061324057fe5b9060005260206000209060040201600301541061326257836001019350613290565b60006001828154811061327157fe5b9060005260206000209060040201600301541115613290578260010192505b600101613222565b506060836040519080825280602002602001820160405280156132c5578160200160208202803683370190505b5090506060846040519080825280602002602001820160405280156132f4578160200160208202803683370190505b509050606085604051908082528060200260200182016040528015613323578160200160208202803683370190505b509050606086604051908082528060200260200182016040528015613352578160200160208202803683370190505b5090506000606087604051908082528060200260200182016040528015613383578160200160208202803683370190505b5090506060886040519080825280602002602001820160405280156133b2578160200160208202803683370190505b509050600099506000985060006110046001600160a01b031663149d14d96040518163ffffffff1660e01b815260040160206040518083038186803b1580156133fa57600080fd5b505afa15801561340e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061343291906161a2565b905067016345785d8a000081111561347d57600080516020616f8383398151915260405161345f90616bc5565b60405180910390a160689d50505050505050505050505050506113bb565b60005b898110156136ee5767016345785d8a00006001828154811061349e57fe5b9060005260206000209060040201600301541061362357600181815481106134c257fe5b906000526020600020906004020160020160009054906101000a90046001600160a01b0316898d815181106134f357fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060006402540be4006001838154811061352857fe5b9060005260206000209060040201600301548161354157fe5b066001838154811061354f57fe5b9060005260206000209060040201600301540390506135778382613f3d90919063ffffffff16565b898e8151811061358357fe5b6020026020010181815250506001828154811061359c57fe5b906000526020600020906004020160020160009054906101000a90046001600160a01b0316878e815181106135cd57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505081888e815181106135fa57fe5b6020908102919091010152613615868263ffffffff613fb916565b95508c6001019c50506136e6565b60006001828154811061363257fe5b90600052602060002090600402016003015411156136e6576001818154811061365757fe5b906000526020600020906004020160010160009054906101000a90046001600160a01b0316848c8151811061368857fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600181815481106136b557fe5b906000526020600020906004020160030154838c815181106136d357fe5b6020026020010181815250508a6001019a505b600101613480565b5060008415613964576002546040516303702b2960e51b815261100491636e056520918891613728918e918e918d914201906004016163e9565b6020604051808303818588803b15801561374157600080fd5b505af193505050508015613772575060408051601f3d908101601f1916820190925261376f9181019061610e565b60015b6138e9576040516000815260443d101561378e57506000613829565b60046000803e60005160e01c6308c379a081146137af576000915050613829565b60043d036004833e81513d60248201116001600160401b03821117156137da57600092505050613829565b80830180516001600160401b038111156137fb576000945050505050613829565b8060208301013d860181111561381957600095505050505050613829565b601f01601f191660405250925050505b806138345750613876565b60019150857fa7cdeed7d0db45e3219a6e5d60838824c16f1d39991fcfe3f963029c844bf28082604051613868919061646e565b60405180910390a2506138e4565b3d8080156138a0576040519150601f19603f3d011682016040523d82523d6000602084013e6138a5565b606091505b5060019150857fbfa884552dd8921b6ce90bfe906952ae5b3b29be0cc1a951d4f62697635a3a45826040516138da919061646e565b60405180910390a2505b613964565b801561392b577fa217d08e65f80c73121cd9db834d81652d544bfbf452f6d04922b16c90a37b708660405161391e9190616ef0565b60405180910390a1613962565b857fa7cdeed7d0db45e3219a6e5d60838824c16f1d39991fcfe3f963029c844bf28060405161395990616530565b60405180910390a25b505b8015613b1a5760005b8751811015613b1857600088828151811061398457fe5b6020026020010151905060006001828154811061399d57fe5b60009182526020909120600160049092020181015481546001600160a01b03909116916108fc91859081106139ce57fe5b9060005260206000209060040201600301549081150290604051600060405180830381858888f1935050505090508015613a8a5760018281548110613a0f57fe5b60009182526020909120600160049092020181015481546001600160a01b03909116917f6c61d60f69a7beb3e1c80db7f39f37b208537cbb19da3174511b477812b2fc7d9185908110613a5e57fe5b906000526020600020906004020160030154604051613a7d9190616ef0565b60405180910390a2613b0e565b60018281548110613a9757fe5b60009182526020909120600160049092020181015481546001600160a01b03909116917f25d0ce7d2f0cec669a8c17efe49d195c13455bb8872b65fa610ac7f53fe4ca7d9185908110613ae657fe5b906000526020600020906004020160030154604051613b059190616ef0565b60405180910390a25b505060010161396d565b505b835115613c645760005b8451811015613c62576000858281518110613b3b57fe5b60200260200101516001600160a01b03166108fc868481518110613b5b57fe5b60200260200101519081150290604051600060405180830381858888f1935050505090508015613bf157858281518110613b9157fe5b60200260200101516001600160a01b03167f6c61d60f69a7beb3e1c80db7f39f37b208537cbb19da3174511b477812b2fc7d868481518110613bcf57fe5b6020026020010151604051613be49190616ef0565b60405180910390a2613c59565b858281518110613bfd57fe5b60200260200101516001600160a01b03167f25d0ce7d2f0cec669a8c17efe49d195c13455bb8872b65fa610ac7f53fe4ca7d868481518110613c3b57fe5b6020026020010151604051613c509190616ef0565b60405180910390a25b50600101613b24565b505b5050505050505050505050506000471115613ce0577f6ecc855f9440a9282c90913bbc91619fd44f5ec0b462af28d127b116f130aa4d47604051613ca89190616ef0565b60405180910390a1604051611002904780156108fc02916000818181858888f19350505050158015613cde573d6000803e3d6000fd5b505b60006003819055600555815115613cfb57613cfb8282614f0e565b6110016001600160a01b031663fc4333cd6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015613d3857600080fd5b505af1158015613d4c573d6000803e3d6000fd5b50506040517fedd8d7296956dd970ab4de3f2fc03be2b0ffc615d20cd4c72c6e44f928630ebf925060009150a1506000949350505050565b80516001600160a01b0316600090815260046020526040812054801580613dd55750600180820381548110613db557fe5b9060005260206000209060040201600201601c9054906101000a900460ff165b15613e1b5782516040516001600160a01b03909116907fe209c46bebf57cf265d5d9009a00870e256d9150f3ed5281ab9d9eb3cec6e4be90600090a2600091505061130b565b600154600554600019820111801590613e715784516040516001600160a01b03909116907fe209c46bebf57cf265d5d9009a00870e256d9150f3ed5281ab9d9eb3cec6e4be90600090a26000935050505061130b565b600580546001908101909155805481906000198601908110613e8f57fe5b6000918252602082206002600490920201018054921515600160e01b0260ff60e01b199093169290921790915585516040516001600160a01b03909116917ff226e7d8f547ff903d9d419cf5f54e0d7d07efa9584135a53a057c5f1f27f49a91a2506000949350505050565b6000610ea283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506156ed565b6000610ea283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250615724565b600082613f8e575060006113bb565b82820282848281613f9b57fe5b0414610ea25760405162461bcd60e51b8152600401610c3b90616ac5565b600082820183811015610ea25760405162461bcd60e51b8152600401610c3b90616664565b60008060018381548110613fee57fe5b906000526020600020906004020160030154905060006001808054905003905060016140186125ab565b511161404d5760006001858154811061402d57fe5b9060005260206000209060040201600301819055506000925050506113bb565b846001600160a01b03167f3b6f9ef90462b512a1293ecec018670bf7b7f1876fb727590a8a6d7643130a70836040516140869190616ef0565b60405180910390a26001600160a01b038516600090815260046020526040812055835b6001546000190181101561427357600181600101815481106140c757fe5b9060005260206000209060040201600182815481106140e257fe5b60009182526020909120825460049092020180546001600160a01b03199081166001600160a01b0393841617825560018085015481840180548416918616919091179055600280860180549185018054909416919095161780835584546001600160401b03600160a01b91829004160267ffffffffffffffff60a01b1990911617808355935460ff600160e01b918290041615150260ff60e01b19909416939093179055600392830154920191909155600b8054909183019081106141a357fe5b9060005260206000209060160201600b82815481106141be57fe5b600091825260209091208254601690920201908155600180830154818301805460ff909216151560ff1990921691909117905560028084018054614215938386019390821615610100026000190190911604615eba565b5061422860038281019084016013615f2f565b5090505080600101600460006001848154811061424157fe5b600091825260208083206004909202909101546001600160a01b031683528201929092526040019020556001016140a9565b50600180548061427f57fe5b60008281526020812060046000199093019283020180546001600160a01b0319908116825560018201805490911690556002810180546001600160e81b0319169055600301559055600b8054806142d257fe5b60008281526020812060166000199093019283020181815560018101805460ff19169055906143046002830182615f59565b614312600383016000615f9d565b50509055600081838161432157fe5b04905080156143855760015460005b8181101561438257826001828154811061434657fe5b906000526020600020906004020160030154016001828154811061436657fe5b6000918252602090912060036004909202010155600101614330565b50505b50600195945050505050565b6001548151604080518281526020808402820101909152606092919083908280156143d057816020015b60608152602001906001900390816143bb5790505b50600b5490915083146143e757925061130b915050565b60005b828110156144f657600b60016004600089858151811061440657fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054038154811061443a57fe5b600091825260209182902060026016909202018101805460408051601f6000196101006001861615020190931694909404918201859004850284018501905280835291929091908301828280156144d25780601f106144a7576101008083540402835291602001916144d2565b820191906000526020600020905b8154815290600101906020018083116144b557829003601f168201915b50505050508282815181106144e357fe5b60209081029190910101526001016143ea565b50949350505050565b60005b8281101561464c57600082878388016040516020016145229291906162e9565b6040516020818303038152906040528051906020012060001c8161454257fe5b06905080850182870114614643576000898388018151811061456057fe5b602002602001015190506060898489018151811061457a57fe5b602002602001015190508a8388018151811061459257fe5b60200260200101518b858a01815181106145a857fe5b60200260200101906001600160a01b031690816001600160a01b031681525050818b848901815181106145d757fe5b60200260200101906001600160a01b031690816001600160a01b031681525050898388018151811061460557fe5b60200260200101518a858a018151811061461b57fe5b6020026020010181905250808a8489018151811061463557fe5b602002602001018190525050505b50600101614502565b5050505050505050565b600980546001908101909155600b80548390811061467057fe5b906000526020600020906016020160010160006101000a81548160ff02191690831515021790555043600b82815481106146a657fe5b600091825260208220601690910201919091556040516001600160a01b038416917ff62981a567ec3cec866c6fa93c55bcdf841d6292d18b8d522ececa769375d82d91a25050565b60008160405160200161470191906162cd565b604051602081830303815290604052805190602001208360405160200161472891906162cd565b6040516020818303038152906040528051906020012014905092915050565b015190565b6001600160a01b038116600090815260046020526040812054806147755750600019905061130b565b60018103905060006001828154811061478a57fe5b90600052602060002090600402016003015490506000600183815481106147ad57fe5b6000918252602090912060036004909202010155600154604051600019909101906001600160a01b038616907f8cd4e147d8af98a9e3b6724021b8bf6aed2e5dac71c38f2dce8161b82585b25d90614806908590616ef0565b60405180910390a28061481e5782935050505061130b565b600081838161482957fe5b04905080156148e55760005b8481101561488757816001828154811061484b57fe5b906000526020600020906004020160030154016001828154811061486b57fe5b6000918252602090912060036004909202010155600101614835565b50600180549085015b818110156148e25782600182815481106148a657fe5b90600052602060002090600402016003015401600182815481106148c657fe5b6000918252602090912060036004909202010155600101614890565b50505b5091949350505050565b6148f7615fac565b506040805180820190915281518152602082810190820152919050565b61491c615e65565b61492582615750565b61492e57600080fd5b600061493d836020015161578a565b60208085015160408051808201909152868152920190820152915050919050565b6000614968615fac565b505080518051602091820151919092015191011190565b614987615fac565b6149908261495e565b61499957600080fd5b602082015160006149a9826157ed565b80830160209586015260408051808201909152908152938401919091525090919050565b8051600090158015906149e257508151602110155b6149eb57600080fd5b60006149fa836020015161578a565b90508083600001511015614a205760405162461bcd60e51b8152600401610c3b90616c83565b8251602080850151830180519284900392918310156144f657506020919091036101000a90049392505050565b6060614a5882615750565b614a6157600080fd5b6000614a6c836158ce565b9050606081604051908082528060200260200182016040528015614aaa57816020015b614a97615fac565b815260200190600190039081614a8f5790505b5090506000614abc856020015161578a565b60208601510190506000805b84811015614b1357614ad9836157ed565b9150604051806040016040528083815260200184815250848281518110614afc57fe5b602090810291909101015291810191600101614ac8565b509195945050505050565b614b26615e85565b60606000614b32615e85565b6060614b3c615e65565b614b4587614914565b90506000805b614b548361495e565b15614c295780614b7f57614b6f614b6a8461497f565b61592a565b6001600160a01b03168552614c21565b8060011415614ba757614b94614b6a8461497f565b6001600160a01b03166020860152614c21565b8060021415614bcf57614bbc614b6a8461497f565b6001600160a01b03166040860152614c21565b8060031415614bfb57614be4612f638461497f565b6001600160401b0316606086015260019150614c21565b8060041415614c1c57614c15614c108461497f565b615944565b9350614c21565b614c29565b600101614b4b565b50929791965091945092505050565b60606113bb614c46836159b4565b615a9a565b6060815160001415614c6c575060408051600081526020810190915261130b565b606082600081518110614c7b57fe5b602002602001015190506000600190505b8351811015614cbc57614cb282858381518110614ca557fe5b6020026020010151615aec565b9150600101614c8c565b50610ea2614ccf825160c060ff16615b69565b82615aec565b606080600080808080614ce66126a7565b6001549091505b8015614df457600181039250600b8381548110614d0657fe5b600091825260209091206001601690920201015460ff16614d2657614deb565b60018381548110614d3357fe5b60009182526020909120600490910201546001600160a01b03169450614d5a858484612d27565b9350831580614d6d575060018a51038610155b15614d7757614deb565b60005b8a51811015614de957856001600160a01b03168b8281518110614d9957fe5b6020026020010151600001516001600160a01b03161415614de15760018b8281518110614dc257fe5b6020908102919091010151901515608090910152600190960195614de9565b600101614d7a565b505b60001901614ced565b5084895103604051908082528060200260200182016040528015614e3257816020015b614e1f615e85565b815260200190600190039081614e175790505b50965084895103604051908082528060200260200182016040528015614e6c57816020015b6060815260200190600190039081614e575790505b5095506000915060005b8951811015614f0057898181518110614e8b57fe5b602002602001015160800151614ef857898181518110614ea757fe5b6020026020010151888481518110614ebb57fe5b6020026020010181905250888181518110614ed257fe5b6020026020010151878481518110614ee657fe5b60200260200101819052508260010192505b600101614e76565b5050505050505b9250929050565b600154825160005b8281101561502b576001614f28615e85565b60018381548110614f3557fe5b600091825260208083206040805160c08101825260049490940290910180546001600160a01b0390811685526001820154811693850193909352600281015492831691840191909152600160a01b82046001600160401b03166060840152600160e01b90910460ff16151560808301526003015460a082015291505b84811015614fff57878181518110614fc557fe5b6020026020010151600001516001600160a01b031682600001516001600160a01b03161415614ff75760009250614fff565b600101614fb1565b5081156150215780516001600160a01b03166000908152600460205260408120555b5050600101614f16565b50808211156150ea57805b828110156150e857600180548061504957fe5b60008281526020812060046000199093019283020180546001600160a01b0319908116825560018201805490911690556002810180546001600160e81b0319169055600301559055600b80548061509c57fe5b60008281526020812060166000199093019283020181815560018101805460ff19169055906150ce6002830182615f59565b6150dc600383016000615f9d565b50509055600101615036565b505b60008183106150f957816150fb565b825b905060005b8181101561549f576151ad86828151811061511757fe5b60200260200101516001838154811061512c57fe5b60009182526020918290206040805160c08101825260049390930290910180546001600160a01b0390811684526001820154811694840194909452600281015493841691830191909152600160a01b83046001600160401b03166060830152600160e01b90920460ff161515608082015260039091015460a0820152615c3b565b6153615780600101600460008884815181106151c557fe5b6020026020010151600001516001600160a01b03166001600160a01b031681526020019081526020016000208190555085818151811061520157fe5b60200260200101516001828154811061521657fe5b6000918252602091829020835160049092020180546001600160a01b039283166001600160a01b0319918216178255928401516001820180549184169185169190911790556040840151600282018054606087015160808801511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b1995909716929097169190911792909216939093171692909217905560a09091015160039091015584518590829081106152d157fe5b6020026020010151600b82815481106152e657fe5b9060005260206000209060160201600201908051906020019061530a929190615d9a565b506000600b828154811061531a57fe5b60009182526020822060169190910201600101805460ff191692151592909217909155600b80548390811061534b57fe5b6000918252602090912060169091020155615497565b61542785828151811061537057fe5b6020026020010151600b838154811061538557fe5b600091825260209182902060026016909202018101805460408051601f60001961010060018616150201909316949094049182018590048502840185019052808352919290919083018282801561541d5780601f106153f25761010080835404028352916020019161541d565b820191906000526020600020905b81548152906001019060200180831161540057829003601f168201915b5050505050615cbc565b6154725784818151811061543757fe5b6020026020010151600b828154811061544c57fe5b90600052602060002090601602016002019080519060200190615470929190615d9a565b505b60006001828154811061548157fe5b9060005260206000209060040201600301819055505b600101615100565b5082821115615677576154b0615d6b565b835b83811015615674578581815181106154c657fe5b6020026020010151826040018190525060018782815181106154e457fe5b6020908102919091018101518254600181810185556000948552838520835160049093020180546001600160a01b039384166001600160a01b0319918216178255848601518284018054918616918316919091179055604080860151600284018054606089015160808a01511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b1995909a1692909616919091179290921696909617169190911790935560a090930151600390930192909255600b8054928301815590935284516016909102600080516020616fa38339815191528101918255858301516000805160206175d28339815191528201805491151560ff199092169190911790559285015180518694929361561a93600080516020616fc383398151915201920190615d9a565b5060608201516156309060038301906013615e14565b505050806001016004600089848151811061564757fe5b602090810291909101810151516001600160a01b03168252810191909152604001600020556001016154b2565b50505b6000600981905560015493505b838110156156e5576000600b828154811061569b57fe5b60009182526020822060169190910201600101805460ff191692151592909217909155600b8054839081106156cc57fe5b6000918252602090912060169091020155600101615684565b505050505050565b6000818361570e5760405162461bcd60e51b8152600401610c3b919061646e565b50600083858161571a57fe5b0495945050505050565b600081848411156157485760405162461bcd60e51b8152600401610c3b919061646e565b505050900390565b80516000906157615750600061130b565b6020820151805160001a9060c08210156157805760009250505061130b565b5060019392505050565b8051600090811a60808110156157a457600091505061130b565b60b88110806157bf575060c081108015906157bf575060f881105b156157ce57600191505061130b565b60c08110156157e25760b51901905061130b565b60f51901905061130b565b80516000908190811a608081101561580857600191506158c7565b60b881101561581d57607e19810191506158c7565b60c081101561586e57600060b78203600186019550806020036101000a8651049150600181018201935050808310156158685760405162461bcd60e51b8152600401610c3b90616a12565b506158c7565b60f88110156158835760be19810191506158c7565b600060f78203600186019550806020036101000a8651049150600181018201935050808310156158c55760405162461bcd60e51b8152600401610c3b90616a12565b505b5092915050565b80516000906158df5750600061130b565b600080905060006158f3846020015161578a565b602085015185519181019250015b8082101561592157615912826157ed565b82019150826001019250615901565b50909392505050565b805160009060151461593b57600080fd5b6113bb826149cd565b805160609061595257600080fd5b6000615961836020015161578a565b83516040805191839003808352601f19601f8201168301602001909152919250606090828015615998576020820181803683370190505b50905060008160200190506144f6848760200151018285615d20565b604080516020808252818301909252606091829190602082018180368337505050602081018490529050600067ffffffffffffffff1984166159f857506018615a1c565b6fffffffffffffffffffffffffffffffff198416615a1857506010615a1c565b5060005b6020811015615a5257818181518110615a3157fe5b01602001516001600160f81b03191615615a4a57615a52565b600101615a1c565b60008160200390506060816040519080825280601f01601f191660200182016040528015615a87576020820181803683370190505b5080830196909652508452509192915050565b606081516001148015615acc5750607f60f81b82600081518110615aba57fe5b01602001516001600160f81b03191611155b15615ad857508061130b565b6113bb615aea8351608060ff16615b69565b835b6060806040519050835180825260208201818101602087015b81831015615b1d578051835260209283019201615b05565b50855184518101855292509050808201602086015b81831015615b4a578051835260209283019201615b32565b508651929092011591909101601f01601f191660405250905092915050565b6060680100000000000000008310615b935760405162461bcd60e51b8152600401610c3b90616816565b60408051600180825281830190925260609160208201818036833701905050905060378411615bed5782840160f81b81600081518110615bcf57fe5b60200101906001600160f81b031916908160001a90535090506113bb565b6060615bf8856159b4565b90508381510160370160f81b82600081518110615c1157fe5b60200101906001600160f81b031916908160001a905350615c328282615aec565b95945050505050565b805182516000916001600160a01b039182169116148015615c75575081602001516001600160a01b031683602001516001600160a01b0316145b8015615c9a575081604001516001600160a01b031683604001516001600160a01b0316145b8015610ea25750506060908101519101516001600160401b0390811691161490565b815181516000916001918114808314615cd85760009250615d16565b600160208701838101602088015b600284838510011415615d11578051835114615d055760009650600093505b60209283019201615ce6565b505050505b5090949350505050565b80615d2a57610c5b565b5b60208110615d4a578251825260209283019290910190601f1901615d2b565b915181516020939093036101000a6000190180199091169216919091179052565b60405180608001604052806000815260200160001515815260200160608152602001615d95615fc6565b905290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10615ddb57805160ff1916838001178555615e08565b82800160010185558215615e08579182015b82811115615e08578251825591602001919060010190615ded565b506126e2929150615fe5565b8260138101928215615e085791602002820182811115615e08578251825591602001919060010190615ded565b6040518060600160405280600060ff16815260200160608152602001606081525090565b6040518060400160405280615e78615fac565b8152602001600081525090565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10615ef35780548555615e08565b82800160010185558215615e0857600052602060002091601f016020900482015b82811115615e08578254825591600101919060010190615f14565b8260138101928215615e085791820182811115615e08578254825591600101919060010190615f14565b50805460018160011615610100020316600290046000825580601f10615f7f5750611517565b601f0160209004906000526020600020908101906115179190615fe5565b50611517906013810190615fe5565b604051806040016040528060008152602001600081525090565b6040518061026001604052806013906020820280368337509192915050565b61269491905b808211156126e25760008155600101615feb565b60008083601f840112616010578182fd5b5081356001600160401b03811115616026578182fd5b6020830191508360208083028501011115614f0757600080fd5b60008083601f840112616051578182fd5b5081356001600160401b03811115616067578182fd5b602083019150836020828501011115614f0757600080fd5b600060208284031215616090578081fd5b81356001600160a01b0381168114610ea2578182fd5b600080600080604085870312156160bb578283fd5b84356001600160401b03808211156160d1578485fd5b6160dd88838901615fff565b909650945060208701359150808211156160f5578384fd5b5061610287828801615fff565b95989497509550505050565b60006020828403121561611f578081fd5b81518015158114610ea2578182fd5b60008060008060408587031215616143578384fd5b84356001600160401b0380821115616159578586fd5b61616588838901616040565b9096509450602087013591508082111561617d578384fd5b5061610287828801616040565b60006020828403121561619b578081fd5b5035919050565b6000602082840312156161b3578081fd5b5051919050565b600080604083850312156161cc578182fd5b505080516020909101519092909150565b6000806000604084860312156161f1578283fd5b833560ff81168114616201578384fd5b925060208401356001600160401b0381111561621b578283fd5b61622786828701616040565b9497909650939450505050565b6000815180845260208085019450808401835b8381101561626c5781516001600160a01b031687529582019590820190600101616247565b509495945050505050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b600081518084526162b9816020860160208601616f56565b601f01601f19169290920160200192915050565b600082516162df818460208701616f56565b9190910192915050565b918252602082015260400190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03968716815294861660208601529290941660408401526001600160401b03166060830152911515608082015260a081019190915260c00190565b600060208252610ea26020830184616234565b60006040825261638c6040830185616234565b602083820381850152818551808452828401915082838202850101838801865b838110156163da57601f198784030185526163c88383516162a1565b948601949250908501906001016163ac565b50909998505050505050505050565b6000608082526163fc6080830187616234565b828103602084810191909152865180835287820192820190845b8181101561643257845183529383019391830191600101616416565b505084810360408601526164468188616234565b93505050506001600160401b038316606083015295945050505050565b901515815260200190565b600060208252610ea260208301846162a1565b600060408252616495604083018688616277565b82810360208401526164a8818587616277565b979650505050505050565b6020808252601c908201527f6c656e677468206f66206275726e526174696f206d69736d6174636800000000604082015260600190565b60208082526026908201527f6c656e677468206f66206d61784e756d4f664d61696e7461696e696e67206d696040820152650e6dac2e8c6d60d31b606082015260800190565b6020808252601b908201527f6261746368207472616e736665722072657475726e2066616c73650000000000604082015260600190565b6020808252602c908201527f6c656e677468206f66206d61784e756d4f66576f726b696e6743616e6469646160408201526b0e8cae640dad2e6dac2e8c6d60a31b606082015260800190565b60208082526025908201527f6c656e677468206f66206d61696e7461696e536c6173685363616c65206d69736040820152640dac2e8c6d60db1b606082015260800190565b6020808252818101527f6c656e677468206f66206e756d4f66436162696e657473206d69736d61746368604082015260600190565b60208082526019908201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526028908201527f746865206e756d4f66436162696e657473206d75737420626520677265617465604082015267072207468616e20360c41b606082015260800190565b60208082526039908201527f746865206e756d4f66436162696e657473206d757374206265206c657373207460408201527f68616e204d41585f4e554d5f4f465f56414c494441544f525300000000000000606082015260800190565b60208082526029908201527f746865206e756d626572206f662076616c696461746f727320657863656564206040820152681d1a19481b1a5b5a5d60ba1b606082015260800190565b60208082526022908201527f63616e206e6f7420646f207468697320747769636520696e206f6e6520626c6f604082015261636b60f01b606082015260800190565b6020808252602b908201527f746865206275726e526174696f206d757374206265206e6f206772656174657260408201526a0207468616e2031303030360ac1b606082015260800190565b6020808252600e908201526d696e70757420746f6f206c6f6e6760901b604082015260600190565b60208082526037908201527f746865206d61784e756d4f664d61696e7461696e696e67206d7573742062652060408201527f6c657373207468616e206e756d4f66436162696e657473000000000000000000606082015260800190565b6020808252602b908201527f6475706c696361746520636f6e73656e7375732061646472657373206f66207660408201526a185b1a59185d1bdc94d95d60aa1b606082015260800190565b60208082526027908201527f7468652065787069726554696d655365636f6e64476170206973206f7574206f604082015266662072616e676560c81b606082015260800190565b6020808252601590820152746465706f7369742076616c7565206973207a65726f60581b604082015260600190565b60208082526049908201527f746865206d61784e756d4f66576f726b696e6743616e64696461746573206d7560408201527f7374206265206e6f742067726561746572207468616e206d61784e756d4f6643606082015268616e6469646174657360b81b608082015260a00190565b60208082526027908201527f7468652066696e616c697479526577617264526174696f206973206f7574206f604082015266662072616e676560c81b606082015260800190565b6020808252601190820152706164646974696f6e206f766572666c6f7760781b604082015260600190565b60208082526023908201527f63616e206e6f7420656e7465722054656d706f72617279204d61696e74656e616040820152626e636560e81b606082015260800190565b60208082526025908201527f6c656e677468206f66206a61696c2076616c696461746f7273206d757374206260408201526465206f6e6560d81b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252602e908201527f746865206d6573736167652073656e646572206d75737420626520676f76657260408201526d1b985b98d94818dbdb9d1c9858dd60921b606082015260800190565b60208082526025908201527f6c656e677468206f66206d61784e756d4f6643616e64696461746573206d69736040820152640dac2e8c6d60db1b606082015260800190565b6020808252601290820152716e6f7420696e206d61696e74656e616e636560701b604082015260600190565b60208082526021908201527f666565206973206c6172676572207468616e2044555354595f494e434f4d494e6040820152604760f81b606082015260800190565b60208082526019908201527f74686520636f6e747261637420616c726561647920696e697400000000000000604082015260600190565b60208082526026908201527f6c656e677468206f662066696e616c697479526577617264526174696f206d696040820152650e6dac2e8c6d60d31b606082015260800190565b6020808252601a908201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604082015260600190565b60208082526026908201527f6c656e677468206f662065787069726554696d655365636f6e64476170206d696040820152650e6dac2e8c6d60d31b606082015260800190565b60208082526017908201527f6f6e6c792063757272656e742076616c696461746f7273000000000000000000604082015260600190565b60208082526021908201527f6661696c656420746f20706172736520696e69742076616c696461746f7253656040820152601d60fa1b606082015260800190565b6020808252602f908201527f746865206d6573736167652073656e646572206d7573742062652063726f737360408201526e0818da185a5b8818dbdb9d1c9858dd608a1b606082015260800190565b6020808252602d908201527f746865206d6573736167652073656e646572206d75737420626520746865206260408201526c3637b1b590383937b23ab1b2b960991b606082015260800190565b6020808252603e908201527f746865206d61696e7461696e536c6173685363616c65206d757374206265206760408201527f726561746572207468616e203020616e64206c657373207468616e2031300000606082015260800190565b6020808252600d908201526c756e6b6e6f776e20706172616d60981b604082015260600190565b60208082526029908201527f746865206d6573736167652073656e646572206d75737420626520736c6173686040820152680818dbdb9d1c9858dd60ba1b606082015260800190565b61ffff91909116815260200190565b90815260200190565b6000848252831515602083015260606040830152615c3260608301846162a1565b63ffffffff91909116815260200190565b60ff91909116815260200190565b600060ff8516825260406020830152615c32604083018486616277565b60005b83811015616f71578181015183820152602001616f59565b83811115612c47575050600091015256fe70e72399380dcfb0338abc03dc8d47f9f470ada8e769c9a78d644ea97385ecb20175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbbf905ec80f905e8f846942a7cdd959bfe8d9487b2a43b33565295a698f7e294b6a7edd747c0554875d3fc531d19ba1497992c5e941ff80f3f7f110ffd8920a3ac38fdef318fe94a3f86048c27395000f846946488aa4d1955ee33403f8ccb1d4de5fb97c7ade294220f003d8bdfaadf52aa1e55ae4cc485e6794875941a87e90e440a39c99aa9cb5cea0ad6a3f0b2407b86048c27395000f846949ef9f4360c606c7ab4db26b016007d3ad0ab86a0946103af86a874b705854033438383c82575f25bc29418e2db06cbff3e3c5f856410a1838649e760175786048c27395000f84694ee01c3b1283aa067c58eab4709f85e99d46de5fe94ee4b9bfb1871c64e2bcabb1dc382dc8b7c4218a29415904ab26ab0e99d70b51c220ccdcccabee6e29786048c27395000f84694685b1ded8013785d6623cc18d214320b6bb6475994a20ef4e5e4e7e36258dbf51f4d905114cb1b34bc9413e39085dc88704f4394d35209a02b1a9520320c86048c27395000f8469478f3adfc719c99674c072166708589033e2d9afe9448a30d5eaa7b64492a160f139e2da2800ec3834e94055838358c29edf4dcc1ba1985ad58aedbb6be2b86048c27395000f84694c2be4ec20253b8642161bc3f444f53679c1f3d479466f50c616d737e60d7ca6311ff0d9c434197898a94d1d678a2506eeaa365056fe565df8bc8659f28b086048c27395000f846942f7be8361c80a4c1e7e9aaf001d0877f1cfde218945f93992ac37f3e61db2ef8a587a436a161fd210b94ecbc4fb1a97861344dad0867ca3cba2b860411f086048c27395000f84694ce2fd7544e0b2cc94692d4a704debef7bcb613289444abc67b4b2fba283c582387f54c9cba7c34bafa948acc2ab395ded08bb75ce85bf0f95ad2abc51ad586048c27395000f84694b8f7166496996a7da21cf1f1b04d9b3e26a3d077946770572763289aac606e4f327c2f6cc1aa3b3e3b94882d745ed97d4422ca8da1c22ec49d880c4c097286048c27395000f846942d4c407bbe49438ed859fe965b140dcf1aab71a9943ad0939e120f33518fbba04631afe7a3ed6327b194b2bbb170ca4e499a2b0f3cc85ebfa6e8c4dfcbea86048c27395000f846946bbad7cf34b5fa511d8e963dbba288b1960e75d694853b0f6c324d1f4e76c8266942337ac1b0af1a229442498946a51ca5924552ead6fc2af08b94fcba648601d1a94a2000f846944430b3230294d12c6ab2aac5c2cd68e80b16b581947b107f4976a252a6939b771202c28e64e03f52d694795811a7f214084116949fc4f53cedbf189eeab28601d1a94a2000f84694ea0a6e3c511bbd10f4519ece37dc24887e11b55d946811ca77acfb221a49393c193f3a22db829fcc8e9464feb7c04830dd9ace164fc5c52b3f5a29e5018a8601d1a94a2000f846947ae2f5b9e386cd1b50a4550696d957cb4900f03a94e83bcc5077e6b873995c24bac871b5ad856047e19464e48d4057a90b233e026c1041e6012ada897fe88601d1a94a2000f8469482012708dafc9e1b880fd083b32182b869be8e09948e5adc73a2d233a1b496ed3115464dd6c7b887509428b383d324bc9a37f4e276190796ba5a8947f5ed8601d1a94a2000f8469422b81f8e175ffde54d797fe11eb03f9e3bf75f1d94a1c3ef7ca38d8ba80cce3bfc53ebd2903ed21658942767f7447f7b9b70313d4147b795414aecea54718601d1a94a2000f8469468bf0b8b6fb4e317a0f9d6f03eaf8ce6675bc60d94675cfe570b7902623f47e7f59c9664b5f5065dcf94d84f0d2e50bcf00f2fc476e1c57f5ca2d57f625b8601d1a94a2000f846948c4d90829ce8f72d0163c1d5cf348a862d5506309485c42a7b34309bee2ed6a235f86d16f059deec5894cc2cedc53f0fa6d376336efb67e43d167169f3b78601d1a94a2000f8469435e7a025f4da968de7e4d7e4004197917f4070f194b1182abaeeb3b4d8eba7e6a4162eac7ace23d57394c4fd0d870da52e73de2dd8ded19fe3d26f43a1138601d1a94a2000f84694d6caa02bbebaebb5d7e581e4b66559e635f805ff94c07335cf083c1c46a487f0325769d88e163b653694efaff03b42e41f953a925fc43720e45fb61a19938601d1a94a20000175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbaa26469706673582212206cf6e773ca0b0d999abe4e586cd00abd836c1f2e74f76626269d55c8fc09634364736f6c63430006040033", }, { ContractAddr: common.HexToAddress(SlashContract), - CommitUrl: "https://github.com/node-real/bsc-genesis-contract/commit/f8bab13f56955e979bfb754425dab1e62e52f151", - Code: "608060405234801561001057600080fd5b50600436106102745760003560e01c80638256ace611610151578063c81b1662116100c3578063dc927faf11610087578063dc927faf1461049a578063e1c7392a146104a2578063f9a2bbc7146104aa578063fc3e5908146104b2578063fc4333cd146104ba578063fd6a6879146104c257610274565b8063c81b166214610451578063c8509d8114610459578063c96be4cb1461046c578063cc844b731461047f578063d2a42e4b1461049257610274565b8063a1a11bf511610115578063a1a11bf514610409578063a78abc1614610411578063ab51bb9614610426578063ac0af6291461042e578063ac43175114610436578063c80d4b8f1461044957610274565b80638256ace6146103d6578063831d65d1146103de57806396713da9146103f15780639bc8e4f2146103f95780639dc092621461040157610274565b80634bf6c882116101ea5780636e47b482116101ae5780636e47b482146103a657806370fd5bad146103ae578063718a8aa8146103b657806375d47a0a146103be5780637912a65d146103c65780637942fd05146103ce57610274565b80634bf6c8821461037157806351e8067214610379578063567a372d146103815780635bfb49901461038957806362b72cf51461039e57610274565b806337c8dab91161023c57806337c8dab914610301578063389f4f71146103225780633a63f4b1146103375780633dffc3871461033f57806343756e5c14610354578063493279b11461035c57610274565b80630bee7a67146102795780630e2374a5146102975780631182b875146102ac57806323bac5a2146102cc57806335aa2e44146102ee575b600080fd5b6102816104ca565b60405161028e9190613056565b60405180910390f35b61029f6104cf565b60405161028e9190612987565b6102bf6102ba3660046128bd565b6104d5565b60405161028e91906129bf565b6102df6102da36600461266b565b61053b565b60405161028e9392919061303e565b61029f6102fc36600461288d565b61055e565b61031461030f36600461266b565b610585565b60405161028e929190613030565b61032a6105dc565b60405161028e9190613006565b61032a6105e2565b6103476105e8565b60405161028e9190613067565b61029f6105ed565b6103646105f3565b60405161028e9190612ff7565b6103476105f8565b61029f6105fd565b61032a610603565b61039c61039736600461266b565b610609565b005b61032a6106b4565b61029f6106ba565b6103476106c0565b6103476106c5565b61029f6106ca565b61032a6106d0565b6103476106d5565b6103146106da565b61039c6103ec3660046128bd565b6106e4565b6103476107f6565b61032a6107fb565b61029f610806565b61029f61080c565b610419610812565b60405161028e91906129b4565b61028161081b565b61032a610820565b61039c610444366004612771565b610825565b61032a610bd9565b61029f610bde565b61039c6104673660046128bd565b610be4565b61039c61047a36600461266b565b610c55565b61039c61048d3660046127da565b611046565b61032a61151c565b61029f611521565b61039c611527565b61029f611563565b610347611569565b61039c61156e565b61029f6119b7565b606481565b61200181565b606033612000146105015760405162461bcd60e51b81526004016104f890612e7d565b60405180910390fd5b60005460ff166105235760405162461bcd60e51b81526004016104f890612a6b565b60405162461bcd60e51b81526004016104f890612f40565b600260208190526000918252604090912080546001820154919092015460ff1683565b6001818154811061056b57fe5b6000918252602090912001546001600160a01b0316905081565b600080610590612452565b5050506001600160a01b0316600090815260026020818152604092839020835160608101855281548082526001830154938201849052919093015460ff16151592909301919091529091565b60055481565b60065481565b600181565b61100181565b603881565b600881565b61200081565b60045481565b336110001461062a5760405162461bcd60e51b81526004016104f890612c91565b60005460ff1661064c5760405162461bcd60e51b81526004016104f890612a6b565b61200063f7a251d7600b61065f846119bd565b60006040518463ffffffff1660e01b815260040161067f93929190613075565b600060405180830381600087803b15801561069957600080fd5b505af11580156106ad573d6000803e3d6000fd5b5050505050565b60035481565b61100581565b600281565b601081565b61100881565b603281565b600b81565b6004546005549091565b33612000146107055760405162461bcd60e51b81526004016104f890612e7d565b60005460ff166107275760405162461bcd60e51b81526004016104f890612a6b565b61072f612475565b600061077084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a8f92505050565b9150915080156107b75781516040517f7f0956d47419b9525356e7111652b653b530ec6f5096dccc04589bc38e629967916107aa91613056565b60405180910390a16106ad565b81516040517f7d45f62d17443dd4547bca8a8112c60e2385669318dc300ec61a5d2492f262e7916107e791613056565b60405180910390a15050505050565b600981565b662386f26fc1000081565b61100781565b61100681565b60005460ff1681565b600081565b600481565b60005460ff166108475760405162461bcd60e51b81526004016104f890612a6b565b33611007146108685760405162461bcd60e51b81526004016104f890612d3a565b6108d384848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260148152731b5a5cd9195b59585b9bdc951a1c995cda1bdb1960621b60208201529150611b0f9050565b1561096e57602081146108f85760405162461bcd60e51b81526004016104f890612c1d565b604080516020601f840181900481028201810190925282815260009161093691858580838501838280828437600092019190915250611b6992505050565b90506001811015801561094a575060055481105b6109665760405162461bcd60e51b81526004016104f890612e38565b600455610b96565b6109d484848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600f81526e19995b1bdb9e551a1c995cda1bdb19608a1b60208201529150611b0f9050565b15610a7057602081146109f95760405162461bcd60e51b81526004016104f890612d88565b604080516020601f8401819004810282018101909252828152600091610a3791858580838501838280828437600092019190915250611b6992505050565b90506103e88111158015610a4c575060045481115b610a685760405162461bcd60e51b81526004016104f890612ad9565b600555610b96565b610ae484848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601881527f66696e616c697479536c617368526577617264526174696f000000000000000060208201529150611b0f9050565b15610b7e5760208114610b095760405162461bcd60e51b81526004016104f890612f77565b604080516020601f8401819004810282018101909252828152600091610b4791858580838501838280828437600092019190915250611b6992505050565b9050600a8110158015610b5a5750606481105b610b765760405162461bcd60e51b81526004016104f890612bd1565b600655610b96565b60405162461bcd60e51b81526004016104f890612f19565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a84848484604051610bcb94939291906129d2565b60405180910390a150505050565b609681565b61100281565b3361200014610c055760405162461bcd60e51b81526004016104f890612e7d565b60005460ff16610c275760405162461bcd60e51b81526004016104f890612a6b565b6040517f07db600eebe2ac176be8dcebad61858c245a4961bb32ca2aa3d159b09aa0810e90600090a1505050565b334114610c745760405162461bcd60e51b81526004016104f890612ecc565b60005460ff16610c965760405162461bcd60e51b81526004016104f890612a6b565b6003544311610cb75760405162461bcd60e51b81526004016104f890612fc2565b3a15610cd55760405162461bcd60e51b81526004016104f890612d0c565b60405163155853f360e21b8152611000906355614fcc90610cfa908490600401612987565b60206040518083038186803b158015610d1257600080fd5b505afa158015610d26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4a9190612751565b610d535761103f565b610d5b612452565b506001600160a01b0381166000908152600260208181526040928390208351606081018552815481526001820154928101929092529091015460ff161580159282019290925290610db6576020810180516001019052610e0f565b60016040820181905260208201819052805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0384161790555b438152600554602082015181610e2157fe5b06610f6d57600060208201526040516335409f7f60e01b8152611000906335409f7f90610e52908590600401612987565b600060405180830381600087803b158015610e6c57600080fd5b505af1158015610e80573d6000803e3d6000fd5b505050506120006001600160a01b031663f7a251d7600b610ea0856119bd565b60006040518463ffffffff1660e01b8152600401610ec093929190613075565b600060405180830381600087803b158015610eda57600080fd5b505af1925050508015610eeb575060015b610f68573d808015610f19576040519150601f19603f3d011682016040523d82523d6000602084013e610f1e565b606091505b50826001600160a01b03167fd7bc86ff5d08c8ab043edec743302aba2520e6635172a428bc956721db9e2d1c836020015183604051610f5e92919061300f565b60405180910390a2505b610fd9565b600454816020015181610f7c57fe5b06610fd9576040516375abf10160e11b81526110009063eb57e20290610fa6908590600401612987565b600060405180830381600087803b158015610fc057600080fd5b505af1158015610fd4573d6000803e3d6000fd5b505050505b6001600160a01b0382166000818152600260208181526040808420865181559186015160018301558581015191909201805460ff1916911515919091179055517fddb6012116e51abf5436d956a4f0ebd927e92c576ff96d7918290c8782291e3e9190a2505b5043600355565b60005460ff166110685760405162461bcd60e51b81526004016104f890612a6b565b604051630a83aaa960e31b81526110069063541d55489061108d903390600401612987565b60206040518083038186803b1580156110a557600080fd5b505afa1580156110b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110dd9190612751565b6110f95760405162461bcd60e51b81526004016104f890612a04565b6006546111065760146006555b8051514361010090910111801561112857504381602001516000015161010001115b6111445760405162461bcd60e51b81526004016104f890612a3b565b8060200151602001518160000151602001511480156111725750806020015160600151816000015160600151145b1561118f5760405162461bcd60e51b81526004016104f890612c64565b8051604081015190511080156111ae5750602081015160408101519051105b6111ca5760405162461bcd60e51b81526004016104f890612b6d565b6020810151518151511080156111ef5750806000015160400151816020015160400151105b8061121a575080515160208201515110801561121a5750806020015160400151816000015160400151105b806112345750806020015160400151816000015160400151145b6112505760405162461bcd60e51b81526004016104f890612aa2565b6060806110006001600160a01b0316633b071dcc6040518163ffffffff1660e01b815260040160006040518083038186803b15801561128e57600080fd5b505afa1580156112a2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112ca919081019061268e565b60408501519193509150600090815b8351811015611327576112ff8482815181106112f157fe5b602002602001015183611b6e565b1561131f5784818151811061131057fe5b60200260200101519250611327565b6001016112d9565b506001600160a01b03821661134e5760405162461bcd60e51b81526004016104f890612ba4565b61136085600001518660400151611bd2565b8015611379575061137985602001518660400151611bd2565b6113955760405162461bcd60e51b81526004016104f890612b0e565b6006546040516309a99b4f60e41b815260646110028031909302049190639a99b4f0906113c8903390859060040161299b565b602060405180830381600087803b1580156113e257600080fd5b505af11580156113f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141a91906128a5565b506040516335409f7f60e01b8152611000906335409f7f90611440908690600401612987565b600060405180830381600087803b15801561145a57600080fd5b505af115801561146e573d6000803e3d6000fd5b505050506120006001600160a01b031663f7a251d7600b61148e866119bd565b60006040518463ffffffff1660e01b81526004016114ae93929190613075565b600060405180830381600087803b1580156114c857600080fd5b505af11580156114dc573d6000803e3d6000fd5b50506040516001600160a01b03861692507fddb6012116e51abf5436d956a4f0ebd927e92c576ff96d7918290c8782291e3e9150600090a2505050505050565b601481565b61100381565b60005460ff161561154a5760405162461bcd60e51b81526004016104f890612dca565b603260045560966005556000805460ff19166001179055565b61100081565b600381565b336110001461158f5760405162461bcd60e51b81526004016104f890612c91565b60005460ff166115b15760405162461bcd60e51b81526004016104f890612a6b565b6001546115bd576119b5565b600154600090600019015b808211611989576000805b828410156116ec576115e3612452565b60026000600187815481106115f457fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff1615159082015260055490915060049004816020015111156116d65760046005548161166157fe5b0481602001510381602001818152505080600260006001888154811061168357fe5b6000918252602080832091909101546001600160a01b0316835282810193909352604091820190208351815591830151600183015591909101516002909101805460ff19169115159190911790556116e0565b60019250506116ec565b508360010193506115d3565b828411611883576116fb612452565b600260006001868154811061170c57fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff1615159082015260055490915060049004816020015111156117f45760046005548161177957fe5b0481602001510381602001818152505080600260006001878154811061179b57fe5b6000918252602080832091909101546001600160a01b03168352828101939093526040918201902083518155918301516001808401919091559201516002909101805460ff191691151591909117905591506118839050565b600260006001868154811061180557fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff1916905580548061184957fe5b600082815260209020810160001990810180546001600160a01b0319169055019055836118765750611883565b50600019909201916116ec565b81801561188d5750805b1561196c5760026000600186815481106118a357fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff191690558054849081106118ea57fe5b600091825260209091200154600180546001600160a01b03909216918690811061191057fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600180548061194957fe5b600082815260209020810160001990810180546001600160a01b03191690550190555b82611978575050611989565b5050600190910190600019016115c8565b6040517fcfdb3b6ccaeccbdc68be3c59c840e3b3c90f0a7c491f5fff1cf56cfda200dd9c90600090a150505b565b61100481565b60408051600480825260a08201909252606091829190816020015b60608152602001906001900390816119d8579050509050611a01836001600160a01b0316611daa565b81600081518110611a0e57fe5b6020026020010181905250611a2243611dcd565b81600181518110611a2f57fe5b6020908102919091010152611a446038611dcd565b81600281518110611a5157fe5b6020026020010181905250611a6542611dcd565b81600381518110611a7257fe5b6020026020010181905250611a8681611de0565b9150505b919050565b611a97612475565b6000611aa1612475565b611aa9612487565b611aba611ab586611e6a565b611e8f565b90506000805b611ac983611ed9565b15611b025780611af557611ae4611adf84611efa565b611f48565b63ffffffff16845260019150611afa565b611b02565b600101611ac0565b5091935090915050915091565b600081604051602001611b22919061296b565b6040516020818303038152906040528051906020012083604051602001611b49919061296b565b604051602081830303815290604052805190602001201490505b92915050565b015190565b815181516000916001918114808314611b8a5760009250611bc8565b600160208701838101602088015b600284838510011415611bc3578051835114611bb75760009650600093505b60209283019201611b98565b505050505b5090949350505050565b60408051600480825260a0820190925260009160609190816020015b6060815260200190600190039081611bee575050604080516020808252818301909252919250606091908082018180368337019050509050611c338560000151611dcd565b82600081518110611c4057fe5b6020026020010181905250611c5b6020866020015183611fca565b611c6481611fda565b82600181518110611c7157fe5b6020026020010181905250611c898560400151611dcd565b82600281518110611c9657fe5b6020026020010181905250611cb16020866060015183611fca565b611cba81611fda565b82600381518110611cc757fe5b6020026020010181905250611ced6020611ce084611de0565b8051906020012083611fca565b6040805160b080825260e08201909252606091602082018180368337019050509050611d1d818360006020612030565b611d2f81876080015160206060612030565b611d3d818660806030612030565b604080516001808252818301909252606091602082018180368337019050509050815160016020830182602086016066600019fa611d7a57600080fd5b506001611d88826000612083565b60ff1614611d9d576000945050505050611b63565b5060019695505050505050565b60408051600560a21b8318601482015260348101909152606090611a8681611fda565b6060611b63611ddb8361209f565b611fda565b6060815160001415611e015750604080516000815260208101909152611a8a565b606082600081518110611e1057fe5b602002602001015190506000600190505b8351811015611e5157611e4782858381518110611e3a57fe5b6020026020010151612185565b9150600101611e21565b50611a86611e64825160c060ff16612202565b82612185565b611e726124a7565b506040805180820190915281518152602082810190820152919050565b611e97612487565b611ea0826122d4565b611ea957600080fd5b6000611eb8836020015161230e565b60208085015160408051808201909152868152920190820152915050919050565b6000611ee36124a7565b505080518051602091820151919092015191011190565b611f026124a7565b611f0b82611ed9565b611f1457600080fd5b60208201516000611f2482612371565b80830160209586015260408051808201909152908152938401919091525090919050565b805160009015801590611f5d57508151602110155b611f6657600080fd5b6000611f75836020015161230e565b90508083600001511015611f9b5760405162461bcd60e51b81526004016104f890612e01565b825160208085015183018051928490039291831015611fc157826020036101000a820491505b50949350505050565b9091018181526020918201910152565b60608151600114801561200c5750607f60f81b82600081518110611ffa57fe5b01602001516001600160f81b03191611155b15612018575080611a8a565b611b6361202a8351608060ff16612202565b83612185565b60005b818110156106ad5783818151811061204757fe5b602001015160f81c60f81b85848060010195508151811061206457fe5b60200101906001600160f81b031916908160001a905350600101612033565b6000816001018351101561209657600080fd5b50016001015190565b604080516020808252818301909252606091829190602082018180368337505050602081018490529050600067ffffffffffffffff1984166120e357506018612107565b6fffffffffffffffffffffffffffffffff19841661210357506010612107565b5060005b602081101561213d5781818151811061211c57fe5b01602001516001600160f81b031916156121355761213d565b600101612107565b60008160200390506060816040519080825280601f01601f191660200182016040528015612172576020820181803683370190505b5080830196909652508452509192915050565b6060806040519050835180825260208201818101602087015b818310156121b657805183526020928301920161219e565b50855184518101855292509050808201602086015b818310156121e35780518352602092830192016121cb565b508651929092011591909101601f01601f191660405250905092915050565b606068010000000000000000831061222c5760405162461bcd60e51b81526004016104f890612b45565b604080516001808252818301909252606091602082018180368337019050509050603784116122865782840160f81b8160008151811061226857fe5b60200101906001600160f81b031916908160001a9053509050611b63565b60606122918561209f565b90508381510160370160f81b826000815181106122aa57fe5b60200101906001600160f81b031916908160001a9053506122cb8282612185565b95945050505050565b80516000906122e557506000611a8a565b6020820151805160001a9060c082101561230457600092505050611a8a565b5060019392505050565b8051600090811a6080811015612328576000915050611a8a565b60b8811080612343575060c08110801590612343575060f881105b15612352576001915050611a8a565b60c08110156123665760b519019050611a8a565b60f519019050611a8a565b80516000908190811a608081101561238c576001915061244b565b60b88110156123a157607e198101915061244b565b60c08110156123f257600060b78203600186019550806020036101000a8651049150600181018201935050808310156123ec5760405162461bcd60e51b81526004016104f890612ce1565b5061244b565b60f88110156124075760be198101915061244b565b600060f78203600186019550806020036101000a8651049150600181018201935050808310156124495760405162461bcd60e51b81526004016104f890612ce1565b505b5092915050565b604051806060016040528060008152602001600081526020016000151581525090565b60408051602081019091526000815290565b604051806040016040528061249a6124a7565b8152602001600081525090565b604051806040016040528060008152602001600081525090565b600082601f8301126124d1578081fd5b81516124e46124df826130c8565b6130a1565b818152915060208083019084810160005b8481101561255a578151870188603f82011261251057600080fd5b838101516125206124df826130e8565b81815260408b8184860101111561253657600080fd5b6125458388840183870161310c565b508652505092820192908201906001016124f5565b505050505092915050565b60008083601f840112612576578182fd5b50813567ffffffffffffffff81111561258d578182fd5b6020830191508360208285010111156125a557600080fd5b9250929050565b600082601f8301126125bc578081fd5b81356125ca6124df826130e8565b91508082528360208285010111156125e157600080fd5b8060208401602084013760009082016020015292915050565b600060a0828403121561260b578081fd5b61261560a06130a1565b905081358152602082013560208201526040820135604082015260608201356060820152608082013567ffffffffffffffff81111561265357600080fd5b61265f848285016125ac565b60808301525092915050565b60006020828403121561267c578081fd5b81356126878161313c565b9392505050565b600080604083850312156126a0578081fd5b825167ffffffffffffffff808211156126b7578283fd5b81850186601f8201126126c8578384fd5b805192506126d86124df846130c8565b80848252602080830192508084018a8283890287010111156126f8578788fd5b8794505b8685101561272357805161270f8161313c565b8452600194909401939281019281016126fc565b50880151909650935050508082111561273a578283fd5b50612747858286016124c1565b9150509250929050565b600060208284031215612762578081fd5b81518015158114612687578182fd5b60008060008060408587031215612786578182fd5b843567ffffffffffffffff8082111561279d578384fd5b6127a988838901612565565b909650945060208701359150808211156127c1578384fd5b506127ce87828801612565565b95989497509550505050565b6000602082840312156127eb578081fd5b813567ffffffffffffffff80821115612802578283fd5b81840160608187031215612814578384fd5b61281e60606130a1565b925080358281111561282e578485fd5b61283a878284016125fa565b84525060208101358281111561284e578485fd5b61285a878284016125fa565b602085015250604081013582811115612871578485fd5b61287d878284016125ac565b6040850152509195945050505050565b60006020828403121561289e578081fd5b5035919050565b6000602082840312156128b6578081fd5b5051919050565b6000806000604084860312156128d1578283fd5b833560ff811681146128e1578384fd5b9250602084013567ffffffffffffffff8111156128fc578283fd5b61290886828701612565565b9497909650939450505050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b6000815180845261295781602086016020860161310c565b601f01601f19169290920160200192915050565b6000825161297d81846020870161310c565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b600060208252612687602083018461293f565b6000604082526129e6604083018688612915565b82810360208401526129f9818587612915565b979650505050505050565b6020808252601f908201527f746865206d73672073656e646572206973206e6f7420612072656c6179657200604082015260600190565b6020808252601690820152751d1bdbc81bdb1908189b1bd8dac81a5b9d9bdb1d995960521b604082015260600190565b60208082526019908201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604082015260600190565b6020808252601a908201527f6e6f2076696f6c6174696f6e206f6620766f74652072756c6573000000000000604082015260600190565b6020808252818101527f7468652066656c6f6e795468726573686f6c64206f7574206f662072616e6765604082015260600190565b60208082526017908201527f766572696679207369676e6174757265206661696c6564000000000000000000604082015260600190565b6020808252600e908201526d696e70757420746f6f206c6f6e6760901b604082015260600190565b60208082526019908201527f7372634e756d20626967676572207468616e207461724e756d00000000000000604082015260600190565b6020808252601390820152721d985b1a59185d1bdc881b9bdd08195e1a5cdd606a1b604082015260600190565b6020808252602c908201527f7468652066696e616c69747920736c6173682072657761726420726174696f2060408201526b6f7574206f662072616e676560a01b606082015260800190565b60208082526027908201527f6c656e677468206f66206d697364656d65616e6f725468726573686f6c64206d6040820152660d2e6dac2e8c6d60cb1b606082015260800190565b60208082526013908201527274776f206964656e746963616c20766f74657360681b604082015260600190565b60208082526030908201527f746865206d6573736167652073656e646572206d7573742062652076616c696460408201526f185d1bdc94d95d0818dbdb9d1c9858dd60821b606082015260800190565b6020808252601190820152706164646974696f6e206f766572666c6f7760781b604082015260600190565b6020808252601490820152736761737072696365206973206e6f74207a65726f60601b604082015260600190565b6020808252602e908201527f746865206d6573736167652073656e646572206d75737420626520676f76657260408201526d1b985b98d94818dbdb9d1c9858dd60921b606082015260800190565b60208082526022908201527f6c656e677468206f662066656c6f6e795468726573686f6c64206d69736d61746040820152610c6d60f31b606082015260800190565b60208082526019908201527f74686520636f6e747261637420616c726561647920696e697400000000000000604082015260600190565b6020808252601a908201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604082015260600190565b60208082526025908201527f746865206d697364656d65616e6f725468726573686f6c64206f7574206f662060408201526472616e676560d81b606082015260800190565b6020808252602f908201527f746865206d6573736167652073656e646572206d7573742062652063726f737360408201526e0818da185a5b8818dbdb9d1c9858dd608a1b606082015260800190565b6020808252602d908201527f746865206d6573736167652073656e646572206d75737420626520746865206260408201526c3637b1b590383937b23ab1b2b960991b606082015260800190565b6020808252600d908201526c756e6b6e6f776e20706172616d60981b604082015260600190565b6020808252601e908201527f7265636569766520756e65787065637465642073796e207061636b6167650000604082015260600190565b6020808252602b908201527f6c656e677468206f662066696e616c697479536c61736852657761726452617460408201526a0d2de40dad2e6dac2e8c6d60ab1b606082015260800190565b6020808252818101527f63616e206e6f7420736c61736820747769636520696e206f6e6520626c6f636b604082015260600190565b61ffff91909116815260200190565b90815260200190565b600083825260406020830152613028604083018461293f565b949350505050565b918252602082015260400190565b92835260208301919091521515604082015260600190565b63ffffffff91909116815260200190565b60ff91909116815260200190565b600060ff8516825260606020830152613091606083018561293f565b9050826040830152949350505050565b60405181810167ffffffffffffffff811182821017156130c057600080fd5b604052919050565b600067ffffffffffffffff8211156130de578081fd5b5060209081020190565b600067ffffffffffffffff8211156130fe578081fd5b50601f01601f191660200190565b60005b8381101561312757818101518382015260200161310f565b83811115613136576000848401525b50505050565b6001600160a01b038116811461315157600080fd5b5056fea264697066735822122086a5b0c3194fbead4808634d6137151c6cb6180aacf059312af931e2f7b5c7ff64736f6c63430006040033", + CommitUrl: "https://github.com/node-real/bsc-genesis-contract/commit/b144718e94d7a1ebb24a7103202300f08826f369", + Code: "608060405234801561001057600080fd5b506004361061027f5760003560e01c80637942fd051161015c578063c80d4b8f116100ce578063dc927faf11610087578063dc927faf146104ad578063e1c7392a146104b5578063f9a2bbc7146104bd578063fc3e5908146104c5578063fc4333cd146104cd578063fd6a6879146104d55761027f565b8063c80d4b8f1461045c578063c81b166214610464578063c8509d811461046c578063c96be4cb1461047f578063cc844b7314610492578063d2a42e4b146104a55761027f565b80639dc09262116101205780639dc0926214610421578063a1a11bf514610429578063a78abc1614610431578063ab51bb9614610439578063ac0af62914610441578063ac431751146104495761027f565b80637942fd05146103ee5780638256ace6146103f6578063831d65d1146103fe57806396713da9146104115780639bc8e4f2146104195761027f565b8063493279b1116101f557806362b72cf5116101b957806362b72cf5146103be5780636e47b482146103c657806370fd5bad146103ce578063718a8aa8146103d657806375d47a0a146103de5780637912a65d146103e65761027f565b8063493279b11461037c5780634bf6c8821461039157806351e8067214610399578063567a372d146103a15780635bfb4990146103a95761027f565b806335aa2e441161024757806335aa2e441461030e57806337c8dab914610321578063389f4f71146103425780633a63f4b1146103575780633dffc3871461035f57806343756e5c146103745761027f565b80630bee7a67146102845780630e2374a5146102a25780631182b875146102b757806322d1e80b146102d757806323bac5a2146102ec575b600080fd5b61028c6104dd565b60405161029991906132a4565b60405180910390f35b6102aa6104e2565b6040516102999190612b82565b6102ca6102c5366004612ab8565b6104e8565b6040516102999190612bba565b6102df61054e565b6040516102999190612baf565b6102ff6102fa366004612866565b610557565b6040516102999392919061328c565b6102aa61031c366004612a88565b61057a565b61033461032f366004612866565b6105a1565b60405161029992919061327e565b61034a6105f8565b6040516102999190613254565b61034a6105fe565b610367610604565b60405161029991906132b5565b6102aa610609565b61038461060f565b6040516102999190613245565b610367610614565b6102aa610619565b61034a61061f565b6103bc6103b7366004612866565b610625565b005b61034a6106d0565b6102aa6106d6565b6103676106dc565b6103676106e1565b6102aa6106e6565b61034a6106ec565b6103676106f1565b6103346106f6565b6103bc61040c366004612ab8565b610700565b610367610812565b61034a610817565b6102aa610822565b6102aa610828565b6102df61082e565b61028c610837565b61034a61083c565b6103bc61045736600461296c565b610841565b61034a610ce0565b6102aa610ce5565b6103bc61047a366004612ab8565b610ceb565b6103bc61048d366004612866565b610d5c565b6103bc6104a03660046129d5565b61114d565b61034a61169a565b6102aa61169f565b6103bc6116a5565b6102aa6116e1565b6103676116e7565b6103bc6116ec565b6102aa611b35565b606481565b61200181565b606033612000146105145760405162461bcd60e51b815260040161050b906130cb565b60405180910390fd5b60005460ff166105365760405162461bcd60e51b815260040161050b90612c9b565b60405162461bcd60e51b815260040161050b9061318e565b60075460ff1681565b600260208190526000918252604090912080546001820154919092015460ff1683565b6001818154811061058757fe5b6000918252602090912001546001600160a01b0316905081565b6000806105ac61264d565b5050506001600160a01b0316600090815260026020818152604092839020835160608101855281548082526001830154938201849052919093015460ff16151592909301919091529091565b60055481565b60065481565b600181565b61100181565b603881565b600881565b61200081565b60045481565b33611000146106465760405162461bcd60e51b815260040161050b90612edf565b60005460ff166106685760405162461bcd60e51b815260040161050b90612c9b565b61200063f7a251d7600b61067b84611b3b565b60006040518463ffffffff1660e01b815260040161069b939291906132c3565b600060405180830381600087803b1580156106b557600080fd5b505af11580156106c9573d6000803e3d6000fd5b5050505050565b60035481565b61100581565b600281565b601081565b61100881565b603281565b600b81565b6004546005549091565b33612000146107215760405162461bcd60e51b815260040161050b906130cb565b60005460ff166107435760405162461bcd60e51b815260040161050b90612c9b565b61074b612670565b600061078c84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611c0d92505050565b9150915080156107d35781516040517f7f0956d47419b9525356e7111652b653b530ec6f5096dccc04589bc38e629967916107c6916132a4565b60405180910390a16106c9565b81516040517f7d45f62d17443dd4547bca8a8112c60e2385669318dc300ec61a5d2492f262e791610803916132a4565b60405180910390a15050505050565b600981565b662386f26fc1000081565b61100781565b61100681565b60005460ff1681565b600081565b600481565b60005460ff166108635760405162461bcd60e51b815260040161050b90612c9b565b33611007146108845760405162461bcd60e51b815260040161050b90612f88565b6108ef84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260148152731b5a5cd9195b59585b9bdc951a1c995cda1bdb1960621b60208201529150611c8d9050565b1561098a57602081146109145760405162461bcd60e51b815260040161050b90612e6b565b604080516020601f840181900481028201810190925282815260009161095291858580838501838280828437600092019190915250611ce792505050565b905060018110158015610966575060055481105b6109825760405162461bcd60e51b815260040161050b90613086565b600455610c9d565b6109f084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600f81526e19995b1bdb9e551a1c995cda1bdb19608a1b60208201529150611c8d9050565b15610a8c5760208114610a155760405162461bcd60e51b815260040161050b90612fd6565b604080516020601f8401819004810282018101909252828152600091610a5391858580838501838280828437600092019190915250611ce792505050565b90506103e88111158015610a68575060045481115b610a845760405162461bcd60e51b815260040161050b90612d09565b600555610c9d565b610b0084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601881527f66696e616c697479536c617368526577617264526174696f000000000000000060208201529150611c8d9050565b15610b9a5760208114610b255760405162461bcd60e51b815260040161050b906131c5565b604080516020601f8401819004810282018101909252828152600091610b6391858580838501838280828437600092019190915250611ce792505050565b9050600a8110158015610b765750606481105b610b925760405162461bcd60e51b815260040161050b90612e1f565b600655610c9d565b610c0e84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601881527f656e61626c654d616c6963696f7573566f7465536c617368000000000000000060208201529150611c8d9050565b15610c855760208114610c335760405162461bcd60e51b815260040161050b90612d3e565b604080516020601f8401819004810282018101909252828152610c6f9190848480838501838280828437600092019190915250611cec92505050565b6007805460ff1916911515919091179055610c9d565b60405162461bcd60e51b815260040161050b90613167565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a84848484604051610cd29493929190612bcd565b60405180910390a150505050565b609681565b61100281565b3361200014610d0c5760405162461bcd60e51b815260040161050b906130cb565b60005460ff16610d2e5760405162461bcd60e51b815260040161050b90612c9b565b6040517f07db600eebe2ac176be8dcebad61858c245a4961bb32ca2aa3d159b09aa0810e90600090a1505050565b334114610d7b5760405162461bcd60e51b815260040161050b9061311a565b60005460ff16610d9d5760405162461bcd60e51b815260040161050b90612c9b565b6003544311610dbe5760405162461bcd60e51b815260040161050b90613210565b3a15610ddc5760405162461bcd60e51b815260040161050b90612f5a565b60405163155853f360e21b8152611000906355614fcc90610e01908490600401612b82565b60206040518083038186803b158015610e1957600080fd5b505afa158015610e2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e51919061294c565b610e5a57611146565b610e6261264d565b506001600160a01b0381166000908152600260208181526040928390208351606081018552815481526001820154928101929092529091015460ff161580159282019290925290610ebd576020810180516001019052610f16565b60016040820181905260208201819052805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0384161790555b438152600554602082015181610f2857fe5b0661107457600060208201526040516335409f7f60e01b8152611000906335409f7f90610f59908590600401612b82565b600060405180830381600087803b158015610f7357600080fd5b505af1158015610f87573d6000803e3d6000fd5b505050506120006001600160a01b031663f7a251d7600b610fa785611b3b565b60006040518463ffffffff1660e01b8152600401610fc7939291906132c3565b600060405180830381600087803b158015610fe157600080fd5b505af1925050508015610ff2575060015b61106f573d808015611020576040519150601f19603f3d011682016040523d82523d6000602084013e611025565b606091505b50826001600160a01b03167fd7bc86ff5d08c8ab043edec743302aba2520e6635172a428bc956721db9e2d1c83602001518360405161106592919061325d565b60405180910390a2505b6110e0565b60045481602001518161108357fe5b066110e0576040516375abf10160e11b81526110009063eb57e202906110ad908590600401612b82565b600060405180830381600087803b1580156110c757600080fd5b505af11580156110db573d6000803e3d6000fd5b505050505b6001600160a01b0382166000818152600260208181526040808420865181559186015160018301558581015191909201805460ff1916911515919091179055517fddb6012116e51abf5436d956a4f0ebd927e92c576ff96d7918290c8782291e3e9190a2505b5043600355565b60005460ff1661116f5760405162461bcd60e51b815260040161050b90612c9b565b604051630a83aaa960e31b81526110069063541d554890611194903390600401612b82565b60206040518083038186803b1580156111ac57600080fd5b505afa1580156111c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e4919061294c565b6112005760405162461bcd60e51b815260040161050b90612bff565b60075460ff166112225760405162461bcd60e51b815260040161050b90612c66565b60065461122f5760146006555b8051514361010090910111801561125157504381602001516000015161010001115b61126d5760405162461bcd60e51b815260040161050b90612c36565b80602001516020015181600001516020015114801561129b5750806020015160600151816000015160600151145b156112b85760405162461bcd60e51b815260040161050b90612eb2565b8051604081015190511080156112d75750602081015160408101519051105b6112f35760405162461bcd60e51b815260040161050b90612de8565b6020810151518151511080156113185750806000015160400151816020015160400151105b8061134357508051516020820151511080156113435750806020015160400151816000015160400151105b8061135d5750806020015160400151816000015160400151145b6113795760405162461bcd60e51b815260040161050b90612cd2565b61138b81600001518260400151611d14565b80156113a457506113a481602001518260400151611d14565b6113c05760405162461bcd60e51b815260040161050b90612d89565b6060806110006001600160a01b0316633b071dcc6040518163ffffffff1660e01b815260040160006040518083038186803b1580156113fe57600080fd5b505afa158015611412573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261143a9190810190612889565b9150915060005b81518110156115775761146b82828151811061145957fe5b60200260200101518560400151611eec565b1561156f576006546040516309a99b4f60e41b815260646110028031909302049190639a99b4f0906114a39033908590600401612b96565b602060405180830381600087803b1580156114bd57600080fd5b505af11580156114d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f59190612aa0565b506110006001600160a01b03166335409f7f85848151811061151357fe5b60200260200101516040518263ffffffff1660e01b81526004016115379190612b82565b600060405180830381600087803b15801561155157600080fd5b505af1158015611565573d6000803e3d6000fd5b5050505050611577565b600101611441565b50600061158984604001516000611f50565b90506120006001600160a01b031663f7a251d7600b6115ab8760400151611f6c565b60006040518463ffffffff1660e01b81526004016115cb939291906132c3565b600060405180830381600087803b1580156115e557600080fd5b505af19250505080156115f6575060015b611668573d808015611624576040519150601f19603f3d011682016040523d82523d6000602084013e611629565b606091505b50817fd58d1183100bd0932c0588f31c4205d6bc6168909765a96c41adbed3115f36288260405161165a9190612bba565b60405180910390a250611694565b60405181907f7b78aadacff901d8b63d0dba4f86283d4db8aef27f9ed70413dd860f1c9532b690600090a25b50505050565b601481565b61100381565b60005460ff16156116c85760405162461bcd60e51b815260040161050b90613018565b603260045560966005556000805460ff19166001179055565b61100081565b600381565b336110001461170d5760405162461bcd60e51b815260040161050b90612edf565b60005460ff1661172f5760405162461bcd60e51b815260040161050b90612c9b565b60015461173b57611b33565b600154600090600019015b808211611b07576000805b8284101561186a5761176161264d565b600260006001878154811061177257fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff161515908201526005549091506004900481602001511115611854576004600554816117df57fe5b0481602001510381602001818152505080600260006001888154811061180157fe5b6000918252602080832091909101546001600160a01b0316835282810193909352604091820190208351815591830151600183015591909101516002909101805460ff191691151591909117905561185e565b600192505061186a565b50836001019350611751565b828411611a015761187961264d565b600260006001868154811061188a57fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff161515908201526005549091506004900481602001511115611972576004600554816118f757fe5b0481602001510381602001818152505080600260006001878154811061191957fe5b6000918252602080832091909101546001600160a01b03168352828101939093526040918201902083518155918301516001808401919091559201516002909101805460ff19169115159190911790559150611a019050565b600260006001868154811061198357fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff191690558054806119c757fe5b600082815260209020810160001990810180546001600160a01b0319169055019055836119f45750611a01565b506000199092019161186a565b818015611a0b5750805b15611aea576002600060018681548110611a2157fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff19169055805484908110611a6857fe5b600091825260209091200154600180546001600160a01b039092169186908110611a8e57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001805480611ac757fe5b600082815260209020810160001990810180546001600160a01b03191690550190555b82611af6575050611b07565b505060019091019060001901611746565b6040517fcfdb3b6ccaeccbdc68be3c59c840e3b3c90f0a7c491f5fff1cf56cfda200dd9c90600090a150505b565b61100481565b60408051600480825260a08201909252606091829190816020015b6060815260200190600190039081611b56579050509050611b7f836001600160a01b0316611fa7565b81600081518110611b8c57fe5b6020026020010181905250611ba043611fca565b81600181518110611bad57fe5b6020908102919091010152611bc26038611fca565b81600281518110611bcf57fe5b6020026020010181905250611be342611fca565b81600381518110611bf057fe5b6020026020010181905250611c0481611fdd565b9150505b919050565b611c15612670565b6000611c1f612670565b611c27612682565b611c38611c3386612067565b61208c565b90506000805b611c47836120d6565b15611c805780611c7357611c62611c5d846120f7565b612145565b63ffffffff16845260019150611c78565b611c80565b600101611c3e565b5091935090915050915091565b600081604051602001611ca09190612b66565b6040516020818303038152906040528051906020012083604051602001611cc79190612b66565b604051602081830303815290604052805190602001201490505b92915050565b015190565b8082015160009060ff811615611d06576001915081611d0c565b60009150815b505092915050565b60408051600480825260a0820190925260009160609190816020015b6060815260200190600190039081611d30575050604080516020808252818301909252919250606091908082018180368337019050509050611d758560000151611fca565b82600081518110611d8257fe5b6020026020010181905250611d9d60208660200151836121c7565b611da6816121d7565b82600181518110611db357fe5b6020026020010181905250611dcb8560400151611fca565b82600281518110611dd857fe5b6020026020010181905250611df360208660600151836121c7565b611dfc816121d7565b82600381518110611e0957fe5b6020026020010181905250611e2f6020611e2284611fdd565b80519060200120836121c7565b6040805160b080825260e08201909252606091602082018180368337019050509050611e5f81836000602061222d565b611e718187608001516020606061222d565b611e7f81866080603061222d565b604080516001808252818301909252606091602082018180368337019050509050815160016020830182602086016066600019fa611ebc57600080fd5b506001611eca826000612280565b60ff1614611edf576000945050505050611ce1565b5060019695505050505050565b815181516000916001918114808314611f085760009250611f46565b600160208701838101602088015b600284838510011415611f41578051835114611f355760009650600093505b60209283019201611f16565b505050505b5090949350505050565b60008160200183511015611f6357600080fd5b50016020015190565b60408051600480825260a08201909252606091829190816020015b6060815260200190600190039081611f87579050509050611b7f836121d7565b60408051600560a21b8318601482015260348101909152606090611c04816121d7565b6060611ce1611fd88361229c565b6121d7565b6060815160001415611ffe5750604080516000815260208101909152611c08565b60608260008151811061200d57fe5b602002602001015190506000600190505b835181101561204e576120448285838151811061203757fe5b6020026020010151612382565b915060010161201e565b50611c04612061825160c060ff166123ff565b82612382565b61206f6126a2565b506040805180820190915281518152602082810190820152919050565b612094612682565b61209d826124d1565b6120a657600080fd5b60006120b5836020015161250b565b60208085015160408051808201909152868152920190820152915050919050565b60006120e06126a2565b505080518051602091820151919092015191011190565b6120ff6126a2565b612108826120d6565b61211157600080fd5b602082015160006121218261256e565b80830160209586015260408051808201909152908152938401919091525090919050565b80516000901580159061215a57508151602110155b61216357600080fd5b6000612172836020015161250b565b905080836000015110156121985760405162461bcd60e51b815260040161050b9061304f565b8251602080850151830180519284900392918310156121be57826020036101000a820491505b50949350505050565b9091018181526020918201910152565b6060815160011480156122095750607f60f81b826000815181106121f757fe5b01602001516001600160f81b03191611155b15612215575080611c08565b611ce16122278351608060ff166123ff565b83612382565b60005b818110156106c95783818151811061224457fe5b602001015160f81c60f81b85848060010195508151811061226157fe5b60200101906001600160f81b031916908160001a905350600101612230565b6000816001018351101561229357600080fd5b50016001015190565b604080516020808252818301909252606091829190602082018180368337505050602081018490529050600067ffffffffffffffff1984166122e057506018612304565b6fffffffffffffffffffffffffffffffff19841661230057506010612304565b5060005b602081101561233a5781818151811061231957fe5b01602001516001600160f81b031916156123325761233a565b600101612304565b60008160200390506060816040519080825280601f01601f19166020018201604052801561236f576020820181803683370190505b5080830196909652508452509192915050565b6060806040519050835180825260208201818101602087015b818310156123b357805183526020928301920161239b565b50855184518101855292509050808201602086015b818310156123e05780518352602092830192016123c8565b508651929092011591909101601f01601f191660405250905092915050565b60606801000000000000000083106124295760405162461bcd60e51b815260040161050b90612dc0565b604080516001808252818301909252606091602082018180368337019050509050603784116124835782840160f81b8160008151811061246557fe5b60200101906001600160f81b031916908160001a9053509050611ce1565b606061248e8561229c565b90508381510160370160f81b826000815181106124a757fe5b60200101906001600160f81b031916908160001a9053506124c88282612382565b95945050505050565b80516000906124e257506000611c08565b6020820151805160001a9060c082101561250157600092505050611c08565b5060019392505050565b8051600090811a6080811015612525576000915050611c08565b60b8811080612540575060c08110801590612540575060f881105b1561254f576001915050611c08565b60c08110156125635760b519019050611c08565b60f519019050611c08565b80516000908190811a60808110156125895760019150612646565b60b881101561259e57607e1981019150612646565b60c08110156125ef57600060b78203600186019550806020036101000a8651049150600181018201935050808310156125e95760405162461bcd60e51b815260040161050b90612f2f565b50612646565b60f88110156126045760be1981019150612646565b600060f78203600186019550806020036101000a865104915060018101820193505080831015611d0c5760405162461bcd60e51b815260040161050b90612f2f565b5092915050565b604051806060016040528060008152602001600081526020016000151581525090565b60408051602081019091526000815290565b60405180604001604052806126956126a2565b8152602001600081525090565b604051806040016040528060008152602001600081525090565b600082601f8301126126cc578081fd5b81516126df6126da82613316565b6132ef565b818152915060208083019084810160005b84811015612755578151870188603f82011261270b57600080fd5b8381015161271b6126da82613336565b81815260408b8184860101111561273157600080fd5b6127408388840183870161335a565b508652505092820192908201906001016126f0565b505050505092915050565b60008083601f840112612771578182fd5b50813567ffffffffffffffff811115612788578182fd5b6020830191508360208285010111156127a057600080fd5b9250929050565b600082601f8301126127b7578081fd5b81356127c56126da82613336565b91508082528360208285010111156127dc57600080fd5b8060208401602084013760009082016020015292915050565b600060a08284031215612806578081fd5b61281060a06132ef565b905081358152602082013560208201526040820135604082015260608201356060820152608082013567ffffffffffffffff81111561284e57600080fd5b61285a848285016127a7565b60808301525092915050565b600060208284031215612877578081fd5b813561288281613386565b9392505050565b6000806040838503121561289b578081fd5b825167ffffffffffffffff808211156128b2578283fd5b81850186601f8201126128c3578384fd5b805192506128d36126da84613316565b80848252602080830192508084018a8283890287010111156128f3578788fd5b8794505b8685101561291e57805161290a81613386565b8452600194909401939281019281016128f7565b508801519096509350505080821115612935578283fd5b50612942858286016126bc565b9150509250929050565b60006020828403121561295d578081fd5b81518015158114612882578182fd5b60008060008060408587031215612981578182fd5b843567ffffffffffffffff80821115612998578384fd5b6129a488838901612760565b909650945060208701359150808211156129bc578384fd5b506129c987828801612760565b95989497509550505050565b6000602082840312156129e6578081fd5b813567ffffffffffffffff808211156129fd578283fd5b81840160608187031215612a0f578384fd5b612a1960606132ef565b9250803582811115612a29578485fd5b612a35878284016127f5565b845250602081013582811115612a49578485fd5b612a55878284016127f5565b602085015250604081013582811115612a6c578485fd5b612a78878284016127a7565b6040850152509195945050505050565b600060208284031215612a99578081fd5b5035919050565b600060208284031215612ab1578081fd5b5051919050565b600080600060408486031215612acc578283fd5b833560ff81168114612adc578384fd5b9250602084013567ffffffffffffffff811115612af7578283fd5b612b0386828701612760565b9497909650939450505050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452612b5281602086016020860161335a565b601f01601f19169290920160200192915050565b60008251612b7881846020870161335a565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6000602082526128826020830184612b3a565b600060408252612be1604083018688612b10565b8281036020840152612bf4818587612b10565b979650505050505050565b6020808252601f908201527f746865206d73672073656e646572206973206e6f7420612072656c6179657200604082015260600190565b6020808252601690820152751d1bdbc81bdb1908189b1bd8dac81a5b9d9bdb1d995960521b604082015260600190565b6020808252818101527f6d616c6963696f757320766f746520736c617368206e6f7420656e61626c6564604082015260600190565b60208082526019908201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604082015260600190565b6020808252601a908201527f6e6f2076696f6c6174696f6e206f6620766f74652072756c6573000000000000604082015260600190565b6020808252818101527f7468652066656c6f6e795468726573686f6c64206f7574206f662072616e6765604082015260600190565b6020808252602b908201527f6c656e677468206f6620656e61626c654d616c6963696f7573566f7465536c6160408201526a0e6d040dad2e6dac2e8c6d60ab1b606082015260800190565b60208082526017908201527f766572696679207369676e6174757265206661696c6564000000000000000000604082015260600190565b6020808252600e908201526d696e70757420746f6f206c6f6e6760901b604082015260600190565b60208082526019908201527f7372634e756d20626967676572207468616e207461724e756d00000000000000604082015260600190565b6020808252602c908201527f7468652066696e616c69747920736c6173682072657761726420726174696f2060408201526b6f7574206f662072616e676560a01b606082015260800190565b60208082526027908201527f6c656e677468206f66206d697364656d65616e6f725468726573686f6c64206d6040820152660d2e6dac2e8c6d60cb1b606082015260800190565b60208082526013908201527274776f206964656e746963616c20766f74657360681b604082015260600190565b60208082526030908201527f746865206d6573736167652073656e646572206d7573742062652076616c696460408201526f185d1bdc94d95d0818dbdb9d1c9858dd60821b606082015260800190565b6020808252601190820152706164646974696f6e206f766572666c6f7760781b604082015260600190565b6020808252601490820152736761737072696365206973206e6f74207a65726f60601b604082015260600190565b6020808252602e908201527f746865206d6573736167652073656e646572206d75737420626520676f76657260408201526d1b985b98d94818dbdb9d1c9858dd60921b606082015260800190565b60208082526022908201527f6c656e677468206f662066656c6f6e795468726573686f6c64206d69736d61746040820152610c6d60f31b606082015260800190565b60208082526019908201527f74686520636f6e747261637420616c726561647920696e697400000000000000604082015260600190565b6020808252601a908201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604082015260600190565b60208082526025908201527f746865206d697364656d65616e6f725468726573686f6c64206f7574206f662060408201526472616e676560d81b606082015260800190565b6020808252602f908201527f746865206d6573736167652073656e646572206d7573742062652063726f737360408201526e0818da185a5b8818dbdb9d1c9858dd608a1b606082015260800190565b6020808252602d908201527f746865206d6573736167652073656e646572206d75737420626520746865206260408201526c3637b1b590383937b23ab1b2b960991b606082015260800190565b6020808252600d908201526c756e6b6e6f776e20706172616d60981b604082015260600190565b6020808252601e908201527f7265636569766520756e65787065637465642073796e207061636b6167650000604082015260600190565b6020808252602b908201527f6c656e677468206f662066696e616c697479536c61736852657761726452617460408201526a0d2de40dad2e6dac2e8c6d60ab1b606082015260800190565b6020808252818101527f63616e206e6f7420736c61736820747769636520696e206f6e6520626c6f636b604082015260600190565b61ffff91909116815260200190565b90815260200190565b6000838252604060208301526132766040830184612b3a565b949350505050565b918252602082015260400190565b92835260208301919091521515604082015260600190565b63ffffffff91909116815260200190565b60ff91909116815260200190565b600060ff85168252606060208301526132df6060830185612b3a565b9050826040830152949350505050565b60405181810167ffffffffffffffff8111828210171561330e57600080fd5b604052919050565b600067ffffffffffffffff82111561332c578081fd5b5060209081020190565b600067ffffffffffffffff82111561334c578081fd5b50601f01601f191660200190565b60005b8381101561337557818101518382015260200161335d565b838111156116945750506000910152565b6001600160a01b038116811461339b57600080fd5b5056fea26469706673582212207e6be46f5e0281709e9788d33be4928c51610752d8a32e78d1c8c64bea3df55764736f6c63430006040033", }, { ContractAddr: common.HexToAddress(SystemRewardContract), - CommitUrl: "https://github.com/node-real/bsc-genesis-contract/commit/f8bab13f56955e979bfb754425dab1e62e52f151", + CommitUrl: "https://github.com/node-real/bsc-genesis-contract/commit/b144718e94d7a1ebb24a7103202300f08826f369", Code: "6080604052600436106101a05760003560e01c80637942fd05116100ec578063ac4317511161008a578063f9a2bbc711610064578063f9a2bbc714610550578063fb5478b314610565578063fc3e59081461057a578063fd6a68791461058f576101e4565b8063ac43175114610457578063c81b166214610526578063dc927faf1461053b576101e4565b80639dc09262116100c65780639dc0926214610403578063a1a11bf514610418578063a78abc161461042d578063ab51bb9614610442576101e4565b80637942fd05146103a057806396713da9146103b55780639a99b4f0146103ca576101e4565b80634bf6c882116101595780636e47b482116101335780636e47b4821461034c57806370fd5bad14610361578063718a8aa81461037657806375d47a0a1461038b576101e4565b80634bf6c882146102db57806351e80672146102f05780636d70f7ae14610305576101e4565b80630bee7a67146101e95780630e2374a5146102175780633a0b0eff146102485780633dffc3871461026f57806343756e5c1461029a578063493279b1146102af576101e4565b366101e45734156101e25760408051348152905133917f6c98249d85d88c3753a04a22230f595e4dc8d3dc86c34af35deeeedc861b89db919081900360200190a25b005b600080fd5b3480156101f557600080fd5b506101fe6105a4565b6040805163ffffffff9092168252519081900360200190f35b34801561022357600080fd5b5061022c6105a9565b604080516001600160a01b039092168252519081900360200190f35b34801561025457600080fd5b5061025d6105af565b60408051918252519081900360200190f35b34801561027b57600080fd5b506102846105b5565b6040805160ff9092168252519081900360200190f35b3480156102a657600080fd5b5061022c6105ba565b3480156102bb57600080fd5b506102c46105c0565b6040805161ffff9092168252519081900360200190f35b3480156102e757600080fd5b506102846105c5565b3480156102fc57600080fd5b5061022c6105ca565b34801561031157600080fd5b506103386004803603602081101561032857600080fd5b50356001600160a01b03166105d0565b604080519115158252519081900360200190f35b34801561035857600080fd5b5061022c6105ee565b34801561036d57600080fd5b506102846105f4565b34801561038257600080fd5b506102846105f9565b34801561039757600080fd5b5061022c6105fe565b3480156103ac57600080fd5b50610284610604565b3480156103c157600080fd5b50610284610609565b3480156103d657600080fd5b5061025d600480360360408110156103ed57600080fd5b506001600160a01b03813516906020013561060e565b34801561040f57600080fd5b5061022c6107b9565b34801561042457600080fd5b5061022c6107bf565b34801561043957600080fd5b506103386107c5565b34801561044e57600080fd5b506101fe6107ce565b34801561046357600080fd5b506101e26004803603604081101561047a57600080fd5b81019060208101813564010000000081111561049557600080fd5b8201836020820111156104a757600080fd5b803590602001918460018302840111640100000000831117156104c957600080fd5b9193909290916020810190356401000000008111156104e757600080fd5b8201836020820111156104f957600080fd5b8035906020019184600183028401116401000000008311171561051b57600080fd5b5090925090506107d3565b34801561053257600080fd5b5061022c610b56565b34801561054757600080fd5b5061022c610b5c565b34801561055c57600080fd5b5061022c610b62565b34801561057157600080fd5b5061025d610b68565b34801561058657600080fd5b50610284610b74565b34801561059b57600080fd5b5061022c610b79565b606481565b61200181565b60015481565b600181565b61100181565b603881565b600881565b61200081565b6001600160a01b031660009081526002602052604090205460ff1690565b61100581565b600281565b601081565b61100881565b600b81565b600981565b6000805460ff1661068b57600260208190527fe57bda0a954a7c7381b17b2c763e646ba2c60f67292d287ba583603e2c1c41668054600160ff19918216811790925561100560009081527fe25235fc0de9d7165652bef0846fefda506174abb9a190f03d0f7bcc6146dbce80548316841790559282558254161790555b3360009081526002602052604090205460ff166106d95760405162461bcd60e51b815260040180806020018281038252602b815260200180610c67602b913960400191505060405180910390fd5b60004783106106e857476106ea565b825b9050670de0b6b3a76400008111156107075750670de0b6b3a76400005b8015610788576040516001600160a01b0385169082156108fc029083906000818181858888f19350505050158015610743573d6000803e3d6000fd5b506040805182815290516001600160a01b038616917ff8b71c64315fc33b2ead2adfa487955065152a8ac33d9d5193aafd7f45dc15a0919081900360200190a26107b2565b6040517fe589651933c2457488cc0d8e0941518abf748e799435e4e396d9c4d0b2db2d4d90600090a15b9392505050565b61100781565b61100681565b60005460ff1681565b600081565b33611007146108135760405162461bcd60e51b815260040180806020018281038252602e815260200180610cc1602e913960400191505060405180910390fd5b61087584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600b81526a30b23227b832b930ba37b960a91b60208201529150610b7f9050565b1561094d57606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050825192935050601490911490506108f85760405162461bcd60e51b815260040180806020018281038252602c815260200180610cef602c913960400191505060405180910390fd5b60148101516001600160a01b038116600081815260026020526040808220805460ff19166001179055517f9870d7fe5d112134c55844951dedf365363006d9c588db07c4c85af6322a06199190a25050610ac4565b6109b284848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600e81526d3232b632ba32a7b832b930ba37b960911b60208201529150610b7f9050565b15610a8757606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505082519293505060149091149050610a355760405162461bcd60e51b815260040180806020018281038252602f815260200180610c92602f913960400191505060405180910390fd5b60148101516001600160a01b038116600081815260026020526040808220805460ff19169055517fb40992a19dba61ea600e87fce607102bf5908dc89076217b6ca6ae195224f7029190a25050610ac4565b6040805162461bcd60e51b815260206004820152600d60248201526c756e6b6e6f776e20706172616d60981b604482015290519081900360640190fd5b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a848484846040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a150505050565b61100281565b61100381565b61100081565b670de0b6b3a764000081565b600381565b61100481565b6000816040516020018082805190602001908083835b60208310610bb45780518252601f199092019160209182019101610b95565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120836040516020018082805190602001908083835b60208310610c225780518252601f199092019160209182019101610c03565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052805190602001201490509291505056fe6f6e6c79206f70657261746f7220697320616c6c6f77656420746f2063616c6c20746865206d6574686f646c656e677468206f662076616c756520666f722064656c6574654f70657261746f722073686f756c64206265203230746865206d6573736167652073656e646572206d75737420626520676f7665726e616e636520636f6e74726163746c656e677468206f662076616c756520666f72206164644f70657261746f722073686f756c64206265203230a264697066735822122078be72e2672a87e28d3e6849bea141a139b304a089fceb003c016dabd5f556fb64736f6c63430006040033", }, { ContractAddr: common.HexToAddress(RelayerHubContract), - CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/5134a57191da8350278ee154c4814659c89d8f9f", + CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/b144718e94d7a1ebb24a7103202300f08826f369", Code: "608060405234801561001057600080fd5b50600436106102275760003560e01c80638f83ab1311610130578063c81b1662116100b8578063f3ae24151161007c578063f3ae2415146104e8578063f9a2bbc71461050e578063fc3e590814610516578063fd30d9b81461051e578063fd6a68791461052657610227565b8063c81b1662146104c0578063dc927faf146104c8578063dd91d1c5146104d0578063e1c7392a146104d8578063e79a198f146104e057610227565b8063a1a11bf5116100ff578063a1a11bf5146103de578063a74b83ca146103e6578063a78abc16146103ee578063ab51bb96146103f6578063ac431751146103fe57610227565b80638f83ab13146103a057806395468d26146103c657806396713da9146103ce5780639dc09262146103d657610227565b8063541d5548116101b3578063718a8aa811610182578063718a8aa81461034857806375d47a0a1461035057806378beee67146103585780637942fd051461037e5780637ae230881461038657610227565b8063541d5548146102d85780636a6a419e146103125780636e47b4821461033857806370fd5bad1461034057610227565b80633dffc387116101fa5780633dffc3871461028357806343756e5c146102a1578063493279b1146102a95780634bf6c882146102c857806351e80672146102d057610227565b806303aff02b1461022c578063049a5716146102365780630bee7a671461025a5780630e2374a51461027b575b600080fd5b61023461052e565b005b61023e610539565b604080516001600160a01b039092168252519081900360200190f35b610262610551565b6040805163ffffffff9092168252519081900360200190f35b61023e610556565b61028b61055c565b6040805160ff9092168252519081900360200190f35b61023e610561565b6102b1610567565b6040805161ffff9092168252519081900360200190f35b61028b61056c565b61023e610571565b6102fe600480360360208110156102ee57600080fd5b50356001600160a01b0316610577565b604080519115158252519081900360200190f35b6102fe6004803603602081101561032857600080fd5b50356001600160a01b0316610595565b61023e6105b3565b61028b6105b9565b61028b6105be565b61023e6105c3565b6102346004803603602081101561036e57600080fd5b50356001600160a01b03166105c9565b61028b6107b1565b61038e6107b6565b60408051918252519081900360200190f35b610234600480360360208110156103b657600080fd5b50356001600160a01b03166107c3565b61038e610a02565b61028b610a0e565b61023e610a13565b61023e610a19565b61023e610a1f565b6102fe610a37565b610262610a40565b6102346004803603604081101561041457600080fd5b81019060208101813564010000000081111561042f57600080fd5b82018360208201111561044157600080fd5b8035906020019184600183028401116401000000008311171561046357600080fd5b91939092909160208101903564010000000081111561048157600080fd5b82018360208201111561049357600080fd5b803590602001918460018302840111640100000000831117156104b557600080fd5b509092509050610a45565b61023e610d96565b61023e610d9c565b610234610da2565b610234610e43565b610234610ec5565b6102fe600480360360208110156104fe57600080fd5b50356001600160a01b031661107e565b61023e61109c565b61028b6110a2565b6102fe6110a7565b61023e6110b0565b610537336110b6565b565b73b005741528b86f5952469d80a8614591e3c5b63281565b606481565b61200181565b600181565b61100181565b603881565b600881565b61200081565b6001600160a01b031660009081526007602052604090205460ff1690565b6001600160a01b031660009081526008602052604090205460ff1690565b61100581565b600281565b601081565b61100881565b3360009081526008602052604090205460ff166106175760405162461bcd60e51b81526004018080602001828103825260248152602001806115c26024913960400191505060405180910390fd5b61062033611218565b1561065c5760405162461bcd60e51b815260040180806020018281038252602181526020018061157f6021913960400191505060405180910390fd5b3233146106b0576040805162461bcd60e51b815260206004820152601e60248201527f70726f766973696f6e616c2072656c6179657220697320612070726f78790000604482015290519081900360640190fd5b6001600160a01b038181166000908152600960205260409020541633146107085760405162461bcd60e51b815260040180806020018281038252602781526020018061163b6027913960400191505060405180910390fd5b6001600160a01b03818116600081815260066020908152604080832080543380865260078086528487208054600160ff199182161790915584546001600160a01b031990811684179095556008875285882080548216905597875260098652848720805490941690935596168085529083529281902080549094169093558251828152908101939093528151909260008051602061166283398151915292908290030190a15050565b600b81565b68056bc75e2d6310000081565b3360009081526005602052604090205460ff16610820576040805162461bcd60e51b81526020600482015260166024820152751b585b9859d95c88191bd95cc81b9bdd08195e1a5cdd60521b604482015290519081900360640190fd5b61082981611218565b156108655760405162461bcd60e51b81526004018080602001828103825260278152602001806115e66027913960400191505060405180910390fd5b6001600160a01b03811615610921576001600160a01b03811660009081526007602052604090205460ff16156108db576040805162461bcd60e51b815260206004820152601660248201527572656c6179657220616c72656164792065786973747360501b604482015290519081900360640190fd5b6001600160a01b0381166000818152600860209081526040808320805460ff191660011790553383526009909152902080546001600160a01b03191690911790556109c2565b3360008181526006602090815260408083208054600980855283862080546001600160a01b03198085169095556001600160a01b0393841680895260078852868920805460ff19908116909155918516808a5260088952878a20805490931690925598909752908552805490921690915581518581529086169281019290925280516000805160206116628339815191529281900390910190a150506109ff565b604080516001600160a01b038316815290517ffba56633276570c7d3120d4535bf3bce26523da53958e40734210b9fd99b36939181900360200190a15b50565b67016345785d8a000081565b600981565b61100781565b61100681565b73446aa6e0dc65690403df3f127750da1322941f3e81565b60005460ff1681565b600081565b60005460ff16610a98576040805162461bcd60e51b81526020600482015260196024820152781d1a194818dbdb9d1c9858dd081b9bdd081a5b9a5d081e595d603a1b604482015290519081900360640190fd5b3361100714610ad85760405162461bcd60e51b815260040180806020018281038252602e81526020018061160d602e913960400191505060405180910390fd5b610b3984848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600a81526930b23226b0b730b3b2b960b11b6020820152915061121e9050565b15610bd15760148114610b7d5760405162461bcd60e51b81526004018080602001828103825260228152602001806115a06022913960400191505060405180910390fd5b6000610bc0601484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061130592505050565b9050610bcb8161130a565b50610d04565b610c3584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600d81526c3932b6b7bb32a6b0b730b3b2b960991b6020820152915061121e9050565b15610cc75760148114610c795760405162461bcd60e51b81526004018080602001828103825260228152602001806115a06022913960400191505060405180910390fd5b6000610cbc601484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061130592505050565b9050610bcb816110b6565b6040805162461bcd60e51b815260206004820152600d60248201526c756e6b6e6f776e20706172616d60981b604482015290519081900360640190fd5b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a848484846040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a150505050565b61100281565b61100381565b600a5460ff1615610dfa576040805162461bcd60e51b815260206004820152601e60248201527f7468652077686974656c6973747320616c726561647920757064617465640000604482015290519081900360640190fd5b610e1773b005741528b86f5952469d80a8614591e3c5b6326113cc565b610e3473446aa6e0dc65690403df3f127750da1322941f3e6113cc565b600a805460ff19166001179055565b60005460ff1615610e9b576040805162461bcd60e51b815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e697400000000000000604482015290519081900360640190fd5b68056bc75e2d63100000600190815567016345785d8a00006002556000805460ff19169091179055565b3360009081526004602052604090205460ff16610f20576040805162461bcd60e51b81526020600482015260146024820152731c995b185e595c88191bc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b60005460ff16610f73576040805162461bcd60e51b81526020600482015260196024820152781d1a194818dbdb9d1c9858dd081b9bdd081a5b9a5d081e595d603a1b604482015290519081900360640190fd5b610f7b611564565b5033600081815260036020908152604091829020825180840190935280548084526001909101549183018290529192916108fc91610fbf919063ffffffff61148416565b6040518115909202916000818181858888f19350505050158015610fe7573d6000803e3d6000fd5b50602081015160405161100291829181156108fc0291906000818181858888f1935050505015801561101d573d6000803e3d6000fd5b50336000818152600460209081526040808320805460ff191690556003825280832083815560010192909255815192835290517fd17202129b83db7880d6b9f25df81c58ad46f7e0e2c92236b1aa10663a4876679281900390910190a15050565b6001600160a01b031660009081526005602052604090205460ff1690565b61100081565b600381565b600a5460ff1681565b61100481565b6001600160a01b03811660009081526005602052604090205460ff1661111b576040805162461bcd60e51b81526020600482015260156024820152741b585b9859d95c88191bd95cdb89dd08195e1a5cdd605a1b604482015290519081900360640190fd5b6001600160a01b038082166000818152600660209081526040808320805460058452828520805460ff1990811690915582546001600160a01b0319908116909355600980865284872080548a16885260088752858820805490931690925595879052948452845490911690935580519384525191909316927f2002866d443ac6c241fecaaa2af4895828c7de2cc423b9d01f7969650f557c76928290030190a16001600160a01b03811615611214576001600160a01b0381166000818152600760209081526040808320805460ff1916905580519384529083019190915280516000805160206116628339815191529281900390910190a15b5050565b3b151590565b6000816040516020018082805190602001908083835b602083106112535780518252601f199092019160209182019101611234565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120836040516020018082805190602001908083835b602083106112c15780518252601f1990920191602091820191016112a2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012014905092915050565b015190565b6001600160a01b03811660009081526005602052604090205460ff1615611371576040805162461bcd60e51b81526020600482015260166024820152756d616e6167657220616c72656164792065786973747360501b604482015290519081900360640190fd5b6001600160a01b038116600081815260056020908152604091829020805460ff19166001179055815192835290517fe0de8e71a22c046647f4ef744348fa126ad6d052d4ce070999481f69d45575179281900390910190a150565b6001600160a01b03811660008181526005602090815260408083208054600160ff1991821681179092556006845282852080546001600160a01b031916871790556007845293829020805490941617909255815192835290517fe0de8e71a22c046647f4ef744348fa126ad6d052d4ce070999481f69d45575179281900390910190a160408051600081526001600160a01b03831660208201528151600080516020611662833981519152929181900390910190a150565b60006114c683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114cd565b9392505050565b6000818484111561155c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611521578181015183820152602001611509565b50505050905090810190601f16801561154e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60405180604001604052806000815260200160008152509056fe70726f766973696f6e616c2072656c61796572206973206120636f6e74726163746c656e677468206f66206d616e616765722061646472657373206d69736d6174636872656c61796572206973206e6f7420612070726f766973696f6e616c2072656c61796572636f6e7472616374206973206e6f7420616c6c6f77656420746f20626520612072656c61796572746865206d6573736167652073656e646572206d75737420626520676f7665726e616e636520636f6e747261637470726f766973696f6e616c206973206e6f742073657420666f722074686973206d616e61676572a5a19d7e9dab30a215022382d7abe782b579986fcbedec9942ecd0db9510a148a2646970667358221220ca640b19c40787a49d8b8b52c563d76e0125386bfdf94825087004f989e9989d64736f6c63430006040033", }, { ContractAddr: common.HexToAddress(CrossChainContract), - CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/5134a57191da8350278ee154c4814659c89d8f9f", + CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/b144718e94d7a1ebb24a7103202300f08826f369", Code: "608060405234801561001057600080fd5b50600436106103995760003560e01c8063718a8aa8116101e9578063c27cdcfb1161010f578063dc927faf116100ad578063f7a251d71161007c578063f7a251d714610b2f578063f9a2bbc714610ba7578063fc3e590814610baf578063fd6a687914610bb757610399565b8063dc927faf14610af7578063e1c7392a14610aff578063e3b0480514610b07578063e6400bbe14610b2757610399565b8063ccc108d7116100e9578063ccc108d714610ab0578063d31f968d14610ab8578063d76a867514610ae7578063dc40433114610aef57610399565b8063c27cdcfb14610a80578063c780e9de14610aa0578063c81b166214610aa857610399565b80638cc8f56111610187578063a78abc1611610156578063a78abc16146109b2578063ab51bb96146109ba578063ac431751146109c2578063b0355f5b1461078157610399565b80638cc8f5611461088757806396713da91461099a5780639dc09262146109a2578063a1a11bf5146109aa57610399565b806375d47a0a116101c357806375d47a0a146108a75780637942fd05146108af57806384013b6a146108b7578063863fe4ab1461099257610399565b8063718a8aa81461088f578063719482d51461089757806374f079b81461089f57610399565b8063422f9050116102ce57806363e1394e1161026c5780636de380bd1161023b5780636de380bd146108575780636e47a51a1461085f5780636e47b4821461087f57806370fd5bad1461088757610399565b806363e1394e146107ff5780636a3cb34d146108075780636bacff2c1461080f5780636c46aa681461080757610399565b80634bf6c882116102a85780634bf6c882146107b957806351e80672146107c15780635692ddd3146107c95780635f832177146107d157610399565b8063422f90501461078957806343756e5c146107a9578063493279b1146107b157610399565b8063299b533d1161033b578063308325f411610315578063308325f4146106155780633a648b151461061d5780633bdc47a6146106595780633dffc3871461078157610399565b8063299b533d146105a35780632af6f399146105d75780632ff32aea146105f457610399565b806314b3023b1161037757806314b3023b146104015780631d1309351461041b5780631e275ae11461043757806322556cdc1461059b57610399565b806305e682581461039e5780630bee7a67146103bc5780630e2374a5146103dd575b600080fd5b6103a6610bbf565b6040805160ff9092168252519081900360200190f35b6103c4610bc4565b6040805163ffffffff9092168252519081900360200190f35b6103e5610bc9565b604080516001600160a01b039092168252519081900360200190f35b610409610bcf565b60408051918252519081900360200190f35b610423610bd5565b604080519115158252519081900360200190f35b610599600480360361010081101561044e57600080fd5b81018160a081016080820135600160201b81111561046b57600080fd5b82018360208201111561047d57600080fd5b803590602001918460018302840111600160201b8311171561049e57600080fd5b919390929091602081019035600160201b8111156104bb57600080fd5b8201836020820111156104cd57600080fd5b803590602001918460018302840111600160201b831117156104ee57600080fd5b919390929091602081019035600160201b81111561050b57600080fd5b82018360208201111561051d57600080fd5b803590602001918460018302840111600160201b8311171561053e57600080fd5b919390929091602081019035600160201b81111561055b57600080fd5b82018360208201111561056d57600080fd5b803590602001918460018302840111600160201b8311171561058e57600080fd5b509092509050610bde565b005b6104096112c2565b6105c0600480360360208110156105b957600080fd5b50356112c7565b6040805161ffff9092168252519081900360200190f35b610423600480360360208110156105ed57600080fd5b50356112dd565b6105fc6112f2565b60408051600792830b90920b8252519081900360200190f35b6104096112fb565b61063d6004803603602081101561063357600080fd5b503560ff16611301565b604080516001600160401b039092168252519081900360200190f35b61070c6004803603606081101561066f57600080fd5b60ff82351691602081013591810190606081016040820135600160201b81111561069857600080fd5b8201836020820111156106aa57600080fd5b803590602001918460018302840111600160201b831117156106cb57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061131c945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561074657818101518382015260200161072e565b50505050905090810190601f1680156107735780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103a6611392565b6104236004803603602081101561079f57600080fd5b503560ff16611397565b6103e56113ac565b6105c06113b2565b6103a66113b7565b6103e56113bc565b6104096113c2565b610599600480360360408110156107e757600080fd5b506001600160a01b03813581169160200135166113f2565b610409611652565b6105c061167a565b61082c6004803603602081101561082557600080fd5b503561167f565b6040805161ffff90941684526001600160801b03909216602084015282820152519081900360600190f35b6104096116ae565b6103e56004803603602081101561087557600080fd5b503560ff166116d5565b6103e56116f0565b6103a661167a565b6103a66116f6565b6105c0611392565b6104096116fb565b6103e5611701565b6103a6611707565b610599600480360360a08110156108cd57600080fd5b810190602081018135600160201b8111156108e757600080fd5b8201836020820111156108f957600080fd5b803590602001918460018302840111600160201b8311171561091a57600080fd5b919390929091602081019035600160201b81111561093757600080fd5b82018360208201111561094957600080fd5b803590602001918460018302840111600160201b8311171561096a57600080fd5b919350915080356001600160401b03908116916020810135909116906040013560ff1661170c565b6104096129c6565b6103a66129ce565b6103e56129d3565b6103e56129d9565b6104236129df565b6103c4610bbf565b610599600480360360408110156109d857600080fd5b810190602081018135600160201b8111156109f257600080fd5b820183602082011115610a0457600080fd5b803590602001918460018302840111600160201b83111715610a2557600080fd5b919390929091602081019035600160201b811115610a4257600080fd5b820183602082011115610a5457600080fd5b803590602001918460018302840111600160201b83111715610a7557600080fd5b5090925090506129e8565b61063d60048036036020811015610a9657600080fd5b503560ff166134ac565b6104096134c7565b6103e56134eb565b6105996134f1565b61042360048036036040811015610ace57600080fd5b5080356001600160a01b0316906020013560ff16613745565b61070c613765565b610409613784565b6103e561378a565b610599613790565b61063d60048036036020811015610b1d57600080fd5b503560ff16613b47565b610599613b62565b61059960048036036060811015610b4557600080fd5b60ff8235169190810190604081016020820135600160201b811115610b6957600080fd5b820183602082011115610b7b57600080fd5b803590602001918460018302840111600160201b83111715610b9c57600080fd5b919350915035613d81565b6103e5613ec4565b6103a6613eca565b6103e5613ecf565b600081565b606481565b61200181565b60015481565b600b5460ff1681565b60005460ff16610c23576040805162461bcd60e51b815260206004820152601960248201526000805160206149b2833981519152604482015290519081900360640190fd5b604080516337d7f9c160e21b81526001600160401b038b35166004820181905291516110039163df5fe704916024808301926020929190829003018186803b158015610c6e57600080fd5b505afa158015610c82573d6000803e3d6000fd5b505050506040513d6020811015610c9857600080fd5b5051610cd55760405162461bcd60e51b81526004018080602001828103825260238152602001806149d26023913960400191505060405180910390fd5b604080516337d7f9c160e21b815260208c8101356001600160401b03166004830181905292516110039263df5fe704926024808301939192829003018186803b158015610d2157600080fd5b505afa158015610d35573d6000803e3d6000fd5b505050506040513d6020811015610d4b57600080fd5b5051610d885760405162461bcd60e51b81526004018080602001828103825260238152602001806149d26023913960400191505060405180910390fd5b60608b013560ff81166000908152600560205260409020546001600160401b03909116906001600160a01b0316610e01576040805162461bcd60e51b815260206004820152601860248201527718da185b9b995b081a5cc81b9bdd081cdd5c1c1bdc9d195960421b604482015290519081900360640190fd5b600b5460ff1615610e45576040805162461bcd60e51b81526020600482015260096024820152681cdd5cdc195b99195960ba1b604482015290519081900360640190fd5b8888604051808383808284376040519201829003822094508f93508e9250819050838380828437808301925050509250505060405180910390201415610ec1576040805162461bcd60e51b815260206004820152600c60248201526b1cd85b59481c185e5b1bd85960a21b604482015290519081900360640190fd5b60606001600160401b0360408e01358116908e83013516610ee28282613ed5565b80516020808301919091206000818152600e9092526040909120549194509060ff1615610f4b576040805162461bcd60e51b8152602060048201526012602482015271185b1c9958591e4818da185b1b195b99d95960721b604482015290519081900360640190fd5b6000908152600e60205260408120805460ff191660011790558f8160200201356001600160401b0316905060608f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050905060608c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040805163cba510a960e01b81526001600160401b038a16600482015290519596509094611003945063cba510a9935060248083019350602092829003018186803b15801561104157600080fd5b505afa158015611055573d6000803e3d6000fd5b505050506040513d602081101561106b57600080fd5b505160408051808201909152600381526269626360e81b6020820152909150611098908290898686613f1d565b6110e1576040805162461bcd60e51b81526020600482015260156024820152740696e76616c6964206d65726b6c652070726f6f663605c1b604482015290519081900360640190fd5b5050505060008f6001600481106110f457fe5b60200201356001600160401b0316905060608d8d8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815293945060609392508d91508c908190840183828082843760009201829052506040805163cba510a960e01b81526001600160401b038a16600482015290519596509094611003945063cba510a9935060248083019350602092829003018186803b1580156111c057600080fd5b505afa1580156111d4573d6000803e3d6000fd5b505050506040513d60208110156111ea57600080fd5b505160408051808201909152600381526269626360e81b6020820152909150611217908290898686613f1d565b611260576040805162461bcd60e51b8152602060048201526015602482015274696e76616c6964206d65726b6c652070726f6f663160581b604482015290519081900360640190fd5b5050505061126c61401a565b604080516001600160401b038416815260ff83166020820152815133927f039eb91179ffd7d3b6e97f8ea106e748e827f910b872375dbc9c14a362319c3c928290030190a2505050505050505050505050505050565b603281565b600d6020526000908152604090205461ffff1681565b600e6020526000908152604090205460ff1681565b60045460070b81565b60025481565b600a602052600090815260409020546001600160401b031681565b60606000825160210190506060816040519080825280601f01601f191660200182016040528015611354576020820181803683370190505b506021810186905260018101879052828152905060418101600061137786614098565b509050611386818388516140a2565b50909695505050505050565b600181565b60096020526000908152604090205460ff1681565b61100181565b603881565b600881565b61200081565b604080517710d05390d15317d514905394d1915497d41493d413d4d05360421b8152905190819003601801902081565b60005460ff16611437576040805162461bcd60e51b815260206004820152601960248201526000805160206149b2833981519152604482015290519081900360640190fd5b6040805163569e4ed360e11b815233600482015290516000916110009163ad3c9da691602480820192602092909190829003018186803b15801561147a57600080fd5b505afa15801561148e573d6000803e3d6000fd5b505050506040513d60208110156114a457600080fd5b505160408051633d42651560e11b8152905191925060009161100091637a84ca2a916004808301926020929190829003018186803b1580156114e557600080fd5b505afa1580156114f9573d6000803e3d6000fd5b505050506040513d602081101561150f57600080fd5b505190508061151c575060155b60008211801561152c5750808211155b61156b576040805162461bcd60e51b815260206004820152600b60248201526a1b9bdd0818d8589a5b995d60aa1b604482015290519081900360640190fd5b604080516001600160a01b038087166020808401919091529086168284015282518083038401815260608301808552815191909201207710d05390d15317d514905394d1915497d41493d413d4d05360421b90915291519081900360780190206000906115d890836140e3565b9050801561164a5760408051630911a2c160e11b81526001600160a01b03888116600483015287166024820152905161100491631223458291604480830192600092919082900301818387803b15801561163157600080fd5b505af1158015611645573d6000803e3d6000fd5b505050505b505050505050565b604080516f14d554d411539117d41493d413d4d05360821b8152905190819003601001902081565b600281565b600c602052600090815260409020805460019091015461ffff8216916201000090046001600160801b03169083565b604080516e149153d4115397d41493d413d4d053608a1b8152905190819003600f01902081565b6005602052600090815260409020546001600160a01b031681565b61100581565b601081565b60035481565b61100881565b600b81565b60005460ff16611751576040805162461bcd60e51b815260206004820152601960248201526000805160206149b2833981519152604482015290519081900360640190fd5b60408051630a83aaa960e31b815233600482015290516110069163541d5548916024808301926020929190829003018186803b15801561179057600080fd5b505afa1580156117a4573d6000803e3d6000fd5b505050506040513d60208110156117ba57600080fd5b505161180d576040805162461bcd60e51b815260206004820152601f60248201527f746865206d73672073656e646572206973206e6f7420612072656c6179657200604482015290519081900360640190fd5b60ff8116600090815260086020526040902054829082906001600160401b03908116908316811461187d576040805162461bcd60e51b815260206004820152601560248201527439b2b8bab2b731b2903737ba1034b71037b93232b960591b604482015290519081900360640190fd5b60ff8216600090815260086020908152604091829020805467ffffffffffffffff1916600185016001600160401b039081169190911790915582516337d7f9c160e21b81529089166004820152915188926110039263df5fe70492602480840193829003018186803b1580156118f257600080fd5b505afa158015611906573d6000803e3d6000fd5b505050506040513d602081101561191c57600080fd5b50516119595760405162461bcd60e51b81526004018080602001828103825260238152602001806149d26023913960400191505060405180910390fd5b60ff851660009081526005602052604090205485906001600160a01b03166119c3576040805162461bcd60e51b815260206004820152601860248201527718da185b9b995b081a5cc81b9bdd081cdd5c1c1bdc9d195960421b604482015290519081900360640190fd5b60ff86166000908152600a6020526040902054889087906001600160401b039081169083161015611a2c576040805162461bcd60e51b815260206004820152600e60248201526d3a37b79037b632103432b0b232b960911b604482015290519081900360640190fd5b60ff81166000908152600a60205260409020546001600160401b03838116911614611a7e5760ff81166000908152600a60205260409020805467ffffffffffffffff19166001600160401b0384161790555b600b5460ff1615611ac2576040805162461bcd60e51b81526020600482015260096024820152681cdd5cdc195b99195960ba1b604482015290519081900360640190fd5b60608e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050905060608d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509050611c066110036001600160a01b031663cba510a98e6040518263ffffffff1660e01b815260040180826001600160401b03166001600160401b0316815260200191505060206040518083038186803b158015611baf57600080fd5b505afa158015611bc3573d6000803e3d6000fd5b505050506040513d6020811015611bd957600080fd5b505160408051808201909152600381526269626360e81b6020820152611bff8e8e613ed5565b8585613f1d565b611c4e576040805162461bcd60e51b815260206004820152601460248201527334b73b30b634b21036b2b935b63290383937b7b360611b604482015290519081900360640190fd5b60408051631bb5062960e31b81526001600160401b038e16600482015290516000916110039163dda8314891602480820192602092909190829003018186803b158015611c9a57600080fd5b505afa158015611cae573d6000803e3d6000fd5b505050506040513d6020811015611cc457600080fd5b505190508b8b600080806060611cd9896143c8565b935093509350935083611d9b578460ff16866001600160401b03167ff7b2e42d694eb1100184aae86d4245d9e46966100b1dc7e723275b98326854ac8b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015611d53578181015183820152602001611d3b565b50505050905090810190601f168015611d805780820380516001836020036101000a031916815260200191505b509250505060405180910390a35050505050505050506129b6565b6040805160ff85811682529151918716916001600160401b038916917f36afdaf439a8f43fe72135135d804ae620b37a474f0943b5b85f6788312cad40919081900360200190a360ff83166123205760ff85166000818152600560209081526040808320548151631182b87560e01b815260048101958652602481019283528651604482015286516001600160a01b03909216958695631182b875958d958a9593949093606490910192918601918190849084905b83811015611e68578181015183820152602001611e50565b50505050905090810190601f168015611e955780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015611eb557600080fd5b505af1925050508015611f9957506040513d6000823e601f3d908101601f191682016040526020811015611ee857600080fd5b8101908080516040519392919084600160201b821115611f0757600080fd5b908301906020820185811115611f1c57600080fd5b8251600160201b811182820188101715611f3557600080fd5b82525081516020918201929091019080838360005b83811015611f62578181015183820152602001611f4a565b50505050905090810190601f168015611f8f5780820380516001836020036101000a031916815260200191505b5060405250505060015b6122ab576040516000815260443d1015611fb557506000612050565b60046000803e60005160e01c6308c379a08114611fd6576000915050612050565b60043d036004833e81513d60248201116001600160401b038211171561200157600092505050612050565b80830180516001600160401b03811115612022576000945050505050612050565b8060208301013d860181111561204057600095505050505050612050565b601f01601f191660405250925050505b8061205b575061216d565b60ff8716600090815260076020526040812054612092916001600160401b0390911690899061208d906002908861131c565b614478565b60ff8716600090815260076020908152604080832080546001600160401b038082166001011667ffffffffffffffff19909116179055805182815284518184015284516001600160a01b038716947ff91a8f63e5b3e0e89e5f93e1915a7805f3c52d9a73b3c09769785c2c7bf87acf948794849390840192918601918190849084905b8381101561212d578181015183820152602001612115565b50505050905090810190601f16801561215a5780820380516001836020036101000a031916815260200191505b509250505060405180910390a2506122a6565b3d808015612197576040519150601f19603f3d011682016040523d82523d6000602084013e61219c565b606091505b5060ff87166000908152600760205260408120546121cf916001600160401b0390911690899061208d906002908861131c565b60ff8716600090815260076020908152604080832080546001600160401b038082166001011667ffffffffffffffff19909116179055805182815284518184015284516001600160a01b038716947f63ac299d6332d1cc4e61b81e59bc00c0ac7c798addadf33840f1307cd2977351948794849390840192918601918190849084905b8381101561226a578181015183820152602001612252565b50505050905090810190601f1680156122975780820380516001836020036101000a031916815260200191505b509250505060405180910390a2505b61231a565b8051156123185760ff87166000908152600760205260408120546122e4916001600160401b0390911690899061208d906001908661131c565b60ff8716600090815260076020526040902080546001600160401b038082166001011667ffffffffffffffff199091161790555b505b506128ee565b60ff8316600114156125c45760ff8516600081815260056020908152604080832054815163831d65d160e01b815260048101958652602481019283528651604482015286516001600160a01b0390921695869563831d65d1958d958a9593949093606490910192918601918190849084905b838110156123aa578181015183820152602001612392565b50505050905090810190601f1680156123d75780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156123f757600080fd5b505af1925050508015612408575060015b61231a576040516000815260443d1015612424575060006124bf565b60046000803e60005160e01c6308c379a081146124455760009150506124bf565b60043d036004833e81513d60248201116001600160401b0382111715612470576000925050506124bf565b80830180516001600160401b038111156124915760009450505050506124bf565b8060208301013d86018111156124af576000955050505050506124bf565b601f01601f191660405250925050505b806124ca575061252f565b60408051602080825283518183015283516001600160a01b038616937ff91a8f63e5b3e0e89e5f93e1915a7805f3c52d9a73b3c09769785c2c7bf87acf938693909283928301918501908083836000831561212d578181015183820152602001612115565b3d808015612559576040519150601f19603f3d011682016040523d82523d6000602084013e61255e565b606091505b5060408051602080825283518183015283516001600160a01b038616937f63ac299d6332d1cc4e61b81e59bc00c0ac7c798addadf33840f1307cd2977351938693909283928301918501908083836000831561226a578181015183820152602001612252565b60ff8316600214156128ee5760ff8516600081815260056020908152604080832054815163c8509d8160e01b815260048101958652602481019283528651604482015286516001600160a01b0390921695869563c8509d81958d958a9593949093606490910192918601918190849084905b8381101561264e578181015183820152602001612636565b50505050905090810190601f16801561267b5780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561269b57600080fd5b505af19250505080156126ac575060015b6128ec576040516000815260443d10156126c857506000612763565b60046000803e60005160e01c6308c379a081146126e9576000915050612763565b60043d036004833e81513d60248201116001600160401b038211171561271457600092505050612763565b80830180516001600160401b03811115612735576000945050505050612763565b8060208301013d860181111561275357600095505050505050612763565b601f01601f191660405250925050505b8061276e5750612817565b816001600160a01b03167ff91a8f63e5b3e0e89e5f93e1915a7805f3c52d9a73b3c09769785c2c7bf87acf826040518080602001828103825283818151815260200191508051906020019080838360005b838110156127d75781810151838201526020016127bf565b50505050905090810190601f1680156128045780820380516001836020036101000a031916815260200191505b509250505060405180910390a2506128ec565b3d808015612841576040519150601f19603f3d011682016040523d82523d6000602084013e612846565b606091505b50816001600160a01b03167f63ac299d6332d1cc4e61b81e59bc00c0ac7c798addadf33840f1307cd2977351826040518080602001828103825283818151815260200191508051906020019080838360005b838110156128b0578181015183820152602001612898565b50505050905090810190601f1680156128dd5780820380516001836020036101000a031916815260200191505b509250505060405180910390a2505b505b60ff80861660009081526009602052604090205461100591636f93d2e6918a91339187911680612920575060ff881615155b604080516001600160e01b031960e088901b1681526001600160a01b039586166004820152939094166024840152604483019190915215156064820152905160848083019260209291908290030181600087803b15801561298057600080fd5b505af1158015612994573d6000803e3d6000fd5b505050506040513d60208110156129aa57600080fd5b50505050505050505050505b5050505050505050505050505050565b630100380081565b600981565b61100781565b61100681565b60005460ff1681565b3361100714612a285760405162461bcd60e51b815260040180806020018281038252602e815260200180614908602e913960400191505060405180910390fd5b600b5460ff1615612a6c576040805162461bcd60e51b81526020600482015260096024820152681cdd5cdc195b99195960ba1b604482015290519081900360640190fd5b612ad584848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080518082019091526012815271626174636853697a65466f724f7261636c6560701b602082015291506146129050565b15612b7057604080516020601f8401819004810282018101909252828152600091612b18918585808385018382808284376000920191909152506146f992505050565b90506127108111158015612b2d5750600a8110155b612b685760405162461bcd60e51b81526004018080602001828103825260328152602001806149806032913960400191505060405180910390fd5b60015561341a565b612bd984848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601281527118591913dc955c19185d1950da185b9b995b60721b602082015291506146129050565b15612d6157606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505082519293505060169091149050612c5c5760405162461bcd60e51b815260040180806020018281038252605a815260200180614821605a913960600191505060405180910390fd5b60018101516002820151601683015160ff82161590612c7a816146fe565b612ccb576040805162461bcd60e51b815260206004820152601960248201527f61646472657373206973206e6f74206120636f6e747261637400000000000000604482015290519081900360640190fd5b60ff8416600081815260056020908152604080832080546001600160a01b0319166001600160a01b038716908117909155808452600683528184208585528352818420805460ff199081166001179091556009909352818420805490931687151517909255519092917f7e3b6af43092577ee20e60eaa1d9b114a7031305c895ee7dd3ffe17196d2e1e091a3505050505061341a565b612dce84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080518082019091526016815275195b98589b1953dc911a5cd8589b1950da185b9b995b60521b602082015291506146129050565b15612eff57606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505082519293505060029091149050612e515760405162461bcd60e51b815260040180806020018281038252604a815260200180614936604a913960600191505060405180910390fd5b600181810151600283015160ff80831660009081526005602052604090205492939192908316909114906001600160a01b03168015612ef5576001600160a01b038116600090815260066020908152604080832060ff881680855290835292819020805460ff1916861515908117909155815190815290517fa3132e3f9819fbddc7f0ed6d38d7feef59aa95112090b7c592f5cb5bc4aa4adc929181900390910190a25b505050505061341a565b612f6384848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600d81526c73757370656e6451756f72756d60981b602082015291506146129050565b156130985760028114612fa75760405162461bcd60e51b815260040180806020018281038252602d8152602001806148af602d913960400191505060405180910390fd5b6000612fea600284848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506146f992505050565b905060008161ffff16118015613004575060648161ffff16105b61304e576040805162461bcd60e51b8152602060048201526016602482015275696e76616c69642073757370656e642071756f72756d60501b604482015290519081900360640190fd5b604080516f14d554d411539117d41493d413d4d05360821b815281519081900360100190206000908152600d60205220805461ffff90921661ffff1990921691909117905561341a565b6130fb84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600c81526b72656f70656e51756f72756d60a01b602082015291506146129050565b1561322e576002811461313f5760405162461bcd60e51b815260040180806020018281038252602c8152602001806148dc602c913960400191505060405180910390fd5b6000613182600284848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506146f992505050565b905060008161ffff1611801561319c575060648161ffff16105b6131e5576040805162461bcd60e51b8152602060048201526015602482015274696e76616c69642072656f70656e2071756f72756d60581b604482015290519081900360640190fd5b604080516e149153d4115397d41493d413d4d053608a1b8152815190819003600f0190206000908152600d60205220805461ffff90921661ffff1990921691909117905561341a565b61329984848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601481527363616e63656c5472616e7366657251756f72756d60601b602082015291506146129050565b156133dd57600281146132dd5760405162461bcd60e51b815260040180806020018281038252603481526020018061487b6034913960400191505060405180910390fd5b6000613320600284848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506146f992505050565b905060008161ffff1611801561333a575060648161ffff16105b61338b576040805162461bcd60e51b815260206004820152601e60248201527f696e76616c69642063616e63656c207472616e736665722071756f72756d0000604482015290519081900360640190fd5b604080517710d05390d15317d514905394d1915497d41493d413d4d05360421b815281519081900360180190206000908152600d60205220805461ffff90921661ffff1990921691909117905561341a565b6040805162461bcd60e51b815260206004820152600d60248201526c756e6b6e6f776e20706172616d60981b604482015290519081900360640190fd5b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a848484846040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a150505050565b6008602052600090815260409020546001600160401b031681565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081565b61100281565b60005460ff16613536576040805162461bcd60e51b815260206004820152601960248201526000805160206149b2833981519152604482015290519081900360640190fd5b6040805163569e4ed360e11b815233600482015290516000916110009163ad3c9da691602480820192602092909190829003018186803b15801561357957600080fd5b505afa15801561358d573d6000803e3d6000fd5b505050506040513d60208110156135a357600080fd5b505160408051633d42651560e11b8152905191925060009161100091637a84ca2a916004808301926020929190829003018186803b1580156135e457600080fd5b505afa1580156135f8573d6000803e3d6000fd5b505050506040513d602081101561360e57600080fd5b505190508061361b575060155b60008211801561362b5750808211155b61366a576040805162461bcd60e51b815260206004820152600b60248201526a1b9bdd0818d8589a5b995d60aa1b604482015290519081900360640190fd5b600b5460ff166136b1576040805162461bcd60e51b815260206004820152600d60248201526c1b9bdd081cdd5cdc195b991959609a1b604482015290519081900360640190fd5b604080516e149153d4115397d41493d413d4d053608a1b8152905190819003600f019020600090613702907fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4706140e3565b9050801561374057600b805460ff1916905560405133907f899fe8c37dc61708a3aaa99c4bf143346c1d1da69af79be9e8920c0a6785b75290600090a25b505050565b600660209081526000928352604080842090915290825290205460ff1681565b6040518060400160405280600381526020016269626360e81b81525081565b610e1081565b61100381565b60005460ff16156137e8576040805162461bcd60e51b815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e697400000000000000604482015290519081900360640190fd5b7f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b80546001600160a01b0319908116611008179091557f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a36805460ff199081169091557fd8af288fc1c8680b4f4706064cf021e264efb6828fcaf7eb5ca36818eb365bcc8054821660019081179091557f89832631fb3c3307a103ba2c84ab569c64d6182a18893dcd163f0f1c2090733a805484166110049081179091557f6cde3cea4b3a3fb2488b2808bae7556f4a405e50f65e1794383bc026131b13c38054841690557f72e4efa1513b071517c6c74dba31b5934a81aa83cddd400e7081df5529c9943680548416831790557fa9bc9a3a348c357ba16b37005d7e6b3236198c0e939f4af8c5f19b8deeb8ebc08054851690911790557fc575c31fea594a6eb97c8e9d3f9caee4c16218c6ef37e923234c0fe9014a61e78054831690557f4e523af77f034e9810f1c94057f5e931fb3d16a51511a4c3add793617d18610580548316821790557ffb33122aa9f93cc639ebe80a7bc4784c11e6053dde89c6f4f7e268c6a623da1e805484166110001790557fc7694af312c4f286114180fd0ba6a52461fcee8a381636770b19a343af92538a80548316821790557f01112dd68e482ba8d68a7e828cff8b3abcea08eab88941953c180a7e650e9cd480548316821790557fc0a4a8be475dfebc377ebef2d7c4ff47656f572a08dd92b81017efcdba0febe1805484166110071790557f87e8a52529e8ece4ef759037313542a6429ff494a9fab9027fb79db90124eba680548316821790557f4c7666bbcb22d46469f7cc282f70764a7012dca2cce630ff8d83db9a9cdd48f080548316821790557f40f28f99a40bc9f6beea1013afdbc3cdcc689eb76b82c4de06c0acf1e1932ed58054909316611001179092557f0d9cf2cd531699eed8dd34e40ff2884a14a698c4898184fba85194e6f6772d248054821683179055600b60009081527f23f68c9bd22b8a93d06adabe17481c87c016bcbd20adc8bfd707a4d813a572176020527fdf0d5d05428057f5455c2dc8e810dd86d1e9350faa72f16bda8a45443c5b39328054831684179055603283556004805467ffffffffffffffff19166001600160401b031790556002819055600381905580549091169091179055565b6007602052600090815260409020546001600160401b031681565b60005460ff16613ba7576040805162461bcd60e51b815260206004820152601960248201526000805160206149b2833981519152604482015290519081900360640190fd5b6040805163569e4ed360e11b815233600482015290516000916110009163ad3c9da691602480820192602092909190829003018186803b158015613bea57600080fd5b505afa158015613bfe573d6000803e3d6000fd5b505050506040513d6020811015613c1457600080fd5b505160408051633d42651560e11b8152905191925060009161100091637a84ca2a916004808301926020929190829003018186803b158015613c5557600080fd5b505afa158015613c69573d6000803e3d6000fd5b505050506040513d6020811015613c7f57600080fd5b5051905080613c8c575060155b600082118015613c9c5750808211155b613cdb576040805162461bcd60e51b815260206004820152600b60248201526a1b9bdd0818d8589a5b995d60aa1b604482015290519081900360640190fd5b600b5460ff1615613d1f576040805162461bcd60e51b81526020600482015260096024820152681cdd5cdc195b99195960ba1b604482015290519081900360640190fd5b604080516f14d554d411539117d41493d413d4d05360821b81529051908190036010019020600090613d71907fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4706140e3565b905080156137405761374061401a565b60005460ff16613dc6576040805162461bcd60e51b815260206004820152601960248201526000805160206149b2833981519152604482015290519081900360640190fd5b33600090815260066020908152604080832060ff8089168552925290912054859116613e235760405162461bcd60e51b81526004018080602001828103825260318152602001806147f06031913960400191505060405180910390fd5b60ff85166000908152600760209081526040808320548151601f88018490048402810184019092528682526001600160401b031692613e889284928a9261208d92909189918c908c908190840183828082843760009201919091525061131c92505050565b60ff959095166000908152600760205260409020805467ffffffffffffffff191660019096016001600160401b03169590951790945550505050565b61100081565b600381565b61100481565b60408051600e808252818301909252606091630100380060ff851617918391602082018180368337505050600e81810187905260068201939093529182525090505b92915050565b600085613f2c57506000614011565b606082518451865160800101016040519080825280601f01601f191660200182016040528015613f63576020820181803683370190505b5090506000613f7182614704565b602080890151825201905086600080613f8989614098565b8086526020909501949092509050613fa28285836140a2565b92830192613faf88614098565b8086526020909501949092509050613fc88285836140a2565b9283018a815260200192613fdb87614098565b9092509050613feb8285836140a2565b508351602001613ff961470a565b60208183886065600019fa5051600114955050505050505b95945050505050565b600b5460ff161561405e576040805162461bcd60e51b81526020600482015260096024820152681cdd5cdc195b99195960ba1b604482015290519081900360640190fd5b600b805460ff1916600117905560405133907f6f123d3d54c84a7960a573b31c221dcd86e13fd849c5adb0c6ca851468cc1ae490600090a2565b8051602090910191565b5b602081106140c2578251825260209283019290910190601f19016140a3565b915181516020939093036101000a6000190180199091169216919091179052565b6000828152600d602052604081205461ffff166141ac57604080516f14d554d411539117d41493d413d4d05360821b815281519081900360100181206000908152600d6020818152848320805461ffff199081166001179091556e149153d4115397d41493d413d4d053608a1b8552855194859003600f01852084528282528584208054821660029081179091557710d05390d15317d514905394d1915497d41493d413d4d05360421b8652865195869003601801909520845291905292902080549092161790555b6000838152600c6020526040902080546201000090046001600160801b0316421015806141dd575082816001015414155b156142b0576000848152600d602090815260409182902054835461ffff90911661ffff199091161771ffffffffffffffffffffffffffffffff0000191662010000610e1042016001600160801b0316021783556001808401869055825191820190925233815261425291600284019190614728565b5080546040805161ffff83168152620100009092046001600160801b0316602083015281810185905251339186917f9e109f0e55ef32e99e4880be2ec357f1ddb3469c79d0747ef4762da6e89fabe5916060908290030190a3614364565b60005b600282015481101561433b57336001600160a01b03168260020182815481106142d857fe5b6000918252602090912001546001600160a01b03161415614333576040805162461bcd60e51b815260206004820152601060248201526f185b1c9958591e48185c1c1c9bdd995960821b604482015290519081900360640190fd5b6001016142b3565b50600281018054600181018255600091825260209091200180546001600160a01b031916331790555b8054600282015461ffff909116116143be576000848152600c60205260408120805471ffffffffffffffffffffffffffffffffffff1916815560018101829055906143b2600283018261478d565b50506001915050613f17565b5060009392505050565b600080600060606021855110156143f8575050604080516000808252602082019092529092508291508190614471565b600185015160218601518651604080516020198301808252601f1960011990940193909316810160200190915260418901939291606091908015614443576020820181803683370190505b509050600061445182614098565b509050614463858260218d51036140a2565b506001975091955093509150505b9193509193565b600b5460ff16156144bc576040805162461bcd60e51b81526020600482015260096024820152681cdd5cdc195b99195960ba1b604482015290519081900360640190fd5b6002544311156144fb576004805467ffffffffffffffff1981166001600160401b036001600793840b810190930b16179091556003554360025561453c565b6003805460019081019182905554101561453c576004805467ffffffffffffffff1981166001600160401b036001600793840b810190930b16179091556003555b8160ff16836001600160401b0316600460009054906101000a900460070b6001600160401b03167f3a6e0fc61675aa2a100bcba0568368bb92bcec91c97673391074f11138f0cffe603885604051808361ffff1661ffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156145d25781810151838201526020016145ba565b50505050905090810190601f1680156145ff5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a4505050565b6000816040516020018082805190602001908083835b602083106146475780518252601f199092019160209182019101614628565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120836040516020018082805190602001908083835b602083106146b55780518252601f199092019160209182019101614696565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012014905092915050565b015190565b3b151590565b60200190565b60405180602001604052806001906020820280368337509192915050565b82805482825590600052602060002090810192821561477d579160200282015b8281111561477d57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190614748565b506147899291506147ae565b5090565b50805460008255906000526020600020908101906147ab91906147d5565b50565b6147d291905b808211156147895780546001600160a01b03191681556001016147b4565b90565b6147d291905b8082111561478957600081556001016147db56fe74686520636f6e747261637420616e64206368616e6e656c2068617665206e6f74206265656e20726567697374657265646c656e677468206f662076616c756520666f72206164644f725570646174654368616e6e656c2073686f756c642062652032322c206368616e6e656c49643a697346726f6d53797374656d3a68616e646c6572416464726573736c656e677468206f662076616c756520666f722063616e63656c5472616e7366657251756f72756d2073686f756c6420626520326c656e677468206f662076616c756520666f722073757370656e6451756f72756d2073686f756c6420626520326c656e677468206f662076616c756520666f722072656f70656e51756f72756d2073686f756c642062652032746865206d6573736167652073656e646572206d75737420626520676f7665726e616e636520636f6e74726163746c656e677468206f662076616c756520666f7220656e61626c654f7244697361626c654368616e6e656c2073686f756c6420626520322c206368616e6e656c49643a6973456e61626c65746865206e6577426174636853697a65466f724f7261636c652073686f756c6420626520696e205b31302c2031303030305d74686520636f6e7472616374206e6f7420696e697420796574000000000000006c6967687420636c69656e74206e6f742073796e632074686520626c6f636b20796574a2646970667358221220622dd2ff8c5505e7bf8251c7cfe63da6bfa7891c3682ca46b6d6bf796895609f64736f6c63430006040033", }, }, @@ -589,27 +589,27 @@ func init() { Configs: []*UpgradeConfig{ { ContractAddr: common.HexToAddress(ValidatorContract), - CommitUrl: "https://github.com/node-real/bsc-genesis-contract/commit/f8bab13f56955e979bfb754425dab1e62e52f151", - Code: "60806040526004361061046c5760003560e01c8063862498821161024a578063c6d3394511610139578063e40716a1116100b6578063f9a2bbc71161007a578063f9a2bbc714610b6b578063fc3e590814610b80578063fccc281314610b95578063fd4ad81f14610baa578063fd6a687914610bd957610473565b8063e40716a114610af9578063eb57e20214610b0e578063eda5868c14610b2e578063f340fa0114610b43578063f92eb86b14610b5657610473565b8063d86222d5116100fd578063d86222d514610a90578063daacdb6614610aa5578063dc927faf14610aba578063e086c7b114610acf578063e1c7392a14610ae457610473565b8063c6d3394514610a3c578063c81b166214610a51578063c8509d811461085f578063d04aa99614610a66578063d68fb56a14610a7b57610473565b8063a5422d5c116101c7578063ad3c9da61161018b578063ad3c9da6146109d0578063aef198a9146109f0578063b7ab4db514610a05578063b8cf4ef114610a27578063bf9f49951461062f57610473565b8063a5422d5c1461095c578063a78abc1614610971578063aaf5eb6814610986578063ab51bb961461099b578063ac431751146109b057610473565b806396713da91161020e57806396713da9146108f35780639dc09262146109085780639fe0f8161461091d578063a0dc275814610932578063a1a11bf51461094757610473565b8063862498821461087f57806388b32f11146108945780638b5ad0c9146108a95780638d19a410146108be5780639369d7de146108de57610473565b80634df6e0c3116103665780636e47b482116102e35780637942fd05116102a75780637942fd05146108205780637a84ca2a1461083557806381650b621461084a578063831d65d11461085f578063853230aa1461080b57610473565b80636e47b482146107b757806370fd5bad146107cc578063718a8aa8146107e157806375d47a0a146107f657806378dfed4a1461080b57610473565b8063565c56b31161032a578063565c56b3146107265780635667515a146107465780635d77156c1461075b57806362b72cf5146107705780636969a25c1461078557610473565b80634df6e0c3146106b25780635192c82c146106c757806351e80672146106dc578063549b03f2146106f157806355614fcc1461070657610473565b8063321d398a116103f45780633dffc387116103b85780633dffc3871461062f57806343756e5c1461065157806345cf9daf14610666578063493279b11461067b5780634bf6c8821461069d57610473565b8063321d398a146105975780633365af3a146105b757806335409f7f146105d75780633b071dcc146105f75780633de0f0d81461061a57610473565b80631182b8751161043b5780631182b875146104fe578063152ad3b81461052b5780631ff180691461054d578063219f22d514610562578063300c35671461057757610473565b806304c4fec61461047857806307a568471461048f5780630bee7a67146104ba5780630e2374a5146104dc57610473565b3661047357005b600080fd5b34801561048457600080fd5b5061048d610bee565b005b34801561049b57600080fd5b506104a4610c60565b6040516104b19190616d9d565b60405180910390f35b3480156104c657600080fd5b506104cf610c66565b6040516104b19190616dc7565b3480156104e857600080fd5b506104f1610c6b565b6040516104b191906161a4565b34801561050a57600080fd5b5061051e61051936600461608a565b610c71565b6040516104b1919061631b565b34801561053757600080fd5b50610540610ea9565b6040516104b19190616310565b34801561055957600080fd5b506104a4610eb2565b34801561056e57600080fd5b506104cf610eb8565b34801561058357600080fd5b5061048d610592366004615f53565b610ebd565b3480156105a357600080fd5b506105406105b2366004616037565b611263565b3480156105c357600080fd5b506105406105d2366004616037565b611332565b3480156105e357600080fd5b5061048d6105f2366004615f2c565b6113e3565b34801561060357600080fd5b5061060c61153c565b6040516104b1929190616226565b34801561062657600080fd5b506104a4611818565b34801561063b57600080fd5b5061064461181e565b6040516104b19190616dd8565b34801561065d57600080fd5b506104f1611823565b34801561067257600080fd5b506104a4611829565b34801561068757600080fd5b5061069061182f565b6040516104b19190616d8e565b3480156106a957600080fd5b50610644611834565b3480156106be57600080fd5b5061060c611839565b3480156106d357600080fd5b506104a46119b7565b3480156106e857600080fd5b506104f16119bd565b3480156106fd57600080fd5b506104a46119c3565b34801561071257600080fd5b50610540610721366004615f2c565b6119c9565b34801561073257600080fd5b506104a4610741366004615f2c565b6119fe565b34801561075257600080fd5b50610644611a4f565b34801561076757600080fd5b506104cf611a54565b34801561077c57600080fd5b506104a4611a59565b34801561079157600080fd5b506107a56107a0366004616037565b611a5f565b6040516104b1969594939291906161d1565b3480156107c357600080fd5b506104f1611ac3565b3480156107d857600080fd5b50610644611ac9565b3480156107ed57600080fd5b50610644611ace565b34801561080257600080fd5b506104f1611ad3565b34801561081757600080fd5b506104a4611ad9565b34801561082c57600080fd5b50610644611adf565b34801561084157600080fd5b506104a4611ae4565b34801561085657600080fd5b506104cf611aea565b34801561086b57600080fd5b5061048d61087a36600461608a565b611aef565b34801561088b57600080fd5b506104a4611b50565b3480156108a057600080fd5b506104a4611b56565b3480156108b557600080fd5b506104a4611b5c565b3480156108ca57600080fd5b506104a46108d9366004615f2c565b611b62565b3480156108ea57600080fd5b5061048d611ba2565b3480156108ff57600080fd5b50610644611cb6565b34801561091457600080fd5b506104f1611cbb565b34801561092957600080fd5b506104a4611cc1565b34801561093e57600080fd5b506104a4611cc6565b34801561095357600080fd5b506104f1611ccb565b34801561096857600080fd5b5061051e611cd1565b34801561097d57600080fd5b50610540611cf0565b34801561099257600080fd5b506104a4611cf9565b3480156109a757600080fd5b506104cf611a4f565b3480156109bc57600080fd5b5061048d6109cb366004615fdb565b611d02565b3480156109dc57600080fd5b506104a46109eb366004615f2c565b6125ae565b3480156109fc57600080fd5b506104a46125c0565b348015610a1157600080fd5b50610a1a6125cd565b6040516104b19190616213565b348015610a3357600080fd5b506104a46126b9565b348015610a4857600080fd5b506104a4611ac9565b348015610a5d57600080fd5b506104f16126be565b348015610a7257600080fd5b506104a46126c4565b348015610a8757600080fd5b506104a46126c9565b348015610a9c57600080fd5b506104a4612708565b348015610ab157600080fd5b506104a4612714565b348015610ac657600080fd5b506104f161271a565b348015610adb57600080fd5b506104a4612720565b348015610af057600080fd5b5061048d612725565b348015610b0557600080fd5b506104a46128d4565b348015610b1a57600080fd5b5061048d610b29366004615f2c565b6128da565b348015610b3a57600080fd5b506104cf6129e2565b61048d610b51366004615f2c565b6129e7565b348015610b6257600080fd5b506104a4612c6f565b348015610b7757600080fd5b506104f1612c75565b348015610b8c57600080fd5b50610644611cc1565b348015610ba157600080fd5b506104f1612c7b565b348015610bb657600080fd5b50610bca610bc5366004616037565b612c81565b6040516104b193929190616da6565b348015610be557600080fd5b506104f1612d43565b6000610bf933611b62565b9050600b8181548110610c0857fe5b600091825260209091206001601690920201015460ff16610c445760405162461bcd60e51b8152600401610c3b90616a46565b60405180910390fd5b6000610c4e6126c9565b9050610c5b338383612d49565b505050565b60095481565b606481565b61200181565b60005460609060ff16610c965760405162461bcd60e51b8152600401610c3b906164da565b3361200014610cb75760405162461bcd60e51b8152600401610c3b90616c25565b600b54610d7557610cc6615c18565b60015460005b81811015610d7157600b80546001810182556000919091528351600080516020616ffb833981519152601690920291820190815560208086015160008051602061703b8339815191528401805460ff1916911515919091179055604086015180518794610d4d9360008051602061701b833981519152909101920190615c47565b506060820151610d639060038301906013615cc1565b505050806001019050610ccc565b5050505b610d7d615cee565b6000610dbe85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612f3592505050565b9150915080610dda57610dd160646130f1565b92505050610ea2565b815160009060ff16610dff57610df883602001518460400151613152565b9050610e6e565b825160ff1660011415610e6a57826020015151600114610e4457600080516020616fdb833981519152604051610e349061692d565b60405180910390a1506067610e65565b610df88360200151600081518110610e5857fe5b6020026020010151613da6565b610e6e565b5060655b63ffffffff8116610e935750506040805160008152602081019091529150610ea29050565b610e9c816130f1565b93505050505b9392505050565b60075460ff1681565b60035481565b606881565b334114610edc5760405162461bcd60e51b8152600401610c3b90616c74565b6010544311610efd5760405162461bcd60e51b8152600401610c3b90616636565b60005460ff16610f1f5760405162461bcd60e51b8152600401610c3b906164da565b600f54610f37576032600f5561100231601155611259565b60006110023181610f578268056bc75e2d6310000063ffffffff613f1d16565b1115610f7557610f6e81606463ffffffff613f5f16565b9150610fd1565b6000610f8c60115483613f1d90919063ffffffff16565b1115610fca57610f6e6064610fbe600f54610fb260115486613f1d90919063ffffffff16565b9063ffffffff613fa116565b9063ffffffff613f5f16565b5050611259565b6040516309a99b4f60e41b815261100290639a99b4f090610ff890309086906004016161b8565b602060405180830381600087803b15801561101257600080fd5b505af1158015611026573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104a919061604f565b6110023160115591508161105f575050611259565b6000805b8481101561108d5785858281811061107757fe5b9050602002013582019150806001019050611063565b508061109b57505050611259565b6000806000805b8981101561125157848989838181106110b757fe5b905060200201358802816110c757fe5b0493508a8a828181106110d657fe5b90506020020160208101906110eb9190615f2c565b6001600160a01b0381166000908152600460205260409020549093509150811561120757600060018084038154811061112057fe5b9060005260206000209060040201905080600201601c9054906101000a900460ff161561118d57836001600160a01b03167fb9c75cbbfde137c4281689580799ef5f52144e78858f776a5979b2b212137d85866040516111809190616d9d565b60405180910390a2611201565b6003546111a0908663ffffffff613fdb16565b60039081558101546111b8908663ffffffff613fdb16565b60038201556040516001600160a01b038516907fcb0aad6cf9cd03bdf6137e359f541c42f38b39f007cae8e89e88aa7d8c6617b2906111f8908890616d9d565b60405180910390a25b50611249565b826001600160a01b03167fb9c75cbbfde137c4281689580799ef5f52144e78858f776a5979b2b212137d85856040516112409190616d9d565b60405180910390a25b6001016110a2565b505050505050505b5050436010555050565b60015460009082106112775750600061132d565b60006001600160a01b03166001838154811061128f57fe5b60009182526020909120600490910201546001600160a01b031614806112bf575060085415806112bf5750600a54155b806112ce575060085460095410155b806112df57506112dd82611332565b155b8061130857506000600b83815481106112f457fe5b906000526020600020906016020160000154115b8061131c575060016113186125cd565b5111155b156113295750600061132d565b5060015b919050565b60015460009082106113465750600061132d565b600b548210611383576001828154811061135c57fe5b9060005260206000209060040201600201601c9054906101000a900460ff1615905061132d565b6001828154811061139057fe5b9060005260206000209060040201600201601c9054906101000a900460ff161580156113dd5750600b82815481106113c457fe5b600091825260209091206001601690920201015460ff16155b92915050565b33611001146114045760405162461bcd60e51b8152600401610c3b90616d45565b600b546114c257611413615c18565b60015460005b818110156114be57600b80546001810182556000919091528351600080516020616ffb833981519152601690920291820190815560208086015160008051602061703b8339815191528401805460ff191691151591909117905560408601518051879461149a9360008051602061701b833981519152909101920190615c47565b5060608201516114b09060038301906013615cc1565b505050806001019050611419565b5050505b6001600160a01b038116600090815260046020526040902054806114e65750611539565b6001810390506000600b82815481106114fb57fe5b600091825260209091206001601690920201015460ff16905061151e8383614000565b80156115275750805b15610c5b576009805460001901905550505b50565b60015460609081906000805b8281101561158f576001818154811061155d57fe5b9060005260206000209060040201600201601c9054906101000a900460ff16611587576001909101905b600101611548565b506060816040519080825280602002602001820160405280156115bc578160200160208202803683370190505b5090506060826040519080825280602002602001820160405280156115f557816020015b60608152602001906001900390816115e05790505b50600b54600094509091508414156117705760005b8481101561176a576001818154811061161f57fe5b9060005260206000209060040201600201601c9054906101000a900460ff16611762576001818154811061164f57fe5b600091825260209091206004909102015483516001600160a01b039091169084908690811061167a57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600b81815481106116a757fe5b600091825260209182902060026016909202018101805460408051601f60001961010060018616150201909316949094049182018590048502840185019052808352919290919083018282801561173f5780601f106117145761010080835404028352916020019161173f565b820191906000526020600020905b81548152906001019060200180831161172257829003601f168201915b505050505082858151811061175057fe5b60209081029190910101526001909301925b60010161160a565b5061180c565b60005b8481101561180a576001818154811061178857fe5b9060005260206000209060040201600201601c9054906101000a900460ff1661180257600181815481106117b857fe5b600091825260209091206004909102015483516001600160a01b03909116908490869081106117e357fe5b6001600160a01b03909216602092830291909101909101526001909301925b600101611773565b505b909450925050505b9091565b61271081565b600181565b61100181565b60085481565b606181565b600881565b600e54600c5460609182918061184d575060155b60606118576125cd565b90506060611864826143b3565b90508282511161187b579094509250611814915050565b8383835103101561188d578282510393505b83156118c35760c843046118a983838388880360008a8a614521565b6118c18383838888038989038a8b8b8b510301614521565b505b6060836040519080825280602002602001820160405280156118ef578160200160208202803683370190505b50905060608460405190808252806020026020018201604052801561192857816020015b60608152602001906001900390816119135790505b50905060005b858110156119a95784818151811061194257fe5b602002602001015183828151811061195657fe5b60200260200101906001600160a01b031690816001600160a01b03168152505083818151811061198257fe5b602002602001015182828151811061199657fe5b602090810291909101015260010161192e565b509096509450505050509091565b60065481565b61200081565b600f5481565b6001600160a01b038116600090815260046020526040812054806119f157600091505061132d565b60001901610ea281611332565b6001600160a01b03811660009081526004602052604081205480611a2657600091505061132d565b600180820381548110611a3557fe5b906000526020600020906004020160030154915050919050565b600081565b606781565b60105481565b60018181548110611a6c57fe5b600091825260209091206004909102018054600182015460028301546003909301546001600160a01b0392831694509082169291821691600160a01b81046001600160401b031691600160e01b90910460ff169086565b61100581565b600281565b601081565b61100881565b6103e881565b600b81565b600c5481565b606681565b3361200014611b105760405162461bcd60e51b8152600401610c3b90616c25565b7f41ce201247b6ceb957dcdb217d0b8acb50b9ea0e12af9af4f5e7f38902101605838383604051611b4393929190616de6565b60405180910390a1505050565b60025481565b60115481565b600a5481565b6001600160a01b03811660009081526004602052604081205480611b985760405162461bcd60e51b8152600401610c3b90616bad565b6000190192915050565b600b54611c6057611bb1615c18565b60015460005b81811015611c5c57600b80546001810182556000919091528351600080516020616ffb833981519152601690920291820190815560208086015160008051602061703b8339815191528401805460ff1916911515919091179055604086015180518794611c389360008051602061701b833981519152909101920190615c47565b506060820151611c4e9060038301906013615cc1565b505050806001019050611bb7565b5050505b600854611c6d5760036008555b600a54611c7a576002600a555b6000611c8533611b62565b9050611c9081611263565b611cac5760405162461bcd60e51b8152600401610c3b906168ea565b6115393382614678565b600981565b61100781565b600381565b60c881565b61100681565b604051806101e001604052806101ab8152602001616e306101ab913981565b60005460ff1681565b6402540be40081565b60005460ff16611d245760405162461bcd60e51b8152600401610c3b906164da565b3361100714611d455760405162461bcd60e51b8152600401610c3b906169b3565b611daf84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080518082019091526013815272065787069726554696d655365636f6e6447617606c1b602082015291506147109050565b15611e4c5760208114611dd45760405162461bcd60e51b8152600401610c3b90616b67565b604080516020601f8401819004810282018101909252828152600091611e129185858083850183828082843760009201919091525061476992505050565b905060648110158015611e285750620186a08111155b611e445760405162461bcd60e51b8152600401610c3b90616793565b60025561256b565b611eac84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260098152686275726e526174696f60b81b602082015291506147109050565b15611f485760208114611ed15760405162461bcd60e51b8152600401610c3b90616360565b604080516020601f8401819004810282018101909252828152600091611f0f9185858083850183828082843760009201919091525061476992505050565b9050612710811115611f335760405162461bcd60e51b8152600401610c3b90616678565b6006556007805460ff1916600117905561256b565b611fb284848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260138152726d61784e756d4f664d61696e7461696e696e6760681b602082015291506147109050565b1561204c5760208114611fd75760405162461bcd60e51b8152600401610c3b90616397565b604080516020601f84018190048102820181019092528281526000916120159185858083850183828082843760009201919091525061476992505050565b600c5490915080612024575060155b8082106120435760405162461bcd60e51b8152600401610c3b906166eb565b5060085561256b565b6120b584848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260128152716d61696e7461696e536c6173685363616c6560701b602082015291506147109050565b1561214e57602081146120da5760405162461bcd60e51b8152600401610c3b90616460565b604080516020601f84018190048102820181019092528281526000916121189185858083850183828082843760009201919091525061476992505050565b905060008111801561212a5750600a81105b6121465760405162461bcd60e51b8152600401610c3b90616cc1565b600a5561256b565b6121c284848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601981527f6d61784e756d4f66576f726b696e6743616e6469646174657300000000000000602082015291506147109050565b1561225157602081146121e75760405162461bcd60e51b8152600401610c3b90616414565b604080516020601f84018190048102820181019092528281526000916122259185858083850183828082843760009201919091525061476992505050565b9050600d548111156122495760405162461bcd60e51b8152600401610c3b90616809565b600e5561256b565b6122ba84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260128152716d61784e756d4f6643616e6469646174657360701b602082015291506147109050565b1561233c57602081146122df5760405162461bcd60e51b8152600401610c3b90616a01565b604080516020601f840181900481028201810190925282815260009161231d9185858083850183828082843760009201919091525061476992505050565b600d819055600e5490915081101561233657600d54600e555b5061256b565b6123a084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600d81526c6e756d4f66436162696e65747360981b602082015291506147109050565b1561244e57602081146123c55760405162461bcd60e51b8152600401610c3b906164a5565b604080516020601f84018190048102820181019092528281526000916124039185858083850183828082843760009201919091525061476992505050565b9050600081116124255760405162461bcd60e51b8152600401610c3b90616548565b60298111156124465760405162461bcd60e51b8152600401610c3b90616590565b600c5561256b565b6124b884848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601381527266696e616c697479526577617264526174696f60681b602082015291506147109050565b1561255357602081146124dd5760405162461bcd60e51b8152600401610c3b90616aea565b604080516020601f840181900481028201810190925282815260009161251b9185858083850183828082843760009201919091525061476992505050565b90506001811015801561252f575060648111155b61254b5760405162461bcd60e51b8152600401610c3b90616878565b600f5561256b565b60405162461bcd60e51b8152600401610c3b90616d1e565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a848484846040516125a0949392919061632e565b60405180910390a150505050565b60046020526000908152604090205481565b68056bc75e2d6310000081565b6001546060906000805b828110156125fc576125e881611332565b156125f4578160010191505b6001016125d7565b50606081604051908082528060200260200182016040528015612629578160200160208202803683370190505b5090506000915060005b838110156126b05761264481611332565b156126a8576001818154811061265657fe5b600091825260209091206004909102015482516001600160a01b039091169083908590811061268157fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508260010192505b600101612633565b50925050505b90565b601581565b61100281565b603281565b60006126d36125cd565b519050600080600c54116126e85760156126ec565b600c545b9050808211156126fa578091505b8161270457600191505b5090565b67016345785d8a000081565b60055481565b61100381565b602981565b60005460ff16156127485760405162461bcd60e51b8152600401610c3b90616ab3565b612750615cee565b6000612776604051806101e001604052806101ab8152602001616e306101ab9139612f35565b91509150806127975760405162461bcd60e51b8152600401610c3b90616be4565b60005b8260200151518110156128bc576001836020015182815181106127b957fe5b60209081029190910181015182546001818101855560009485528385208351600493840290910180546001600160a01b039283166001600160a01b03199182161782558587015182850180549185169183169190911790556040860151600283018054606089015160808a01511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b199590981692909516919091179290921694909417161790915560a09093015160039093019290925591860151805191850193918590811061288f57fe5b602090810291909101810151516001600160a01b031682528101919091526040016000205560010161279a565b50506103e8600255506000805460ff19166001179055565b600d5481565b33611001146128fb5760405162461bcd60e51b8152600401610c3b90616d45565b600b546129b95761290a615c18565b60015460005b818110156129b557600b80546001810182556000919091528351600080516020616ffb833981519152601690920291820190815560208086015160008051602061703b8339815191528401805460ff19169115159190911790556040860151805187946129919360008051602061701b833981519152909101920190615c47565b5060608201516129a79060038301906013615cc1565b505050806001019050612910565b5050505b60006129c48261476e565b90506129cf81611263565b156129de576129de8282614678565b5050565b606581565b334114612a065760405162461bcd60e51b8152600401610c3b90616c74565b60005460ff16612a285760405162461bcd60e51b8152600401610c3b906164da565b60003411612a485760405162461bcd60e51b8152600401610c3b906167da565b6001600160a01b0381166000908152600460205260409020546007543491906103e89060ff1615612a7857506006545b600083118015612a885750600081115b15612b29576000612aa5612710610fbe868563ffffffff613fa116565b90508015612b275760405161dead9082156108fc029083906000818181858888f19350505050158015612adc573d6000803e3d6000fd5b507f627059660ea01c4733a328effb2294d2f86905bf806da763a89cee254de8bee581604051612b0c9190616d9d565b60405180910390a1612b24848263ffffffff613f1d16565b93505b505b8115612c27576000600180840381548110612b4057fe5b9060005260206000209060040201905080600201601c9054906101000a900460ff1615612bad57846001600160a01b03167ff177e5d6c5764d79c32883ed824111d9b13f5668cf6ab1cc12dd36791dd955b485604051612ba09190616d9d565b60405180910390a2612c21565b600354612bc0908563ffffffff613fdb16565b6003908155810154612bd8908563ffffffff613fdb16565b60038201556040516001600160a01b038616907f93a090ecc682c002995fad3c85b30c5651d7fd29b0be5da9d784a3302aedc05590612c18908790616d9d565b60405180910390a25b50612c69565b836001600160a01b03167ff177e5d6c5764d79c32883ed824111d9b13f5668cf6ab1cc12dd36791dd955b484604051612c609190616d9d565b60405180910390a25b50505050565b600e5481565b61100081565b61dead81565b600b8181548110612c8e57fe5b6000918252602091829020601691909102018054600180830154600280850180546040805161010096831615969096026000190190911692909204601f810188900488028501880190925281845293965060ff90911694919291830182828015612d395780601f10612d0e57610100808354040283529160200191612d39565b820191906000526020600020905b815481529060010190602001808311612d1c57829003601f168201915b5050505050905083565b61100481565b6000600a5460001480612d5a575081155b80612d655750600954155b15612d7257506000610ea2565b60096000815460019003919050819055506000612dbd600a54610fbe85610fbe600b8981548110612d9f57fe5b6000918252602090912060169091020154439063ffffffff613f1d16565b90506000600b8581548110612dce57fe5b906000526020600020906016020160010160006101000a81548160ff0219169083151502179055506000806110016001600160a01b0316638256ace66040518163ffffffff1660e01b8152600401604080518083038186803b158015612e3357600080fd5b505afa158015612e47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e6b9190616067565b9150915060009350808310612ee557612e848787614000565b506040516305bfb49960e41b815261100190635bfb499090612eaa908a906004016161a4565b600060405180830381600087803b158015612ec457600080fd5b505af1158015612ed8573d6000803e3d6000fd5b5050505060019350612ef7565b818310612ef757612ef58761476e565b505b6040516001600160a01b038816907fb9d38178dc641ff1817967a63c9078cbcd955a9f1fcd75e0e3636de615d44d3b90600090a25050509392505050565b612f3d615cee565b6000612f47615cee565b612f4f615d12565b612f60612f5b86614911565b614936565b90506000805b612f6f83614980565b156130e35780612f9457612f8a612f85846149a1565b6149ef565b60ff1684526130db565b80600114156130d6576060612fb0612fab856149a1565b614a6f565b90508051604051908082528060200260200182016040528015612fed57816020015b612fda615d32565b815260200190600190039081612fd25790505b508560200181905250805160405190808252806020026020018201604052801561302b57816020015b60608152602001906001900390816130165790505b50604086015260005b81518110156130cb57613045615d32565b6060600061306585858151811061305857fe5b6020026020010151614b40565b92509250925080613085578860009a509a505050505050505050506130ec565b828960200151858151811061309657fe5b602002602001018190525081896040015185815181106130b257fe5b6020026020010181905250505050806001019050613034565b5060019250506130db565b6130e3565b600101612f66565b50919350909150505b915091565b604080516001808252818301909252606091829190816020015b606081526020019060019003908161310b5790505090506131318363ffffffff16614c5a565b8160008151811061313e57fe5b6020026020010181905250610ea281614c6d565b600060298351111561318957600080516020616fdb833981519152604051613179906165ed565b60405180910390a15060666113dd565b60005b83518110156132275760005b8181101561321e578481815181106131ac57fe5b6020026020010151600001516001600160a01b03168583815181106131cd57fe5b6020026020010151600001516001600160a01b0316141561321657600080516020616fdb83398151915260405161320390616748565b60405180910390a16066925050506113dd565b600101613198565b5060010161318c565b506060806132358585614cf7565b60015491935091506000908190815b818110156132ba5767016345785d8a00006001828154811061326257fe5b90600052602060002090600402016003015410613284578360010193506132b2565b60006001828154811061329357fe5b90600052602060002090600402016003015411156132b2578260010192505b600101613244565b506060836040519080825280602002602001820160405280156132e7578160200160208202803683370190505b509050606084604051908082528060200260200182016040528015613316578160200160208202803683370190505b509050606085604051908082528060200260200182016040528015613345578160200160208202803683370190505b509050606086604051908082528060200260200182016040528015613374578160200160208202803683370190505b50905060006060876040519080825280602002602001820160405280156133a5578160200160208202803683370190505b5090506060886040519080825280602002602001820160405280156133d4578160200160208202803683370190505b509050600099506000985060006110046001600160a01b031663149d14d96040518163ffffffff1660e01b815260040160206040518083038186803b15801561341c57600080fd5b505afa158015613430573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613454919061604f565b905067016345785d8a000081111561349f57600080516020616fdb83398151915260405161348190616a72565b60405180910390a160689d50505050505050505050505050506113dd565b60005b898110156137105767016345785d8a0000600182815481106134c057fe5b9060005260206000209060040201600301541061364557600181815481106134e457fe5b906000526020600020906004020160020160009054906101000a90046001600160a01b0316898d8151811061351557fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060006402540be4006001838154811061354a57fe5b9060005260206000209060040201600301548161356357fe5b066001838154811061357157fe5b9060005260206000209060040201600301540390506135998382613f1d90919063ffffffff16565b898e815181106135a557fe5b602002602001018181525050600182815481106135be57fe5b906000526020600020906004020160020160009054906101000a90046001600160a01b0316878e815181106135ef57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505081888e8151811061361c57fe5b6020908102919091010152613637868263ffffffff613fdb16565b95508c6001019c5050613708565b60006001828154811061365457fe5b9060005260206000209060040201600301541115613708576001818154811061367957fe5b906000526020600020906004020160010160009054906101000a90046001600160a01b0316848c815181106136aa57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600181815481106136d757fe5b906000526020600020906004020160030154838c815181106136f557fe5b6020026020010181815250508a6001019a505b6001016134a2565b5060008415613986576002546040516303702b2960e51b815261100491636e05652091889161374a918e918e918d91420190600401616296565b6020604051808303818588803b15801561376357600080fd5b505af193505050508015613794575060408051601f3d908101601f1916820190925261379191810190615fbb565b60015b61390b576040516000815260443d10156137b05750600061384b565b60046000803e60005160e01c6308c379a081146137d157600091505061384b565b60043d036004833e81513d60248201116001600160401b03821117156137fc5760009250505061384b565b80830180516001600160401b0381111561381d57600094505050505061384b565b8060208301013d860181111561383b5760009550505050505061384b565b601f01601f191660405250925050505b806138565750613898565b60019150857fa7cdeed7d0db45e3219a6e5d60838824c16f1d39991fcfe3f963029c844bf2808260405161388a919061631b565b60405180910390a250613906565b3d8080156138c2576040519150601f19603f3d011682016040523d82523d6000602084013e6138c7565b606091505b5060019150857fbfa884552dd8921b6ce90bfe906952ae5b3b29be0cc1a951d4f62697635a3a45826040516138fc919061631b565b60405180910390a2505b613986565b801561394d577fa217d08e65f80c73121cd9db834d81652d544bfbf452f6d04922b16c90a37b70866040516139409190616d9d565b60405180910390a1613984565b857fa7cdeed7d0db45e3219a6e5d60838824c16f1d39991fcfe3f963029c844bf28060405161397b906163dd565b60405180910390a25b505b8015613b3c5760005b8751811015613b3a5760008882815181106139a657fe5b602002602001015190506000600182815481106139bf57fe5b60009182526020909120600160049092020181015481546001600160a01b03909116916108fc91859081106139f057fe5b9060005260206000209060040201600301549081150290604051600060405180830381858888f1935050505090508015613aac5760018281548110613a3157fe5b60009182526020909120600160049092020181015481546001600160a01b03909116917f6c61d60f69a7beb3e1c80db7f39f37b208537cbb19da3174511b477812b2fc7d9185908110613a8057fe5b906000526020600020906004020160030154604051613a9f9190616d9d565b60405180910390a2613b30565b60018281548110613ab957fe5b60009182526020909120600160049092020181015481546001600160a01b03909116917f25d0ce7d2f0cec669a8c17efe49d195c13455bb8872b65fa610ac7f53fe4ca7d9185908110613b0857fe5b906000526020600020906004020160030154604051613b279190616d9d565b60405180910390a25b505060010161398f565b505b835115613c865760005b8451811015613c84576000858281518110613b5d57fe5b60200260200101516001600160a01b03166108fc868481518110613b7d57fe5b60200260200101519081150290604051600060405180830381858888f1935050505090508015613c1357858281518110613bb357fe5b60200260200101516001600160a01b03167f6c61d60f69a7beb3e1c80db7f39f37b208537cbb19da3174511b477812b2fc7d868481518110613bf157fe5b6020026020010151604051613c069190616d9d565b60405180910390a2613c7b565b858281518110613c1f57fe5b60200260200101516001600160a01b03167f25d0ce7d2f0cec669a8c17efe49d195c13455bb8872b65fa610ac7f53fe4ca7d868481518110613c5d57fe5b6020026020010151604051613c729190616d9d565b60405180910390a25b50600101613b46565b505b5050505050505050505050506000471115613d02577f6ecc855f9440a9282c90913bbc91619fd44f5ec0b462af28d127b116f130aa4d47604051613cca9190616d9d565b60405180910390a1604051611002904780156108fc02916000818181858888f19350505050158015613d00573d6000803e3d6000fd5b505b60006003819055600555815115613d1d57613d1d8282614f30565b6110016001600160a01b031663fc4333cd6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015613d5a57600080fd5b505af1158015613d6e573d6000803e3d6000fd5b50506040517fedd8d7296956dd970ab4de3f2fc03be2b0ffc615d20cd4c72c6e44f928630ebf925060009150a1506000949350505050565b80516001600160a01b0316600090815260046020526040812054801580613df75750600180820381548110613dd757fe5b9060005260206000209060040201600201601c9054906101000a900460ff165b15613e3d5782516040516001600160a01b03909116907fe209c46bebf57cf265d5d9009a00870e256d9150f3ed5281ab9d9eb3cec6e4be90600090a2600091505061132d565b600154600554600019820111801590613e935784516040516001600160a01b03909116907fe209c46bebf57cf265d5d9009a00870e256d9150f3ed5281ab9d9eb3cec6e4be90600090a26000935050505061132d565b600580546001908101909155805481906000198601908110613eb157fe5b6000918252602082206002600490920201018054921515600160e01b0260ff60e01b199093169290921790915585516040516001600160a01b03909116917ff226e7d8f547ff903d9d419cf5f54e0d7d07efa9584135a53a057c5f1f27f49a91a2506000949350505050565b6000610ea283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506155fe565b6000610ea283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061562a565b600082613fb0575060006113dd565b82820282848281613fbd57fe5b0414610ea25760405162461bcd60e51b8152600401610c3b90616972565b600082820183811015610ea25760405162461bcd60e51b8152600401610c3b90616511565b6000806001838154811061401057fe5b9060005260206000209060040201600301549050600060018080549050039050600161403a6125cd565b511161406f5760006001858154811061404f57fe5b9060005260206000209060040201600301819055506000925050506113dd565b846001600160a01b03167f3b6f9ef90462b512a1293ecec018670bf7b7f1876fb727590a8a6d7643130a70836040516140a89190616d9d565b60405180910390a26001600160a01b038516600090815260046020526040812055835b6001546000190181101561429557600181600101815481106140e957fe5b90600052602060002090600402016001828154811061410457fe5b60009182526020909120825460049092020180546001600160a01b03199081166001600160a01b0393841617825560018085015481840180548416918616919091179055600280860180549185018054909416919095161780835584546001600160401b03600160a01b91829004160267ffffffffffffffff60a01b1990911617808355935460ff600160e01b918290041615150260ff60e01b19909416939093179055600392830154920191909155600b8054909183019081106141c557fe5b9060005260206000209060160201600b82815481106141e057fe5b600091825260209091208254601690920201908155600180830154818301805460ff909216151560ff1990921691909117905560028084018054614237938386019390821615610100026000190190911604615d67565b5061424a60038281019084016013615ddc565b5090505080600101600460006001848154811061426357fe5b600091825260208083206004909202909101546001600160a01b031683528201929092526040019020556001016140cb565b5060018054806142a157fe5b60008281526020812060046000199093019283020180546001600160a01b0319908116825560018201805490911690556002810180546001600160e81b0319169055600301559055600b8054806142f457fe5b60008281526020812060166000199093019283020181815560018101805460ff19169055906143266002830182615e06565b614334600383016000615e4a565b50509055600081838161434357fe5b04905080156143a75760015460005b818110156143a457826001828154811061436857fe5b906000526020600020906004020160030154016001828154811061438857fe5b6000918252602090912060036004909202010155600101614352565b50505b50600195945050505050565b6001548151604080518281526020808402820101909152606092919083908280156143f257816020015b60608152602001906001900390816143dd5790505b50600b54909150831461440957925061132d915050565b60005b8281101561451857600b60016004600089858151811061442857fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054038154811061445c57fe5b600091825260209182902060026016909202018101805460408051601f6000196101006001861615020190931694909404918201859004850284018501905280835291929091908301828280156144f45780601f106144c9576101008083540402835291602001916144f4565b820191906000526020600020905b8154815290600101906020018083116144d757829003601f168201915b505050505082828151811061450557fe5b602090810291909101015260010161440c565b50949350505050565b60005b8281101561466e5760008287838801604051602001614544929190616196565b6040516020818303038152906040528051906020012060001c8161456457fe5b06905080850182870114614665576000898388018151811061458257fe5b602002602001015190506060898489018151811061459c57fe5b602002602001015190508a838801815181106145b457fe5b60200260200101518b858a01815181106145ca57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050818b848901815181106145f957fe5b60200260200101906001600160a01b031690816001600160a01b031681525050898388018151811061462757fe5b60200260200101518a858a018151811061463d57fe5b6020026020010181905250808a8489018151811061465757fe5b602002602001018190525050505b50600101614524565b5050505050505050565b600980546001908101909155600b80548390811061469257fe5b906000526020600020906016020160010160006101000a81548160ff02191690831515021790555043600b82815481106146c857fe5b600091825260208220601690910201919091556040516001600160a01b038416917ff62981a567ec3cec866c6fa93c55bcdf841d6292d18b8d522ececa769375d82d91a25050565b600081604051602001614723919061617a565b604051602081830303815290604052805190602001208360405160200161474a919061617a565b6040516020818303038152906040528051906020012014905092915050565b015190565b6001600160a01b038116600090815260046020526040812054806147975750600019905061132d565b6001810390506000600182815481106147ac57fe5b90600052602060002090600402016003015490506000600183815481106147cf57fe5b6000918252602090912060036004909202010155600154604051600019909101906001600160a01b038616907f8cd4e147d8af98a9e3b6724021b8bf6aed2e5dac71c38f2dce8161b82585b25d90614828908590616d9d565b60405180910390a2806148405782935050505061132d565b600081838161484b57fe5b04905080156149075760005b848110156148a957816001828154811061486d57fe5b906000526020600020906004020160030154016001828154811061488d57fe5b6000918252602090912060036004909202010155600101614857565b50600180549085015b818110156149045782600182815481106148c857fe5b90600052602060002090600402016003015401600182815481106148e857fe5b60009182526020909120600360049092020101556001016148b2565b50505b5091949350505050565b614919615e59565b506040805180820190915281518152602082810190820152919050565b61493e615d12565b61494782615661565b61495057600080fd5b600061495f836020015161569b565b60208085015160408051808201909152868152920190820152915050919050565b600061498a615e59565b505080518051602091820151919092015191011190565b6149a9615e59565b6149b282614980565b6149bb57600080fd5b602082015160006149cb826156fe565b80830160209586015260408051808201909152908152938401919091525090919050565b805160009015801590614a0457508151602110155b614a0d57600080fd5b6000614a1c836020015161569b565b90508083600001511015614a425760405162461bcd60e51b8152600401610c3b90616b30565b82516020808501518301805192849003929183101561451857506020919091036101000a90049392505050565b6060614a7a82615661565b614a8357600080fd5b6000614a8e836157df565b9050606081604051908082528060200260200182016040528015614acc57816020015b614ab9615e59565b815260200190600190039081614ab15790505b5090506000614ade856020015161569b565b60208601510190506000805b84811015614b3557614afb836156fe565b9150604051806040016040528083815260200184815250848281518110614b1e57fe5b602090810291909101015291810191600101614aea565b509195945050505050565b614b48615d32565b60606000614b54615d32565b6060614b5e615d12565b614b6787614936565b90506000805b614b7683614980565b15614c4b5780614ba157614b91614b8c846149a1565b61583b565b6001600160a01b03168552614c43565b8060011415614bc957614bb6614b8c846149a1565b6001600160a01b03166020860152614c43565b8060021415614bf157614bde614b8c846149a1565b6001600160a01b03166040860152614c43565b8060031415614c1d57614c06612f85846149a1565b6001600160401b0316606086015260019150614c43565b8060041415614c3e57614c37614c32846149a1565b615855565b9350614c43565b614c4b565b600101614b6d565b50929791965091945092505050565b60606113dd614c68836158c5565b6159ab565b6060815160001415614c8e575060408051600081526020810190915261132d565b606082600081518110614c9d57fe5b602002602001015190506000600190505b8351811015614cde57614cd482858381518110614cc757fe5b60200260200101516159fd565b9150600101614cae565b50610ea2614cf1825160c060ff16615a7a565b826159fd565b606080600080808080614d086126c9565b6001549091505b8015614e1657600181039250600b8381548110614d2857fe5b600091825260209091206001601690920201015460ff16614d4857614e0d565b60018381548110614d5557fe5b60009182526020909120600490910201546001600160a01b03169450614d7c858484612d49565b9350831580614d8f575060018a51038610155b15614d9957614e0d565b60005b8a51811015614e0b57856001600160a01b03168b8281518110614dbb57fe5b6020026020010151600001516001600160a01b03161415614e035760018b8281518110614de457fe5b6020908102919091010151901515608090910152600190960195614e0b565b600101614d9c565b505b60001901614d0f565b5084895103604051908082528060200260200182016040528015614e5457816020015b614e41615d32565b815260200190600190039081614e395790505b50965084895103604051908082528060200260200182016040528015614e8e57816020015b6060815260200190600190039081614e795790505b5095506000915060005b8951811015614f2257898181518110614ead57fe5b602002602001015160800151614f1a57898181518110614ec957fe5b6020026020010151888481518110614edd57fe5b6020026020010181905250888181518110614ef457fe5b6020026020010151878481518110614f0857fe5b60200260200101819052508260010192505b600101614e98565b5050505050505b9250929050565b600154825160005b8281101561504d576001614f4a615d32565b60018381548110614f5757fe5b600091825260208083206040805160c08101825260049490940290910180546001600160a01b0390811685526001820154811693850193909352600281015492831691840191909152600160a01b82046001600160401b03166060840152600160e01b90910460ff16151560808301526003015460a082015291505b8481101561502157878181518110614fe757fe5b6020026020010151600001516001600160a01b031682600001516001600160a01b031614156150195760009250615021565b600101614fd3565b5081156150435780516001600160a01b03166000908152600460205260408120555b5050600101614f38565b508082111561510c57805b8281101561510a57600180548061506b57fe5b60008281526020812060046000199093019283020180546001600160a01b0319908116825560018201805490911690556002810180546001600160e81b0319169055600301559055600b8054806150be57fe5b60008281526020812060166000199093019283020181815560018101805460ff19169055906150f06002830182615e06565b6150fe600383016000615e4a565b50509055600101615058565b505b600081831061511b578161511d565b825b905060005b818110156153b0576151cf86828151811061513957fe5b60200260200101516001838154811061514e57fe5b60009182526020918290206040805160c08101825260049390930290910180546001600160a01b0390811684526001820154811694840194909452600281015493841691830191909152600160a01b83046001600160401b03166060830152600160e01b90920460ff161515608082015260039091015460a0820152615b4c565b6153835780600101600460008884815181106151e757fe5b6020026020010151600001516001600160a01b03166001600160a01b031681526020019081526020016000208190555085818151811061522357fe5b60200260200101516001828154811061523857fe5b6000918252602091829020835160049092020180546001600160a01b039283166001600160a01b0319918216178255928401516001820180549184169185169190911790556040840151600282018054606087015160808801511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b1995909716929097169190911792909216939093171692909217905560a09091015160039091015584518590829081106152f357fe5b6020026020010151600b828154811061530857fe5b9060005260206000209060160201600201908051906020019061532c929190615c47565b506000600b828154811061533c57fe5b60009182526020822060169190910201600101805460ff191692151592909217909155600b80548390811061536d57fe5b60009182526020909120601690910201556153a8565b60006001828154811061539257fe5b9060005260206000209060040201600301819055505b600101615122565b5082821115615588576153c1615c18565b835b83811015615585578581815181106153d757fe5b6020026020010151826040018190525060018782815181106153f557fe5b6020908102919091018101518254600181810185556000948552838520835160049093020180546001600160a01b039384166001600160a01b0319918216178255848601518284018054918616918316919091179055604080860151600284018054606089015160808a01511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b1995909a1692909616919091179290921696909617169190911790935560a090930151600390930192909255600b8054928301815590935284516016909102600080516020616ffb83398151915281019182558583015160008051602061703b8339815191528201805491151560ff199092169190911790559285015180518694929361552b9360008051602061701b83398151915201920190615c47565b5060608201516155419060038301906013615cc1565b505050806001016004600089848151811061555857fe5b602090810291909101810151516001600160a01b03168252810191909152604001600020556001016153c3565b50505b6000600981905560015493505b838110156155f6576000600b82815481106155ac57fe5b60009182526020822060169190910201600101805460ff191692151592909217909155600b8054839081106155dd57fe5b6000918252602090912060169091020155600101615595565b505050505050565b600081848411156156225760405162461bcd60e51b8152600401610c3b919061631b565b505050900390565b6000818361564b5760405162461bcd60e51b8152600401610c3b919061631b565b50600083858161565757fe5b0495945050505050565b80516000906156725750600061132d565b6020820151805160001a9060c08210156156915760009250505061132d565b5060019392505050565b8051600090811a60808110156156b557600091505061132d565b60b88110806156d0575060c081108015906156d0575060f881105b156156df57600191505061132d565b60c08110156156f35760b51901905061132d565b60f51901905061132d565b80516000908190811a608081101561571957600191506157d8565b60b881101561572e57607e19810191506157d8565b60c081101561577f57600060b78203600186019550806020036101000a8651049150600181018201935050808310156157795760405162461bcd60e51b8152600401610c3b906168bf565b506157d8565b60f88110156157945760be19810191506157d8565b600060f78203600186019550806020036101000a8651049150600181018201935050808310156157d65760405162461bcd60e51b8152600401610c3b906168bf565b505b5092915050565b80516000906157f05750600061132d565b60008090506000615804846020015161569b565b602085015185519181019250015b8082101561583257615823826156fe565b82019150826001019250615812565b50909392505050565b805160009060151461584c57600080fd5b6113dd826149ef565b805160609061586357600080fd5b6000615872836020015161569b565b83516040805191839003808352601f19601f82011683016020019091529192506060908280156158a9576020820181803683370190505b5090506000816020019050614518848760200151018285615bcd565b604080516020808252818301909252606091829190602082018180368337505050602081018490529050600067ffffffffffffffff1984166159095750601861592d565b6fffffffffffffffffffffffffffffffff1984166159295750601061592d565b5060005b60208110156159635781818151811061594257fe5b01602001516001600160f81b0319161561595b57615963565b60010161592d565b60008160200390506060816040519080825280601f01601f191660200182016040528015615998576020820181803683370190505b5080830196909652508452509192915050565b6060815160011480156159dd5750607f60f81b826000815181106159cb57fe5b01602001516001600160f81b03191611155b156159e957508061132d565b6113dd6159fb8351608060ff16615a7a565b835b6060806040519050835180825260208201818101602087015b81831015615a2e578051835260209283019201615a16565b50855184518101855292509050808201602086015b81831015615a5b578051835260209283019201615a43565b508651929092011591909101601f01601f191660405250905092915050565b6060680100000000000000008310615aa45760405162461bcd60e51b8152600401610c3b906166c3565b60408051600180825281830190925260609160208201818036833701905050905060378411615afe5782840160f81b81600081518110615ae057fe5b60200101906001600160f81b031916908160001a90535090506113dd565b6060615b09856158c5565b90508381510160370160f81b82600081518110615b2257fe5b60200101906001600160f81b031916908160001a905350615b4382826159fd565b95945050505050565b805182516000916001600160a01b039182169116148015615b86575081602001516001600160a01b031683602001516001600160a01b0316145b8015615bab575081604001516001600160a01b031683604001516001600160a01b0316145b8015610ea25750506060908101519101516001600160401b0390811691161490565b80615bd757610c5b565b5b60208110615bf7578251825260209283019290910190601f1901615bd8565b915181516020939093036101000a6000190180199091169216919091179052565b60405180608001604052806000815260200160001515815260200160608152602001615c42615e73565b905290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10615c8857805160ff1916838001178555615cb5565b82800160010185558215615cb5579182015b82811115615cb5578251825591602001919060010190615c9a565b50612704929150615e92565b8260138101928215615cb55791602002820182811115615cb5578251825591602001919060010190615c9a565b6040518060600160405280600060ff16815260200160608152602001606081525090565b6040518060400160405280615d25615e59565b8152602001600081525090565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10615da05780548555615cb5565b82800160010185558215615cb557600052602060002091601f016020900482015b82811115615cb5578254825591600101919060010190615dc1565b8260138101928215615cb55791820182811115615cb5578254825591600101919060010190615dc1565b50805460018160011615610100020316600290046000825580601f10615e2c5750611539565b601f0160209004906000526020600020908101906115399190615e92565b50611539906013810190615e92565b604051806040016040528060008152602001600081525090565b6040518061026001604052806013906020820280368337509192915050565b6126b691905b808211156127045760008155600101615e98565b60008083601f840112615ebd578182fd5b5081356001600160401b03811115615ed3578182fd5b6020830191508360208083028501011115614f2957600080fd5b60008083601f840112615efe578182fd5b5081356001600160401b03811115615f14578182fd5b602083019150836020828501011115614f2957600080fd5b600060208284031215615f3d578081fd5b81356001600160a01b0381168114610ea2578182fd5b60008060008060408587031215615f68578283fd5b84356001600160401b0380821115615f7e578485fd5b615f8a88838901615eac565b90965094506020870135915080821115615fa2578384fd5b50615faf87828801615eac565b95989497509550505050565b600060208284031215615fcc578081fd5b81518015158114610ea2578182fd5b60008060008060408587031215615ff0578384fd5b84356001600160401b0380821115616006578586fd5b61601288838901615eed565b9096509450602087013591508082111561602a578384fd5b50615faf87828801615eed565b600060208284031215616048578081fd5b5035919050565b600060208284031215616060578081fd5b5051919050565b60008060408385031215616079578182fd5b505080516020909101519092909150565b60008060006040848603121561609e578283fd5b833560ff811681146160ae578384fd5b925060208401356001600160401b038111156160c8578283fd5b6160d486828701615eed565b9497909650939450505050565b6000815180845260208085019450808401835b838110156161195781516001600160a01b0316875295820195908201906001016160f4565b509495945050505050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452616166816020860160208601616e03565b601f01601f19169290920160200192915050565b6000825161618c818460208701616e03565b9190910192915050565b918252602082015260400190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03968716815294861660208601529290941660408401526001600160401b03166060830152911515608082015260a081019190915260c00190565b600060208252610ea260208301846160e1565b60006040825261623960408301856160e1565b602083820381850152818551808452828401915082838202850101838801865b8381101561628757601f1987840301855261627583835161614e565b94860194925090850190600101616259565b50909998505050505050505050565b6000608082526162a960808301876160e1565b828103602084810191909152865180835287820192820190845b818110156162df578451835293830193918301916001016162c3565b505084810360408601526162f381886160e1565b93505050506001600160401b038316606083015295945050505050565b901515815260200190565b600060208252610ea2602083018461614e565b600060408252616342604083018688616124565b8281036020840152616355818587616124565b979650505050505050565b6020808252601c908201527f6c656e677468206f66206275726e526174696f206d69736d6174636800000000604082015260600190565b60208082526026908201527f6c656e677468206f66206d61784e756d4f664d61696e7461696e696e67206d696040820152650e6dac2e8c6d60d31b606082015260800190565b6020808252601b908201527f6261746368207472616e736665722072657475726e2066616c73650000000000604082015260600190565b6020808252602c908201527f6c656e677468206f66206d61784e756d4f66576f726b696e6743616e6469646160408201526b0e8cae640dad2e6dac2e8c6d60a31b606082015260800190565b60208082526025908201527f6c656e677468206f66206d61696e7461696e536c6173685363616c65206d69736040820152640dac2e8c6d60db1b606082015260800190565b6020808252818101527f6c656e677468206f66206e756d4f66436162696e657473206d69736d61746368604082015260600190565b60208082526019908201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526028908201527f746865206e756d4f66436162696e657473206d75737420626520677265617465604082015267072207468616e20360c41b606082015260800190565b60208082526039908201527f746865206e756d4f66436162696e657473206d757374206265206c657373207460408201527f68616e204d41585f4e554d5f4f465f56414c494441544f525300000000000000606082015260800190565b60208082526029908201527f746865206e756d626572206f662076616c696461746f727320657863656564206040820152681d1a19481b1a5b5a5d60ba1b606082015260800190565b60208082526022908201527f63616e206e6f7420646f207468697320747769636520696e206f6e6520626c6f604082015261636b60f01b606082015260800190565b6020808252602b908201527f746865206275726e526174696f206d757374206265206e6f206772656174657260408201526a0207468616e2031303030360ac1b606082015260800190565b6020808252600e908201526d696e70757420746f6f206c6f6e6760901b604082015260600190565b60208082526037908201527f746865206d61784e756d4f664d61696e7461696e696e67206d7573742062652060408201527f6c657373207468616e206e756d4f66436162696e657473000000000000000000606082015260800190565b6020808252602b908201527f6475706c696361746520636f6e73656e7375732061646472657373206f66207660408201526a185b1a59185d1bdc94d95d60aa1b606082015260800190565b60208082526027908201527f7468652065787069726554696d655365636f6e64476170206973206f7574206f604082015266662072616e676560c81b606082015260800190565b6020808252601590820152746465706f7369742076616c7565206973207a65726f60581b604082015260600190565b60208082526049908201527f746865206d61784e756d4f66576f726b696e6743616e64696461746573206d7560408201527f7374206265206e6f742067726561746572207468616e206d61784e756d4f6643606082015268616e6469646174657360b81b608082015260a00190565b60208082526027908201527f7468652066696e616c697479526577617264526174696f206973206f7574206f604082015266662072616e676560c81b606082015260800190565b6020808252601190820152706164646974696f6e206f766572666c6f7760781b604082015260600190565b60208082526023908201527f63616e206e6f7420656e7465722054656d706f72617279204d61696e74656e616040820152626e636560e81b606082015260800190565b60208082526025908201527f6c656e677468206f66206a61696c2076616c696461746f7273206d757374206260408201526465206f6e6560d81b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252602e908201527f746865206d6573736167652073656e646572206d75737420626520676f76657260408201526d1b985b98d94818dbdb9d1c9858dd60921b606082015260800190565b60208082526025908201527f6c656e677468206f66206d61784e756d4f6643616e64696461746573206d69736040820152640dac2e8c6d60db1b606082015260800190565b6020808252601290820152716e6f7420696e206d61696e74656e616e636560701b604082015260600190565b60208082526021908201527f666565206973206c6172676572207468616e2044555354595f494e434f4d494e6040820152604760f81b606082015260800190565b60208082526019908201527f74686520636f6e747261637420616c726561647920696e697400000000000000604082015260600190565b60208082526026908201527f6c656e677468206f662066696e616c697479526577617264526174696f206d696040820152650e6dac2e8c6d60d31b606082015260800190565b6020808252601a908201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604082015260600190565b60208082526026908201527f6c656e677468206f662065787069726554696d655365636f6e64476170206d696040820152650e6dac2e8c6d60d31b606082015260800190565b60208082526017908201527f6f6e6c792063757272656e742076616c696461746f7273000000000000000000604082015260600190565b60208082526021908201527f6661696c656420746f20706172736520696e69742076616c696461746f7253656040820152601d60fa1b606082015260800190565b6020808252602f908201527f746865206d6573736167652073656e646572206d7573742062652063726f737360408201526e0818da185a5b8818dbdb9d1c9858dd608a1b606082015260800190565b6020808252602d908201527f746865206d6573736167652073656e646572206d75737420626520746865206260408201526c3637b1b590383937b23ab1b2b960991b606082015260800190565b6020808252603e908201527f746865206d61696e7461696e536c6173685363616c65206d757374206265206760408201527f726561746572207468616e203020616e64206c657373207468616e2031300000606082015260800190565b6020808252600d908201526c756e6b6e6f776e20706172616d60981b604082015260600190565b60208082526029908201527f746865206d6573736167652073656e646572206d75737420626520736c6173686040820152680818dbdb9d1c9858dd60ba1b606082015260800190565b61ffff91909116815260200190565b90815260200190565b6000848252831515602083015260606040830152615b43606083018461614e565b63ffffffff91909116815260200190565b60ff91909116815260200190565b600060ff8516825260406020830152615b43604083018486616124565b60005b83811015616e1e578181015183820152602001616e06565b83811115612c69575050600091015256fef901a880f901a4f844941284214b9b9c85549ab3d2b972df0deef66ac2c9946ddf42a51534fc98d0c0a3b42c963cace8441ddf946ddf42a51534fc98d0c0a3b42c963cace8441ddf8410000000f84494a2959d3f95eae5dc7d70144ce1b73b403b7eb6e0948081ef03f1d9e0bb4a5bf38f16285c879299f07f948081ef03f1d9e0bb4a5bf38f16285c879299f07f8410000000f8449435552c16704d214347f29fa77f77da6d75d7c75294dc4973e838e3949c77aced16ac2315dc2d7ab11194dc4973e838e3949c77aced16ac2315dc2d7ab1118410000000f84494980a75ecd1309ea12fa2ed87a8744fbfc9b863d594cc6ac05c95a99c1f7b5f88de0e3486c82293b27094cc6ac05c95a99c1f7b5f88de0e3486c82293b2708410000000f84494f474cf03cceff28abc65c9cbae594f725c80e12d94e61a183325a18a173319dd8e19c8d069459e217594e61a183325a18a173319dd8e19c8d069459e21758410000000f84494b71b214cb885500844365e95cd9942c7276e7fd894d22ca3ba2141d23adab65ce4940eb7665ea2b6a794d22ca3ba2141d23adab65ce4940eb7665ea2b6a7841000000070e72399380dcfb0338abc03dc8d47f9f470ada8e769c9a78d644ea97385ecb20175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbb0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbaa264697066735822122066baf1b414176214a54e961d8a8bfa2613b6bb53f85786a9a7171a3bac231aa564736f6c63430006040033", + CommitUrl: "https://github.com/node-real/bsc-genesis-contract/commit/b144718e94d7a1ebb24a7103202300f08826f369", + Code: "60806040526004361061046c5760003560e01c8063862498821161024a578063c6d3394511610139578063e40716a1116100b6578063f9a2bbc71161007a578063f9a2bbc714610b6b578063fc3e590814610b80578063fccc281314610b95578063fd4ad81f14610baa578063fd6a687914610bd957610473565b8063e40716a114610af9578063eb57e20214610b0e578063eda5868c14610b2e578063f340fa0114610b43578063f92eb86b14610b5657610473565b8063d86222d5116100fd578063d86222d514610a90578063daacdb6614610aa5578063dc927faf14610aba578063e086c7b114610acf578063e1c7392a14610ae457610473565b8063c6d3394514610a3c578063c81b166214610a51578063c8509d811461085f578063d04aa99614610a66578063d68fb56a14610a7b57610473565b8063a5422d5c116101c7578063ad3c9da61161018b578063ad3c9da6146109d0578063aef198a9146109f0578063b7ab4db514610a05578063b8cf4ef114610a27578063bf9f49951461062f57610473565b8063a5422d5c1461095c578063a78abc1614610971578063aaf5eb6814610986578063ab51bb961461099b578063ac431751146109b057610473565b806396713da91161020e57806396713da9146108f35780639dc09262146109085780639fe0f8161461091d578063a0dc275814610932578063a1a11bf51461094757610473565b8063862498821461087f57806388b32f11146108945780638b5ad0c9146108a95780638d19a410146108be5780639369d7de146108de57610473565b80634df6e0c3116103665780636e47b482116102e35780637942fd05116102a75780637942fd05146108205780637a84ca2a1461083557806381650b621461084a578063831d65d11461085f578063853230aa1461080b57610473565b80636e47b482146107b757806370fd5bad146107cc578063718a8aa8146107e157806375d47a0a146107f657806378dfed4a1461080b57610473565b8063565c56b31161032a578063565c56b3146107265780635667515a146107465780635d77156c1461075b57806362b72cf5146107705780636969a25c1461078557610473565b80634df6e0c3146106b25780635192c82c146106c757806351e80672146106dc578063549b03f2146106f157806355614fcc1461070657610473565b8063321d398a116103f45780633dffc387116103b85780633dffc3871461062f57806343756e5c1461065157806345cf9daf14610666578063493279b11461067b5780634bf6c8821461069d57610473565b8063321d398a146105975780633365af3a146105b757806335409f7f146105d75780633b071dcc146105f75780633de0f0d81461061a57610473565b80631182b8751161043b5780631182b875146104fe578063152ad3b81461052b5780631ff180691461054d578063219f22d514610562578063300c35671461057757610473565b806304c4fec61461047857806307a568471461048f5780630bee7a67146104ba5780630e2374a5146104dc57610473565b3661047357005b600080fd5b34801561048457600080fd5b5061048d610bee565b005b34801561049b57600080fd5b506104a4610c60565b6040516104b19190616ef0565b60405180910390f35b3480156104c657600080fd5b506104cf610c66565b6040516104b19190616f1a565b3480156104e857600080fd5b506104f1610c6b565b6040516104b191906162f7565b34801561050a57600080fd5b5061051e6105193660046161dd565b610c71565b6040516104b1919061646e565b34801561053757600080fd5b50610540610ea9565b6040516104b19190616463565b34801561055957600080fd5b506104a4610eb2565b34801561056e57600080fd5b506104cf610eb8565b34801561058357600080fd5b5061048d6105923660046160a6565b610ebd565b3480156105a357600080fd5b506105406105b236600461618a565b611241565b3480156105c357600080fd5b506105406105d236600461618a565b611310565b3480156105e357600080fd5b5061048d6105f236600461607f565b6113c1565b34801561060357600080fd5b5061060c61151a565b6040516104b1929190616379565b34801561062657600080fd5b506104a46117f6565b34801561063b57600080fd5b506106446117fc565b6040516104b19190616f2b565b34801561065d57600080fd5b506104f1611801565b34801561067257600080fd5b506104a4611807565b34801561068757600080fd5b5061069061180d565b6040516104b19190616ee1565b3480156106a957600080fd5b50610644611812565b3480156106be57600080fd5b5061060c611817565b3480156106d357600080fd5b506104a4611995565b3480156106e857600080fd5b506104f161199b565b3480156106fd57600080fd5b506104a46119a1565b34801561071257600080fd5b5061054061072136600461607f565b6119a7565b34801561073257600080fd5b506104a461074136600461607f565b6119dc565b34801561075257600080fd5b50610644611a2d565b34801561076757600080fd5b506104cf611a32565b34801561077c57600080fd5b506104a4611a37565b34801561079157600080fd5b506107a56107a036600461618a565b611a3d565b6040516104b196959493929190616324565b3480156107c357600080fd5b506104f1611aa1565b3480156107d857600080fd5b50610644611aa7565b3480156107ed57600080fd5b50610644611aac565b34801561080257600080fd5b506104f1611ab1565b34801561081757600080fd5b506104a4611ab7565b34801561082c57600080fd5b50610644611abd565b34801561084157600080fd5b506104a4611ac2565b34801561085657600080fd5b506104cf611ac8565b34801561086b57600080fd5b5061048d61087a3660046161dd565b611acd565b34801561088b57600080fd5b506104a4611b2e565b3480156108a057600080fd5b506104a4611b34565b3480156108b557600080fd5b506104a4611b3a565b3480156108ca57600080fd5b506104a46108d936600461607f565b611b40565b3480156108ea57600080fd5b5061048d611b80565b3480156108ff57600080fd5b50610644611c94565b34801561091457600080fd5b506104f1611c99565b34801561092957600080fd5b506104a4611c9f565b34801561093e57600080fd5b506104a4611ca4565b34801561095357600080fd5b506104f1611ca9565b34801561096857600080fd5b5061051e611caf565b34801561097d57600080fd5b50610540611cce565b34801561099257600080fd5b506104a4611cd7565b3480156109a757600080fd5b506104cf611a2d565b3480156109bc57600080fd5b5061048d6109cb36600461612e565b611ce0565b3480156109dc57600080fd5b506104a46109eb36600461607f565b61258c565b3480156109fc57600080fd5b506104a461259e565b348015610a1157600080fd5b50610a1a6125ab565b6040516104b19190616366565b348015610a3357600080fd5b506104a4612697565b348015610a4857600080fd5b506104a4611aa7565b348015610a5d57600080fd5b506104f161269c565b348015610a7257600080fd5b506104a46126a2565b348015610a8757600080fd5b506104a46126a7565b348015610a9c57600080fd5b506104a46126e6565b348015610ab157600080fd5b506104a46126f2565b348015610ac657600080fd5b506104f16126f8565b348015610adb57600080fd5b506104a46126fe565b348015610af057600080fd5b5061048d612703565b348015610b0557600080fd5b506104a46128b2565b348015610b1a57600080fd5b5061048d610b2936600461607f565b6128b8565b348015610b3a57600080fd5b506104cf6129c0565b61048d610b5136600461607f565b6129c5565b348015610b6257600080fd5b506104a4612c4d565b348015610b7757600080fd5b506104f1612c53565b348015610b8c57600080fd5b50610644611c9f565b348015610ba157600080fd5b506104f1612c59565b348015610bb657600080fd5b50610bca610bc536600461618a565b612c5f565b6040516104b193929190616ef9565b348015610be557600080fd5b506104f1612d21565b6000610bf933611b40565b9050600b8181548110610c0857fe5b600091825260209091206001601690920201015460ff16610c445760405162461bcd60e51b8152600401610c3b90616b99565b60405180910390fd5b6000610c4e6126a7565b9050610c5b338383612d27565b505050565b60095481565b606481565b61200181565b60005460609060ff16610c965760405162461bcd60e51b8152600401610c3b9061662d565b3361200014610cb75760405162461bcd60e51b8152600401610c3b90616d78565b600b54610d7557610cc6615d6b565b60015460005b81811015610d7157600b8054600181018255600091909152835160008051602061714e833981519152601690920291820190815560208086015160008051602061718e8339815191528401805460ff1916911515919091179055604086015180518794610d4d9360008051602061716e833981519152909101920190615d9a565b506060820151610d639060038301906013615e14565b505050806001019050610ccc565b5050505b610d7d615e41565b6000610dbe85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612f1392505050565b9150915080610dda57610dd160646130cf565b92505050610ea2565b815160009060ff16610dff57610df883602001518460400151613130565b9050610e6e565b825160ff1660011415610e6a57826020015151600114610e445760008051602061712e833981519152604051610e3490616a80565b60405180910390a1506067610e65565b610df88360200151600081518110610e5857fe5b6020026020010151613d84565b610e6e565b5060655b63ffffffff8116610e935750506040805160008152602081019091529150610ea29050565b610e9c816130cf565b93505050505b9392505050565b60075460ff1681565b60035481565b606881565b334114610edc5760405162461bcd60e51b8152600401610c3b90616dc7565b6010544311610efd5760405162461bcd60e51b8152600401610c3b90616789565b60005460ff16610f1f5760405162461bcd60e51b8152600401610c3b9061662d565b600f54610f37576032600f5561100231601155611237565b60006110023168056bc75e2d63100000811115610f6657610f5f81606463ffffffff613efb16565b9150610faf565b601154811115610fa857610f5f6064610f9c600f54610f9060115486613f3d90919063ffffffff16565b9063ffffffff613f7f16565b9063ffffffff613efb16565b5050611237565b6040516309a99b4f60e41b815261100290639a99b4f090610fd6903090869060040161630b565b602060405180830381600087803b158015610ff057600080fd5b505af1158015611004573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102891906161a2565b6110023160115591508161103d575050611237565b6000805b8481101561106b5785858281811061105557fe5b9050602002013582019150806001019050611041565b508061107957505050611237565b6000806000805b8981101561122f578489898381811061109557fe5b905060200201358802816110a557fe5b0493508a8a828181106110b457fe5b90506020020160208101906110c9919061607f565b6001600160a01b038116600090815260046020526040902054909350915081156111e55760006001808403815481106110fe57fe5b9060005260206000209060040201905080600201601c9054906101000a900460ff161561116b57836001600160a01b03167fb9c75cbbfde137c4281689580799ef5f52144e78858f776a5979b2b212137d858660405161115e9190616ef0565b60405180910390a26111df565b60035461117e908663ffffffff613fb916565b6003908155810154611196908663ffffffff613fb916565b60038201556040516001600160a01b038516907fcb0aad6cf9cd03bdf6137e359f541c42f38b39f007cae8e89e88aa7d8c6617b2906111d6908890616ef0565b60405180910390a25b50611227565b826001600160a01b03167fb9c75cbbfde137c4281689580799ef5f52144e78858f776a5979b2b212137d858560405161121e9190616ef0565b60405180910390a25b600101611080565b505050505050505b5050436010555050565b60015460009082106112555750600061130b565b60006001600160a01b03166001838154811061126d57fe5b60009182526020909120600490910201546001600160a01b0316148061129d5750600854158061129d5750600a54155b806112ac575060085460095410155b806112bd57506112bb82611310565b155b806112e657506000600b83815481106112d257fe5b906000526020600020906016020160000154115b806112fa575060016112f66125ab565b5111155b156113075750600061130b565b5060015b919050565b60015460009082106113245750600061130b565b600b548210611361576001828154811061133a57fe5b9060005260206000209060040201600201601c9054906101000a900460ff1615905061130b565b6001828154811061136e57fe5b9060005260206000209060040201600201601c9054906101000a900460ff161580156113bb5750600b82815481106113a257fe5b600091825260209091206001601690920201015460ff16155b92915050565b33611001146113e25760405162461bcd60e51b8152600401610c3b90616e98565b600b546114a0576113f1615d6b565b60015460005b8181101561149c57600b8054600181018255600091909152835160008051602061714e833981519152601690920291820190815560208086015160008051602061718e8339815191528401805460ff19169115159190911790556040860151805187946114789360008051602061716e833981519152909101920190615d9a565b50606082015161148e9060038301906013615e14565b5050508060010190506113f7565b5050505b6001600160a01b038116600090815260046020526040902054806114c45750611517565b6001810390506000600b82815481106114d957fe5b600091825260209091206001601690920201015460ff1690506114fc8383613fde565b80156115055750805b15610c5b576009805460001901905550505b50565b60015460609081906000805b8281101561156d576001818154811061153b57fe5b9060005260206000209060040201600201601c9054906101000a900460ff16611565576001909101905b600101611526565b5060608160405190808252806020026020018201604052801561159a578160200160208202803683370190505b5090506060826040519080825280602002602001820160405280156115d357816020015b60608152602001906001900390816115be5790505b50600b546000945090915084141561174e5760005b8481101561174857600181815481106115fd57fe5b9060005260206000209060040201600201601c9054906101000a900460ff16611740576001818154811061162d57fe5b600091825260209091206004909102015483516001600160a01b039091169084908690811061165857fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600b818154811061168557fe5b600091825260209182902060026016909202018101805460408051601f60001961010060018616150201909316949094049182018590048502840185019052808352919290919083018282801561171d5780601f106116f25761010080835404028352916020019161171d565b820191906000526020600020905b81548152906001019060200180831161170057829003601f168201915b505050505082858151811061172e57fe5b60209081029190910101526001909301925b6001016115e8565b506117ea565b60005b848110156117e8576001818154811061176657fe5b9060005260206000209060040201600201601c9054906101000a900460ff166117e0576001818154811061179657fe5b600091825260209091206004909102015483516001600160a01b03909116908490869081106117c157fe5b6001600160a01b03909216602092830291909101909101526001909301925b600101611751565b505b909450925050505b9091565b61271081565b600181565b61100181565b60085481565b606181565b600881565b600e54600c5460609182918061182b575060155b60606118356125ab565b9050606061184282614391565b9050828251116118595790945092506117f2915050565b8383835103101561186b578282510393505b83156118a15760c8430461188783838388880360008a8a6144ff565b61189f8383838888038989038a8b8b8b5103016144ff565b505b6060836040519080825280602002602001820160405280156118cd578160200160208202803683370190505b50905060608460405190808252806020026020018201604052801561190657816020015b60608152602001906001900390816118f15790505b50905060005b858110156119875784818151811061192057fe5b602002602001015183828151811061193457fe5b60200260200101906001600160a01b031690816001600160a01b03168152505083818151811061196057fe5b602002602001015182828151811061197457fe5b602090810291909101015260010161190c565b509096509450505050509091565b60065481565b61200081565b600f5481565b6001600160a01b038116600090815260046020526040812054806119cf57600091505061130b565b60001901610ea281611310565b6001600160a01b03811660009081526004602052604081205480611a0457600091505061130b565b600180820381548110611a1357fe5b906000526020600020906004020160030154915050919050565b600081565b606781565b60105481565b60018181548110611a4a57fe5b600091825260209091206004909102018054600182015460028301546003909301546001600160a01b0392831694509082169291821691600160a01b81046001600160401b031691600160e01b90910460ff169086565b61100581565b600281565b601081565b61100881565b6103e881565b600b81565b600c5481565b606681565b3361200014611aee5760405162461bcd60e51b8152600401610c3b90616d78565b7f41ce201247b6ceb957dcdb217d0b8acb50b9ea0e12af9af4f5e7f38902101605838383604051611b2193929190616f39565b60405180910390a1505050565b60025481565b60115481565b600a5481565b6001600160a01b03811660009081526004602052604081205480611b765760405162461bcd60e51b8152600401610c3b90616d00565b6000190192915050565b600b54611c3e57611b8f615d6b565b60015460005b81811015611c3a57600b8054600181018255600091909152835160008051602061714e833981519152601690920291820190815560208086015160008051602061718e8339815191528401805460ff1916911515919091179055604086015180518794611c169360008051602061716e833981519152909101920190615d9a565b506060820151611c2c9060038301906013615e14565b505050806001019050611b95565b5050505b600854611c4b5760036008555b600a54611c58576002600a555b6000611c6333611b40565b9050611c6e81611241565b611c8a5760405162461bcd60e51b8152600401610c3b90616a3d565b6115173382614656565b600981565b61100781565b600381565b60c881565b61100681565b604051806101e001604052806101ab8152602001616f836101ab913981565b60005460ff1681565b6402540be40081565b60005460ff16611d025760405162461bcd60e51b8152600401610c3b9061662d565b3361100714611d235760405162461bcd60e51b8152600401610c3b90616b06565b611d8d84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080518082019091526013815272065787069726554696d655365636f6e6447617606c1b602082015291506146ee9050565b15611e2a5760208114611db25760405162461bcd60e51b8152600401610c3b90616cba565b604080516020601f8401819004810282018101909252828152600091611df09185858083850183828082843760009201919091525061474792505050565b905060648110158015611e065750620186a08111155b611e225760405162461bcd60e51b8152600401610c3b906168e6565b600255612549565b611e8a84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260098152686275726e526174696f60b81b602082015291506146ee9050565b15611f265760208114611eaf5760405162461bcd60e51b8152600401610c3b906164b3565b604080516020601f8401819004810282018101909252828152600091611eed9185858083850183828082843760009201919091525061474792505050565b9050612710811115611f115760405162461bcd60e51b8152600401610c3b906167cb565b6006556007805460ff19166001179055612549565b611f9084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260138152726d61784e756d4f664d61696e7461696e696e6760681b602082015291506146ee9050565b1561202a5760208114611fb55760405162461bcd60e51b8152600401610c3b906164ea565b604080516020601f8401819004810282018101909252828152600091611ff39185858083850183828082843760009201919091525061474792505050565b600c5490915080612002575060155b8082106120215760405162461bcd60e51b8152600401610c3b9061683e565b50600855612549565b61209384848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260128152716d61696e7461696e536c6173685363616c6560701b602082015291506146ee9050565b1561212c57602081146120b85760405162461bcd60e51b8152600401610c3b906165b3565b604080516020601f84018190048102820181019092528281526000916120f69185858083850183828082843760009201919091525061474792505050565b90506000811180156121085750600a81105b6121245760405162461bcd60e51b8152600401610c3b90616e14565b600a55612549565b6121a084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601981527f6d61784e756d4f66576f726b696e6743616e6469646174657300000000000000602082015291506146ee9050565b1561222f57602081146121c55760405162461bcd60e51b8152600401610c3b90616567565b604080516020601f84018190048102820181019092528281526000916122039185858083850183828082843760009201919091525061474792505050565b9050600d548111156122275760405162461bcd60e51b8152600401610c3b9061695c565b600e55612549565b61229884848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260128152716d61784e756d4f6643616e6469646174657360701b602082015291506146ee9050565b1561231a57602081146122bd5760405162461bcd60e51b8152600401610c3b90616b54565b604080516020601f84018190048102820181019092528281526000916122fb9185858083850183828082843760009201919091525061474792505050565b600d819055600e5490915081101561231457600d54600e555b50612549565b61237e84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600d81526c6e756d4f66436162696e65747360981b602082015291506146ee9050565b1561242c57602081146123a35760405162461bcd60e51b8152600401610c3b906165f8565b604080516020601f84018190048102820181019092528281526000916123e19185858083850183828082843760009201919091525061474792505050565b9050600081116124035760405162461bcd60e51b8152600401610c3b9061669b565b60298111156124245760405162461bcd60e51b8152600401610c3b906166e3565b600c55612549565b61249684848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601381527266696e616c697479526577617264526174696f60681b602082015291506146ee9050565b1561253157602081146124bb5760405162461bcd60e51b8152600401610c3b90616c3d565b604080516020601f84018190048102820181019092528281526000916124f99185858083850183828082843760009201919091525061474792505050565b90506001811015801561250d575060648111155b6125295760405162461bcd60e51b8152600401610c3b906169cb565b600f55612549565b60405162461bcd60e51b8152600401610c3b90616e71565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a8484848460405161257e9493929190616481565b60405180910390a150505050565b60046020526000908152604090205481565b68056bc75e2d6310000081565b6001546060906000805b828110156125da576125c681611310565b156125d2578160010191505b6001016125b5565b50606081604051908082528060200260200182016040528015612607578160200160208202803683370190505b5090506000915060005b8381101561268e5761262281611310565b15612686576001818154811061263457fe5b600091825260209091206004909102015482516001600160a01b039091169083908590811061265f57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508260010192505b600101612611565b50925050505b90565b601581565b61100281565b603281565b60006126b16125ab565b519050600080600c54116126c65760156126ca565b600c545b9050808211156126d8578091505b816126e257600191505b5090565b67016345785d8a000081565b60055481565b61100381565b602981565b60005460ff16156127265760405162461bcd60e51b8152600401610c3b90616c06565b61272e615e41565b6000612754604051806101e001604052806101ab8152602001616f836101ab9139612f13565b91509150806127755760405162461bcd60e51b8152600401610c3b90616d37565b60005b82602001515181101561289a5760018360200151828151811061279757fe5b60209081029190910181015182546001818101855560009485528385208351600493840290910180546001600160a01b039283166001600160a01b03199182161782558587015182850180549185169183169190911790556040860151600283018054606089015160808a01511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b199590981692909516919091179290921694909417161790915560a09093015160039093019290925591860151805191850193918590811061286d57fe5b602090810291909101810151516001600160a01b0316825281019190915260400160002055600101612778565b50506103e8600255506000805460ff19166001179055565b600d5481565b33611001146128d95760405162461bcd60e51b8152600401610c3b90616e98565b600b54612997576128e8615d6b565b60015460005b8181101561299357600b8054600181018255600091909152835160008051602061714e833981519152601690920291820190815560208086015160008051602061718e8339815191528401805460ff191691151591909117905560408601518051879461296f9360008051602061716e833981519152909101920190615d9a565b5060608201516129859060038301906013615e14565b5050508060010190506128ee565b5050505b60006129a28261474c565b90506129ad81611241565b156129bc576129bc8282614656565b5050565b606581565b3341146129e45760405162461bcd60e51b8152600401610c3b90616dc7565b60005460ff16612a065760405162461bcd60e51b8152600401610c3b9061662d565b60003411612a265760405162461bcd60e51b8152600401610c3b9061692d565b6001600160a01b0381166000908152600460205260409020546007543491906103e89060ff1615612a5657506006545b600083118015612a665750600081115b15612b07576000612a83612710610f9c868563ffffffff613f7f16565b90508015612b055760405161dead9082156108fc029083906000818181858888f19350505050158015612aba573d6000803e3d6000fd5b507f627059660ea01c4733a328effb2294d2f86905bf806da763a89cee254de8bee581604051612aea9190616ef0565b60405180910390a1612b02848263ffffffff613f3d16565b93505b505b8115612c05576000600180840381548110612b1e57fe5b9060005260206000209060040201905080600201601c9054906101000a900460ff1615612b8b57846001600160a01b03167ff177e5d6c5764d79c32883ed824111d9b13f5668cf6ab1cc12dd36791dd955b485604051612b7e9190616ef0565b60405180910390a2612bff565b600354612b9e908563ffffffff613fb916565b6003908155810154612bb6908563ffffffff613fb916565b60038201556040516001600160a01b038616907f93a090ecc682c002995fad3c85b30c5651d7fd29b0be5da9d784a3302aedc05590612bf6908790616ef0565b60405180910390a25b50612c47565b836001600160a01b03167ff177e5d6c5764d79c32883ed824111d9b13f5668cf6ab1cc12dd36791dd955b484604051612c3e9190616ef0565b60405180910390a25b50505050565b600e5481565b61100081565b61dead81565b600b8181548110612c6c57fe5b6000918252602091829020601691909102018054600180830154600280850180546040805161010096831615969096026000190190911692909204601f810188900488028501880190925281845293965060ff90911694919291830182828015612d175780601f10612cec57610100808354040283529160200191612d17565b820191906000526020600020905b815481529060010190602001808311612cfa57829003601f168201915b5050505050905083565b61100481565b6000600a5460001480612d38575081155b80612d435750600954155b15612d5057506000610ea2565b60096000815460019003919050819055506000612d9b600a54610f9c85610f9c600b8981548110612d7d57fe5b6000918252602090912060169091020154439063ffffffff613f3d16565b90506000600b8581548110612dac57fe5b906000526020600020906016020160010160006101000a81548160ff0219169083151502179055506000806110016001600160a01b0316638256ace66040518163ffffffff1660e01b8152600401604080518083038186803b158015612e1157600080fd5b505afa158015612e25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e4991906161ba565b9150915060009350808310612ec357612e628787613fde565b506040516305bfb49960e41b815261100190635bfb499090612e88908a906004016162f7565b600060405180830381600087803b158015612ea257600080fd5b505af1158015612eb6573d6000803e3d6000fd5b5050505060019350612ed5565b818310612ed557612ed38761474c565b505b6040516001600160a01b038816907fb9d38178dc641ff1817967a63c9078cbcd955a9f1fcd75e0e3636de615d44d3b90600090a25050509392505050565b612f1b615e41565b6000612f25615e41565b612f2d615e65565b612f3e612f39866148ef565b614914565b90506000805b612f4d8361495e565b156130c15780612f7257612f68612f638461497f565b6149cd565b60ff1684526130b9565b80600114156130b4576060612f8e612f898561497f565b614a4d565b90508051604051908082528060200260200182016040528015612fcb57816020015b612fb8615e85565b815260200190600190039081612fb05790505b508560200181905250805160405190808252806020026020018201604052801561300957816020015b6060815260200190600190039081612ff45790505b50604086015260005b81518110156130a957613023615e85565b6060600061304385858151811061303657fe5b6020026020010151614b1e565b92509250925080613063578860009a509a505050505050505050506130ca565b828960200151858151811061307457fe5b6020026020010181905250818960400151858151811061309057fe5b6020026020010181905250505050806001019050613012565b5060019250506130b9565b6130c1565b600101612f44565b50919350909150505b915091565b604080516001808252818301909252606091829190816020015b60608152602001906001900390816130e957905050905061310f8363ffffffff16614c38565b8160008151811061311c57fe5b6020026020010181905250610ea281614c4b565b60006029835111156131675760008051602061712e83398151915260405161315790616740565b60405180910390a15060666113bb565b60005b83518110156132055760005b818110156131fc5784818151811061318a57fe5b6020026020010151600001516001600160a01b03168583815181106131ab57fe5b6020026020010151600001516001600160a01b031614156131f45760008051602061712e8339815191526040516131e19061689b565b60405180910390a16066925050506113bb565b600101613176565b5060010161316a565b506060806132138585614cd5565b60015491935091506000908190815b818110156132985767016345785d8a00006001828154811061324057fe5b9060005260206000209060040201600301541061326257836001019350613290565b60006001828154811061327157fe5b9060005260206000209060040201600301541115613290578260010192505b600101613222565b506060836040519080825280602002602001820160405280156132c5578160200160208202803683370190505b5090506060846040519080825280602002602001820160405280156132f4578160200160208202803683370190505b509050606085604051908082528060200260200182016040528015613323578160200160208202803683370190505b509050606086604051908082528060200260200182016040528015613352578160200160208202803683370190505b5090506000606087604051908082528060200260200182016040528015613383578160200160208202803683370190505b5090506060886040519080825280602002602001820160405280156133b2578160200160208202803683370190505b509050600099506000985060006110046001600160a01b031663149d14d96040518163ffffffff1660e01b815260040160206040518083038186803b1580156133fa57600080fd5b505afa15801561340e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061343291906161a2565b905067016345785d8a000081111561347d5760008051602061712e83398151915260405161345f90616bc5565b60405180910390a160689d50505050505050505050505050506113bb565b60005b898110156136ee5767016345785d8a00006001828154811061349e57fe5b9060005260206000209060040201600301541061362357600181815481106134c257fe5b906000526020600020906004020160020160009054906101000a90046001600160a01b0316898d815181106134f357fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060006402540be4006001838154811061352857fe5b9060005260206000209060040201600301548161354157fe5b066001838154811061354f57fe5b9060005260206000209060040201600301540390506135778382613f3d90919063ffffffff16565b898e8151811061358357fe5b6020026020010181815250506001828154811061359c57fe5b906000526020600020906004020160020160009054906101000a90046001600160a01b0316878e815181106135cd57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505081888e815181106135fa57fe5b6020908102919091010152613615868263ffffffff613fb916565b95508c6001019c50506136e6565b60006001828154811061363257fe5b90600052602060002090600402016003015411156136e6576001818154811061365757fe5b906000526020600020906004020160010160009054906101000a90046001600160a01b0316848c8151811061368857fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600181815481106136b557fe5b906000526020600020906004020160030154838c815181106136d357fe5b6020026020010181815250508a6001019a505b600101613480565b5060008415613964576002546040516303702b2960e51b815261100491636e056520918891613728918e918e918d914201906004016163e9565b6020604051808303818588803b15801561374157600080fd5b505af193505050508015613772575060408051601f3d908101601f1916820190925261376f9181019061610e565b60015b6138e9576040516000815260443d101561378e57506000613829565b60046000803e60005160e01c6308c379a081146137af576000915050613829565b60043d036004833e81513d60248201116001600160401b03821117156137da57600092505050613829565b80830180516001600160401b038111156137fb576000945050505050613829565b8060208301013d860181111561381957600095505050505050613829565b601f01601f191660405250925050505b806138345750613876565b60019150857fa7cdeed7d0db45e3219a6e5d60838824c16f1d39991fcfe3f963029c844bf28082604051613868919061646e565b60405180910390a2506138e4565b3d8080156138a0576040519150601f19603f3d011682016040523d82523d6000602084013e6138a5565b606091505b5060019150857fbfa884552dd8921b6ce90bfe906952ae5b3b29be0cc1a951d4f62697635a3a45826040516138da919061646e565b60405180910390a2505b613964565b801561392b577fa217d08e65f80c73121cd9db834d81652d544bfbf452f6d04922b16c90a37b708660405161391e9190616ef0565b60405180910390a1613962565b857fa7cdeed7d0db45e3219a6e5d60838824c16f1d39991fcfe3f963029c844bf28060405161395990616530565b60405180910390a25b505b8015613b1a5760005b8751811015613b1857600088828151811061398457fe5b6020026020010151905060006001828154811061399d57fe5b60009182526020909120600160049092020181015481546001600160a01b03909116916108fc91859081106139ce57fe5b9060005260206000209060040201600301549081150290604051600060405180830381858888f1935050505090508015613a8a5760018281548110613a0f57fe5b60009182526020909120600160049092020181015481546001600160a01b03909116917f6c61d60f69a7beb3e1c80db7f39f37b208537cbb19da3174511b477812b2fc7d9185908110613a5e57fe5b906000526020600020906004020160030154604051613a7d9190616ef0565b60405180910390a2613b0e565b60018281548110613a9757fe5b60009182526020909120600160049092020181015481546001600160a01b03909116917f25d0ce7d2f0cec669a8c17efe49d195c13455bb8872b65fa610ac7f53fe4ca7d9185908110613ae657fe5b906000526020600020906004020160030154604051613b059190616ef0565b60405180910390a25b505060010161396d565b505b835115613c645760005b8451811015613c62576000858281518110613b3b57fe5b60200260200101516001600160a01b03166108fc868481518110613b5b57fe5b60200260200101519081150290604051600060405180830381858888f1935050505090508015613bf157858281518110613b9157fe5b60200260200101516001600160a01b03167f6c61d60f69a7beb3e1c80db7f39f37b208537cbb19da3174511b477812b2fc7d868481518110613bcf57fe5b6020026020010151604051613be49190616ef0565b60405180910390a2613c59565b858281518110613bfd57fe5b60200260200101516001600160a01b03167f25d0ce7d2f0cec669a8c17efe49d195c13455bb8872b65fa610ac7f53fe4ca7d868481518110613c3b57fe5b6020026020010151604051613c509190616ef0565b60405180910390a25b50600101613b24565b505b5050505050505050505050506000471115613ce0577f6ecc855f9440a9282c90913bbc91619fd44f5ec0b462af28d127b116f130aa4d47604051613ca89190616ef0565b60405180910390a1604051611002904780156108fc02916000818181858888f19350505050158015613cde573d6000803e3d6000fd5b505b60006003819055600555815115613cfb57613cfb8282614f0e565b6110016001600160a01b031663fc4333cd6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015613d3857600080fd5b505af1158015613d4c573d6000803e3d6000fd5b50506040517fedd8d7296956dd970ab4de3f2fc03be2b0ffc615d20cd4c72c6e44f928630ebf925060009150a1506000949350505050565b80516001600160a01b0316600090815260046020526040812054801580613dd55750600180820381548110613db557fe5b9060005260206000209060040201600201601c9054906101000a900460ff165b15613e1b5782516040516001600160a01b03909116907fe209c46bebf57cf265d5d9009a00870e256d9150f3ed5281ab9d9eb3cec6e4be90600090a2600091505061130b565b600154600554600019820111801590613e715784516040516001600160a01b03909116907fe209c46bebf57cf265d5d9009a00870e256d9150f3ed5281ab9d9eb3cec6e4be90600090a26000935050505061130b565b600580546001908101909155805481906000198601908110613e8f57fe5b6000918252602082206002600490920201018054921515600160e01b0260ff60e01b199093169290921790915585516040516001600160a01b03909116917ff226e7d8f547ff903d9d419cf5f54e0d7d07efa9584135a53a057c5f1f27f49a91a2506000949350505050565b6000610ea283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506156ed565b6000610ea283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250615724565b600082613f8e575060006113bb565b82820282848281613f9b57fe5b0414610ea25760405162461bcd60e51b8152600401610c3b90616ac5565b600082820183811015610ea25760405162461bcd60e51b8152600401610c3b90616664565b60008060018381548110613fee57fe5b906000526020600020906004020160030154905060006001808054905003905060016140186125ab565b511161404d5760006001858154811061402d57fe5b9060005260206000209060040201600301819055506000925050506113bb565b846001600160a01b03167f3b6f9ef90462b512a1293ecec018670bf7b7f1876fb727590a8a6d7643130a70836040516140869190616ef0565b60405180910390a26001600160a01b038516600090815260046020526040812055835b6001546000190181101561427357600181600101815481106140c757fe5b9060005260206000209060040201600182815481106140e257fe5b60009182526020909120825460049092020180546001600160a01b03199081166001600160a01b0393841617825560018085015481840180548416918616919091179055600280860180549185018054909416919095161780835584546001600160401b03600160a01b91829004160267ffffffffffffffff60a01b1990911617808355935460ff600160e01b918290041615150260ff60e01b19909416939093179055600392830154920191909155600b8054909183019081106141a357fe5b9060005260206000209060160201600b82815481106141be57fe5b600091825260209091208254601690920201908155600180830154818301805460ff909216151560ff1990921691909117905560028084018054614215938386019390821615610100026000190190911604615eba565b5061422860038281019084016013615f2f565b5090505080600101600460006001848154811061424157fe5b600091825260208083206004909202909101546001600160a01b031683528201929092526040019020556001016140a9565b50600180548061427f57fe5b60008281526020812060046000199093019283020180546001600160a01b0319908116825560018201805490911690556002810180546001600160e81b0319169055600301559055600b8054806142d257fe5b60008281526020812060166000199093019283020181815560018101805460ff19169055906143046002830182615f59565b614312600383016000615f9d565b50509055600081838161432157fe5b04905080156143855760015460005b8181101561438257826001828154811061434657fe5b906000526020600020906004020160030154016001828154811061436657fe5b6000918252602090912060036004909202010155600101614330565b50505b50600195945050505050565b6001548151604080518281526020808402820101909152606092919083908280156143d057816020015b60608152602001906001900390816143bb5790505b50600b5490915083146143e757925061130b915050565b60005b828110156144f657600b60016004600089858151811061440657fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054038154811061443a57fe5b600091825260209182902060026016909202018101805460408051601f6000196101006001861615020190931694909404918201859004850284018501905280835291929091908301828280156144d25780601f106144a7576101008083540402835291602001916144d2565b820191906000526020600020905b8154815290600101906020018083116144b557829003601f168201915b50505050508282815181106144e357fe5b60209081029190910101526001016143ea565b50949350505050565b60005b8281101561464c57600082878388016040516020016145229291906162e9565b6040516020818303038152906040528051906020012060001c8161454257fe5b06905080850182870114614643576000898388018151811061456057fe5b602002602001015190506060898489018151811061457a57fe5b602002602001015190508a8388018151811061459257fe5b60200260200101518b858a01815181106145a857fe5b60200260200101906001600160a01b031690816001600160a01b031681525050818b848901815181106145d757fe5b60200260200101906001600160a01b031690816001600160a01b031681525050898388018151811061460557fe5b60200260200101518a858a018151811061461b57fe5b6020026020010181905250808a8489018151811061463557fe5b602002602001018190525050505b50600101614502565b5050505050505050565b600980546001908101909155600b80548390811061467057fe5b906000526020600020906016020160010160006101000a81548160ff02191690831515021790555043600b82815481106146a657fe5b600091825260208220601690910201919091556040516001600160a01b038416917ff62981a567ec3cec866c6fa93c55bcdf841d6292d18b8d522ececa769375d82d91a25050565b60008160405160200161470191906162cd565b604051602081830303815290604052805190602001208360405160200161472891906162cd565b6040516020818303038152906040528051906020012014905092915050565b015190565b6001600160a01b038116600090815260046020526040812054806147755750600019905061130b565b60018103905060006001828154811061478a57fe5b90600052602060002090600402016003015490506000600183815481106147ad57fe5b6000918252602090912060036004909202010155600154604051600019909101906001600160a01b038616907f8cd4e147d8af98a9e3b6724021b8bf6aed2e5dac71c38f2dce8161b82585b25d90614806908590616ef0565b60405180910390a28061481e5782935050505061130b565b600081838161482957fe5b04905080156148e55760005b8481101561488757816001828154811061484b57fe5b906000526020600020906004020160030154016001828154811061486b57fe5b6000918252602090912060036004909202010155600101614835565b50600180549085015b818110156148e25782600182815481106148a657fe5b90600052602060002090600402016003015401600182815481106148c657fe5b6000918252602090912060036004909202010155600101614890565b50505b5091949350505050565b6148f7615fac565b506040805180820190915281518152602082810190820152919050565b61491c615e65565b61492582615750565b61492e57600080fd5b600061493d836020015161578a565b60208085015160408051808201909152868152920190820152915050919050565b6000614968615fac565b505080518051602091820151919092015191011190565b614987615fac565b6149908261495e565b61499957600080fd5b602082015160006149a9826157ed565b80830160209586015260408051808201909152908152938401919091525090919050565b8051600090158015906149e257508151602110155b6149eb57600080fd5b60006149fa836020015161578a565b90508083600001511015614a205760405162461bcd60e51b8152600401610c3b90616c83565b8251602080850151830180519284900392918310156144f657506020919091036101000a90049392505050565b6060614a5882615750565b614a6157600080fd5b6000614a6c836158ce565b9050606081604051908082528060200260200182016040528015614aaa57816020015b614a97615fac565b815260200190600190039081614a8f5790505b5090506000614abc856020015161578a565b60208601510190506000805b84811015614b1357614ad9836157ed565b9150604051806040016040528083815260200184815250848281518110614afc57fe5b602090810291909101015291810191600101614ac8565b509195945050505050565b614b26615e85565b60606000614b32615e85565b6060614b3c615e65565b614b4587614914565b90506000805b614b548361495e565b15614c295780614b7f57614b6f614b6a8461497f565b61592a565b6001600160a01b03168552614c21565b8060011415614ba757614b94614b6a8461497f565b6001600160a01b03166020860152614c21565b8060021415614bcf57614bbc614b6a8461497f565b6001600160a01b03166040860152614c21565b8060031415614bfb57614be4612f638461497f565b6001600160401b0316606086015260019150614c21565b8060041415614c1c57614c15614c108461497f565b615944565b9350614c21565b614c29565b600101614b4b565b50929791965091945092505050565b60606113bb614c46836159b4565b615a9a565b6060815160001415614c6c575060408051600081526020810190915261130b565b606082600081518110614c7b57fe5b602002602001015190506000600190505b8351811015614cbc57614cb282858381518110614ca557fe5b6020026020010151615aec565b9150600101614c8c565b50610ea2614ccf825160c060ff16615b69565b82615aec565b606080600080808080614ce66126a7565b6001549091505b8015614df457600181039250600b8381548110614d0657fe5b600091825260209091206001601690920201015460ff16614d2657614deb565b60018381548110614d3357fe5b60009182526020909120600490910201546001600160a01b03169450614d5a858484612d27565b9350831580614d6d575060018a51038610155b15614d7757614deb565b60005b8a51811015614de957856001600160a01b03168b8281518110614d9957fe5b6020026020010151600001516001600160a01b03161415614de15760018b8281518110614dc257fe5b6020908102919091010151901515608090910152600190960195614de9565b600101614d7a565b505b60001901614ced565b5084895103604051908082528060200260200182016040528015614e3257816020015b614e1f615e85565b815260200190600190039081614e175790505b50965084895103604051908082528060200260200182016040528015614e6c57816020015b6060815260200190600190039081614e575790505b5095506000915060005b8951811015614f0057898181518110614e8b57fe5b602002602001015160800151614ef857898181518110614ea757fe5b6020026020010151888481518110614ebb57fe5b6020026020010181905250888181518110614ed257fe5b6020026020010151878481518110614ee657fe5b60200260200101819052508260010192505b600101614e76565b5050505050505b9250929050565b600154825160005b8281101561502b576001614f28615e85565b60018381548110614f3557fe5b600091825260208083206040805160c08101825260049490940290910180546001600160a01b0390811685526001820154811693850193909352600281015492831691840191909152600160a01b82046001600160401b03166060840152600160e01b90910460ff16151560808301526003015460a082015291505b84811015614fff57878181518110614fc557fe5b6020026020010151600001516001600160a01b031682600001516001600160a01b03161415614ff75760009250614fff565b600101614fb1565b5081156150215780516001600160a01b03166000908152600460205260408120555b5050600101614f16565b50808211156150ea57805b828110156150e857600180548061504957fe5b60008281526020812060046000199093019283020180546001600160a01b0319908116825560018201805490911690556002810180546001600160e81b0319169055600301559055600b80548061509c57fe5b60008281526020812060166000199093019283020181815560018101805460ff19169055906150ce6002830182615f59565b6150dc600383016000615f9d565b50509055600101615036565b505b60008183106150f957816150fb565b825b905060005b8181101561549f576151ad86828151811061511757fe5b60200260200101516001838154811061512c57fe5b60009182526020918290206040805160c08101825260049390930290910180546001600160a01b0390811684526001820154811694840194909452600281015493841691830191909152600160a01b83046001600160401b03166060830152600160e01b90920460ff161515608082015260039091015460a0820152615c3b565b6153615780600101600460008884815181106151c557fe5b6020026020010151600001516001600160a01b03166001600160a01b031681526020019081526020016000208190555085818151811061520157fe5b60200260200101516001828154811061521657fe5b6000918252602091829020835160049092020180546001600160a01b039283166001600160a01b0319918216178255928401516001820180549184169185169190911790556040840151600282018054606087015160808801511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b1995909716929097169190911792909216939093171692909217905560a09091015160039091015584518590829081106152d157fe5b6020026020010151600b82815481106152e657fe5b9060005260206000209060160201600201908051906020019061530a929190615d9a565b506000600b828154811061531a57fe5b60009182526020822060169190910201600101805460ff191692151592909217909155600b80548390811061534b57fe5b6000918252602090912060169091020155615497565b61542785828151811061537057fe5b6020026020010151600b838154811061538557fe5b600091825260209182902060026016909202018101805460408051601f60001961010060018616150201909316949094049182018590048502840185019052808352919290919083018282801561541d5780601f106153f25761010080835404028352916020019161541d565b820191906000526020600020905b81548152906001019060200180831161540057829003601f168201915b5050505050615cbc565b6154725784818151811061543757fe5b6020026020010151600b828154811061544c57fe5b90600052602060002090601602016002019080519060200190615470929190615d9a565b505b60006001828154811061548157fe5b9060005260206000209060040201600301819055505b600101615100565b5082821115615677576154b0615d6b565b835b83811015615674578581815181106154c657fe5b6020026020010151826040018190525060018782815181106154e457fe5b6020908102919091018101518254600181810185556000948552838520835160049093020180546001600160a01b039384166001600160a01b0319918216178255848601518284018054918616918316919091179055604080860151600284018054606089015160808a01511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b1995909a1692909616919091179290921696909617169190911790935560a090930151600390930192909255600b805492830181559093528451601690910260008051602061714e83398151915281019182558583015160008051602061718e8339815191528201805491151560ff199092169190911790559285015180518694929361561a9360008051602061716e83398151915201920190615d9a565b5060608201516156309060038301906013615e14565b505050806001016004600089848151811061564757fe5b602090810291909101810151516001600160a01b03168252810191909152604001600020556001016154b2565b50505b6000600981905560015493505b838110156156e5576000600b828154811061569b57fe5b60009182526020822060169190910201600101805460ff191692151592909217909155600b8054839081106156cc57fe5b6000918252602090912060169091020155600101615684565b505050505050565b6000818361570e5760405162461bcd60e51b8152600401610c3b919061646e565b50600083858161571a57fe5b0495945050505050565b600081848411156157485760405162461bcd60e51b8152600401610c3b919061646e565b505050900390565b80516000906157615750600061130b565b6020820151805160001a9060c08210156157805760009250505061130b565b5060019392505050565b8051600090811a60808110156157a457600091505061130b565b60b88110806157bf575060c081108015906157bf575060f881105b156157ce57600191505061130b565b60c08110156157e25760b51901905061130b565b60f51901905061130b565b80516000908190811a608081101561580857600191506158c7565b60b881101561581d57607e19810191506158c7565b60c081101561586e57600060b78203600186019550806020036101000a8651049150600181018201935050808310156158685760405162461bcd60e51b8152600401610c3b90616a12565b506158c7565b60f88110156158835760be19810191506158c7565b600060f78203600186019550806020036101000a8651049150600181018201935050808310156158c55760405162461bcd60e51b8152600401610c3b90616a12565b505b5092915050565b80516000906158df5750600061130b565b600080905060006158f3846020015161578a565b602085015185519181019250015b8082101561592157615912826157ed565b82019150826001019250615901565b50909392505050565b805160009060151461593b57600080fd5b6113bb826149cd565b805160609061595257600080fd5b6000615961836020015161578a565b83516040805191839003808352601f19601f8201168301602001909152919250606090828015615998576020820181803683370190505b50905060008160200190506144f6848760200151018285615d20565b604080516020808252818301909252606091829190602082018180368337505050602081018490529050600067ffffffffffffffff1984166159f857506018615a1c565b6fffffffffffffffffffffffffffffffff198416615a1857506010615a1c565b5060005b6020811015615a5257818181518110615a3157fe5b01602001516001600160f81b03191615615a4a57615a52565b600101615a1c565b60008160200390506060816040519080825280601f01601f191660200182016040528015615a87576020820181803683370190505b5080830196909652508452509192915050565b606081516001148015615acc5750607f60f81b82600081518110615aba57fe5b01602001516001600160f81b03191611155b15615ad857508061130b565b6113bb615aea8351608060ff16615b69565b835b6060806040519050835180825260208201818101602087015b81831015615b1d578051835260209283019201615b05565b50855184518101855292509050808201602086015b81831015615b4a578051835260209283019201615b32565b508651929092011591909101601f01601f191660405250905092915050565b6060680100000000000000008310615b935760405162461bcd60e51b8152600401610c3b90616816565b60408051600180825281830190925260609160208201818036833701905050905060378411615bed5782840160f81b81600081518110615bcf57fe5b60200101906001600160f81b031916908160001a90535090506113bb565b6060615bf8856159b4565b90508381510160370160f81b82600081518110615c1157fe5b60200101906001600160f81b031916908160001a905350615c328282615aec565b95945050505050565b805182516000916001600160a01b039182169116148015615c75575081602001516001600160a01b031683602001516001600160a01b0316145b8015615c9a575081604001516001600160a01b031683604001516001600160a01b0316145b8015610ea25750506060908101519101516001600160401b0390811691161490565b815181516000916001918114808314615cd85760009250615d16565b600160208701838101602088015b600284838510011415615d11578051835114615d055760009650600093505b60209283019201615ce6565b505050505b5090949350505050565b80615d2a57610c5b565b5b60208110615d4a578251825260209283019290910190601f1901615d2b565b915181516020939093036101000a6000190180199091169216919091179052565b60405180608001604052806000815260200160001515815260200160608152602001615d95615fc6565b905290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10615ddb57805160ff1916838001178555615e08565b82800160010185558215615e08579182015b82811115615e08578251825591602001919060010190615ded565b506126e2929150615fe5565b8260138101928215615e085791602002820182811115615e08578251825591602001919060010190615ded565b6040518060600160405280600060ff16815260200160608152602001606081525090565b6040518060400160405280615e78615fac565b8152602001600081525090565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10615ef35780548555615e08565b82800160010185558215615e0857600052602060002091601f016020900482015b82811115615e08578254825591600101919060010190615f14565b8260138101928215615e085791820182811115615e08578254825591600101919060010190615f14565b50805460018160011615610100020316600290046000825580601f10615f7f5750611517565b601f0160209004906000526020600020908101906115179190615fe5565b50611517906013810190615fe5565b604051806040016040528060008152602001600081525090565b6040518061026001604052806013906020820280368337509192915050565b61269491905b808211156126e25760008155600101615feb565b60008083601f840112616010578182fd5b5081356001600160401b03811115616026578182fd5b6020830191508360208083028501011115614f0757600080fd5b60008083601f840112616051578182fd5b5081356001600160401b03811115616067578182fd5b602083019150836020828501011115614f0757600080fd5b600060208284031215616090578081fd5b81356001600160a01b0381168114610ea2578182fd5b600080600080604085870312156160bb578283fd5b84356001600160401b03808211156160d1578485fd5b6160dd88838901615fff565b909650945060208701359150808211156160f5578384fd5b5061610287828801615fff565b95989497509550505050565b60006020828403121561611f578081fd5b81518015158114610ea2578182fd5b60008060008060408587031215616143578384fd5b84356001600160401b0380821115616159578586fd5b61616588838901616040565b9096509450602087013591508082111561617d578384fd5b5061610287828801616040565b60006020828403121561619b578081fd5b5035919050565b6000602082840312156161b3578081fd5b5051919050565b600080604083850312156161cc578182fd5b505080516020909101519092909150565b6000806000604084860312156161f1578283fd5b833560ff81168114616201578384fd5b925060208401356001600160401b0381111561621b578283fd5b61622786828701616040565b9497909650939450505050565b6000815180845260208085019450808401835b8381101561626c5781516001600160a01b031687529582019590820190600101616247565b509495945050505050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b600081518084526162b9816020860160208601616f56565b601f01601f19169290920160200192915050565b600082516162df818460208701616f56565b9190910192915050565b918252602082015260400190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03968716815294861660208601529290941660408401526001600160401b03166060830152911515608082015260a081019190915260c00190565b600060208252610ea26020830184616234565b60006040825261638c6040830185616234565b602083820381850152818551808452828401915082838202850101838801865b838110156163da57601f198784030185526163c88383516162a1565b948601949250908501906001016163ac565b50909998505050505050505050565b6000608082526163fc6080830187616234565b828103602084810191909152865180835287820192820190845b8181101561643257845183529383019391830191600101616416565b505084810360408601526164468188616234565b93505050506001600160401b038316606083015295945050505050565b901515815260200190565b600060208252610ea260208301846162a1565b600060408252616495604083018688616277565b82810360208401526164a8818587616277565b979650505050505050565b6020808252601c908201527f6c656e677468206f66206275726e526174696f206d69736d6174636800000000604082015260600190565b60208082526026908201527f6c656e677468206f66206d61784e756d4f664d61696e7461696e696e67206d696040820152650e6dac2e8c6d60d31b606082015260800190565b6020808252601b908201527f6261746368207472616e736665722072657475726e2066616c73650000000000604082015260600190565b6020808252602c908201527f6c656e677468206f66206d61784e756d4f66576f726b696e6743616e6469646160408201526b0e8cae640dad2e6dac2e8c6d60a31b606082015260800190565b60208082526025908201527f6c656e677468206f66206d61696e7461696e536c6173685363616c65206d69736040820152640dac2e8c6d60db1b606082015260800190565b6020808252818101527f6c656e677468206f66206e756d4f66436162696e657473206d69736d61746368604082015260600190565b60208082526019908201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526028908201527f746865206e756d4f66436162696e657473206d75737420626520677265617465604082015267072207468616e20360c41b606082015260800190565b60208082526039908201527f746865206e756d4f66436162696e657473206d757374206265206c657373207460408201527f68616e204d41585f4e554d5f4f465f56414c494441544f525300000000000000606082015260800190565b60208082526029908201527f746865206e756d626572206f662076616c696461746f727320657863656564206040820152681d1a19481b1a5b5a5d60ba1b606082015260800190565b60208082526022908201527f63616e206e6f7420646f207468697320747769636520696e206f6e6520626c6f604082015261636b60f01b606082015260800190565b6020808252602b908201527f746865206275726e526174696f206d757374206265206e6f206772656174657260408201526a0207468616e2031303030360ac1b606082015260800190565b6020808252600e908201526d696e70757420746f6f206c6f6e6760901b604082015260600190565b60208082526037908201527f746865206d61784e756d4f664d61696e7461696e696e67206d7573742062652060408201527f6c657373207468616e206e756d4f66436162696e657473000000000000000000606082015260800190565b6020808252602b908201527f6475706c696361746520636f6e73656e7375732061646472657373206f66207660408201526a185b1a59185d1bdc94d95d60aa1b606082015260800190565b60208082526027908201527f7468652065787069726554696d655365636f6e64476170206973206f7574206f604082015266662072616e676560c81b606082015260800190565b6020808252601590820152746465706f7369742076616c7565206973207a65726f60581b604082015260600190565b60208082526049908201527f746865206d61784e756d4f66576f726b696e6743616e64696461746573206d7560408201527f7374206265206e6f742067726561746572207468616e206d61784e756d4f6643606082015268616e6469646174657360b81b608082015260a00190565b60208082526027908201527f7468652066696e616c697479526577617264526174696f206973206f7574206f604082015266662072616e676560c81b606082015260800190565b6020808252601190820152706164646974696f6e206f766572666c6f7760781b604082015260600190565b60208082526023908201527f63616e206e6f7420656e7465722054656d706f72617279204d61696e74656e616040820152626e636560e81b606082015260800190565b60208082526025908201527f6c656e677468206f66206a61696c2076616c696461746f7273206d757374206260408201526465206f6e6560d81b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252602e908201527f746865206d6573736167652073656e646572206d75737420626520676f76657260408201526d1b985b98d94818dbdb9d1c9858dd60921b606082015260800190565b60208082526025908201527f6c656e677468206f66206d61784e756d4f6643616e64696461746573206d69736040820152640dac2e8c6d60db1b606082015260800190565b6020808252601290820152716e6f7420696e206d61696e74656e616e636560701b604082015260600190565b60208082526021908201527f666565206973206c6172676572207468616e2044555354595f494e434f4d494e6040820152604760f81b606082015260800190565b60208082526019908201527f74686520636f6e747261637420616c726561647920696e697400000000000000604082015260600190565b60208082526026908201527f6c656e677468206f662066696e616c697479526577617264526174696f206d696040820152650e6dac2e8c6d60d31b606082015260800190565b6020808252601a908201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604082015260600190565b60208082526026908201527f6c656e677468206f662065787069726554696d655365636f6e64476170206d696040820152650e6dac2e8c6d60d31b606082015260800190565b60208082526017908201527f6f6e6c792063757272656e742076616c696461746f7273000000000000000000604082015260600190565b60208082526021908201527f6661696c656420746f20706172736520696e69742076616c696461746f7253656040820152601d60fa1b606082015260800190565b6020808252602f908201527f746865206d6573736167652073656e646572206d7573742062652063726f737360408201526e0818da185a5b8818dbdb9d1c9858dd608a1b606082015260800190565b6020808252602d908201527f746865206d6573736167652073656e646572206d75737420626520746865206260408201526c3637b1b590383937b23ab1b2b960991b606082015260800190565b6020808252603e908201527f746865206d61696e7461696e536c6173685363616c65206d757374206265206760408201527f726561746572207468616e203020616e64206c657373207468616e2031300000606082015260800190565b6020808252600d908201526c756e6b6e6f776e20706172616d60981b604082015260600190565b60208082526029908201527f746865206d6573736167652073656e646572206d75737420626520736c6173686040820152680818dbdb9d1c9858dd60ba1b606082015260800190565b61ffff91909116815260200190565b90815260200190565b6000848252831515602083015260606040830152615c3260608301846162a1565b63ffffffff91909116815260200190565b60ff91909116815260200190565b600060ff8516825260406020830152615c32604083018486616277565b60005b83811015616f71578181015183820152602001616f59565b83811115612c47575050600091015256fef901a880f901a4f844941284214b9b9c85549ab3d2b972df0deef66ac2c9946ddf42a51534fc98d0c0a3b42c963cace8441ddf946ddf42a51534fc98d0c0a3b42c963cace8441ddf8410000000f84494a2959d3f95eae5dc7d70144ce1b73b403b7eb6e0948081ef03f1d9e0bb4a5bf38f16285c879299f07f948081ef03f1d9e0bb4a5bf38f16285c879299f07f8410000000f8449435552c16704d214347f29fa77f77da6d75d7c75294dc4973e838e3949c77aced16ac2315dc2d7ab11194dc4973e838e3949c77aced16ac2315dc2d7ab1118410000000f84494980a75ecd1309ea12fa2ed87a8744fbfc9b863d594cc6ac05c95a99c1f7b5f88de0e3486c82293b27094cc6ac05c95a99c1f7b5f88de0e3486c82293b2708410000000f84494f474cf03cceff28abc65c9cbae594f725c80e12d94e61a183325a18a173319dd8e19c8d069459e217594e61a183325a18a173319dd8e19c8d069459e21758410000000f84494b71b214cb885500844365e95cd9942c7276e7fd894d22ca3ba2141d23adab65ce4940eb7665ea2b6a794d22ca3ba2141d23adab65ce4940eb7665ea2b6a7841000000070e72399380dcfb0338abc03dc8d47f9f470ada8e769c9a78d644ea97385ecb20175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbb0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbaa2646970667358221220df3b2f2afc524f6a9eb81529e8bd736333e37b7197419580d4e42bd858b6b14264736f6c63430006040033", }, { ContractAddr: common.HexToAddress(SlashContract), - CommitUrl: "https://github.com/node-real/bsc-genesis-contract/commit/f8bab13f56955e979bfb754425dab1e62e52f151", - Code: "608060405234801561001057600080fd5b50600436106102745760003560e01c80638256ace611610151578063c81b1662116100c3578063dc927faf11610087578063dc927faf1461049a578063e1c7392a146104a2578063f9a2bbc7146104aa578063fc3e5908146104b2578063fc4333cd146104ba578063fd6a6879146104c257610274565b8063c81b166214610451578063c8509d8114610459578063c96be4cb1461046c578063cc844b731461047f578063d2a42e4b1461049257610274565b8063a1a11bf511610115578063a1a11bf514610409578063a78abc1614610411578063ab51bb9614610426578063ac0af6291461042e578063ac43175114610436578063c80d4b8f1461044957610274565b80638256ace6146103d6578063831d65d1146103de57806396713da9146103f15780639bc8e4f2146103f95780639dc092621461040157610274565b80634bf6c882116101ea5780636e47b482116101ae5780636e47b482146103a657806370fd5bad146103ae578063718a8aa8146103b657806375d47a0a146103be5780637912a65d146103c65780637942fd05146103ce57610274565b80634bf6c8821461037157806351e8067214610379578063567a372d146103815780635bfb49901461038957806362b72cf51461039e57610274565b806337c8dab91161023c57806337c8dab914610301578063389f4f71146103225780633a63f4b1146103375780633dffc3871461033f57806343756e5c14610354578063493279b11461035c57610274565b80630bee7a67146102795780630e2374a5146102975780631182b875146102ac57806323bac5a2146102cc57806335aa2e44146102ee575b600080fd5b6102816104ca565b60405161028e9190613056565b60405180910390f35b61029f6104cf565b60405161028e9190612987565b6102bf6102ba3660046128bd565b6104d5565b60405161028e91906129bf565b6102df6102da36600461266b565b61053b565b60405161028e9392919061303e565b61029f6102fc36600461288d565b61055e565b61031461030f36600461266b565b610585565b60405161028e929190613030565b61032a6105dc565b60405161028e9190613006565b61032a6105e2565b6103476105e8565b60405161028e9190613067565b61029f6105ed565b6103646105f3565b60405161028e9190612ff7565b6103476105f8565b61029f6105fd565b61032a610603565b61039c61039736600461266b565b610609565b005b61032a6106b4565b61029f6106ba565b6103476106c0565b6103476106c5565b61029f6106ca565b61032a6106d0565b6103476106d5565b6103146106da565b61039c6103ec3660046128bd565b6106e4565b6103476107f6565b61032a6107fb565b61029f610806565b61029f61080c565b610419610812565b60405161028e91906129b4565b61028161081b565b61032a610820565b61039c610444366004612771565b610825565b61032a610bd9565b61029f610bde565b61039c6104673660046128bd565b610be4565b61039c61047a36600461266b565b610c55565b61039c61048d3660046127da565b611046565b61032a61151c565b61029f611521565b61039c611527565b61029f611563565b610347611569565b61039c61156e565b61029f6119b7565b606481565b61200181565b606033612000146105015760405162461bcd60e51b81526004016104f890612e7d565b60405180910390fd5b60005460ff166105235760405162461bcd60e51b81526004016104f890612a6b565b60405162461bcd60e51b81526004016104f890612f40565b600260208190526000918252604090912080546001820154919092015460ff1683565b6001818154811061056b57fe5b6000918252602090912001546001600160a01b0316905081565b600080610590612452565b5050506001600160a01b0316600090815260026020818152604092839020835160608101855281548082526001830154938201849052919093015460ff16151592909301919091529091565b60055481565b60065481565b600181565b61100181565b606181565b600881565b61200081565b60045481565b336110001461062a5760405162461bcd60e51b81526004016104f890612c91565b60005460ff1661064c5760405162461bcd60e51b81526004016104f890612a6b565b61200063f7a251d7600b61065f846119bd565b60006040518463ffffffff1660e01b815260040161067f93929190613075565b600060405180830381600087803b15801561069957600080fd5b505af11580156106ad573d6000803e3d6000fd5b5050505050565b60035481565b61100581565b600281565b601081565b61100881565b603281565b600b81565b6004546005549091565b33612000146107055760405162461bcd60e51b81526004016104f890612e7d565b60005460ff166107275760405162461bcd60e51b81526004016104f890612a6b565b61072f612475565b600061077084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a8f92505050565b9150915080156107b75781516040517f7f0956d47419b9525356e7111652b653b530ec6f5096dccc04589bc38e629967916107aa91613056565b60405180910390a16106ad565b81516040517f7d45f62d17443dd4547bca8a8112c60e2385669318dc300ec61a5d2492f262e7916107e791613056565b60405180910390a15050505050565b600981565b662386f26fc1000081565b61100781565b61100681565b60005460ff1681565b600081565b600481565b60005460ff166108475760405162461bcd60e51b81526004016104f890612a6b565b33611007146108685760405162461bcd60e51b81526004016104f890612d3a565b6108d384848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260148152731b5a5cd9195b59585b9bdc951a1c995cda1bdb1960621b60208201529150611b0f9050565b1561096e57602081146108f85760405162461bcd60e51b81526004016104f890612c1d565b604080516020601f840181900481028201810190925282815260009161093691858580838501838280828437600092019190915250611b6992505050565b90506001811015801561094a575060055481105b6109665760405162461bcd60e51b81526004016104f890612e38565b600455610b96565b6109d484848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600f81526e19995b1bdb9e551a1c995cda1bdb19608a1b60208201529150611b0f9050565b15610a7057602081146109f95760405162461bcd60e51b81526004016104f890612d88565b604080516020601f8401819004810282018101909252828152600091610a3791858580838501838280828437600092019190915250611b6992505050565b90506103e88111158015610a4c575060045481115b610a685760405162461bcd60e51b81526004016104f890612ad9565b600555610b96565b610ae484848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601881527f66696e616c697479536c617368526577617264526174696f000000000000000060208201529150611b0f9050565b15610b7e5760208114610b095760405162461bcd60e51b81526004016104f890612f77565b604080516020601f8401819004810282018101909252828152600091610b4791858580838501838280828437600092019190915250611b6992505050565b9050600a8110158015610b5a5750606481105b610b765760405162461bcd60e51b81526004016104f890612bd1565b600655610b96565b60405162461bcd60e51b81526004016104f890612f19565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a84848484604051610bcb94939291906129d2565b60405180910390a150505050565b609681565b61100281565b3361200014610c055760405162461bcd60e51b81526004016104f890612e7d565b60005460ff16610c275760405162461bcd60e51b81526004016104f890612a6b565b6040517f07db600eebe2ac176be8dcebad61858c245a4961bb32ca2aa3d159b09aa0810e90600090a1505050565b334114610c745760405162461bcd60e51b81526004016104f890612ecc565b60005460ff16610c965760405162461bcd60e51b81526004016104f890612a6b565b6003544311610cb75760405162461bcd60e51b81526004016104f890612fc2565b3a15610cd55760405162461bcd60e51b81526004016104f890612d0c565b60405163155853f360e21b8152611000906355614fcc90610cfa908490600401612987565b60206040518083038186803b158015610d1257600080fd5b505afa158015610d26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4a9190612751565b610d535761103f565b610d5b612452565b506001600160a01b0381166000908152600260208181526040928390208351606081018552815481526001820154928101929092529091015460ff161580159282019290925290610db6576020810180516001019052610e0f565b60016040820181905260208201819052805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0384161790555b438152600554602082015181610e2157fe5b06610f6d57600060208201526040516335409f7f60e01b8152611000906335409f7f90610e52908590600401612987565b600060405180830381600087803b158015610e6c57600080fd5b505af1158015610e80573d6000803e3d6000fd5b505050506120006001600160a01b031663f7a251d7600b610ea0856119bd565b60006040518463ffffffff1660e01b8152600401610ec093929190613075565b600060405180830381600087803b158015610eda57600080fd5b505af1925050508015610eeb575060015b610f68573d808015610f19576040519150601f19603f3d011682016040523d82523d6000602084013e610f1e565b606091505b50826001600160a01b03167fd7bc86ff5d08c8ab043edec743302aba2520e6635172a428bc956721db9e2d1c836020015183604051610f5e92919061300f565b60405180910390a2505b610fd9565b600454816020015181610f7c57fe5b06610fd9576040516375abf10160e11b81526110009063eb57e20290610fa6908590600401612987565b600060405180830381600087803b158015610fc057600080fd5b505af1158015610fd4573d6000803e3d6000fd5b505050505b6001600160a01b0382166000818152600260208181526040808420865181559186015160018301558581015191909201805460ff1916911515919091179055517fddb6012116e51abf5436d956a4f0ebd927e92c576ff96d7918290c8782291e3e9190a2505b5043600355565b60005460ff166110685760405162461bcd60e51b81526004016104f890612a6b565b604051630a83aaa960e31b81526110069063541d55489061108d903390600401612987565b60206040518083038186803b1580156110a557600080fd5b505afa1580156110b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110dd9190612751565b6110f95760405162461bcd60e51b81526004016104f890612a04565b6006546111065760146006555b8051514361010090910111801561112857504381602001516000015161010001115b6111445760405162461bcd60e51b81526004016104f890612a3b565b8060200151602001518160000151602001511480156111725750806020015160600151816000015160600151145b1561118f5760405162461bcd60e51b81526004016104f890612c64565b8051604081015190511080156111ae5750602081015160408101519051105b6111ca5760405162461bcd60e51b81526004016104f890612b6d565b6020810151518151511080156111ef5750806000015160400151816020015160400151105b8061121a575080515160208201515110801561121a5750806020015160400151816000015160400151105b806112345750806020015160400151816000015160400151145b6112505760405162461bcd60e51b81526004016104f890612aa2565b6060806110006001600160a01b0316633b071dcc6040518163ffffffff1660e01b815260040160006040518083038186803b15801561128e57600080fd5b505afa1580156112a2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112ca919081019061268e565b60408501519193509150600090815b8351811015611327576112ff8482815181106112f157fe5b602002602001015183611b6e565b1561131f5784818151811061131057fe5b60200260200101519250611327565b6001016112d9565b506001600160a01b03821661134e5760405162461bcd60e51b81526004016104f890612ba4565b61136085600001518660400151611bd2565b8015611379575061137985602001518660400151611bd2565b6113955760405162461bcd60e51b81526004016104f890612b0e565b6006546040516309a99b4f60e41b815260646110028031909302049190639a99b4f0906113c8903390859060040161299b565b602060405180830381600087803b1580156113e257600080fd5b505af11580156113f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141a91906128a5565b506040516335409f7f60e01b8152611000906335409f7f90611440908690600401612987565b600060405180830381600087803b15801561145a57600080fd5b505af115801561146e573d6000803e3d6000fd5b505050506120006001600160a01b031663f7a251d7600b61148e866119bd565b60006040518463ffffffff1660e01b81526004016114ae93929190613075565b600060405180830381600087803b1580156114c857600080fd5b505af11580156114dc573d6000803e3d6000fd5b50506040516001600160a01b03861692507fddb6012116e51abf5436d956a4f0ebd927e92c576ff96d7918290c8782291e3e9150600090a2505050505050565b601481565b61100381565b60005460ff161561154a5760405162461bcd60e51b81526004016104f890612dca565b603260045560966005556000805460ff19166001179055565b61100081565b600381565b336110001461158f5760405162461bcd60e51b81526004016104f890612c91565b60005460ff166115b15760405162461bcd60e51b81526004016104f890612a6b565b6001546115bd576119b5565b600154600090600019015b808211611989576000805b828410156116ec576115e3612452565b60026000600187815481106115f457fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff1615159082015260055490915060049004816020015111156116d65760046005548161166157fe5b0481602001510381602001818152505080600260006001888154811061168357fe5b6000918252602080832091909101546001600160a01b0316835282810193909352604091820190208351815591830151600183015591909101516002909101805460ff19169115159190911790556116e0565b60019250506116ec565b508360010193506115d3565b828411611883576116fb612452565b600260006001868154811061170c57fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff1615159082015260055490915060049004816020015111156117f45760046005548161177957fe5b0481602001510381602001818152505080600260006001878154811061179b57fe5b6000918252602080832091909101546001600160a01b03168352828101939093526040918201902083518155918301516001808401919091559201516002909101805460ff191691151591909117905591506118839050565b600260006001868154811061180557fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff1916905580548061184957fe5b600082815260209020810160001990810180546001600160a01b0319169055019055836118765750611883565b50600019909201916116ec565b81801561188d5750805b1561196c5760026000600186815481106118a357fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff191690558054849081106118ea57fe5b600091825260209091200154600180546001600160a01b03909216918690811061191057fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600180548061194957fe5b600082815260209020810160001990810180546001600160a01b03191690550190555b82611978575050611989565b5050600190910190600019016115c8565b6040517fcfdb3b6ccaeccbdc68be3c59c840e3b3c90f0a7c491f5fff1cf56cfda200dd9c90600090a150505b565b61100481565b60408051600480825260a08201909252606091829190816020015b60608152602001906001900390816119d8579050509050611a01836001600160a01b0316611daa565b81600081518110611a0e57fe5b6020026020010181905250611a2243611dcd565b81600181518110611a2f57fe5b6020908102919091010152611a446061611dcd565b81600281518110611a5157fe5b6020026020010181905250611a6542611dcd565b81600381518110611a7257fe5b6020026020010181905250611a8681611de0565b9150505b919050565b611a97612475565b6000611aa1612475565b611aa9612487565b611aba611ab586611e6a565b611e8f565b90506000805b611ac983611ed9565b15611b025780611af557611ae4611adf84611efa565b611f48565b63ffffffff16845260019150611afa565b611b02565b600101611ac0565b5091935090915050915091565b600081604051602001611b22919061296b565b6040516020818303038152906040528051906020012083604051602001611b49919061296b565b604051602081830303815290604052805190602001201490505b92915050565b015190565b815181516000916001918114808314611b8a5760009250611bc8565b600160208701838101602088015b600284838510011415611bc3578051835114611bb75760009650600093505b60209283019201611b98565b505050505b5090949350505050565b60408051600480825260a0820190925260009160609190816020015b6060815260200190600190039081611bee575050604080516020808252818301909252919250606091908082018180368337019050509050611c338560000151611dcd565b82600081518110611c4057fe5b6020026020010181905250611c5b6020866020015183611fca565b611c6481611fda565b82600181518110611c7157fe5b6020026020010181905250611c898560400151611dcd565b82600281518110611c9657fe5b6020026020010181905250611cb16020866060015183611fca565b611cba81611fda565b82600381518110611cc757fe5b6020026020010181905250611ced6020611ce084611de0565b8051906020012083611fca565b6040805160b080825260e08201909252606091602082018180368337019050509050611d1d818360006020612030565b611d2f81876080015160206060612030565b611d3d818660806030612030565b604080516001808252818301909252606091602082018180368337019050509050815160016020830182602086016066600019fa611d7a57600080fd5b506001611d88826000612083565b60ff1614611d9d576000945050505050611b63565b5060019695505050505050565b60408051600560a21b8318601482015260348101909152606090611a8681611fda565b6060611b63611ddb8361209f565b611fda565b6060815160001415611e015750604080516000815260208101909152611a8a565b606082600081518110611e1057fe5b602002602001015190506000600190505b8351811015611e5157611e4782858381518110611e3a57fe5b6020026020010151612185565b9150600101611e21565b50611a86611e64825160c060ff16612202565b82612185565b611e726124a7565b506040805180820190915281518152602082810190820152919050565b611e97612487565b611ea0826122d4565b611ea957600080fd5b6000611eb8836020015161230e565b60208085015160408051808201909152868152920190820152915050919050565b6000611ee36124a7565b505080518051602091820151919092015191011190565b611f026124a7565b611f0b82611ed9565b611f1457600080fd5b60208201516000611f2482612371565b80830160209586015260408051808201909152908152938401919091525090919050565b805160009015801590611f5d57508151602110155b611f6657600080fd5b6000611f75836020015161230e565b90508083600001511015611f9b5760405162461bcd60e51b81526004016104f890612e01565b825160208085015183018051928490039291831015611fc157826020036101000a820491505b50949350505050565b9091018181526020918201910152565b60608151600114801561200c5750607f60f81b82600081518110611ffa57fe5b01602001516001600160f81b03191611155b15612018575080611a8a565b611b6361202a8351608060ff16612202565b83612185565b60005b818110156106ad5783818151811061204757fe5b602001015160f81c60f81b85848060010195508151811061206457fe5b60200101906001600160f81b031916908160001a905350600101612033565b6000816001018351101561209657600080fd5b50016001015190565b604080516020808252818301909252606091829190602082018180368337505050602081018490529050600067ffffffffffffffff1984166120e357506018612107565b6fffffffffffffffffffffffffffffffff19841661210357506010612107565b5060005b602081101561213d5781818151811061211c57fe5b01602001516001600160f81b031916156121355761213d565b600101612107565b60008160200390506060816040519080825280601f01601f191660200182016040528015612172576020820181803683370190505b5080830196909652508452509192915050565b6060806040519050835180825260208201818101602087015b818310156121b657805183526020928301920161219e565b50855184518101855292509050808201602086015b818310156121e35780518352602092830192016121cb565b508651929092011591909101601f01601f191660405250905092915050565b606068010000000000000000831061222c5760405162461bcd60e51b81526004016104f890612b45565b604080516001808252818301909252606091602082018180368337019050509050603784116122865782840160f81b8160008151811061226857fe5b60200101906001600160f81b031916908160001a9053509050611b63565b60606122918561209f565b90508381510160370160f81b826000815181106122aa57fe5b60200101906001600160f81b031916908160001a9053506122cb8282612185565b95945050505050565b80516000906122e557506000611a8a565b6020820151805160001a9060c082101561230457600092505050611a8a565b5060019392505050565b8051600090811a6080811015612328576000915050611a8a565b60b8811080612343575060c08110801590612343575060f881105b15612352576001915050611a8a565b60c08110156123665760b519019050611a8a565b60f519019050611a8a565b80516000908190811a608081101561238c576001915061244b565b60b88110156123a157607e198101915061244b565b60c08110156123f257600060b78203600186019550806020036101000a8651049150600181018201935050808310156123ec5760405162461bcd60e51b81526004016104f890612ce1565b5061244b565b60f88110156124075760be198101915061244b565b600060f78203600186019550806020036101000a8651049150600181018201935050808310156124495760405162461bcd60e51b81526004016104f890612ce1565b505b5092915050565b604051806060016040528060008152602001600081526020016000151581525090565b60408051602081019091526000815290565b604051806040016040528061249a6124a7565b8152602001600081525090565b604051806040016040528060008152602001600081525090565b600082601f8301126124d1578081fd5b81516124e46124df826130c8565b6130a1565b818152915060208083019084810160005b8481101561255a578151870188603f82011261251057600080fd5b838101516125206124df826130e8565b81815260408b8184860101111561253657600080fd5b6125458388840183870161310c565b508652505092820192908201906001016124f5565b505050505092915050565b60008083601f840112612576578182fd5b50813567ffffffffffffffff81111561258d578182fd5b6020830191508360208285010111156125a557600080fd5b9250929050565b600082601f8301126125bc578081fd5b81356125ca6124df826130e8565b91508082528360208285010111156125e157600080fd5b8060208401602084013760009082016020015292915050565b600060a0828403121561260b578081fd5b61261560a06130a1565b905081358152602082013560208201526040820135604082015260608201356060820152608082013567ffffffffffffffff81111561265357600080fd5b61265f848285016125ac565b60808301525092915050565b60006020828403121561267c578081fd5b81356126878161313c565b9392505050565b600080604083850312156126a0578081fd5b825167ffffffffffffffff808211156126b7578283fd5b81850186601f8201126126c8578384fd5b805192506126d86124df846130c8565b80848252602080830192508084018a8283890287010111156126f8578788fd5b8794505b8685101561272357805161270f8161313c565b8452600194909401939281019281016126fc565b50880151909650935050508082111561273a578283fd5b50612747858286016124c1565b9150509250929050565b600060208284031215612762578081fd5b81518015158114612687578182fd5b60008060008060408587031215612786578182fd5b843567ffffffffffffffff8082111561279d578384fd5b6127a988838901612565565b909650945060208701359150808211156127c1578384fd5b506127ce87828801612565565b95989497509550505050565b6000602082840312156127eb578081fd5b813567ffffffffffffffff80821115612802578283fd5b81840160608187031215612814578384fd5b61281e60606130a1565b925080358281111561282e578485fd5b61283a878284016125fa565b84525060208101358281111561284e578485fd5b61285a878284016125fa565b602085015250604081013582811115612871578485fd5b61287d878284016125ac565b6040850152509195945050505050565b60006020828403121561289e578081fd5b5035919050565b6000602082840312156128b6578081fd5b5051919050565b6000806000604084860312156128d1578283fd5b833560ff811681146128e1578384fd5b9250602084013567ffffffffffffffff8111156128fc578283fd5b61290886828701612565565b9497909650939450505050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b6000815180845261295781602086016020860161310c565b601f01601f19169290920160200192915050565b6000825161297d81846020870161310c565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b600060208252612687602083018461293f565b6000604082526129e6604083018688612915565b82810360208401526129f9818587612915565b979650505050505050565b6020808252601f908201527f746865206d73672073656e646572206973206e6f7420612072656c6179657200604082015260600190565b6020808252601690820152751d1bdbc81bdb1908189b1bd8dac81a5b9d9bdb1d995960521b604082015260600190565b60208082526019908201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604082015260600190565b6020808252601a908201527f6e6f2076696f6c6174696f6e206f6620766f74652072756c6573000000000000604082015260600190565b6020808252818101527f7468652066656c6f6e795468726573686f6c64206f7574206f662072616e6765604082015260600190565b60208082526017908201527f766572696679207369676e6174757265206661696c6564000000000000000000604082015260600190565b6020808252600e908201526d696e70757420746f6f206c6f6e6760901b604082015260600190565b60208082526019908201527f7372634e756d20626967676572207468616e207461724e756d00000000000000604082015260600190565b6020808252601390820152721d985b1a59185d1bdc881b9bdd08195e1a5cdd606a1b604082015260600190565b6020808252602c908201527f7468652066696e616c69747920736c6173682072657761726420726174696f2060408201526b6f7574206f662072616e676560a01b606082015260800190565b60208082526027908201527f6c656e677468206f66206d697364656d65616e6f725468726573686f6c64206d6040820152660d2e6dac2e8c6d60cb1b606082015260800190565b60208082526013908201527274776f206964656e746963616c20766f74657360681b604082015260600190565b60208082526030908201527f746865206d6573736167652073656e646572206d7573742062652076616c696460408201526f185d1bdc94d95d0818dbdb9d1c9858dd60821b606082015260800190565b6020808252601190820152706164646974696f6e206f766572666c6f7760781b604082015260600190565b6020808252601490820152736761737072696365206973206e6f74207a65726f60601b604082015260600190565b6020808252602e908201527f746865206d6573736167652073656e646572206d75737420626520676f76657260408201526d1b985b98d94818dbdb9d1c9858dd60921b606082015260800190565b60208082526022908201527f6c656e677468206f662066656c6f6e795468726573686f6c64206d69736d61746040820152610c6d60f31b606082015260800190565b60208082526019908201527f74686520636f6e747261637420616c726561647920696e697400000000000000604082015260600190565b6020808252601a908201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604082015260600190565b60208082526025908201527f746865206d697364656d65616e6f725468726573686f6c64206f7574206f662060408201526472616e676560d81b606082015260800190565b6020808252602f908201527f746865206d6573736167652073656e646572206d7573742062652063726f737360408201526e0818da185a5b8818dbdb9d1c9858dd608a1b606082015260800190565b6020808252602d908201527f746865206d6573736167652073656e646572206d75737420626520746865206260408201526c3637b1b590383937b23ab1b2b960991b606082015260800190565b6020808252600d908201526c756e6b6e6f776e20706172616d60981b604082015260600190565b6020808252601e908201527f7265636569766520756e65787065637465642073796e207061636b6167650000604082015260600190565b6020808252602b908201527f6c656e677468206f662066696e616c697479536c61736852657761726452617460408201526a0d2de40dad2e6dac2e8c6d60ab1b606082015260800190565b6020808252818101527f63616e206e6f7420736c61736820747769636520696e206f6e6520626c6f636b604082015260600190565b61ffff91909116815260200190565b90815260200190565b600083825260406020830152613028604083018461293f565b949350505050565b918252602082015260400190565b92835260208301919091521515604082015260600190565b63ffffffff91909116815260200190565b60ff91909116815260200190565b600060ff8516825260606020830152613091606083018561293f565b9050826040830152949350505050565b60405181810167ffffffffffffffff811182821017156130c057600080fd5b604052919050565b600067ffffffffffffffff8211156130de578081fd5b5060209081020190565b600067ffffffffffffffff8211156130fe578081fd5b50601f01601f191660200190565b60005b8381101561312757818101518382015260200161310f565b83811115613136576000848401525b50505050565b6001600160a01b038116811461315157600080fd5b5056fea26469706673582212201998b6d3cfafcfa417a78cc743a5d15a50d1d5c8615cc00839d6f07e9545a35b64736f6c63430006040033", + CommitUrl: "https://github.com/node-real/bsc-genesis-contract/commit/b144718e94d7a1ebb24a7103202300f08826f369", + Code: "608060405234801561001057600080fd5b506004361061027f5760003560e01c80637942fd051161015c578063c80d4b8f116100ce578063dc927faf11610087578063dc927faf146104ad578063e1c7392a146104b5578063f9a2bbc7146104bd578063fc3e5908146104c5578063fc4333cd146104cd578063fd6a6879146104d55761027f565b8063c80d4b8f1461045c578063c81b166214610464578063c8509d811461046c578063c96be4cb1461047f578063cc844b7314610492578063d2a42e4b146104a55761027f565b80639dc09262116101205780639dc0926214610421578063a1a11bf514610429578063a78abc1614610431578063ab51bb9614610439578063ac0af62914610441578063ac431751146104495761027f565b80637942fd05146103ee5780638256ace6146103f6578063831d65d1146103fe57806396713da9146104115780639bc8e4f2146104195761027f565b8063493279b1116101f557806362b72cf5116101b957806362b72cf5146103be5780636e47b482146103c657806370fd5bad146103ce578063718a8aa8146103d657806375d47a0a146103de5780637912a65d146103e65761027f565b8063493279b11461037c5780634bf6c8821461039157806351e8067214610399578063567a372d146103a15780635bfb4990146103a95761027f565b806335aa2e441161024757806335aa2e441461030e57806337c8dab914610321578063389f4f71146103425780633a63f4b1146103575780633dffc3871461035f57806343756e5c146103745761027f565b80630bee7a67146102845780630e2374a5146102a25780631182b875146102b757806322d1e80b146102d757806323bac5a2146102ec575b600080fd5b61028c6104dd565b60405161029991906132a4565b60405180910390f35b6102aa6104e2565b6040516102999190612b82565b6102ca6102c5366004612ab8565b6104e8565b6040516102999190612bba565b6102df61054e565b6040516102999190612baf565b6102ff6102fa366004612866565b610557565b6040516102999392919061328c565b6102aa61031c366004612a88565b61057a565b61033461032f366004612866565b6105a1565b60405161029992919061327e565b61034a6105f8565b6040516102999190613254565b61034a6105fe565b610367610604565b60405161029991906132b5565b6102aa610609565b61038461060f565b6040516102999190613245565b610367610614565b6102aa610619565b61034a61061f565b6103bc6103b7366004612866565b610625565b005b61034a6106d0565b6102aa6106d6565b6103676106dc565b6103676106e1565b6102aa6106e6565b61034a6106ec565b6103676106f1565b6103346106f6565b6103bc61040c366004612ab8565b610700565b610367610812565b61034a610817565b6102aa610822565b6102aa610828565b6102df61082e565b61028c610837565b61034a61083c565b6103bc61045736600461296c565b610841565b61034a610ce0565b6102aa610ce5565b6103bc61047a366004612ab8565b610ceb565b6103bc61048d366004612866565b610d5c565b6103bc6104a03660046129d5565b61114d565b61034a61169a565b6102aa61169f565b6103bc6116a5565b6102aa6116e1565b6103676116e7565b6103bc6116ec565b6102aa611b35565b606481565b61200181565b606033612000146105145760405162461bcd60e51b815260040161050b906130cb565b60405180910390fd5b60005460ff166105365760405162461bcd60e51b815260040161050b90612c9b565b60405162461bcd60e51b815260040161050b9061318e565b60075460ff1681565b600260208190526000918252604090912080546001820154919092015460ff1683565b6001818154811061058757fe5b6000918252602090912001546001600160a01b0316905081565b6000806105ac61264d565b5050506001600160a01b0316600090815260026020818152604092839020835160608101855281548082526001830154938201849052919093015460ff16151592909301919091529091565b60055481565b60065481565b600181565b61100181565b606181565b600881565b61200081565b60045481565b33611000146106465760405162461bcd60e51b815260040161050b90612edf565b60005460ff166106685760405162461bcd60e51b815260040161050b90612c9b565b61200063f7a251d7600b61067b84611b3b565b60006040518463ffffffff1660e01b815260040161069b939291906132c3565b600060405180830381600087803b1580156106b557600080fd5b505af11580156106c9573d6000803e3d6000fd5b5050505050565b60035481565b61100581565b600281565b601081565b61100881565b603281565b600b81565b6004546005549091565b33612000146107215760405162461bcd60e51b815260040161050b906130cb565b60005460ff166107435760405162461bcd60e51b815260040161050b90612c9b565b61074b612670565b600061078c84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611c0d92505050565b9150915080156107d35781516040517f7f0956d47419b9525356e7111652b653b530ec6f5096dccc04589bc38e629967916107c6916132a4565b60405180910390a16106c9565b81516040517f7d45f62d17443dd4547bca8a8112c60e2385669318dc300ec61a5d2492f262e791610803916132a4565b60405180910390a15050505050565b600981565b662386f26fc1000081565b61100781565b61100681565b60005460ff1681565b600081565b600481565b60005460ff166108635760405162461bcd60e51b815260040161050b90612c9b565b33611007146108845760405162461bcd60e51b815260040161050b90612f88565b6108ef84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260148152731b5a5cd9195b59585b9bdc951a1c995cda1bdb1960621b60208201529150611c8d9050565b1561098a57602081146109145760405162461bcd60e51b815260040161050b90612e6b565b604080516020601f840181900481028201810190925282815260009161095291858580838501838280828437600092019190915250611ce792505050565b905060018110158015610966575060055481105b6109825760405162461bcd60e51b815260040161050b90613086565b600455610c9d565b6109f084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600f81526e19995b1bdb9e551a1c995cda1bdb19608a1b60208201529150611c8d9050565b15610a8c5760208114610a155760405162461bcd60e51b815260040161050b90612fd6565b604080516020601f8401819004810282018101909252828152600091610a5391858580838501838280828437600092019190915250611ce792505050565b90506103e88111158015610a68575060045481115b610a845760405162461bcd60e51b815260040161050b90612d09565b600555610c9d565b610b0084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601881527f66696e616c697479536c617368526577617264526174696f000000000000000060208201529150611c8d9050565b15610b9a5760208114610b255760405162461bcd60e51b815260040161050b906131c5565b604080516020601f8401819004810282018101909252828152600091610b6391858580838501838280828437600092019190915250611ce792505050565b9050600a8110158015610b765750606481105b610b925760405162461bcd60e51b815260040161050b90612e1f565b600655610c9d565b610c0e84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601881527f656e61626c654d616c6963696f7573566f7465536c617368000000000000000060208201529150611c8d9050565b15610c855760208114610c335760405162461bcd60e51b815260040161050b90612d3e565b604080516020601f8401819004810282018101909252828152610c6f9190848480838501838280828437600092019190915250611cec92505050565b6007805460ff1916911515919091179055610c9d565b60405162461bcd60e51b815260040161050b90613167565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a84848484604051610cd29493929190612bcd565b60405180910390a150505050565b609681565b61100281565b3361200014610d0c5760405162461bcd60e51b815260040161050b906130cb565b60005460ff16610d2e5760405162461bcd60e51b815260040161050b90612c9b565b6040517f07db600eebe2ac176be8dcebad61858c245a4961bb32ca2aa3d159b09aa0810e90600090a1505050565b334114610d7b5760405162461bcd60e51b815260040161050b9061311a565b60005460ff16610d9d5760405162461bcd60e51b815260040161050b90612c9b565b6003544311610dbe5760405162461bcd60e51b815260040161050b90613210565b3a15610ddc5760405162461bcd60e51b815260040161050b90612f5a565b60405163155853f360e21b8152611000906355614fcc90610e01908490600401612b82565b60206040518083038186803b158015610e1957600080fd5b505afa158015610e2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e51919061294c565b610e5a57611146565b610e6261264d565b506001600160a01b0381166000908152600260208181526040928390208351606081018552815481526001820154928101929092529091015460ff161580159282019290925290610ebd576020810180516001019052610f16565b60016040820181905260208201819052805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0384161790555b438152600554602082015181610f2857fe5b0661107457600060208201526040516335409f7f60e01b8152611000906335409f7f90610f59908590600401612b82565b600060405180830381600087803b158015610f7357600080fd5b505af1158015610f87573d6000803e3d6000fd5b505050506120006001600160a01b031663f7a251d7600b610fa785611b3b565b60006040518463ffffffff1660e01b8152600401610fc7939291906132c3565b600060405180830381600087803b158015610fe157600080fd5b505af1925050508015610ff2575060015b61106f573d808015611020576040519150601f19603f3d011682016040523d82523d6000602084013e611025565b606091505b50826001600160a01b03167fd7bc86ff5d08c8ab043edec743302aba2520e6635172a428bc956721db9e2d1c83602001518360405161106592919061325d565b60405180910390a2505b6110e0565b60045481602001518161108357fe5b066110e0576040516375abf10160e11b81526110009063eb57e202906110ad908590600401612b82565b600060405180830381600087803b1580156110c757600080fd5b505af11580156110db573d6000803e3d6000fd5b505050505b6001600160a01b0382166000818152600260208181526040808420865181559186015160018301558581015191909201805460ff1916911515919091179055517fddb6012116e51abf5436d956a4f0ebd927e92c576ff96d7918290c8782291e3e9190a2505b5043600355565b60005460ff1661116f5760405162461bcd60e51b815260040161050b90612c9b565b604051630a83aaa960e31b81526110069063541d554890611194903390600401612b82565b60206040518083038186803b1580156111ac57600080fd5b505afa1580156111c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e4919061294c565b6112005760405162461bcd60e51b815260040161050b90612bff565b60075460ff166112225760405162461bcd60e51b815260040161050b90612c66565b60065461122f5760146006555b8051514361010090910111801561125157504381602001516000015161010001115b61126d5760405162461bcd60e51b815260040161050b90612c36565b80602001516020015181600001516020015114801561129b5750806020015160600151816000015160600151145b156112b85760405162461bcd60e51b815260040161050b90612eb2565b8051604081015190511080156112d75750602081015160408101519051105b6112f35760405162461bcd60e51b815260040161050b90612de8565b6020810151518151511080156113185750806000015160400151816020015160400151105b8061134357508051516020820151511080156113435750806020015160400151816000015160400151105b8061135d5750806020015160400151816000015160400151145b6113795760405162461bcd60e51b815260040161050b90612cd2565b61138b81600001518260400151611d14565b80156113a457506113a481602001518260400151611d14565b6113c05760405162461bcd60e51b815260040161050b90612d89565b6060806110006001600160a01b0316633b071dcc6040518163ffffffff1660e01b815260040160006040518083038186803b1580156113fe57600080fd5b505afa158015611412573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261143a9190810190612889565b9150915060005b81518110156115775761146b82828151811061145957fe5b60200260200101518560400151611eec565b1561156f576006546040516309a99b4f60e41b815260646110028031909302049190639a99b4f0906114a39033908590600401612b96565b602060405180830381600087803b1580156114bd57600080fd5b505af11580156114d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f59190612aa0565b506110006001600160a01b03166335409f7f85848151811061151357fe5b60200260200101516040518263ffffffff1660e01b81526004016115379190612b82565b600060405180830381600087803b15801561155157600080fd5b505af1158015611565573d6000803e3d6000fd5b5050505050611577565b600101611441565b50600061158984604001516000611f50565b90506120006001600160a01b031663f7a251d7600b6115ab8760400151611f6c565b60006040518463ffffffff1660e01b81526004016115cb939291906132c3565b600060405180830381600087803b1580156115e557600080fd5b505af19250505080156115f6575060015b611668573d808015611624576040519150601f19603f3d011682016040523d82523d6000602084013e611629565b606091505b50817fd58d1183100bd0932c0588f31c4205d6bc6168909765a96c41adbed3115f36288260405161165a9190612bba565b60405180910390a250611694565b60405181907f7b78aadacff901d8b63d0dba4f86283d4db8aef27f9ed70413dd860f1c9532b690600090a25b50505050565b601481565b61100381565b60005460ff16156116c85760405162461bcd60e51b815260040161050b90613018565b603260045560966005556000805460ff19166001179055565b61100081565b600381565b336110001461170d5760405162461bcd60e51b815260040161050b90612edf565b60005460ff1661172f5760405162461bcd60e51b815260040161050b90612c9b565b60015461173b57611b33565b600154600090600019015b808211611b07576000805b8284101561186a5761176161264d565b600260006001878154811061177257fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff161515908201526005549091506004900481602001511115611854576004600554816117df57fe5b0481602001510381602001818152505080600260006001888154811061180157fe5b6000918252602080832091909101546001600160a01b0316835282810193909352604091820190208351815591830151600183015591909101516002909101805460ff191691151591909117905561185e565b600192505061186a565b50836001019350611751565b828411611a015761187961264d565b600260006001868154811061188a57fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff161515908201526005549091506004900481602001511115611972576004600554816118f757fe5b0481602001510381602001818152505080600260006001878154811061191957fe5b6000918252602080832091909101546001600160a01b03168352828101939093526040918201902083518155918301516001808401919091559201516002909101805460ff19169115159190911790559150611a019050565b600260006001868154811061198357fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff191690558054806119c757fe5b600082815260209020810160001990810180546001600160a01b0319169055019055836119f45750611a01565b506000199092019161186a565b818015611a0b5750805b15611aea576002600060018681548110611a2157fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff19169055805484908110611a6857fe5b600091825260209091200154600180546001600160a01b039092169186908110611a8e57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001805480611ac757fe5b600082815260209020810160001990810180546001600160a01b03191690550190555b82611af6575050611b07565b505060019091019060001901611746565b6040517fcfdb3b6ccaeccbdc68be3c59c840e3b3c90f0a7c491f5fff1cf56cfda200dd9c90600090a150505b565b61100481565b60408051600480825260a08201909252606091829190816020015b6060815260200190600190039081611b56579050509050611b7f836001600160a01b0316611fa7565b81600081518110611b8c57fe5b6020026020010181905250611ba043611fca565b81600181518110611bad57fe5b6020908102919091010152611bc26061611fca565b81600281518110611bcf57fe5b6020026020010181905250611be342611fca565b81600381518110611bf057fe5b6020026020010181905250611c0481611fdd565b9150505b919050565b611c15612670565b6000611c1f612670565b611c27612682565b611c38611c3386612067565b61208c565b90506000805b611c47836120d6565b15611c805780611c7357611c62611c5d846120f7565b612145565b63ffffffff16845260019150611c78565b611c80565b600101611c3e565b5091935090915050915091565b600081604051602001611ca09190612b66565b6040516020818303038152906040528051906020012083604051602001611cc79190612b66565b604051602081830303815290604052805190602001201490505b92915050565b015190565b8082015160009060ff811615611d06576001915081611d0c565b60009150815b505092915050565b60408051600480825260a0820190925260009160609190816020015b6060815260200190600190039081611d30575050604080516020808252818301909252919250606091908082018180368337019050509050611d758560000151611fca565b82600081518110611d8257fe5b6020026020010181905250611d9d60208660200151836121c7565b611da6816121d7565b82600181518110611db357fe5b6020026020010181905250611dcb8560400151611fca565b82600281518110611dd857fe5b6020026020010181905250611df360208660600151836121c7565b611dfc816121d7565b82600381518110611e0957fe5b6020026020010181905250611e2f6020611e2284611fdd565b80519060200120836121c7565b6040805160b080825260e08201909252606091602082018180368337019050509050611e5f81836000602061222d565b611e718187608001516020606061222d565b611e7f81866080603061222d565b604080516001808252818301909252606091602082018180368337019050509050815160016020830182602086016066600019fa611ebc57600080fd5b506001611eca826000612280565b60ff1614611edf576000945050505050611ce1565b5060019695505050505050565b815181516000916001918114808314611f085760009250611f46565b600160208701838101602088015b600284838510011415611f41578051835114611f355760009650600093505b60209283019201611f16565b505050505b5090949350505050565b60008160200183511015611f6357600080fd5b50016020015190565b60408051600480825260a08201909252606091829190816020015b6060815260200190600190039081611f87579050509050611b7f836121d7565b60408051600560a21b8318601482015260348101909152606090611c04816121d7565b6060611ce1611fd88361229c565b6121d7565b6060815160001415611ffe5750604080516000815260208101909152611c08565b60608260008151811061200d57fe5b602002602001015190506000600190505b835181101561204e576120448285838151811061203757fe5b6020026020010151612382565b915060010161201e565b50611c04612061825160c060ff166123ff565b82612382565b61206f6126a2565b506040805180820190915281518152602082810190820152919050565b612094612682565b61209d826124d1565b6120a657600080fd5b60006120b5836020015161250b565b60208085015160408051808201909152868152920190820152915050919050565b60006120e06126a2565b505080518051602091820151919092015191011190565b6120ff6126a2565b612108826120d6565b61211157600080fd5b602082015160006121218261256e565b80830160209586015260408051808201909152908152938401919091525090919050565b80516000901580159061215a57508151602110155b61216357600080fd5b6000612172836020015161250b565b905080836000015110156121985760405162461bcd60e51b815260040161050b9061304f565b8251602080850151830180519284900392918310156121be57826020036101000a820491505b50949350505050565b9091018181526020918201910152565b6060815160011480156122095750607f60f81b826000815181106121f757fe5b01602001516001600160f81b03191611155b15612215575080611c08565b611ce16122278351608060ff166123ff565b83612382565b60005b818110156106c95783818151811061224457fe5b602001015160f81c60f81b85848060010195508151811061226157fe5b60200101906001600160f81b031916908160001a905350600101612230565b6000816001018351101561229357600080fd5b50016001015190565b604080516020808252818301909252606091829190602082018180368337505050602081018490529050600067ffffffffffffffff1984166122e057506018612304565b6fffffffffffffffffffffffffffffffff19841661230057506010612304565b5060005b602081101561233a5781818151811061231957fe5b01602001516001600160f81b031916156123325761233a565b600101612304565b60008160200390506060816040519080825280601f01601f19166020018201604052801561236f576020820181803683370190505b5080830196909652508452509192915050565b6060806040519050835180825260208201818101602087015b818310156123b357805183526020928301920161239b565b50855184518101855292509050808201602086015b818310156123e05780518352602092830192016123c8565b508651929092011591909101601f01601f191660405250905092915050565b60606801000000000000000083106124295760405162461bcd60e51b815260040161050b90612dc0565b604080516001808252818301909252606091602082018180368337019050509050603784116124835782840160f81b8160008151811061246557fe5b60200101906001600160f81b031916908160001a9053509050611ce1565b606061248e8561229c565b90508381510160370160f81b826000815181106124a757fe5b60200101906001600160f81b031916908160001a9053506124c88282612382565b95945050505050565b80516000906124e257506000611c08565b6020820151805160001a9060c082101561250157600092505050611c08565b5060019392505050565b8051600090811a6080811015612525576000915050611c08565b60b8811080612540575060c08110801590612540575060f881105b1561254f576001915050611c08565b60c08110156125635760b519019050611c08565b60f519019050611c08565b80516000908190811a60808110156125895760019150612646565b60b881101561259e57607e1981019150612646565b60c08110156125ef57600060b78203600186019550806020036101000a8651049150600181018201935050808310156125e95760405162461bcd60e51b815260040161050b90612f2f565b50612646565b60f88110156126045760be1981019150612646565b600060f78203600186019550806020036101000a865104915060018101820193505080831015611d0c5760405162461bcd60e51b815260040161050b90612f2f565b5092915050565b604051806060016040528060008152602001600081526020016000151581525090565b60408051602081019091526000815290565b60405180604001604052806126956126a2565b8152602001600081525090565b604051806040016040528060008152602001600081525090565b600082601f8301126126cc578081fd5b81516126df6126da82613316565b6132ef565b818152915060208083019084810160005b84811015612755578151870188603f82011261270b57600080fd5b8381015161271b6126da82613336565b81815260408b8184860101111561273157600080fd5b6127408388840183870161335a565b508652505092820192908201906001016126f0565b505050505092915050565b60008083601f840112612771578182fd5b50813567ffffffffffffffff811115612788578182fd5b6020830191508360208285010111156127a057600080fd5b9250929050565b600082601f8301126127b7578081fd5b81356127c56126da82613336565b91508082528360208285010111156127dc57600080fd5b8060208401602084013760009082016020015292915050565b600060a08284031215612806578081fd5b61281060a06132ef565b905081358152602082013560208201526040820135604082015260608201356060820152608082013567ffffffffffffffff81111561284e57600080fd5b61285a848285016127a7565b60808301525092915050565b600060208284031215612877578081fd5b813561288281613386565b9392505050565b6000806040838503121561289b578081fd5b825167ffffffffffffffff808211156128b2578283fd5b81850186601f8201126128c3578384fd5b805192506128d36126da84613316565b80848252602080830192508084018a8283890287010111156128f3578788fd5b8794505b8685101561291e57805161290a81613386565b8452600194909401939281019281016128f7565b508801519096509350505080821115612935578283fd5b50612942858286016126bc565b9150509250929050565b60006020828403121561295d578081fd5b81518015158114612882578182fd5b60008060008060408587031215612981578182fd5b843567ffffffffffffffff80821115612998578384fd5b6129a488838901612760565b909650945060208701359150808211156129bc578384fd5b506129c987828801612760565b95989497509550505050565b6000602082840312156129e6578081fd5b813567ffffffffffffffff808211156129fd578283fd5b81840160608187031215612a0f578384fd5b612a1960606132ef565b9250803582811115612a29578485fd5b612a35878284016127f5565b845250602081013582811115612a49578485fd5b612a55878284016127f5565b602085015250604081013582811115612a6c578485fd5b612a78878284016127a7565b6040850152509195945050505050565b600060208284031215612a99578081fd5b5035919050565b600060208284031215612ab1578081fd5b5051919050565b600080600060408486031215612acc578283fd5b833560ff81168114612adc578384fd5b9250602084013567ffffffffffffffff811115612af7578283fd5b612b0386828701612760565b9497909650939450505050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452612b5281602086016020860161335a565b601f01601f19169290920160200192915050565b60008251612b7881846020870161335a565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6000602082526128826020830184612b3a565b600060408252612be1604083018688612b10565b8281036020840152612bf4818587612b10565b979650505050505050565b6020808252601f908201527f746865206d73672073656e646572206973206e6f7420612072656c6179657200604082015260600190565b6020808252601690820152751d1bdbc81bdb1908189b1bd8dac81a5b9d9bdb1d995960521b604082015260600190565b6020808252818101527f6d616c6963696f757320766f746520736c617368206e6f7420656e61626c6564604082015260600190565b60208082526019908201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604082015260600190565b6020808252601a908201527f6e6f2076696f6c6174696f6e206f6620766f74652072756c6573000000000000604082015260600190565b6020808252818101527f7468652066656c6f6e795468726573686f6c64206f7574206f662072616e6765604082015260600190565b6020808252602b908201527f6c656e677468206f6620656e61626c654d616c6963696f7573566f7465536c6160408201526a0e6d040dad2e6dac2e8c6d60ab1b606082015260800190565b60208082526017908201527f766572696679207369676e6174757265206661696c6564000000000000000000604082015260600190565b6020808252600e908201526d696e70757420746f6f206c6f6e6760901b604082015260600190565b60208082526019908201527f7372634e756d20626967676572207468616e207461724e756d00000000000000604082015260600190565b6020808252602c908201527f7468652066696e616c69747920736c6173682072657761726420726174696f2060408201526b6f7574206f662072616e676560a01b606082015260800190565b60208082526027908201527f6c656e677468206f66206d697364656d65616e6f725468726573686f6c64206d6040820152660d2e6dac2e8c6d60cb1b606082015260800190565b60208082526013908201527274776f206964656e746963616c20766f74657360681b604082015260600190565b60208082526030908201527f746865206d6573736167652073656e646572206d7573742062652076616c696460408201526f185d1bdc94d95d0818dbdb9d1c9858dd60821b606082015260800190565b6020808252601190820152706164646974696f6e206f766572666c6f7760781b604082015260600190565b6020808252601490820152736761737072696365206973206e6f74207a65726f60601b604082015260600190565b6020808252602e908201527f746865206d6573736167652073656e646572206d75737420626520676f76657260408201526d1b985b98d94818dbdb9d1c9858dd60921b606082015260800190565b60208082526022908201527f6c656e677468206f662066656c6f6e795468726573686f6c64206d69736d61746040820152610c6d60f31b606082015260800190565b60208082526019908201527f74686520636f6e747261637420616c726561647920696e697400000000000000604082015260600190565b6020808252601a908201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604082015260600190565b60208082526025908201527f746865206d697364656d65616e6f725468726573686f6c64206f7574206f662060408201526472616e676560d81b606082015260800190565b6020808252602f908201527f746865206d6573736167652073656e646572206d7573742062652063726f737360408201526e0818da185a5b8818dbdb9d1c9858dd608a1b606082015260800190565b6020808252602d908201527f746865206d6573736167652073656e646572206d75737420626520746865206260408201526c3637b1b590383937b23ab1b2b960991b606082015260800190565b6020808252600d908201526c756e6b6e6f776e20706172616d60981b604082015260600190565b6020808252601e908201527f7265636569766520756e65787065637465642073796e207061636b6167650000604082015260600190565b6020808252602b908201527f6c656e677468206f662066696e616c697479536c61736852657761726452617460408201526a0d2de40dad2e6dac2e8c6d60ab1b606082015260800190565b6020808252818101527f63616e206e6f7420736c61736820747769636520696e206f6e6520626c6f636b604082015260600190565b61ffff91909116815260200190565b90815260200190565b6000838252604060208301526132766040830184612b3a565b949350505050565b918252602082015260400190565b92835260208301919091521515604082015260600190565b63ffffffff91909116815260200190565b60ff91909116815260200190565b600060ff85168252606060208301526132df6060830185612b3a565b9050826040830152949350505050565b60405181810167ffffffffffffffff8111828210171561330e57600080fd5b604052919050565b600067ffffffffffffffff82111561332c578081fd5b5060209081020190565b600067ffffffffffffffff82111561334c578081fd5b50601f01601f191660200190565b60005b8381101561337557818101518382015260200161335d565b838111156116945750506000910152565b6001600160a01b038116811461339b57600080fd5b5056fea2646970667358221220f826c2f80c6807c5df53c6cfe5be2e59ad7e87dad138f63f83dd1caf79118d6064736f6c63430006040033", }, { ContractAddr: common.HexToAddress(SystemRewardContract), - CommitUrl: "https://github.com/node-real/bsc-genesis-contract/commit/f8bab13f56955e979bfb754425dab1e62e52f151", + CommitUrl: "https://github.com/node-real/bsc-genesis-contract/commit/b144718e94d7a1ebb24a7103202300f08826f369", Code: "6080604052600436106101a05760003560e01c80637942fd05116100ec578063ac4317511161008a578063f9a2bbc711610064578063f9a2bbc714610550578063fb5478b314610565578063fc3e59081461057a578063fd6a68791461058f576101e4565b8063ac43175114610457578063c81b166214610526578063dc927faf1461053b576101e4565b80639dc09262116100c65780639dc0926214610403578063a1a11bf514610418578063a78abc161461042d578063ab51bb9614610442576101e4565b80637942fd05146103a057806396713da9146103b55780639a99b4f0146103ca576101e4565b80634bf6c882116101595780636e47b482116101335780636e47b4821461034c57806370fd5bad14610361578063718a8aa81461037657806375d47a0a1461038b576101e4565b80634bf6c882146102db57806351e80672146102f05780636d70f7ae14610305576101e4565b80630bee7a67146101e95780630e2374a5146102175780633a0b0eff146102485780633dffc3871461026f57806343756e5c1461029a578063493279b1146102af576101e4565b366101e45734156101e25760408051348152905133917f6c98249d85d88c3753a04a22230f595e4dc8d3dc86c34af35deeeedc861b89db919081900360200190a25b005b600080fd5b3480156101f557600080fd5b506101fe6105a4565b6040805163ffffffff9092168252519081900360200190f35b34801561022357600080fd5b5061022c6105a9565b604080516001600160a01b039092168252519081900360200190f35b34801561025457600080fd5b5061025d6105af565b60408051918252519081900360200190f35b34801561027b57600080fd5b506102846105b5565b6040805160ff9092168252519081900360200190f35b3480156102a657600080fd5b5061022c6105ba565b3480156102bb57600080fd5b506102c46105c0565b6040805161ffff9092168252519081900360200190f35b3480156102e757600080fd5b506102846105c5565b3480156102fc57600080fd5b5061022c6105ca565b34801561031157600080fd5b506103386004803603602081101561032857600080fd5b50356001600160a01b03166105d0565b604080519115158252519081900360200190f35b34801561035857600080fd5b5061022c6105ee565b34801561036d57600080fd5b506102846105f4565b34801561038257600080fd5b506102846105f9565b34801561039757600080fd5b5061022c6105fe565b3480156103ac57600080fd5b50610284610604565b3480156103c157600080fd5b50610284610609565b3480156103d657600080fd5b5061025d600480360360408110156103ed57600080fd5b506001600160a01b03813516906020013561060e565b34801561040f57600080fd5b5061022c6107b9565b34801561042457600080fd5b5061022c6107bf565b34801561043957600080fd5b506103386107c5565b34801561044e57600080fd5b506101fe6107ce565b34801561046357600080fd5b506101e26004803603604081101561047a57600080fd5b81019060208101813564010000000081111561049557600080fd5b8201836020820111156104a757600080fd5b803590602001918460018302840111640100000000831117156104c957600080fd5b9193909290916020810190356401000000008111156104e757600080fd5b8201836020820111156104f957600080fd5b8035906020019184600183028401116401000000008311171561051b57600080fd5b5090925090506107d3565b34801561053257600080fd5b5061022c610b56565b34801561054757600080fd5b5061022c610b5c565b34801561055c57600080fd5b5061022c610b62565b34801561057157600080fd5b5061025d610b68565b34801561058657600080fd5b50610284610b74565b34801561059b57600080fd5b5061022c610b79565b606481565b61200181565b60015481565b600181565b61100181565b606181565b600881565b61200081565b6001600160a01b031660009081526002602052604090205460ff1690565b61100581565b600281565b601081565b61100881565b600b81565b600981565b6000805460ff1661068b57600260208190527fe57bda0a954a7c7381b17b2c763e646ba2c60f67292d287ba583603e2c1c41668054600160ff19918216811790925561100560009081527fe25235fc0de9d7165652bef0846fefda506174abb9a190f03d0f7bcc6146dbce80548316841790559282558254161790555b3360009081526002602052604090205460ff166106d95760405162461bcd60e51b815260040180806020018281038252602b815260200180610c67602b913960400191505060405180910390fd5b60004783106106e857476106ea565b825b9050670de0b6b3a76400008111156107075750670de0b6b3a76400005b8015610788576040516001600160a01b0385169082156108fc029083906000818181858888f19350505050158015610743573d6000803e3d6000fd5b506040805182815290516001600160a01b038616917ff8b71c64315fc33b2ead2adfa487955065152a8ac33d9d5193aafd7f45dc15a0919081900360200190a26107b2565b6040517fe589651933c2457488cc0d8e0941518abf748e799435e4e396d9c4d0b2db2d4d90600090a15b9392505050565b61100781565b61100681565b60005460ff1681565b600081565b33611007146108135760405162461bcd60e51b815260040180806020018281038252602e815260200180610cc1602e913960400191505060405180910390fd5b61087584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600b81526a30b23227b832b930ba37b960a91b60208201529150610b7f9050565b1561094d57606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050825192935050601490911490506108f85760405162461bcd60e51b815260040180806020018281038252602c815260200180610cef602c913960400191505060405180910390fd5b60148101516001600160a01b038116600081815260026020526040808220805460ff19166001179055517f9870d7fe5d112134c55844951dedf365363006d9c588db07c4c85af6322a06199190a25050610ac4565b6109b284848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600e81526d3232b632ba32a7b832b930ba37b960911b60208201529150610b7f9050565b15610a8757606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505082519293505060149091149050610a355760405162461bcd60e51b815260040180806020018281038252602f815260200180610c92602f913960400191505060405180910390fd5b60148101516001600160a01b038116600081815260026020526040808220805460ff19169055517fb40992a19dba61ea600e87fce607102bf5908dc89076217b6ca6ae195224f7029190a25050610ac4565b6040805162461bcd60e51b815260206004820152600d60248201526c756e6b6e6f776e20706172616d60981b604482015290519081900360640190fd5b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a848484846040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a150505050565b61100281565b61100381565b61100081565b670de0b6b3a764000081565b600381565b61100481565b6000816040516020018082805190602001908083835b60208310610bb45780518252601f199092019160209182019101610b95565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120836040516020018082805190602001908083835b60208310610c225780518252601f199092019160209182019101610c03565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052805190602001201490509291505056fe6f6e6c79206f70657261746f7220697320616c6c6f77656420746f2063616c6c20746865206d6574686f646c656e677468206f662076616c756520666f722064656c6574654f70657261746f722073686f756c64206265203230746865206d6573736167652073656e646572206d75737420626520676f7665726e616e636520636f6e74726163746c656e677468206f662076616c756520666f72206164644f70657261746f722073686f756c64206265203230a26469706673582212205c998ac20925f17d8af20803f32be2cf1698c9a844de45001ca5ed8c879cc93f64736f6c63430006040033", }, { ContractAddr: common.HexToAddress(RelayerHubContract), - CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/5134a57191da8350278ee154c4814659c89d8f9f", + CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/b144718e94d7a1ebb24a7103202300f08826f369", Code: "608060405234801561001057600080fd5b50600436106102275760003560e01c80638f83ab1311610130578063c81b1662116100b8578063f3ae24151161007c578063f3ae2415146104e8578063f9a2bbc71461050e578063fc3e590814610516578063fd30d9b81461051e578063fd6a68791461052657610227565b8063c81b1662146104c0578063dc927faf146104c8578063dd91d1c5146104d0578063e1c7392a146104d8578063e79a198f146104e057610227565b8063a1a11bf5116100ff578063a1a11bf5146103de578063a74b83ca146103e6578063a78abc16146103ee578063ab51bb96146103f6578063ac431751146103fe57610227565b80638f83ab13146103a057806395468d26146103c657806396713da9146103ce5780639dc09262146103d657610227565b8063541d5548116101b3578063718a8aa811610182578063718a8aa81461034857806375d47a0a1461035057806378beee67146103585780637942fd051461037e5780637ae230881461038657610227565b8063541d5548146102d85780636a6a419e146103125780636e47b4821461033857806370fd5bad1461034057610227565b80633dffc387116101fa5780633dffc3871461028357806343756e5c146102a1578063493279b1146102a95780634bf6c882146102c857806351e80672146102d057610227565b806303aff02b1461022c578063049a5716146102365780630bee7a671461025a5780630e2374a51461027b575b600080fd5b61023461052e565b005b61023e610539565b604080516001600160a01b039092168252519081900360200190f35b610262610551565b6040805163ffffffff9092168252519081900360200190f35b61023e610556565b61028b61055c565b6040805160ff9092168252519081900360200190f35b61023e610561565b6102b1610567565b6040805161ffff9092168252519081900360200190f35b61028b61056c565b61023e610571565b6102fe600480360360208110156102ee57600080fd5b50356001600160a01b0316610577565b604080519115158252519081900360200190f35b6102fe6004803603602081101561032857600080fd5b50356001600160a01b0316610595565b61023e6105b3565b61028b6105b9565b61028b6105be565b61023e6105c3565b6102346004803603602081101561036e57600080fd5b50356001600160a01b03166105c9565b61028b6107b1565b61038e6107b6565b60408051918252519081900360200190f35b610234600480360360208110156103b657600080fd5b50356001600160a01b03166107c3565b61038e610a02565b61028b610a0e565b61023e610a13565b61023e610a19565b61023e610a1f565b6102fe610a37565b610262610a40565b6102346004803603604081101561041457600080fd5b81019060208101813564010000000081111561042f57600080fd5b82018360208201111561044157600080fd5b8035906020019184600183028401116401000000008311171561046357600080fd5b91939092909160208101903564010000000081111561048157600080fd5b82018360208201111561049357600080fd5b803590602001918460018302840111640100000000831117156104b557600080fd5b509092509050610a45565b61023e610d96565b61023e610d9c565b610234610da2565b610234610e43565b610234610ec5565b6102fe600480360360208110156104fe57600080fd5b50356001600160a01b031661107e565b61023e61109c565b61028b6110a2565b6102fe6110a7565b61023e6110b0565b610537336110b6565b565b739fb29aac15b9a4b7f17c3385939b007540f4d79181565b606481565b61200181565b600181565b61100181565b606181565b600881565b61200081565b6001600160a01b031660009081526007602052604090205460ff1690565b6001600160a01b031660009081526008602052604090205460ff1690565b61100581565b600281565b601081565b61100881565b3360009081526008602052604090205460ff166106175760405162461bcd60e51b81526004018080602001828103825260248152602001806115c26024913960400191505060405180910390fd5b61062033611218565b1561065c5760405162461bcd60e51b815260040180806020018281038252602181526020018061157f6021913960400191505060405180910390fd5b3233146106b0576040805162461bcd60e51b815260206004820152601e60248201527f70726f766973696f6e616c2072656c6179657220697320612070726f78790000604482015290519081900360640190fd5b6001600160a01b038181166000908152600960205260409020541633146107085760405162461bcd60e51b815260040180806020018281038252602781526020018061163b6027913960400191505060405180910390fd5b6001600160a01b03818116600081815260066020908152604080832080543380865260078086528487208054600160ff199182161790915584546001600160a01b031990811684179095556008875285882080548216905597875260098652848720805490941690935596168085529083529281902080549094169093558251828152908101939093528151909260008051602061166283398151915292908290030190a15050565b600b81565b68056bc75e2d6310000081565b3360009081526005602052604090205460ff16610820576040805162461bcd60e51b81526020600482015260166024820152751b585b9859d95c88191bd95cc81b9bdd08195e1a5cdd60521b604482015290519081900360640190fd5b61082981611218565b156108655760405162461bcd60e51b81526004018080602001828103825260278152602001806115e66027913960400191505060405180910390fd5b6001600160a01b03811615610921576001600160a01b03811660009081526007602052604090205460ff16156108db576040805162461bcd60e51b815260206004820152601660248201527572656c6179657220616c72656164792065786973747360501b604482015290519081900360640190fd5b6001600160a01b0381166000818152600860209081526040808320805460ff191660011790553383526009909152902080546001600160a01b03191690911790556109c2565b3360008181526006602090815260408083208054600980855283862080546001600160a01b03198085169095556001600160a01b0393841680895260078852868920805460ff19908116909155918516808a5260088952878a20805490931690925598909752908552805490921690915581518581529086169281019290925280516000805160206116628339815191529281900390910190a150506109ff565b604080516001600160a01b038316815290517ffba56633276570c7d3120d4535bf3bce26523da53958e40734210b9fd99b36939181900360200190a15b50565b67016345785d8a000081565b600981565b61100781565b61100681565b7337b8516a0f88e65d677229b402ec6c1e0e33300481565b60005460ff1681565b600081565b60005460ff16610a98576040805162461bcd60e51b81526020600482015260196024820152781d1a194818dbdb9d1c9858dd081b9bdd081a5b9a5d081e595d603a1b604482015290519081900360640190fd5b3361100714610ad85760405162461bcd60e51b815260040180806020018281038252602e81526020018061160d602e913960400191505060405180910390fd5b610b3984848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600a81526930b23226b0b730b3b2b960b11b6020820152915061121e9050565b15610bd15760148114610b7d5760405162461bcd60e51b81526004018080602001828103825260228152602001806115a06022913960400191505060405180910390fd5b6000610bc0601484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061130592505050565b9050610bcb8161130a565b50610d04565b610c3584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600d81526c3932b6b7bb32a6b0b730b3b2b960991b6020820152915061121e9050565b15610cc75760148114610c795760405162461bcd60e51b81526004018080602001828103825260228152602001806115a06022913960400191505060405180910390fd5b6000610cbc601484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061130592505050565b9050610bcb816110b6565b6040805162461bcd60e51b815260206004820152600d60248201526c756e6b6e6f776e20706172616d60981b604482015290519081900360640190fd5b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a848484846040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a150505050565b61100281565b61100381565b600a5460ff1615610dfa576040805162461bcd60e51b815260206004820152601e60248201527f7468652077686974656c6973747320616c726561647920757064617465640000604482015290519081900360640190fd5b610e17739fb29aac15b9a4b7f17c3385939b007540f4d7916113cc565b610e347337b8516a0f88e65d677229b402ec6c1e0e3330046113cc565b600a805460ff19166001179055565b60005460ff1615610e9b576040805162461bcd60e51b815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e697400000000000000604482015290519081900360640190fd5b68056bc75e2d63100000600190815567016345785d8a00006002556000805460ff19169091179055565b3360009081526004602052604090205460ff16610f20576040805162461bcd60e51b81526020600482015260146024820152731c995b185e595c88191bc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b60005460ff16610f73576040805162461bcd60e51b81526020600482015260196024820152781d1a194818dbdb9d1c9858dd081b9bdd081a5b9a5d081e595d603a1b604482015290519081900360640190fd5b610f7b611564565b5033600081815260036020908152604091829020825180840190935280548084526001909101549183018290529192916108fc91610fbf919063ffffffff61148416565b6040518115909202916000818181858888f19350505050158015610fe7573d6000803e3d6000fd5b50602081015160405161100291829181156108fc0291906000818181858888f1935050505015801561101d573d6000803e3d6000fd5b50336000818152600460209081526040808320805460ff191690556003825280832083815560010192909255815192835290517fd17202129b83db7880d6b9f25df81c58ad46f7e0e2c92236b1aa10663a4876679281900390910190a15050565b6001600160a01b031660009081526005602052604090205460ff1690565b61100081565b600381565b600a5460ff1681565b61100481565b6001600160a01b03811660009081526005602052604090205460ff1661111b576040805162461bcd60e51b81526020600482015260156024820152741b585b9859d95c88191bd95cdb89dd08195e1a5cdd605a1b604482015290519081900360640190fd5b6001600160a01b038082166000818152600660209081526040808320805460058452828520805460ff1990811690915582546001600160a01b0319908116909355600980865284872080548a16885260088752858820805490931690925595879052948452845490911690935580519384525191909316927f2002866d443ac6c241fecaaa2af4895828c7de2cc423b9d01f7969650f557c76928290030190a16001600160a01b03811615611214576001600160a01b0381166000818152600760209081526040808320805460ff1916905580519384529083019190915280516000805160206116628339815191529281900390910190a15b5050565b3b151590565b6000816040516020018082805190602001908083835b602083106112535780518252601f199092019160209182019101611234565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120836040516020018082805190602001908083835b602083106112c15780518252601f1990920191602091820191016112a2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012014905092915050565b015190565b6001600160a01b03811660009081526005602052604090205460ff1615611371576040805162461bcd60e51b81526020600482015260166024820152756d616e6167657220616c72656164792065786973747360501b604482015290519081900360640190fd5b6001600160a01b038116600081815260056020908152604091829020805460ff19166001179055815192835290517fe0de8e71a22c046647f4ef744348fa126ad6d052d4ce070999481f69d45575179281900390910190a150565b6001600160a01b03811660008181526005602090815260408083208054600160ff1991821681179092556006845282852080546001600160a01b031916871790556007845293829020805490941617909255815192835290517fe0de8e71a22c046647f4ef744348fa126ad6d052d4ce070999481f69d45575179281900390910190a160408051600081526001600160a01b03831660208201528151600080516020611662833981519152929181900390910190a150565b60006114c683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114cd565b9392505050565b6000818484111561155c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611521578181015183820152602001611509565b50505050905090810190601f16801561154e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60405180604001604052806000815260200160008152509056fe70726f766973696f6e616c2072656c61796572206973206120636f6e74726163746c656e677468206f66206d616e616765722061646472657373206d69736d6174636872656c61796572206973206e6f7420612070726f766973696f6e616c2072656c61796572636f6e7472616374206973206e6f7420616c6c6f77656420746f20626520612072656c61796572746865206d6573736167652073656e646572206d75737420626520676f7665726e616e636520636f6e747261637470726f766973696f6e616c206973206e6f742073657420666f722074686973206d616e61676572a5a19d7e9dab30a215022382d7abe782b579986fcbedec9942ecd0db9510a148a2646970667358221220e87e5b6ca8388e14d2ec9c2453581b5e2346a0aaa8fa61707f4d522357ac45d464736f6c63430006040033", }, { ContractAddr: common.HexToAddress(CrossChainContract), - CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/5134a57191da8350278ee154c4814659c89d8f9f", + CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/b144718e94d7a1ebb24a7103202300f08826f369", Code: "608060405234801561001057600080fd5b50600436106103995760003560e01c8063718a8aa8116101e9578063c27cdcfb1161010f578063dc927faf116100ad578063f7a251d71161007c578063f7a251d714610b2f578063f9a2bbc714610ba7578063fc3e590814610baf578063fd6a687914610bb757610399565b8063dc927faf14610af7578063e1c7392a14610aff578063e3b0480514610b07578063e6400bbe14610b2757610399565b8063ccc108d7116100e9578063ccc108d714610ab0578063d31f968d14610ab8578063d76a867514610ae7578063dc40433114610aef57610399565b8063c27cdcfb14610a80578063c780e9de14610aa0578063c81b166214610aa857610399565b80638cc8f56111610187578063a78abc1611610156578063a78abc16146109b2578063ab51bb96146109ba578063ac431751146109c2578063b0355f5b1461078157610399565b80638cc8f5611461088757806396713da91461099a5780639dc09262146109a2578063a1a11bf5146109aa57610399565b806375d47a0a116101c357806375d47a0a146108a75780637942fd05146108af57806384013b6a146108b7578063863fe4ab1461099257610399565b8063718a8aa81461088f578063719482d51461089757806374f079b81461089f57610399565b8063422f9050116102ce57806363e1394e1161026c5780636de380bd1161023b5780636de380bd146108575780636e47a51a1461085f5780636e47b4821461087f57806370fd5bad1461088757610399565b806363e1394e146107ff5780636a3cb34d146108075780636bacff2c1461080f5780636c46aa681461080757610399565b80634bf6c882116102a85780634bf6c882146107b957806351e80672146107c15780635692ddd3146107c95780635f832177146107d157610399565b8063422f90501461078957806343756e5c146107a9578063493279b1146107b157610399565b8063299b533d1161033b578063308325f411610315578063308325f4146106155780633a648b151461061d5780633bdc47a6146106595780633dffc3871461078157610399565b8063299b533d146105a35780632af6f399146105d75780632ff32aea146105f457610399565b806314b3023b1161037757806314b3023b146104015780631d1309351461041b5780631e275ae11461043757806322556cdc1461059b57610399565b806305e682581461039e5780630bee7a67146103bc5780630e2374a5146103dd575b600080fd5b6103a6610bbf565b6040805160ff9092168252519081900360200190f35b6103c4610bc4565b6040805163ffffffff9092168252519081900360200190f35b6103e5610bc9565b604080516001600160a01b039092168252519081900360200190f35b610409610bcf565b60408051918252519081900360200190f35b610423610bd5565b604080519115158252519081900360200190f35b610599600480360361010081101561044e57600080fd5b81018160a081016080820135600160201b81111561046b57600080fd5b82018360208201111561047d57600080fd5b803590602001918460018302840111600160201b8311171561049e57600080fd5b919390929091602081019035600160201b8111156104bb57600080fd5b8201836020820111156104cd57600080fd5b803590602001918460018302840111600160201b831117156104ee57600080fd5b919390929091602081019035600160201b81111561050b57600080fd5b82018360208201111561051d57600080fd5b803590602001918460018302840111600160201b8311171561053e57600080fd5b919390929091602081019035600160201b81111561055b57600080fd5b82018360208201111561056d57600080fd5b803590602001918460018302840111600160201b8311171561058e57600080fd5b509092509050610bde565b005b6104096112c2565b6105c0600480360360208110156105b957600080fd5b50356112c7565b6040805161ffff9092168252519081900360200190f35b610423600480360360208110156105ed57600080fd5b50356112dd565b6105fc6112f2565b60408051600792830b90920b8252519081900360200190f35b6104096112fb565b61063d6004803603602081101561063357600080fd5b503560ff16611301565b604080516001600160401b039092168252519081900360200190f35b61070c6004803603606081101561066f57600080fd5b60ff82351691602081013591810190606081016040820135600160201b81111561069857600080fd5b8201836020820111156106aa57600080fd5b803590602001918460018302840111600160201b831117156106cb57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061131c945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561074657818101518382015260200161072e565b50505050905090810190601f1680156107735780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103a6611392565b6104236004803603602081101561079f57600080fd5b503560ff16611397565b6103e56113ac565b6105c06113b2565b6103a66113b7565b6103e56113bc565b6104096113c2565b610599600480360360408110156107e757600080fd5b506001600160a01b03813581169160200135166113f2565b610409611652565b6105c061167a565b61082c6004803603602081101561082557600080fd5b503561167f565b6040805161ffff90941684526001600160801b03909216602084015282820152519081900360600190f35b6104096116ae565b6103e56004803603602081101561087557600080fd5b503560ff166116d5565b6103e56116f0565b6103a661167a565b6103a66116f6565b6105c0611392565b6104096116fb565b6103e5611701565b6103a6611707565b610599600480360360a08110156108cd57600080fd5b810190602081018135600160201b8111156108e757600080fd5b8201836020820111156108f957600080fd5b803590602001918460018302840111600160201b8311171561091a57600080fd5b919390929091602081019035600160201b81111561093757600080fd5b82018360208201111561094957600080fd5b803590602001918460018302840111600160201b8311171561096a57600080fd5b919350915080356001600160401b03908116916020810135909116906040013560ff1661170c565b6104096129c6565b6103a66129ce565b6103e56129d3565b6103e56129d9565b6104236129df565b6103c4610bbf565b610599600480360360408110156109d857600080fd5b810190602081018135600160201b8111156109f257600080fd5b820183602082011115610a0457600080fd5b803590602001918460018302840111600160201b83111715610a2557600080fd5b919390929091602081019035600160201b811115610a4257600080fd5b820183602082011115610a5457600080fd5b803590602001918460018302840111600160201b83111715610a7557600080fd5b5090925090506129e8565b61063d60048036036020811015610a9657600080fd5b503560ff166134ac565b6104096134c7565b6103e56134eb565b6105996134f1565b61042360048036036040811015610ace57600080fd5b5080356001600160a01b0316906020013560ff16613745565b61070c613765565b610409613784565b6103e561378a565b610599613790565b61063d60048036036020811015610b1d57600080fd5b503560ff16613b47565b610599613b62565b61059960048036036060811015610b4557600080fd5b60ff8235169190810190604081016020820135600160201b811115610b6957600080fd5b820183602082011115610b7b57600080fd5b803590602001918460018302840111600160201b83111715610b9c57600080fd5b919350915035613d81565b6103e5613ec4565b6103a6613eca565b6103e5613ecf565b600081565b606481565b61200181565b60015481565b600b5460ff1681565b60005460ff16610c23576040805162461bcd60e51b815260206004820152601960248201526000805160206149b2833981519152604482015290519081900360640190fd5b604080516337d7f9c160e21b81526001600160401b038b35166004820181905291516110039163df5fe704916024808301926020929190829003018186803b158015610c6e57600080fd5b505afa158015610c82573d6000803e3d6000fd5b505050506040513d6020811015610c9857600080fd5b5051610cd55760405162461bcd60e51b81526004018080602001828103825260238152602001806149d26023913960400191505060405180910390fd5b604080516337d7f9c160e21b815260208c8101356001600160401b03166004830181905292516110039263df5fe704926024808301939192829003018186803b158015610d2157600080fd5b505afa158015610d35573d6000803e3d6000fd5b505050506040513d6020811015610d4b57600080fd5b5051610d885760405162461bcd60e51b81526004018080602001828103825260238152602001806149d26023913960400191505060405180910390fd5b60608b013560ff81166000908152600560205260409020546001600160401b03909116906001600160a01b0316610e01576040805162461bcd60e51b815260206004820152601860248201527718da185b9b995b081a5cc81b9bdd081cdd5c1c1bdc9d195960421b604482015290519081900360640190fd5b600b5460ff1615610e45576040805162461bcd60e51b81526020600482015260096024820152681cdd5cdc195b99195960ba1b604482015290519081900360640190fd5b8888604051808383808284376040519201829003822094508f93508e9250819050838380828437808301925050509250505060405180910390201415610ec1576040805162461bcd60e51b815260206004820152600c60248201526b1cd85b59481c185e5b1bd85960a21b604482015290519081900360640190fd5b60606001600160401b0360408e01358116908e83013516610ee28282613ed5565b80516020808301919091206000818152600e9092526040909120549194509060ff1615610f4b576040805162461bcd60e51b8152602060048201526012602482015271185b1c9958591e4818da185b1b195b99d95960721b604482015290519081900360640190fd5b6000908152600e60205260408120805460ff191660011790558f8160200201356001600160401b0316905060608f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050905060608c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040805163cba510a960e01b81526001600160401b038a16600482015290519596509094611003945063cba510a9935060248083019350602092829003018186803b15801561104157600080fd5b505afa158015611055573d6000803e3d6000fd5b505050506040513d602081101561106b57600080fd5b505160408051808201909152600381526269626360e81b6020820152909150611098908290898686613f1d565b6110e1576040805162461bcd60e51b81526020600482015260156024820152740696e76616c6964206d65726b6c652070726f6f663605c1b604482015290519081900360640190fd5b5050505060008f6001600481106110f457fe5b60200201356001600160401b0316905060608d8d8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815293945060609392508d91508c908190840183828082843760009201829052506040805163cba510a960e01b81526001600160401b038a16600482015290519596509094611003945063cba510a9935060248083019350602092829003018186803b1580156111c057600080fd5b505afa1580156111d4573d6000803e3d6000fd5b505050506040513d60208110156111ea57600080fd5b505160408051808201909152600381526269626360e81b6020820152909150611217908290898686613f1d565b611260576040805162461bcd60e51b8152602060048201526015602482015274696e76616c6964206d65726b6c652070726f6f663160581b604482015290519081900360640190fd5b5050505061126c61401a565b604080516001600160401b038416815260ff83166020820152815133927f039eb91179ffd7d3b6e97f8ea106e748e827f910b872375dbc9c14a362319c3c928290030190a2505050505050505050505050505050565b603281565b600d6020526000908152604090205461ffff1681565b600e6020526000908152604090205460ff1681565b60045460070b81565b60025481565b600a602052600090815260409020546001600160401b031681565b60606000825160210190506060816040519080825280601f01601f191660200182016040528015611354576020820181803683370190505b506021810186905260018101879052828152905060418101600061137786614098565b509050611386818388516140a2565b50909695505050505050565b600181565b60096020526000908152604090205460ff1681565b61100181565b606181565b600881565b61200081565b604080517710d05390d15317d514905394d1915497d41493d413d4d05360421b8152905190819003601801902081565b60005460ff16611437576040805162461bcd60e51b815260206004820152601960248201526000805160206149b2833981519152604482015290519081900360640190fd5b6040805163569e4ed360e11b815233600482015290516000916110009163ad3c9da691602480820192602092909190829003018186803b15801561147a57600080fd5b505afa15801561148e573d6000803e3d6000fd5b505050506040513d60208110156114a457600080fd5b505160408051633d42651560e11b8152905191925060009161100091637a84ca2a916004808301926020929190829003018186803b1580156114e557600080fd5b505afa1580156114f9573d6000803e3d6000fd5b505050506040513d602081101561150f57600080fd5b505190508061151c575060155b60008211801561152c5750808211155b61156b576040805162461bcd60e51b815260206004820152600b60248201526a1b9bdd0818d8589a5b995d60aa1b604482015290519081900360640190fd5b604080516001600160a01b038087166020808401919091529086168284015282518083038401815260608301808552815191909201207710d05390d15317d514905394d1915497d41493d413d4d05360421b90915291519081900360780190206000906115d890836140e3565b9050801561164a5760408051630911a2c160e11b81526001600160a01b03888116600483015287166024820152905161100491631223458291604480830192600092919082900301818387803b15801561163157600080fd5b505af1158015611645573d6000803e3d6000fd5b505050505b505050505050565b604080516f14d554d411539117d41493d413d4d05360821b8152905190819003601001902081565b600281565b600c602052600090815260409020805460019091015461ffff8216916201000090046001600160801b03169083565b604080516e149153d4115397d41493d413d4d053608a1b8152905190819003600f01902081565b6005602052600090815260409020546001600160a01b031681565b61100581565b601081565b60035481565b61100881565b600b81565b60005460ff16611751576040805162461bcd60e51b815260206004820152601960248201526000805160206149b2833981519152604482015290519081900360640190fd5b60408051630a83aaa960e31b815233600482015290516110069163541d5548916024808301926020929190829003018186803b15801561179057600080fd5b505afa1580156117a4573d6000803e3d6000fd5b505050506040513d60208110156117ba57600080fd5b505161180d576040805162461bcd60e51b815260206004820152601f60248201527f746865206d73672073656e646572206973206e6f7420612072656c6179657200604482015290519081900360640190fd5b60ff8116600090815260086020526040902054829082906001600160401b03908116908316811461187d576040805162461bcd60e51b815260206004820152601560248201527439b2b8bab2b731b2903737ba1034b71037b93232b960591b604482015290519081900360640190fd5b60ff8216600090815260086020908152604091829020805467ffffffffffffffff1916600185016001600160401b039081169190911790915582516337d7f9c160e21b81529089166004820152915188926110039263df5fe70492602480840193829003018186803b1580156118f257600080fd5b505afa158015611906573d6000803e3d6000fd5b505050506040513d602081101561191c57600080fd5b50516119595760405162461bcd60e51b81526004018080602001828103825260238152602001806149d26023913960400191505060405180910390fd5b60ff851660009081526005602052604090205485906001600160a01b03166119c3576040805162461bcd60e51b815260206004820152601860248201527718da185b9b995b081a5cc81b9bdd081cdd5c1c1bdc9d195960421b604482015290519081900360640190fd5b60ff86166000908152600a6020526040902054889087906001600160401b039081169083161015611a2c576040805162461bcd60e51b815260206004820152600e60248201526d3a37b79037b632103432b0b232b960911b604482015290519081900360640190fd5b60ff81166000908152600a60205260409020546001600160401b03838116911614611a7e5760ff81166000908152600a60205260409020805467ffffffffffffffff19166001600160401b0384161790555b600b5460ff1615611ac2576040805162461bcd60e51b81526020600482015260096024820152681cdd5cdc195b99195960ba1b604482015290519081900360640190fd5b60608e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050905060608d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509050611c066110036001600160a01b031663cba510a98e6040518263ffffffff1660e01b815260040180826001600160401b03166001600160401b0316815260200191505060206040518083038186803b158015611baf57600080fd5b505afa158015611bc3573d6000803e3d6000fd5b505050506040513d6020811015611bd957600080fd5b505160408051808201909152600381526269626360e81b6020820152611bff8e8e613ed5565b8585613f1d565b611c4e576040805162461bcd60e51b815260206004820152601460248201527334b73b30b634b21036b2b935b63290383937b7b360611b604482015290519081900360640190fd5b60408051631bb5062960e31b81526001600160401b038e16600482015290516000916110039163dda8314891602480820192602092909190829003018186803b158015611c9a57600080fd5b505afa158015611cae573d6000803e3d6000fd5b505050506040513d6020811015611cc457600080fd5b505190508b8b600080806060611cd9896143c8565b935093509350935083611d9b578460ff16866001600160401b03167ff7b2e42d694eb1100184aae86d4245d9e46966100b1dc7e723275b98326854ac8b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015611d53578181015183820152602001611d3b565b50505050905090810190601f168015611d805780820380516001836020036101000a031916815260200191505b509250505060405180910390a35050505050505050506129b6565b6040805160ff85811682529151918716916001600160401b038916917f36afdaf439a8f43fe72135135d804ae620b37a474f0943b5b85f6788312cad40919081900360200190a360ff83166123205760ff85166000818152600560209081526040808320548151631182b87560e01b815260048101958652602481019283528651604482015286516001600160a01b03909216958695631182b875958d958a9593949093606490910192918601918190849084905b83811015611e68578181015183820152602001611e50565b50505050905090810190601f168015611e955780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015611eb557600080fd5b505af1925050508015611f9957506040513d6000823e601f3d908101601f191682016040526020811015611ee857600080fd5b8101908080516040519392919084600160201b821115611f0757600080fd5b908301906020820185811115611f1c57600080fd5b8251600160201b811182820188101715611f3557600080fd5b82525081516020918201929091019080838360005b83811015611f62578181015183820152602001611f4a565b50505050905090810190601f168015611f8f5780820380516001836020036101000a031916815260200191505b5060405250505060015b6122ab576040516000815260443d1015611fb557506000612050565b60046000803e60005160e01c6308c379a08114611fd6576000915050612050565b60043d036004833e81513d60248201116001600160401b038211171561200157600092505050612050565b80830180516001600160401b03811115612022576000945050505050612050565b8060208301013d860181111561204057600095505050505050612050565b601f01601f191660405250925050505b8061205b575061216d565b60ff8716600090815260076020526040812054612092916001600160401b0390911690899061208d906002908861131c565b614478565b60ff8716600090815260076020908152604080832080546001600160401b038082166001011667ffffffffffffffff19909116179055805182815284518184015284516001600160a01b038716947ff91a8f63e5b3e0e89e5f93e1915a7805f3c52d9a73b3c09769785c2c7bf87acf948794849390840192918601918190849084905b8381101561212d578181015183820152602001612115565b50505050905090810190601f16801561215a5780820380516001836020036101000a031916815260200191505b509250505060405180910390a2506122a6565b3d808015612197576040519150601f19603f3d011682016040523d82523d6000602084013e61219c565b606091505b5060ff87166000908152600760205260408120546121cf916001600160401b0390911690899061208d906002908861131c565b60ff8716600090815260076020908152604080832080546001600160401b038082166001011667ffffffffffffffff19909116179055805182815284518184015284516001600160a01b038716947f63ac299d6332d1cc4e61b81e59bc00c0ac7c798addadf33840f1307cd2977351948794849390840192918601918190849084905b8381101561226a578181015183820152602001612252565b50505050905090810190601f1680156122975780820380516001836020036101000a031916815260200191505b509250505060405180910390a2505b61231a565b8051156123185760ff87166000908152600760205260408120546122e4916001600160401b0390911690899061208d906001908661131c565b60ff8716600090815260076020526040902080546001600160401b038082166001011667ffffffffffffffff199091161790555b505b506128ee565b60ff8316600114156125c45760ff8516600081815260056020908152604080832054815163831d65d160e01b815260048101958652602481019283528651604482015286516001600160a01b0390921695869563831d65d1958d958a9593949093606490910192918601918190849084905b838110156123aa578181015183820152602001612392565b50505050905090810190601f1680156123d75780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156123f757600080fd5b505af1925050508015612408575060015b61231a576040516000815260443d1015612424575060006124bf565b60046000803e60005160e01c6308c379a081146124455760009150506124bf565b60043d036004833e81513d60248201116001600160401b0382111715612470576000925050506124bf565b80830180516001600160401b038111156124915760009450505050506124bf565b8060208301013d86018111156124af576000955050505050506124bf565b601f01601f191660405250925050505b806124ca575061252f565b60408051602080825283518183015283516001600160a01b038616937ff91a8f63e5b3e0e89e5f93e1915a7805f3c52d9a73b3c09769785c2c7bf87acf938693909283928301918501908083836000831561212d578181015183820152602001612115565b3d808015612559576040519150601f19603f3d011682016040523d82523d6000602084013e61255e565b606091505b5060408051602080825283518183015283516001600160a01b038616937f63ac299d6332d1cc4e61b81e59bc00c0ac7c798addadf33840f1307cd2977351938693909283928301918501908083836000831561226a578181015183820152602001612252565b60ff8316600214156128ee5760ff8516600081815260056020908152604080832054815163c8509d8160e01b815260048101958652602481019283528651604482015286516001600160a01b0390921695869563c8509d81958d958a9593949093606490910192918601918190849084905b8381101561264e578181015183820152602001612636565b50505050905090810190601f16801561267b5780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561269b57600080fd5b505af19250505080156126ac575060015b6128ec576040516000815260443d10156126c857506000612763565b60046000803e60005160e01c6308c379a081146126e9576000915050612763565b60043d036004833e81513d60248201116001600160401b038211171561271457600092505050612763565b80830180516001600160401b03811115612735576000945050505050612763565b8060208301013d860181111561275357600095505050505050612763565b601f01601f191660405250925050505b8061276e5750612817565b816001600160a01b03167ff91a8f63e5b3e0e89e5f93e1915a7805f3c52d9a73b3c09769785c2c7bf87acf826040518080602001828103825283818151815260200191508051906020019080838360005b838110156127d75781810151838201526020016127bf565b50505050905090810190601f1680156128045780820380516001836020036101000a031916815260200191505b509250505060405180910390a2506128ec565b3d808015612841576040519150601f19603f3d011682016040523d82523d6000602084013e612846565b606091505b50816001600160a01b03167f63ac299d6332d1cc4e61b81e59bc00c0ac7c798addadf33840f1307cd2977351826040518080602001828103825283818151815260200191508051906020019080838360005b838110156128b0578181015183820152602001612898565b50505050905090810190601f1680156128dd5780820380516001836020036101000a031916815260200191505b509250505060405180910390a2505b505b60ff80861660009081526009602052604090205461100591636f93d2e6918a91339187911680612920575060ff881615155b604080516001600160e01b031960e088901b1681526001600160a01b039586166004820152939094166024840152604483019190915215156064820152905160848083019260209291908290030181600087803b15801561298057600080fd5b505af1158015612994573d6000803e3d6000fd5b505050506040513d60208110156129aa57600080fd5b50505050505050505050505b5050505050505050505050505050565b630100610081565b600981565b61100781565b61100681565b60005460ff1681565b3361100714612a285760405162461bcd60e51b815260040180806020018281038252602e815260200180614908602e913960400191505060405180910390fd5b600b5460ff1615612a6c576040805162461bcd60e51b81526020600482015260096024820152681cdd5cdc195b99195960ba1b604482015290519081900360640190fd5b612ad584848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080518082019091526012815271626174636853697a65466f724f7261636c6560701b602082015291506146129050565b15612b7057604080516020601f8401819004810282018101909252828152600091612b18918585808385018382808284376000920191909152506146f992505050565b90506127108111158015612b2d5750600a8110155b612b685760405162461bcd60e51b81526004018080602001828103825260328152602001806149806032913960400191505060405180910390fd5b60015561341a565b612bd984848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601281527118591913dc955c19185d1950da185b9b995b60721b602082015291506146129050565b15612d6157606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505082519293505060169091149050612c5c5760405162461bcd60e51b815260040180806020018281038252605a815260200180614821605a913960600191505060405180910390fd5b60018101516002820151601683015160ff82161590612c7a816146fe565b612ccb576040805162461bcd60e51b815260206004820152601960248201527f61646472657373206973206e6f74206120636f6e747261637400000000000000604482015290519081900360640190fd5b60ff8416600081815260056020908152604080832080546001600160a01b0319166001600160a01b038716908117909155808452600683528184208585528352818420805460ff199081166001179091556009909352818420805490931687151517909255519092917f7e3b6af43092577ee20e60eaa1d9b114a7031305c895ee7dd3ffe17196d2e1e091a3505050505061341a565b612dce84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080518082019091526016815275195b98589b1953dc911a5cd8589b1950da185b9b995b60521b602082015291506146129050565b15612eff57606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505082519293505060029091149050612e515760405162461bcd60e51b815260040180806020018281038252604a815260200180614936604a913960600191505060405180910390fd5b600181810151600283015160ff80831660009081526005602052604090205492939192908316909114906001600160a01b03168015612ef5576001600160a01b038116600090815260066020908152604080832060ff881680855290835292819020805460ff1916861515908117909155815190815290517fa3132e3f9819fbddc7f0ed6d38d7feef59aa95112090b7c592f5cb5bc4aa4adc929181900390910190a25b505050505061341a565b612f6384848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600d81526c73757370656e6451756f72756d60981b602082015291506146129050565b156130985760028114612fa75760405162461bcd60e51b815260040180806020018281038252602d8152602001806148af602d913960400191505060405180910390fd5b6000612fea600284848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506146f992505050565b905060008161ffff16118015613004575060648161ffff16105b61304e576040805162461bcd60e51b8152602060048201526016602482015275696e76616c69642073757370656e642071756f72756d60501b604482015290519081900360640190fd5b604080516f14d554d411539117d41493d413d4d05360821b815281519081900360100190206000908152600d60205220805461ffff90921661ffff1990921691909117905561341a565b6130fb84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600c81526b72656f70656e51756f72756d60a01b602082015291506146129050565b1561322e576002811461313f5760405162461bcd60e51b815260040180806020018281038252602c8152602001806148dc602c913960400191505060405180910390fd5b6000613182600284848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506146f992505050565b905060008161ffff1611801561319c575060648161ffff16105b6131e5576040805162461bcd60e51b8152602060048201526015602482015274696e76616c69642072656f70656e2071756f72756d60581b604482015290519081900360640190fd5b604080516e149153d4115397d41493d413d4d053608a1b8152815190819003600f0190206000908152600d60205220805461ffff90921661ffff1990921691909117905561341a565b61329984848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601481527363616e63656c5472616e7366657251756f72756d60601b602082015291506146129050565b156133dd57600281146132dd5760405162461bcd60e51b815260040180806020018281038252603481526020018061487b6034913960400191505060405180910390fd5b6000613320600284848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506146f992505050565b905060008161ffff1611801561333a575060648161ffff16105b61338b576040805162461bcd60e51b815260206004820152601e60248201527f696e76616c69642063616e63656c207472616e736665722071756f72756d0000604482015290519081900360640190fd5b604080517710d05390d15317d514905394d1915497d41493d413d4d05360421b815281519081900360180190206000908152600d60205220805461ffff90921661ffff1990921691909117905561341a565b6040805162461bcd60e51b815260206004820152600d60248201526c756e6b6e6f776e20706172616d60981b604482015290519081900360640190fd5b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a848484846040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a150505050565b6008602052600090815260409020546001600160401b031681565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081565b61100281565b60005460ff16613536576040805162461bcd60e51b815260206004820152601960248201526000805160206149b2833981519152604482015290519081900360640190fd5b6040805163569e4ed360e11b815233600482015290516000916110009163ad3c9da691602480820192602092909190829003018186803b15801561357957600080fd5b505afa15801561358d573d6000803e3d6000fd5b505050506040513d60208110156135a357600080fd5b505160408051633d42651560e11b8152905191925060009161100091637a84ca2a916004808301926020929190829003018186803b1580156135e457600080fd5b505afa1580156135f8573d6000803e3d6000fd5b505050506040513d602081101561360e57600080fd5b505190508061361b575060155b60008211801561362b5750808211155b61366a576040805162461bcd60e51b815260206004820152600b60248201526a1b9bdd0818d8589a5b995d60aa1b604482015290519081900360640190fd5b600b5460ff166136b1576040805162461bcd60e51b815260206004820152600d60248201526c1b9bdd081cdd5cdc195b991959609a1b604482015290519081900360640190fd5b604080516e149153d4115397d41493d413d4d053608a1b8152905190819003600f019020600090613702907fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4706140e3565b9050801561374057600b805460ff1916905560405133907f899fe8c37dc61708a3aaa99c4bf143346c1d1da69af79be9e8920c0a6785b75290600090a25b505050565b600660209081526000928352604080842090915290825290205460ff1681565b6040518060400160405280600381526020016269626360e81b81525081565b610e1081565b61100381565b60005460ff16156137e8576040805162461bcd60e51b815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e697400000000000000604482015290519081900360640190fd5b7f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b80546001600160a01b0319908116611008179091557f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a36805460ff199081169091557fd8af288fc1c8680b4f4706064cf021e264efb6828fcaf7eb5ca36818eb365bcc8054821660019081179091557f89832631fb3c3307a103ba2c84ab569c64d6182a18893dcd163f0f1c2090733a805484166110049081179091557f6cde3cea4b3a3fb2488b2808bae7556f4a405e50f65e1794383bc026131b13c38054841690557f72e4efa1513b071517c6c74dba31b5934a81aa83cddd400e7081df5529c9943680548416831790557fa9bc9a3a348c357ba16b37005d7e6b3236198c0e939f4af8c5f19b8deeb8ebc08054851690911790557fc575c31fea594a6eb97c8e9d3f9caee4c16218c6ef37e923234c0fe9014a61e78054831690557f4e523af77f034e9810f1c94057f5e931fb3d16a51511a4c3add793617d18610580548316821790557ffb33122aa9f93cc639ebe80a7bc4784c11e6053dde89c6f4f7e268c6a623da1e805484166110001790557fc7694af312c4f286114180fd0ba6a52461fcee8a381636770b19a343af92538a80548316821790557f01112dd68e482ba8d68a7e828cff8b3abcea08eab88941953c180a7e650e9cd480548316821790557fc0a4a8be475dfebc377ebef2d7c4ff47656f572a08dd92b81017efcdba0febe1805484166110071790557f87e8a52529e8ece4ef759037313542a6429ff494a9fab9027fb79db90124eba680548316821790557f4c7666bbcb22d46469f7cc282f70764a7012dca2cce630ff8d83db9a9cdd48f080548316821790557f40f28f99a40bc9f6beea1013afdbc3cdcc689eb76b82c4de06c0acf1e1932ed58054909316611001179092557f0d9cf2cd531699eed8dd34e40ff2884a14a698c4898184fba85194e6f6772d248054821683179055600b60009081527f23f68c9bd22b8a93d06adabe17481c87c016bcbd20adc8bfd707a4d813a572176020527fdf0d5d05428057f5455c2dc8e810dd86d1e9350faa72f16bda8a45443c5b39328054831684179055603283556004805467ffffffffffffffff19166001600160401b031790556002819055600381905580549091169091179055565b6007602052600090815260409020546001600160401b031681565b60005460ff16613ba7576040805162461bcd60e51b815260206004820152601960248201526000805160206149b2833981519152604482015290519081900360640190fd5b6040805163569e4ed360e11b815233600482015290516000916110009163ad3c9da691602480820192602092909190829003018186803b158015613bea57600080fd5b505afa158015613bfe573d6000803e3d6000fd5b505050506040513d6020811015613c1457600080fd5b505160408051633d42651560e11b8152905191925060009161100091637a84ca2a916004808301926020929190829003018186803b158015613c5557600080fd5b505afa158015613c69573d6000803e3d6000fd5b505050506040513d6020811015613c7f57600080fd5b5051905080613c8c575060155b600082118015613c9c5750808211155b613cdb576040805162461bcd60e51b815260206004820152600b60248201526a1b9bdd0818d8589a5b995d60aa1b604482015290519081900360640190fd5b600b5460ff1615613d1f576040805162461bcd60e51b81526020600482015260096024820152681cdd5cdc195b99195960ba1b604482015290519081900360640190fd5b604080516f14d554d411539117d41493d413d4d05360821b81529051908190036010019020600090613d71907fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4706140e3565b905080156137405761374061401a565b60005460ff16613dc6576040805162461bcd60e51b815260206004820152601960248201526000805160206149b2833981519152604482015290519081900360640190fd5b33600090815260066020908152604080832060ff8089168552925290912054859116613e235760405162461bcd60e51b81526004018080602001828103825260318152602001806147f06031913960400191505060405180910390fd5b60ff85166000908152600760209081526040808320548151601f88018490048402810184019092528682526001600160401b031692613e889284928a9261208d92909189918c908c908190840183828082843760009201919091525061131c92505050565b60ff959095166000908152600760205260409020805467ffffffffffffffff191660019096016001600160401b03169590951790945550505050565b61100081565b600381565b61100481565b60408051600e808252818301909252606091630100610060ff851617918391602082018180368337505050600e81810187905260068201939093529182525090505b92915050565b600085613f2c57506000614011565b606082518451865160800101016040519080825280601f01601f191660200182016040528015613f63576020820181803683370190505b5090506000613f7182614704565b602080890151825201905086600080613f8989614098565b8086526020909501949092509050613fa28285836140a2565b92830192613faf88614098565b8086526020909501949092509050613fc88285836140a2565b9283018a815260200192613fdb87614098565b9092509050613feb8285836140a2565b508351602001613ff961470a565b60208183886065600019fa5051600114955050505050505b95945050505050565b600b5460ff161561405e576040805162461bcd60e51b81526020600482015260096024820152681cdd5cdc195b99195960ba1b604482015290519081900360640190fd5b600b805460ff1916600117905560405133907f6f123d3d54c84a7960a573b31c221dcd86e13fd849c5adb0c6ca851468cc1ae490600090a2565b8051602090910191565b5b602081106140c2578251825260209283019290910190601f19016140a3565b915181516020939093036101000a6000190180199091169216919091179052565b6000828152600d602052604081205461ffff166141ac57604080516f14d554d411539117d41493d413d4d05360821b815281519081900360100181206000908152600d6020818152848320805461ffff199081166001179091556e149153d4115397d41493d413d4d053608a1b8552855194859003600f01852084528282528584208054821660029081179091557710d05390d15317d514905394d1915497d41493d413d4d05360421b8652865195869003601801909520845291905292902080549092161790555b6000838152600c6020526040902080546201000090046001600160801b0316421015806141dd575082816001015414155b156142b0576000848152600d602090815260409182902054835461ffff90911661ffff199091161771ffffffffffffffffffffffffffffffff0000191662010000610e1042016001600160801b0316021783556001808401869055825191820190925233815261425291600284019190614728565b5080546040805161ffff83168152620100009092046001600160801b0316602083015281810185905251339186917f9e109f0e55ef32e99e4880be2ec357f1ddb3469c79d0747ef4762da6e89fabe5916060908290030190a3614364565b60005b600282015481101561433b57336001600160a01b03168260020182815481106142d857fe5b6000918252602090912001546001600160a01b03161415614333576040805162461bcd60e51b815260206004820152601060248201526f185b1c9958591e48185c1c1c9bdd995960821b604482015290519081900360640190fd5b6001016142b3565b50600281018054600181018255600091825260209091200180546001600160a01b031916331790555b8054600282015461ffff909116116143be576000848152600c60205260408120805471ffffffffffffffffffffffffffffffffffff1916815560018101829055906143b2600283018261478d565b50506001915050613f17565b5060009392505050565b600080600060606021855110156143f8575050604080516000808252602082019092529092508291508190614471565b600185015160218601518651604080516020198301808252601f1960011990940193909316810160200190915260418901939291606091908015614443576020820181803683370190505b509050600061445182614098565b509050614463858260218d51036140a2565b506001975091955093509150505b9193509193565b600b5460ff16156144bc576040805162461bcd60e51b81526020600482015260096024820152681cdd5cdc195b99195960ba1b604482015290519081900360640190fd5b6002544311156144fb576004805467ffffffffffffffff1981166001600160401b036001600793840b810190930b16179091556003554360025561453c565b6003805460019081019182905554101561453c576004805467ffffffffffffffff1981166001600160401b036001600793840b810190930b16179091556003555b8160ff16836001600160401b0316600460009054906101000a900460070b6001600160401b03167f3a6e0fc61675aa2a100bcba0568368bb92bcec91c97673391074f11138f0cffe606185604051808361ffff1661ffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156145d25781810151838201526020016145ba565b50505050905090810190601f1680156145ff5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a4505050565b6000816040516020018082805190602001908083835b602083106146475780518252601f199092019160209182019101614628565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120836040516020018082805190602001908083835b602083106146b55780518252601f199092019160209182019101614696565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012014905092915050565b015190565b3b151590565b60200190565b60405180602001604052806001906020820280368337509192915050565b82805482825590600052602060002090810192821561477d579160200282015b8281111561477d57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190614748565b506147899291506147ae565b5090565b50805460008255906000526020600020908101906147ab91906147d5565b50565b6147d291905b808211156147895780546001600160a01b03191681556001016147b4565b90565b6147d291905b8082111561478957600081556001016147db56fe74686520636f6e747261637420616e64206368616e6e656c2068617665206e6f74206265656e20726567697374657265646c656e677468206f662076616c756520666f72206164644f725570646174654368616e6e656c2073686f756c642062652032322c206368616e6e656c49643a697346726f6d53797374656d3a68616e646c6572416464726573736c656e677468206f662076616c756520666f722063616e63656c5472616e7366657251756f72756d2073686f756c6420626520326c656e677468206f662076616c756520666f722073757370656e6451756f72756d2073686f756c6420626520326c656e677468206f662076616c756520666f722072656f70656e51756f72756d2073686f756c642062652032746865206d6573736167652073656e646572206d75737420626520676f7665726e616e636520636f6e74726163746c656e677468206f662076616c756520666f7220656e61626c654f7244697361626c654368616e6e656c2073686f756c6420626520322c206368616e6e656c49643a6973456e61626c65746865206e6577426174636853697a65466f724f7261636c652073686f756c6420626520696e205b31302c2031303030305d74686520636f6e7472616374206e6f7420696e697420796574000000000000006c6967687420636c69656e74206e6f742073796e632074686520626c6f636b20796574a26469706673582212200822a3bd79df610f758cc9702e0be636463b002fc0089f5e09cf86383a7f79fc64736f6c63430006040033", }, }, @@ -620,27 +620,27 @@ func init() { Configs: []*UpgradeConfig{ { ContractAddr: common.HexToAddress(ValidatorContract), - CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/030cf951e9f5ae1f8211333af807e5d30f3b5a85", - Code: "60806040526004361061046c5760003560e01c8063862498821161024a578063c6d3394511610139578063e40716a1116100b6578063f9a2bbc71161007a578063f9a2bbc714610b6b578063fc3e590814610b80578063fccc281314610b95578063fd4ad81f14610baa578063fd6a687914610bd957610473565b8063e40716a114610af9578063eb57e20214610b0e578063eda5868c14610b2e578063f340fa0114610b43578063f92eb86b14610b5657610473565b8063d86222d5116100fd578063d86222d514610a90578063daacdb6614610aa5578063dc927faf14610aba578063e086c7b114610acf578063e1c7392a14610ae457610473565b8063c6d3394514610a3c578063c81b166214610a51578063c8509d811461085f578063d04aa99614610a66578063d68fb56a14610a7b57610473565b8063a5422d5c116101c7578063ad3c9da61161018b578063ad3c9da6146109d0578063aef198a9146109f0578063b7ab4db514610a05578063b8cf4ef114610a27578063bf9f49951461062f57610473565b8063a5422d5c1461095c578063a78abc1614610971578063aaf5eb6814610986578063ab51bb961461099b578063ac431751146109b057610473565b806396713da91161020e57806396713da9146108f35780639dc09262146109085780639fe0f8161461091d578063a0dc275814610932578063a1a11bf51461094757610473565b8063862498821461087f57806388b32f11146108945780638b5ad0c9146108a95780638d19a410146108be5780639369d7de146108de57610473565b80634df6e0c3116103665780636e47b482116102e35780637942fd05116102a75780637942fd05146108205780637a84ca2a1461083557806381650b621461084a578063831d65d11461085f578063853230aa1461080b57610473565b80636e47b482146107b757806370fd5bad146107cc578063718a8aa8146107e157806375d47a0a146107f657806378dfed4a1461080b57610473565b8063565c56b31161032a578063565c56b3146107265780635667515a146107465780635d77156c1461075b57806362b72cf5146107705780636969a25c1461078557610473565b80634df6e0c3146106b25780635192c82c146106c757806351e80672146106dc578063549b03f2146106f157806355614fcc1461070657610473565b8063321d398a116103f45780633dffc387116103b85780633dffc3871461062f57806343756e5c1461065157806345cf9daf14610666578063493279b11461067b5780634bf6c8821461069d57610473565b8063321d398a146105975780633365af3a146105b757806335409f7f146105d75780633b071dcc146105f75780633de0f0d81461061a57610473565b80631182b8751161043b5780631182b875146104fe578063152ad3b81461052b5780631ff180691461054d578063219f22d514610562578063300c35671461057757610473565b806304c4fec61461047857806307a568471461048f5780630bee7a67146104ba5780630e2374a5146104dc57610473565b3661047357005b600080fd5b34801561048457600080fd5b5061048d610bee565b005b34801561049b57600080fd5b506104a4610c60565b6040516104b19190616ef1565b60405180910390f35b3480156104c657600080fd5b506104cf610c66565b6040516104b19190616f1b565b3480156104e857600080fd5b506104f1610c6b565b6040516104b191906162f8565b34801561050a57600080fd5b5061051e6105193660046161de565b610c71565b6040516104b1919061646f565b34801561053757600080fd5b50610540610ea9565b6040516104b19190616464565b34801561055957600080fd5b506104a4610eb2565b34801561056e57600080fd5b506104cf610eb8565b34801561058357600080fd5b5061048d6105923660046160a7565b610ebd565b3480156105a357600080fd5b506105406105b236600461618b565b611241565b3480156105c357600080fd5b506105406105d236600461618b565b611310565b3480156105e357600080fd5b5061048d6105f2366004616080565b6113c1565b34801561060357600080fd5b5061060c61151a565b6040516104b192919061637a565b34801561062657600080fd5b506104a46117f6565b34801561063b57600080fd5b506106446117fc565b6040516104b19190616f2c565b34801561065d57600080fd5b506104f1611801565b34801561067257600080fd5b506104a4611807565b34801561068757600080fd5b5061069061180d565b6040516104b19190616ee2565b3480156106a957600080fd5b50610644611813565b3480156106be57600080fd5b5061060c611818565b3480156106d357600080fd5b506104a4611996565b3480156106e857600080fd5b506104f161199c565b3480156106fd57600080fd5b506104a46119a2565b34801561071257600080fd5b50610540610721366004616080565b6119a8565b34801561073257600080fd5b506104a4610741366004616080565b6119dd565b34801561075257600080fd5b50610644611a2e565b34801561076757600080fd5b506104cf611a33565b34801561077c57600080fd5b506104a4611a38565b34801561079157600080fd5b506107a56107a036600461618b565b611a3e565b6040516104b196959493929190616325565b3480156107c357600080fd5b506104f1611aa2565b3480156107d857600080fd5b50610644611aa8565b3480156107ed57600080fd5b50610644611aad565b34801561080257600080fd5b506104f1611ab2565b34801561081757600080fd5b506104a4611ab8565b34801561082c57600080fd5b50610644611abe565b34801561084157600080fd5b506104a4611ac3565b34801561085657600080fd5b506104cf611ac9565b34801561086b57600080fd5b5061048d61087a3660046161de565b611ace565b34801561088b57600080fd5b506104a4611b2f565b3480156108a057600080fd5b506104a4611b35565b3480156108b557600080fd5b506104a4611b3b565b3480156108ca57600080fd5b506104a46108d9366004616080565b611b41565b3480156108ea57600080fd5b5061048d611b81565b3480156108ff57600080fd5b50610644611c95565b34801561091457600080fd5b506104f1611c9a565b34801561092957600080fd5b506104a4611ca0565b34801561093e57600080fd5b506104a4611ca5565b34801561095357600080fd5b506104f1611caa565b34801561096857600080fd5b5061051e611cb0565b34801561097d57600080fd5b50610540611ccf565b34801561099257600080fd5b506104a4611cd8565b3480156109a757600080fd5b506104cf611a2e565b3480156109bc57600080fd5b5061048d6109cb36600461612f565b611ce1565b3480156109dc57600080fd5b506104a46109eb366004616080565b61258d565b3480156109fc57600080fd5b506104a461259f565b348015610a1157600080fd5b50610a1a6125ac565b6040516104b19190616367565b348015610a3357600080fd5b506104a4612698565b348015610a4857600080fd5b506104a4611aa8565b348015610a5d57600080fd5b506104f161269d565b348015610a7257600080fd5b506104a46126a3565b348015610a8757600080fd5b506104a46126a8565b348015610a9c57600080fd5b506104a46126e7565b348015610ab157600080fd5b506104a46126f3565b348015610ac657600080fd5b506104f16126f9565b348015610adb57600080fd5b506104a46126ff565b348015610af057600080fd5b5061048d612704565b348015610b0557600080fd5b506104a46128b3565b348015610b1a57600080fd5b5061048d610b29366004616080565b6128b9565b348015610b3a57600080fd5b506104cf6129c1565b61048d610b51366004616080565b6129c6565b348015610b6257600080fd5b506104a4612c4e565b348015610b7757600080fd5b506104f1612c54565b348015610b8c57600080fd5b50610644611ca0565b348015610ba157600080fd5b506104f1612c5a565b348015610bb657600080fd5b50610bca610bc536600461618b565b612c60565b6040516104b193929190616efa565b348015610be557600080fd5b506104f1612d22565b6000610bf933611b41565b9050600b8181548110610c0857fe5b600091825260209091206001601690920201015460ff16610c445760405162461bcd60e51b8152600401610c3b90616b9a565b60405180910390fd5b6000610c4e6126a8565b9050610c5b338383612d28565b505050565b60095481565b606481565b61200181565b60005460609060ff16610c965760405162461bcd60e51b8152600401610c3b9061662e565b3361200014610cb75760405162461bcd60e51b8152600401610c3b90616d79565b600b54610d7557610cc6615d6c565b60015460005b81811015610d7157600b8054600181018255600091909152835160008051602061714f833981519152601690920291820190815560208086015160008051602061718f8339815191528401805460ff1916911515919091179055604086015180518794610d4d9360008051602061716f833981519152909101920190615d9b565b506060820151610d639060038301906013615e15565b505050806001019050610ccc565b5050505b610d7d615e42565b6000610dbe85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612f1492505050565b9150915080610dda57610dd160646130d0565b92505050610ea2565b815160009060ff16610dff57610df883602001518460400151613131565b9050610e6e565b825160ff1660011415610e6a57826020015151600114610e445760008051602061712f833981519152604051610e3490616a81565b60405180910390a1506067610e65565b610df88360200151600081518110610e5857fe5b6020026020010151613d85565b610e6e565b5060655b63ffffffff8116610e935750506040805160008152602081019091529150610ea29050565b610e9c816130d0565b93505050505b9392505050565b60075460ff1681565b60035481565b606881565b334114610edc5760405162461bcd60e51b8152600401610c3b90616dc8565b6010544311610efd5760405162461bcd60e51b8152600401610c3b9061678a565b60005460ff16610f1f5760405162461bcd60e51b8152600401610c3b9061662e565b600f54610f37576032600f5561100231601155611237565b60006110023168056bc75e2d63100000811115610f6657610f5f81606463ffffffff613efc16565b9150610faf565b601154811115610fa857610f5f6064610f9c600f54610f9060115486613f3e90919063ffffffff16565b9063ffffffff613f8016565b9063ffffffff613efc16565b5050611237565b6040516309a99b4f60e41b815261100290639a99b4f090610fd6903090869060040161630c565b602060405180830381600087803b158015610ff057600080fd5b505af1158015611004573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102891906161a3565b6110023160115591508161103d575050611237565b6000805b8481101561106b5785858281811061105557fe5b9050602002013582019150806001019050611041565b508061107957505050611237565b6000806000805b8981101561122f578489898381811061109557fe5b905060200201358802816110a557fe5b0493508a8a828181106110b457fe5b90506020020160208101906110c99190616080565b6001600160a01b038116600090815260046020526040902054909350915081156111e55760006001808403815481106110fe57fe5b9060005260206000209060040201905080600201601c9054906101000a900460ff161561116b57836001600160a01b03167fb9c75cbbfde137c4281689580799ef5f52144e78858f776a5979b2b212137d858660405161115e9190616ef1565b60405180910390a26111df565b60035461117e908663ffffffff613fba16565b6003908155810154611196908663ffffffff613fba16565b60038201556040516001600160a01b038516907fcb0aad6cf9cd03bdf6137e359f541c42f38b39f007cae8e89e88aa7d8c6617b2906111d6908890616ef1565b60405180910390a25b50611227565b826001600160a01b03167fb9c75cbbfde137c4281689580799ef5f52144e78858f776a5979b2b212137d858560405161121e9190616ef1565b60405180910390a25b600101611080565b505050505050505b5050436010555050565b60015460009082106112555750600061130b565b60006001600160a01b03166001838154811061126d57fe5b60009182526020909120600490910201546001600160a01b0316148061129d5750600854158061129d5750600a54155b806112ac575060085460095410155b806112bd57506112bb82611310565b155b806112e657506000600b83815481106112d257fe5b906000526020600020906016020160000154115b806112fa575060016112f66125ac565b5111155b156113075750600061130b565b5060015b919050565b60015460009082106113245750600061130b565b600b548210611361576001828154811061133a57fe5b9060005260206000209060040201600201601c9054906101000a900460ff1615905061130b565b6001828154811061136e57fe5b9060005260206000209060040201600201601c9054906101000a900460ff161580156113bb5750600b82815481106113a257fe5b600091825260209091206001601690920201015460ff16155b92915050565b33611001146113e25760405162461bcd60e51b8152600401610c3b90616e99565b600b546114a0576113f1615d6c565b60015460005b8181101561149c57600b8054600181018255600091909152835160008051602061714f833981519152601690920291820190815560208086015160008051602061718f8339815191528401805460ff19169115159190911790556040860151805187946114789360008051602061716f833981519152909101920190615d9b565b50606082015161148e9060038301906013615e15565b5050508060010190506113f7565b5050505b6001600160a01b038116600090815260046020526040902054806114c45750611517565b6001810390506000600b82815481106114d957fe5b600091825260209091206001601690920201015460ff1690506114fc8383613fdf565b80156115055750805b15610c5b576009805460001901905550505b50565b60015460609081906000805b8281101561156d576001818154811061153b57fe5b9060005260206000209060040201600201601c9054906101000a900460ff16611565576001909101905b600101611526565b5060608160405190808252806020026020018201604052801561159a578160200160208202803683370190505b5090506060826040519080825280602002602001820160405280156115d357816020015b60608152602001906001900390816115be5790505b50600b546000945090915084141561174e5760005b8481101561174857600181815481106115fd57fe5b9060005260206000209060040201600201601c9054906101000a900460ff16611740576001818154811061162d57fe5b600091825260209091206004909102015483516001600160a01b039091169084908690811061165857fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600b818154811061168557fe5b600091825260209182902060026016909202018101805460408051601f60001961010060018616150201909316949094049182018590048502840185019052808352919290919083018282801561171d5780601f106116f25761010080835404028352916020019161171d565b820191906000526020600020905b81548152906001019060200180831161170057829003601f168201915b505050505082858151811061172e57fe5b60209081029190910101526001909301925b6001016115e8565b506117ea565b60005b848110156117e8576001818154811061176657fe5b9060005260206000209060040201600201601c9054906101000a900460ff166117e0576001818154811061179657fe5b600091825260209091206004909102015483516001600160a01b03909116908490869081106117c157fe5b6001600160a01b03909216602092830291909101909101526001909301925b600101611751565b505b909450925050505b9091565b61271081565b600181565b61100181565b60085481565b6102ca81565b600881565b600e54600c5460609182918061182c575060155b60606118366125ac565b9050606061184382614392565b90508282511161185a5790945092506117f2915050565b8383835103101561186c578282510393505b83156118a25760c8430461188883838388880360008a8a614500565b6118a08383838888038989038a8b8b8b510301614500565b505b6060836040519080825280602002602001820160405280156118ce578160200160208202803683370190505b50905060608460405190808252806020026020018201604052801561190757816020015b60608152602001906001900390816118f25790505b50905060005b858110156119885784818151811061192157fe5b602002602001015183828151811061193557fe5b60200260200101906001600160a01b031690816001600160a01b03168152505083818151811061196157fe5b602002602001015182828151811061197557fe5b602090810291909101015260010161190d565b509096509450505050509091565b60065481565b61200081565b600f5481565b6001600160a01b038116600090815260046020526040812054806119d057600091505061130b565b60001901610ea281611310565b6001600160a01b03811660009081526004602052604081205480611a0557600091505061130b565b600180820381548110611a1457fe5b906000526020600020906004020160030154915050919050565b600081565b606781565b60105481565b60018181548110611a4b57fe5b600091825260209091206004909102018054600182015460028301546003909301546001600160a01b0392831694509082169291821691600160a01b81046001600160401b031691600160e01b90910460ff169086565b61100581565b600281565b601081565b61100881565b6103e881565b600b81565b600c5481565b606681565b3361200014611aef5760405162461bcd60e51b8152600401610c3b90616d79565b7f41ce201247b6ceb957dcdb217d0b8acb50b9ea0e12af9af4f5e7f38902101605838383604051611b2293929190616f3a565b60405180910390a1505050565b60025481565b60115481565b600a5481565b6001600160a01b03811660009081526004602052604081205480611b775760405162461bcd60e51b8152600401610c3b90616d01565b6000190192915050565b600b54611c3f57611b90615d6c565b60015460005b81811015611c3b57600b8054600181018255600091909152835160008051602061714f833981519152601690920291820190815560208086015160008051602061718f8339815191528401805460ff1916911515919091179055604086015180518794611c179360008051602061716f833981519152909101920190615d9b565b506060820151611c2d9060038301906013615e15565b505050806001019050611b96565b5050505b600854611c4c5760036008555b600a54611c59576002600a555b6000611c6433611b41565b9050611c6f81611241565b611c8b5760405162461bcd60e51b8152600401610c3b90616a3e565b6115173382614657565b600981565b61100781565b600381565b60c881565b61100681565b604051806101e001604052806101ab8152602001616f846101ab913981565b60005460ff1681565b6402540be40081565b60005460ff16611d035760405162461bcd60e51b8152600401610c3b9061662e565b3361100714611d245760405162461bcd60e51b8152600401610c3b90616b07565b611d8e84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080518082019091526013815272065787069726554696d655365636f6e6447617606c1b602082015291506146ef9050565b15611e2b5760208114611db35760405162461bcd60e51b8152600401610c3b90616cbb565b604080516020601f8401819004810282018101909252828152600091611df19185858083850183828082843760009201919091525061474892505050565b905060648110158015611e075750620186a08111155b611e235760405162461bcd60e51b8152600401610c3b906168e7565b60025561254a565b611e8b84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260098152686275726e526174696f60b81b602082015291506146ef9050565b15611f275760208114611eb05760405162461bcd60e51b8152600401610c3b906164b4565b604080516020601f8401819004810282018101909252828152600091611eee9185858083850183828082843760009201919091525061474892505050565b9050612710811115611f125760405162461bcd60e51b8152600401610c3b906167cc565b6006556007805460ff1916600117905561254a565b611f9184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260138152726d61784e756d4f664d61696e7461696e696e6760681b602082015291506146ef9050565b1561202b5760208114611fb65760405162461bcd60e51b8152600401610c3b906164eb565b604080516020601f8401819004810282018101909252828152600091611ff49185858083850183828082843760009201919091525061474892505050565b600c5490915080612003575060155b8082106120225760405162461bcd60e51b8152600401610c3b9061683f565b5060085561254a565b61209484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260128152716d61696e7461696e536c6173685363616c6560701b602082015291506146ef9050565b1561212d57602081146120b95760405162461bcd60e51b8152600401610c3b906165b4565b604080516020601f84018190048102820181019092528281526000916120f79185858083850183828082843760009201919091525061474892505050565b90506000811180156121095750600a81105b6121255760405162461bcd60e51b8152600401610c3b90616e15565b600a5561254a565b6121a184848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601981527f6d61784e756d4f66576f726b696e6743616e6469646174657300000000000000602082015291506146ef9050565b1561223057602081146121c65760405162461bcd60e51b8152600401610c3b90616568565b604080516020601f84018190048102820181019092528281526000916122049185858083850183828082843760009201919091525061474892505050565b9050600d548111156122285760405162461bcd60e51b8152600401610c3b9061695d565b600e5561254a565b61229984848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260128152716d61784e756d4f6643616e6469646174657360701b602082015291506146ef9050565b1561231b57602081146122be5760405162461bcd60e51b8152600401610c3b90616b55565b604080516020601f84018190048102820181019092528281526000916122fc9185858083850183828082843760009201919091525061474892505050565b600d819055600e5490915081101561231557600d54600e555b5061254a565b61237f84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600d81526c6e756d4f66436162696e65747360981b602082015291506146ef9050565b1561242d57602081146123a45760405162461bcd60e51b8152600401610c3b906165f9565b604080516020601f84018190048102820181019092528281526000916123e29185858083850183828082843760009201919091525061474892505050565b9050600081116124045760405162461bcd60e51b8152600401610c3b9061669c565b60298111156124255760405162461bcd60e51b8152600401610c3b906166e4565b600c5561254a565b61249784848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601381527266696e616c697479526577617264526174696f60681b602082015291506146ef9050565b1561253257602081146124bc5760405162461bcd60e51b8152600401610c3b90616c3e565b604080516020601f84018190048102820181019092528281526000916124fa9185858083850183828082843760009201919091525061474892505050565b90506001811015801561250e575060648111155b61252a5760405162461bcd60e51b8152600401610c3b906169cc565b600f5561254a565b60405162461bcd60e51b8152600401610c3b90616e72565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a8484848460405161257f9493929190616482565b60405180910390a150505050565b60046020526000908152604090205481565b68056bc75e2d6310000081565b6001546060906000805b828110156125db576125c781611310565b156125d3578160010191505b6001016125b6565b50606081604051908082528060200260200182016040528015612608578160200160208202803683370190505b5090506000915060005b8381101561268f5761262381611310565b15612687576001818154811061263557fe5b600091825260209091206004909102015482516001600160a01b039091169083908590811061266057fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508260010192505b600101612612565b50925050505b90565b601581565b61100281565b603281565b60006126b26125ac565b519050600080600c54116126c75760156126cb565b600c545b9050808211156126d9578091505b816126e357600191505b5090565b67016345785d8a000081565b60055481565b61100381565b602981565b60005460ff16156127275760405162461bcd60e51b8152600401610c3b90616c07565b61272f615e42565b6000612755604051806101e001604052806101ab8152602001616f846101ab9139612f14565b91509150806127765760405162461bcd60e51b8152600401610c3b90616d38565b60005b82602001515181101561289b5760018360200151828151811061279857fe5b60209081029190910181015182546001818101855560009485528385208351600493840290910180546001600160a01b039283166001600160a01b03199182161782558587015182850180549185169183169190911790556040860151600283018054606089015160808a01511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b199590981692909516919091179290921694909417161790915560a09093015160039093019290925591860151805191850193918590811061286e57fe5b602090810291909101810151516001600160a01b0316825281019190915260400160002055600101612779565b50506103e8600255506000805460ff19166001179055565b600d5481565b33611001146128da5760405162461bcd60e51b8152600401610c3b90616e99565b600b54612998576128e9615d6c565b60015460005b8181101561299457600b8054600181018255600091909152835160008051602061714f833981519152601690920291820190815560208086015160008051602061718f8339815191528401805460ff19169115159190911790556040860151805187946129709360008051602061716f833981519152909101920190615d9b565b5060608201516129869060038301906013615e15565b5050508060010190506128ef565b5050505b60006129a38261474d565b90506129ae81611241565b156129bd576129bd8282614657565b5050565b606581565b3341146129e55760405162461bcd60e51b8152600401610c3b90616dc8565b60005460ff16612a075760405162461bcd60e51b8152600401610c3b9061662e565b60003411612a275760405162461bcd60e51b8152600401610c3b9061692e565b6001600160a01b0381166000908152600460205260409020546007543491906103e89060ff1615612a5757506006545b600083118015612a675750600081115b15612b08576000612a84612710610f9c868563ffffffff613f8016565b90508015612b065760405161dead9082156108fc029083906000818181858888f19350505050158015612abb573d6000803e3d6000fd5b507f627059660ea01c4733a328effb2294d2f86905bf806da763a89cee254de8bee581604051612aeb9190616ef1565b60405180910390a1612b03848263ffffffff613f3e16565b93505b505b8115612c06576000600180840381548110612b1f57fe5b9060005260206000209060040201905080600201601c9054906101000a900460ff1615612b8c57846001600160a01b03167ff177e5d6c5764d79c32883ed824111d9b13f5668cf6ab1cc12dd36791dd955b485604051612b7f9190616ef1565b60405180910390a2612c00565b600354612b9f908563ffffffff613fba16565b6003908155810154612bb7908563ffffffff613fba16565b60038201556040516001600160a01b038616907f93a090ecc682c002995fad3c85b30c5651d7fd29b0be5da9d784a3302aedc05590612bf7908790616ef1565b60405180910390a25b50612c48565b836001600160a01b03167ff177e5d6c5764d79c32883ed824111d9b13f5668cf6ab1cc12dd36791dd955b484604051612c3f9190616ef1565b60405180910390a25b50505050565b600e5481565b61100081565b61dead81565b600b8181548110612c6d57fe5b6000918252602091829020601691909102018054600180830154600280850180546040805161010096831615969096026000190190911692909204601f810188900488028501880190925281845293965060ff90911694919291830182828015612d185780601f10612ced57610100808354040283529160200191612d18565b820191906000526020600020905b815481529060010190602001808311612cfb57829003601f168201915b5050505050905083565b61100481565b6000600a5460001480612d39575081155b80612d445750600954155b15612d5157506000610ea2565b60096000815460019003919050819055506000612d9c600a54610f9c85610f9c600b8981548110612d7e57fe5b6000918252602090912060169091020154439063ffffffff613f3e16565b90506000600b8581548110612dad57fe5b906000526020600020906016020160010160006101000a81548160ff0219169083151502179055506000806110016001600160a01b0316638256ace66040518163ffffffff1660e01b8152600401604080518083038186803b158015612e1257600080fd5b505afa158015612e26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e4a91906161bb565b9150915060009350808310612ec457612e638787613fdf565b506040516305bfb49960e41b815261100190635bfb499090612e89908a906004016162f8565b600060405180830381600087803b158015612ea357600080fd5b505af1158015612eb7573d6000803e3d6000fd5b5050505060019350612ed6565b818310612ed657612ed48761474d565b505b6040516001600160a01b038816907fb9d38178dc641ff1817967a63c9078cbcd955a9f1fcd75e0e3636de615d44d3b90600090a25050509392505050565b612f1c615e42565b6000612f26615e42565b612f2e615e66565b612f3f612f3a866148f0565b614915565b90506000805b612f4e8361495f565b156130c25780612f7357612f69612f6484614980565b6149ce565b60ff1684526130ba565b80600114156130b5576060612f8f612f8a85614980565b614a4e565b90508051604051908082528060200260200182016040528015612fcc57816020015b612fb9615e86565b815260200190600190039081612fb15790505b508560200181905250805160405190808252806020026020018201604052801561300a57816020015b6060815260200190600190039081612ff55790505b50604086015260005b81518110156130aa57613024615e86565b6060600061304485858151811061303757fe5b6020026020010151614b1f565b92509250925080613064578860009a509a505050505050505050506130cb565b828960200151858151811061307557fe5b6020026020010181905250818960400151858151811061309157fe5b6020026020010181905250505050806001019050613013565b5060019250506130ba565b6130c2565b600101612f45565b50919350909150505b915091565b604080516001808252818301909252606091829190816020015b60608152602001906001900390816130ea5790505090506131108363ffffffff16614c39565b8160008151811061311d57fe5b6020026020010181905250610ea281614c4c565b60006029835111156131685760008051602061712f83398151915260405161315890616741565b60405180910390a15060666113bb565b60005b83518110156132065760005b818110156131fd5784818151811061318b57fe5b6020026020010151600001516001600160a01b03168583815181106131ac57fe5b6020026020010151600001516001600160a01b031614156131f55760008051602061712f8339815191526040516131e29061689c565b60405180910390a16066925050506113bb565b600101613177565b5060010161316b565b506060806132148585614cd6565b60015491935091506000908190815b818110156132995767016345785d8a00006001828154811061324157fe5b9060005260206000209060040201600301541061326357836001019350613291565b60006001828154811061327257fe5b9060005260206000209060040201600301541115613291578260010192505b600101613223565b506060836040519080825280602002602001820160405280156132c6578160200160208202803683370190505b5090506060846040519080825280602002602001820160405280156132f5578160200160208202803683370190505b509050606085604051908082528060200260200182016040528015613324578160200160208202803683370190505b509050606086604051908082528060200260200182016040528015613353578160200160208202803683370190505b5090506000606087604051908082528060200260200182016040528015613384578160200160208202803683370190505b5090506060886040519080825280602002602001820160405280156133b3578160200160208202803683370190505b509050600099506000985060006110046001600160a01b031663149d14d96040518163ffffffff1660e01b815260040160206040518083038186803b1580156133fb57600080fd5b505afa15801561340f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061343391906161a3565b905067016345785d8a000081111561347e5760008051602061712f83398151915260405161346090616bc6565b60405180910390a160689d50505050505050505050505050506113bb565b60005b898110156136ef5767016345785d8a00006001828154811061349f57fe5b9060005260206000209060040201600301541061362457600181815481106134c357fe5b906000526020600020906004020160020160009054906101000a90046001600160a01b0316898d815181106134f457fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060006402540be4006001838154811061352957fe5b9060005260206000209060040201600301548161354257fe5b066001838154811061355057fe5b9060005260206000209060040201600301540390506135788382613f3e90919063ffffffff16565b898e8151811061358457fe5b6020026020010181815250506001828154811061359d57fe5b906000526020600020906004020160020160009054906101000a90046001600160a01b0316878e815181106135ce57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505081888e815181106135fb57fe5b6020908102919091010152613616868263ffffffff613fba16565b95508c6001019c50506136e7565b60006001828154811061363357fe5b90600052602060002090600402016003015411156136e7576001818154811061365857fe5b906000526020600020906004020160010160009054906101000a90046001600160a01b0316848c8151811061368957fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600181815481106136b657fe5b906000526020600020906004020160030154838c815181106136d457fe5b6020026020010181815250508a6001019a505b600101613481565b5060008415613965576002546040516303702b2960e51b815261100491636e056520918891613729918e918e918d914201906004016163ea565b6020604051808303818588803b15801561374257600080fd5b505af193505050508015613773575060408051601f3d908101601f191682019092526137709181019061610f565b60015b6138ea576040516000815260443d101561378f5750600061382a565b60046000803e60005160e01c6308c379a081146137b057600091505061382a565b60043d036004833e81513d60248201116001600160401b03821117156137db5760009250505061382a565b80830180516001600160401b038111156137fc57600094505050505061382a565b8060208301013d860181111561381a5760009550505050505061382a565b601f01601f191660405250925050505b806138355750613877565b60019150857fa7cdeed7d0db45e3219a6e5d60838824c16f1d39991fcfe3f963029c844bf28082604051613869919061646f565b60405180910390a2506138e5565b3d8080156138a1576040519150601f19603f3d011682016040523d82523d6000602084013e6138a6565b606091505b5060019150857fbfa884552dd8921b6ce90bfe906952ae5b3b29be0cc1a951d4f62697635a3a45826040516138db919061646f565b60405180910390a2505b613965565b801561392c577fa217d08e65f80c73121cd9db834d81652d544bfbf452f6d04922b16c90a37b708660405161391f9190616ef1565b60405180910390a1613963565b857fa7cdeed7d0db45e3219a6e5d60838824c16f1d39991fcfe3f963029c844bf28060405161395a90616531565b60405180910390a25b505b8015613b1b5760005b8751811015613b1957600088828151811061398557fe5b6020026020010151905060006001828154811061399e57fe5b60009182526020909120600160049092020181015481546001600160a01b03909116916108fc91859081106139cf57fe5b9060005260206000209060040201600301549081150290604051600060405180830381858888f1935050505090508015613a8b5760018281548110613a1057fe5b60009182526020909120600160049092020181015481546001600160a01b03909116917f6c61d60f69a7beb3e1c80db7f39f37b208537cbb19da3174511b477812b2fc7d9185908110613a5f57fe5b906000526020600020906004020160030154604051613a7e9190616ef1565b60405180910390a2613b0f565b60018281548110613a9857fe5b60009182526020909120600160049092020181015481546001600160a01b03909116917f25d0ce7d2f0cec669a8c17efe49d195c13455bb8872b65fa610ac7f53fe4ca7d9185908110613ae757fe5b906000526020600020906004020160030154604051613b069190616ef1565b60405180910390a25b505060010161396e565b505b835115613c655760005b8451811015613c63576000858281518110613b3c57fe5b60200260200101516001600160a01b03166108fc868481518110613b5c57fe5b60200260200101519081150290604051600060405180830381858888f1935050505090508015613bf257858281518110613b9257fe5b60200260200101516001600160a01b03167f6c61d60f69a7beb3e1c80db7f39f37b208537cbb19da3174511b477812b2fc7d868481518110613bd057fe5b6020026020010151604051613be59190616ef1565b60405180910390a2613c5a565b858281518110613bfe57fe5b60200260200101516001600160a01b03167f25d0ce7d2f0cec669a8c17efe49d195c13455bb8872b65fa610ac7f53fe4ca7d868481518110613c3c57fe5b6020026020010151604051613c519190616ef1565b60405180910390a25b50600101613b25565b505b5050505050505050505050506000471115613ce1577f6ecc855f9440a9282c90913bbc91619fd44f5ec0b462af28d127b116f130aa4d47604051613ca99190616ef1565b60405180910390a1604051611002904780156108fc02916000818181858888f19350505050158015613cdf573d6000803e3d6000fd5b505b60006003819055600555815115613cfc57613cfc8282614f0f565b6110016001600160a01b031663fc4333cd6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015613d3957600080fd5b505af1158015613d4d573d6000803e3d6000fd5b50506040517fedd8d7296956dd970ab4de3f2fc03be2b0ffc615d20cd4c72c6e44f928630ebf925060009150a1506000949350505050565b80516001600160a01b0316600090815260046020526040812054801580613dd65750600180820381548110613db657fe5b9060005260206000209060040201600201601c9054906101000a900460ff165b15613e1c5782516040516001600160a01b03909116907fe209c46bebf57cf265d5d9009a00870e256d9150f3ed5281ab9d9eb3cec6e4be90600090a2600091505061130b565b600154600554600019820111801590613e725784516040516001600160a01b03909116907fe209c46bebf57cf265d5d9009a00870e256d9150f3ed5281ab9d9eb3cec6e4be90600090a26000935050505061130b565b600580546001908101909155805481906000198601908110613e9057fe5b6000918252602082206002600490920201018054921515600160e01b0260ff60e01b199093169290921790915585516040516001600160a01b03909116917ff226e7d8f547ff903d9d419cf5f54e0d7d07efa9584135a53a057c5f1f27f49a91a2506000949350505050565b6000610ea283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506156ee565b6000610ea283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250615725565b600082613f8f575060006113bb565b82820282848281613f9c57fe5b0414610ea25760405162461bcd60e51b8152600401610c3b90616ac6565b600082820183811015610ea25760405162461bcd60e51b8152600401610c3b90616665565b60008060018381548110613fef57fe5b906000526020600020906004020160030154905060006001808054905003905060016140196125ac565b511161404e5760006001858154811061402e57fe5b9060005260206000209060040201600301819055506000925050506113bb565b846001600160a01b03167f3b6f9ef90462b512a1293ecec018670bf7b7f1876fb727590a8a6d7643130a70836040516140879190616ef1565b60405180910390a26001600160a01b038516600090815260046020526040812055835b6001546000190181101561427457600181600101815481106140c857fe5b9060005260206000209060040201600182815481106140e357fe5b60009182526020909120825460049092020180546001600160a01b03199081166001600160a01b0393841617825560018085015481840180548416918616919091179055600280860180549185018054909416919095161780835584546001600160401b03600160a01b91829004160267ffffffffffffffff60a01b1990911617808355935460ff600160e01b918290041615150260ff60e01b19909416939093179055600392830154920191909155600b8054909183019081106141a457fe5b9060005260206000209060160201600b82815481106141bf57fe5b600091825260209091208254601690920201908155600180830154818301805460ff909216151560ff1990921691909117905560028084018054614216938386019390821615610100026000190190911604615ebb565b5061422960038281019084016013615f30565b5090505080600101600460006001848154811061424257fe5b600091825260208083206004909202909101546001600160a01b031683528201929092526040019020556001016140aa565b50600180548061428057fe5b60008281526020812060046000199093019283020180546001600160a01b0319908116825560018201805490911690556002810180546001600160e81b0319169055600301559055600b8054806142d357fe5b60008281526020812060166000199093019283020181815560018101805460ff19169055906143056002830182615f5a565b614313600383016000615f9e565b50509055600081838161432257fe5b04905080156143865760015460005b8181101561438357826001828154811061434757fe5b906000526020600020906004020160030154016001828154811061436757fe5b6000918252602090912060036004909202010155600101614331565b50505b50600195945050505050565b6001548151604080518281526020808402820101909152606092919083908280156143d157816020015b60608152602001906001900390816143bc5790505b50600b5490915083146143e857925061130b915050565b60005b828110156144f757600b60016004600089858151811061440757fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054038154811061443b57fe5b600091825260209182902060026016909202018101805460408051601f6000196101006001861615020190931694909404918201859004850284018501905280835291929091908301828280156144d35780601f106144a8576101008083540402835291602001916144d3565b820191906000526020600020905b8154815290600101906020018083116144b657829003601f168201915b50505050508282815181106144e457fe5b60209081029190910101526001016143eb565b50949350505050565b60005b8281101561464d57600082878388016040516020016145239291906162ea565b6040516020818303038152906040528051906020012060001c8161454357fe5b06905080850182870114614644576000898388018151811061456157fe5b602002602001015190506060898489018151811061457b57fe5b602002602001015190508a8388018151811061459357fe5b60200260200101518b858a01815181106145a957fe5b60200260200101906001600160a01b031690816001600160a01b031681525050818b848901815181106145d857fe5b60200260200101906001600160a01b031690816001600160a01b031681525050898388018151811061460657fe5b60200260200101518a858a018151811061461c57fe5b6020026020010181905250808a8489018151811061463657fe5b602002602001018190525050505b50600101614503565b5050505050505050565b600980546001908101909155600b80548390811061467157fe5b906000526020600020906016020160010160006101000a81548160ff02191690831515021790555043600b82815481106146a757fe5b600091825260208220601690910201919091556040516001600160a01b038416917ff62981a567ec3cec866c6fa93c55bcdf841d6292d18b8d522ececa769375d82d91a25050565b60008160405160200161470291906162ce565b604051602081830303815290604052805190602001208360405160200161472991906162ce565b6040516020818303038152906040528051906020012014905092915050565b015190565b6001600160a01b038116600090815260046020526040812054806147765750600019905061130b565b60018103905060006001828154811061478b57fe5b90600052602060002090600402016003015490506000600183815481106147ae57fe5b6000918252602090912060036004909202010155600154604051600019909101906001600160a01b038616907f8cd4e147d8af98a9e3b6724021b8bf6aed2e5dac71c38f2dce8161b82585b25d90614807908590616ef1565b60405180910390a28061481f5782935050505061130b565b600081838161482a57fe5b04905080156148e65760005b8481101561488857816001828154811061484c57fe5b906000526020600020906004020160030154016001828154811061486c57fe5b6000918252602090912060036004909202010155600101614836565b50600180549085015b818110156148e35782600182815481106148a757fe5b90600052602060002090600402016003015401600182815481106148c757fe5b6000918252602090912060036004909202010155600101614891565b50505b5091949350505050565b6148f8615fad565b506040805180820190915281518152602082810190820152919050565b61491d615e66565b61492682615751565b61492f57600080fd5b600061493e836020015161578b565b60208085015160408051808201909152868152920190820152915050919050565b6000614969615fad565b505080518051602091820151919092015191011190565b614988615fad565b6149918261495f565b61499a57600080fd5b602082015160006149aa826157ee565b80830160209586015260408051808201909152908152938401919091525090919050565b8051600090158015906149e357508151602110155b6149ec57600080fd5b60006149fb836020015161578b565b90508083600001511015614a215760405162461bcd60e51b8152600401610c3b90616c84565b8251602080850151830180519284900392918310156144f757506020919091036101000a90049392505050565b6060614a5982615751565b614a6257600080fd5b6000614a6d836158cf565b9050606081604051908082528060200260200182016040528015614aab57816020015b614a98615fad565b815260200190600190039081614a905790505b5090506000614abd856020015161578b565b60208601510190506000805b84811015614b1457614ada836157ee565b9150604051806040016040528083815260200184815250848281518110614afd57fe5b602090810291909101015291810191600101614ac9565b509195945050505050565b614b27615e86565b60606000614b33615e86565b6060614b3d615e66565b614b4687614915565b90506000805b614b558361495f565b15614c2a5780614b8057614b70614b6b84614980565b61592b565b6001600160a01b03168552614c22565b8060011415614ba857614b95614b6b84614980565b6001600160a01b03166020860152614c22565b8060021415614bd057614bbd614b6b84614980565b6001600160a01b03166040860152614c22565b8060031415614bfc57614be5612f6484614980565b6001600160401b0316606086015260019150614c22565b8060041415614c1d57614c16614c1184614980565b615945565b9350614c22565b614c2a565b600101614b4c565b50929791965091945092505050565b60606113bb614c47836159b5565b615a9b565b6060815160001415614c6d575060408051600081526020810190915261130b565b606082600081518110614c7c57fe5b602002602001015190506000600190505b8351811015614cbd57614cb382858381518110614ca657fe5b6020026020010151615aed565b9150600101614c8d565b50610ea2614cd0825160c060ff16615b6a565b82615aed565b606080600080808080614ce76126a8565b6001549091505b8015614df557600181039250600b8381548110614d0757fe5b600091825260209091206001601690920201015460ff16614d2757614dec565b60018381548110614d3457fe5b60009182526020909120600490910201546001600160a01b03169450614d5b858484612d28565b9350831580614d6e575060018a51038610155b15614d7857614dec565b60005b8a51811015614dea57856001600160a01b03168b8281518110614d9a57fe5b6020026020010151600001516001600160a01b03161415614de25760018b8281518110614dc357fe5b6020908102919091010151901515608090910152600190960195614dea565b600101614d7b565b505b60001901614cee565b5084895103604051908082528060200260200182016040528015614e3357816020015b614e20615e86565b815260200190600190039081614e185790505b50965084895103604051908082528060200260200182016040528015614e6d57816020015b6060815260200190600190039081614e585790505b5095506000915060005b8951811015614f0157898181518110614e8c57fe5b602002602001015160800151614ef957898181518110614ea857fe5b6020026020010151888481518110614ebc57fe5b6020026020010181905250888181518110614ed357fe5b6020026020010151878481518110614ee757fe5b60200260200101819052508260010192505b600101614e77565b5050505050505b9250929050565b600154825160005b8281101561502c576001614f29615e86565b60018381548110614f3657fe5b600091825260208083206040805160c08101825260049490940290910180546001600160a01b0390811685526001820154811693850193909352600281015492831691840191909152600160a01b82046001600160401b03166060840152600160e01b90910460ff16151560808301526003015460a082015291505b8481101561500057878181518110614fc657fe5b6020026020010151600001516001600160a01b031682600001516001600160a01b03161415614ff85760009250615000565b600101614fb2565b5081156150225780516001600160a01b03166000908152600460205260408120555b5050600101614f17565b50808211156150eb57805b828110156150e957600180548061504a57fe5b60008281526020812060046000199093019283020180546001600160a01b0319908116825560018201805490911690556002810180546001600160e81b0319169055600301559055600b80548061509d57fe5b60008281526020812060166000199093019283020181815560018101805460ff19169055906150cf6002830182615f5a565b6150dd600383016000615f9e565b50509055600101615037565b505b60008183106150fa57816150fc565b825b905060005b818110156154a0576151ae86828151811061511857fe5b60200260200101516001838154811061512d57fe5b60009182526020918290206040805160c08101825260049390930290910180546001600160a01b0390811684526001820154811694840194909452600281015493841691830191909152600160a01b83046001600160401b03166060830152600160e01b90920460ff161515608082015260039091015460a0820152615c3c565b6153625780600101600460008884815181106151c657fe5b6020026020010151600001516001600160a01b03166001600160a01b031681526020019081526020016000208190555085818151811061520257fe5b60200260200101516001828154811061521757fe5b6000918252602091829020835160049092020180546001600160a01b039283166001600160a01b0319918216178255928401516001820180549184169185169190911790556040840151600282018054606087015160808801511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b1995909716929097169190911792909216939093171692909217905560a09091015160039091015584518590829081106152d257fe5b6020026020010151600b82815481106152e757fe5b9060005260206000209060160201600201908051906020019061530b929190615d9b565b506000600b828154811061531b57fe5b60009182526020822060169190910201600101805460ff191692151592909217909155600b80548390811061534c57fe5b6000918252602090912060169091020155615498565b61542885828151811061537157fe5b6020026020010151600b838154811061538657fe5b600091825260209182902060026016909202018101805460408051601f60001961010060018616150201909316949094049182018590048502840185019052808352919290919083018282801561541e5780601f106153f35761010080835404028352916020019161541e565b820191906000526020600020905b81548152906001019060200180831161540157829003601f168201915b5050505050615cbd565b6154735784818151811061543857fe5b6020026020010151600b828154811061544d57fe5b90600052602060002090601602016002019080519060200190615471929190615d9b565b505b60006001828154811061548257fe5b9060005260206000209060040201600301819055505b600101615101565b5082821115615678576154b1615d6c565b835b83811015615675578581815181106154c757fe5b6020026020010151826040018190525060018782815181106154e557fe5b6020908102919091018101518254600181810185556000948552838520835160049093020180546001600160a01b039384166001600160a01b0319918216178255848601518284018054918616918316919091179055604080860151600284018054606089015160808a01511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b1995909a1692909616919091179290921696909617169190911790935560a090930151600390930192909255600b805492830181559093528451601690910260008051602061714f83398151915281019182558583015160008051602061718f8339815191528201805491151560ff199092169190911790559285015180518694929361561b9360008051602061716f83398151915201920190615d9b565b5060608201516156319060038301906013615e15565b505050806001016004600089848151811061564857fe5b602090810291909101810151516001600160a01b03168252810191909152604001600020556001016154b3565b50505b6000600981905560015493505b838110156156e6576000600b828154811061569c57fe5b60009182526020822060169190910201600101805460ff191692151592909217909155600b8054839081106156cd57fe5b6000918252602090912060169091020155600101615685565b505050505050565b6000818361570f5760405162461bcd60e51b8152600401610c3b919061646f565b50600083858161571b57fe5b0495945050505050565b600081848411156157495760405162461bcd60e51b8152600401610c3b919061646f565b505050900390565b80516000906157625750600061130b565b6020820151805160001a9060c08210156157815760009250505061130b565b5060019392505050565b8051600090811a60808110156157a557600091505061130b565b60b88110806157c0575060c081108015906157c0575060f881105b156157cf57600191505061130b565b60c08110156157e35760b51901905061130b565b60f51901905061130b565b80516000908190811a608081101561580957600191506158c8565b60b881101561581e57607e19810191506158c8565b60c081101561586f57600060b78203600186019550806020036101000a8651049150600181018201935050808310156158695760405162461bcd60e51b8152600401610c3b90616a13565b506158c8565b60f88110156158845760be19810191506158c8565b600060f78203600186019550806020036101000a8651049150600181018201935050808310156158c65760405162461bcd60e51b8152600401610c3b90616a13565b505b5092915050565b80516000906158e05750600061130b565b600080905060006158f4846020015161578b565b602085015185519181019250015b8082101561592257615913826157ee565b82019150826001019250615902565b50909392505050565b805160009060151461593c57600080fd5b6113bb826149ce565b805160609061595357600080fd5b6000615962836020015161578b565b83516040805191839003808352601f19601f8201168301602001909152919250606090828015615999576020820181803683370190505b50905060008160200190506144f7848760200151018285615d21565b604080516020808252818301909252606091829190602082018180368337505050602081018490529050600067ffffffffffffffff1984166159f957506018615a1d565b6fffffffffffffffffffffffffffffffff198416615a1957506010615a1d565b5060005b6020811015615a5357818181518110615a3257fe5b01602001516001600160f81b03191615615a4b57615a53565b600101615a1d565b60008160200390506060816040519080825280601f01601f191660200182016040528015615a88576020820181803683370190505b5080830196909652508452509192915050565b606081516001148015615acd5750607f60f81b82600081518110615abb57fe5b01602001516001600160f81b03191611155b15615ad957508061130b565b6113bb615aeb8351608060ff16615b6a565b835b6060806040519050835180825260208201818101602087015b81831015615b1e578051835260209283019201615b06565b50855184518101855292509050808201602086015b81831015615b4b578051835260209283019201615b33565b508651929092011591909101601f01601f191660405250905092915050565b6060680100000000000000008310615b945760405162461bcd60e51b8152600401610c3b90616817565b60408051600180825281830190925260609160208201818036833701905050905060378411615bee5782840160f81b81600081518110615bd057fe5b60200101906001600160f81b031916908160001a90535090506113bb565b6060615bf9856159b5565b90508381510160370160f81b82600081518110615c1257fe5b60200101906001600160f81b031916908160001a905350615c338282615aed565b95945050505050565b805182516000916001600160a01b039182169116148015615c76575081602001516001600160a01b031683602001516001600160a01b0316145b8015615c9b575081604001516001600160a01b031683604001516001600160a01b0316145b8015610ea25750506060908101519101516001600160401b0390811691161490565b815181516000916001918114808314615cd95760009250615d17565b600160208701838101602088015b600284838510011415615d12578051835114615d065760009650600093505b60209283019201615ce7565b505050505b5090949350505050565b80615d2b57610c5b565b5b60208110615d4b578251825260209283019290910190601f1901615d2c565b915181516020939093036101000a6000190180199091169216919091179052565b60405180608001604052806000815260200160001515815260200160608152602001615d96615fc7565b905290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10615ddc57805160ff1916838001178555615e09565b82800160010185558215615e09579182015b82811115615e09578251825591602001919060010190615dee565b506126e3929150615fe6565b8260138101928215615e095791602002820182811115615e09578251825591602001919060010190615dee565b6040518060600160405280600060ff16815260200160608152602001606081525090565b6040518060400160405280615e79615fad565b8152602001600081525090565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10615ef45780548555615e09565b82800160010185558215615e0957600052602060002091601f016020900482015b82811115615e09578254825591600101919060010190615f15565b8260138101928215615e095791820182811115615e09578254825591600101919060010190615f15565b50805460018160011615610100020316600290046000825580601f10615f805750611517565b601f0160209004906000526020600020908101906115179190615fe6565b50611517906013810190615fe6565b604051806040016040528060008152602001600081525090565b6040518061026001604052806013906020820280368337509192915050565b61269591905b808211156126e35760008155600101615fec565b60008083601f840112616011578182fd5b5081356001600160401b03811115616027578182fd5b6020830191508360208083028501011115614f0857600080fd5b60008083601f840112616052578182fd5b5081356001600160401b03811115616068578182fd5b602083019150836020828501011115614f0857600080fd5b600060208284031215616091578081fd5b81356001600160a01b0381168114610ea2578182fd5b600080600080604085870312156160bc578283fd5b84356001600160401b03808211156160d2578485fd5b6160de88838901616000565b909650945060208701359150808211156160f6578384fd5b5061610387828801616000565b95989497509550505050565b600060208284031215616120578081fd5b81518015158114610ea2578182fd5b60008060008060408587031215616144578384fd5b84356001600160401b038082111561615a578586fd5b61616688838901616041565b9096509450602087013591508082111561617e578384fd5b5061610387828801616041565b60006020828403121561619c578081fd5b5035919050565b6000602082840312156161b4578081fd5b5051919050565b600080604083850312156161cd578182fd5b505080516020909101519092909150565b6000806000604084860312156161f2578283fd5b833560ff81168114616202578384fd5b925060208401356001600160401b0381111561621c578283fd5b61622886828701616041565b9497909650939450505050565b6000815180845260208085019450808401835b8381101561626d5781516001600160a01b031687529582019590820190600101616248565b509495945050505050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b600081518084526162ba816020860160208601616f57565b601f01601f19169290920160200192915050565b600082516162e0818460208701616f57565b9190910192915050565b918252602082015260400190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03968716815294861660208601529290941660408401526001600160401b03166060830152911515608082015260a081019190915260c00190565b600060208252610ea26020830184616235565b60006040825261638d6040830185616235565b602083820381850152818551808452828401915082838202850101838801865b838110156163db57601f198784030185526163c98383516162a2565b948601949250908501906001016163ad565b50909998505050505050505050565b6000608082526163fd6080830187616235565b828103602084810191909152865180835287820192820190845b8181101561643357845183529383019391830191600101616417565b505084810360408601526164478188616235565b93505050506001600160401b038316606083015295945050505050565b901515815260200190565b600060208252610ea260208301846162a2565b600060408252616496604083018688616278565b82810360208401526164a9818587616278565b979650505050505050565b6020808252601c908201527f6c656e677468206f66206275726e526174696f206d69736d6174636800000000604082015260600190565b60208082526026908201527f6c656e677468206f66206d61784e756d4f664d61696e7461696e696e67206d696040820152650e6dac2e8c6d60d31b606082015260800190565b6020808252601b908201527f6261746368207472616e736665722072657475726e2066616c73650000000000604082015260600190565b6020808252602c908201527f6c656e677468206f66206d61784e756d4f66576f726b696e6743616e6469646160408201526b0e8cae640dad2e6dac2e8c6d60a31b606082015260800190565b60208082526025908201527f6c656e677468206f66206d61696e7461696e536c6173685363616c65206d69736040820152640dac2e8c6d60db1b606082015260800190565b6020808252818101527f6c656e677468206f66206e756d4f66436162696e657473206d69736d61746368604082015260600190565b60208082526019908201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526028908201527f746865206e756d4f66436162696e657473206d75737420626520677265617465604082015267072207468616e20360c41b606082015260800190565b60208082526039908201527f746865206e756d4f66436162696e657473206d757374206265206c657373207460408201527f68616e204d41585f4e554d5f4f465f56414c494441544f525300000000000000606082015260800190565b60208082526029908201527f746865206e756d626572206f662076616c696461746f727320657863656564206040820152681d1a19481b1a5b5a5d60ba1b606082015260800190565b60208082526022908201527f63616e206e6f7420646f207468697320747769636520696e206f6e6520626c6f604082015261636b60f01b606082015260800190565b6020808252602b908201527f746865206275726e526174696f206d757374206265206e6f206772656174657260408201526a0207468616e2031303030360ac1b606082015260800190565b6020808252600e908201526d696e70757420746f6f206c6f6e6760901b604082015260600190565b60208082526037908201527f746865206d61784e756d4f664d61696e7461696e696e67206d7573742062652060408201527f6c657373207468616e206e756d4f66436162696e657473000000000000000000606082015260800190565b6020808252602b908201527f6475706c696361746520636f6e73656e7375732061646472657373206f66207660408201526a185b1a59185d1bdc94d95d60aa1b606082015260800190565b60208082526027908201527f7468652065787069726554696d655365636f6e64476170206973206f7574206f604082015266662072616e676560c81b606082015260800190565b6020808252601590820152746465706f7369742076616c7565206973207a65726f60581b604082015260600190565b60208082526049908201527f746865206d61784e756d4f66576f726b696e6743616e64696461746573206d7560408201527f7374206265206e6f742067726561746572207468616e206d61784e756d4f6643606082015268616e6469646174657360b81b608082015260a00190565b60208082526027908201527f7468652066696e616c697479526577617264526174696f206973206f7574206f604082015266662072616e676560c81b606082015260800190565b6020808252601190820152706164646974696f6e206f766572666c6f7760781b604082015260600190565b60208082526023908201527f63616e206e6f7420656e7465722054656d706f72617279204d61696e74656e616040820152626e636560e81b606082015260800190565b60208082526025908201527f6c656e677468206f66206a61696c2076616c696461746f7273206d757374206260408201526465206f6e6560d81b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252602e908201527f746865206d6573736167652073656e646572206d75737420626520676f76657260408201526d1b985b98d94818dbdb9d1c9858dd60921b606082015260800190565b60208082526025908201527f6c656e677468206f66206d61784e756d4f6643616e64696461746573206d69736040820152640dac2e8c6d60db1b606082015260800190565b6020808252601290820152716e6f7420696e206d61696e74656e616e636560701b604082015260600190565b60208082526021908201527f666565206973206c6172676572207468616e2044555354595f494e434f4d494e6040820152604760f81b606082015260800190565b60208082526019908201527f74686520636f6e747261637420616c726561647920696e697400000000000000604082015260600190565b60208082526026908201527f6c656e677468206f662066696e616c697479526577617264526174696f206d696040820152650e6dac2e8c6d60d31b606082015260800190565b6020808252601a908201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604082015260600190565b60208082526026908201527f6c656e677468206f662065787069726554696d655365636f6e64476170206d696040820152650e6dac2e8c6d60d31b606082015260800190565b60208082526017908201527f6f6e6c792063757272656e742076616c696461746f7273000000000000000000604082015260600190565b60208082526021908201527f6661696c656420746f20706172736520696e69742076616c696461746f7253656040820152601d60fa1b606082015260800190565b6020808252602f908201527f746865206d6573736167652073656e646572206d7573742062652063726f737360408201526e0818da185a5b8818dbdb9d1c9858dd608a1b606082015260800190565b6020808252602d908201527f746865206d6573736167652073656e646572206d75737420626520746865206260408201526c3637b1b590383937b23ab1b2b960991b606082015260800190565b6020808252603e908201527f746865206d61696e7461696e536c6173685363616c65206d757374206265206760408201527f726561746572207468616e203020616e64206c657373207468616e2031300000606082015260800190565b6020808252600d908201526c756e6b6e6f776e20706172616d60981b604082015260600190565b60208082526029908201527f746865206d6573736167652073656e646572206d75737420626520736c6173686040820152680818dbdb9d1c9858dd60ba1b606082015260800190565b61ffff91909116815260200190565b90815260200190565b6000848252831515602083015260606040830152615c3360608301846162a2565b63ffffffff91909116815260200190565b60ff91909116815260200190565b600060ff8516825260406020830152615c33604083018486616278565b60005b83811015616f72578181015183820152602001616f5a565b83811115612c48575050600091015256fef901a880f901a4f844941284214b9b9c85549ab3d2b972df0deef66ac2c9946ddf42a51534fc98d0c0a3b42c963cace8441ddf946ddf42a51534fc98d0c0a3b42c963cace8441ddf8410000000f84494a2959d3f95eae5dc7d70144ce1b73b403b7eb6e0948081ef03f1d9e0bb4a5bf38f16285c879299f07f948081ef03f1d9e0bb4a5bf38f16285c879299f07f8410000000f8449435552c16704d214347f29fa77f77da6d75d7c75294dc4973e838e3949c77aced16ac2315dc2d7ab11194dc4973e838e3949c77aced16ac2315dc2d7ab1118410000000f84494980a75ecd1309ea12fa2ed87a8744fbfc9b863d594cc6ac05c95a99c1f7b5f88de0e3486c82293b27094cc6ac05c95a99c1f7b5f88de0e3486c82293b2708410000000f84494f474cf03cceff28abc65c9cbae594f725c80e12d94e61a183325a18a173319dd8e19c8d069459e217594e61a183325a18a173319dd8e19c8d069459e21758410000000f84494b71b214cb885500844365e95cd9942c7276e7fd894d22ca3ba2141d23adab65ce4940eb7665ea2b6a794d22ca3ba2141d23adab65ce4940eb7665ea2b6a7841000000070e72399380dcfb0338abc03dc8d47f9f470ada8e769c9a78d644ea97385ecb20175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbb0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbaa2646970667358221220cdf966601ebb54cb0e5a2ce03b7bba1df8f8464b1bf85237f62391faa3c8dd5164736f6c63430006040033", + CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/b144718e94d7a1ebb24a7103202300f08826f369", + Code: "60806040526004361061046c5760003560e01c8063862498821161024a578063c6d3394511610139578063e40716a1116100b6578063f9a2bbc71161007a578063f9a2bbc714610b6b578063fc3e590814610b80578063fccc281314610b95578063fd4ad81f14610baa578063fd6a687914610bd957610473565b8063e40716a114610af9578063eb57e20214610b0e578063eda5868c14610b2e578063f340fa0114610b43578063f92eb86b14610b5657610473565b8063d86222d5116100fd578063d86222d514610a90578063daacdb6614610aa5578063dc927faf14610aba578063e086c7b114610acf578063e1c7392a14610ae457610473565b8063c6d3394514610a3c578063c81b166214610a51578063c8509d811461085f578063d04aa99614610a66578063d68fb56a14610a7b57610473565b8063a5422d5c116101c7578063ad3c9da61161018b578063ad3c9da6146109d0578063aef198a9146109f0578063b7ab4db514610a05578063b8cf4ef114610a27578063bf9f49951461062f57610473565b8063a5422d5c1461095c578063a78abc1614610971578063aaf5eb6814610986578063ab51bb961461099b578063ac431751146109b057610473565b806396713da91161020e57806396713da9146108f35780639dc09262146109085780639fe0f8161461091d578063a0dc275814610932578063a1a11bf51461094757610473565b8063862498821461087f57806388b32f11146108945780638b5ad0c9146108a95780638d19a410146108be5780639369d7de146108de57610473565b80634df6e0c3116103665780636e47b482116102e35780637942fd05116102a75780637942fd05146108205780637a84ca2a1461083557806381650b621461084a578063831d65d11461085f578063853230aa1461080b57610473565b80636e47b482146107b757806370fd5bad146107cc578063718a8aa8146107e157806375d47a0a146107f657806378dfed4a1461080b57610473565b8063565c56b31161032a578063565c56b3146107265780635667515a146107465780635d77156c1461075b57806362b72cf5146107705780636969a25c1461078557610473565b80634df6e0c3146106b25780635192c82c146106c757806351e80672146106dc578063549b03f2146106f157806355614fcc1461070657610473565b8063321d398a116103f45780633dffc387116103b85780633dffc3871461062f57806343756e5c1461065157806345cf9daf14610666578063493279b11461067b5780634bf6c8821461069d57610473565b8063321d398a146105975780633365af3a146105b757806335409f7f146105d75780633b071dcc146105f75780633de0f0d81461061a57610473565b80631182b8751161043b5780631182b875146104fe578063152ad3b81461052b5780631ff180691461054d578063219f22d514610562578063300c35671461057757610473565b806304c4fec61461047857806307a568471461048f5780630bee7a67146104ba5780630e2374a5146104dc57610473565b3661047357005b600080fd5b34801561048457600080fd5b5061048d610bee565b005b34801561049b57600080fd5b506104a4610c60565b6040516104b19190616ef1565b60405180910390f35b3480156104c657600080fd5b506104cf610c66565b6040516104b19190616f1b565b3480156104e857600080fd5b506104f1610c6b565b6040516104b191906162f8565b34801561050a57600080fd5b5061051e6105193660046161de565b610c71565b6040516104b1919061646f565b34801561053757600080fd5b50610540610ea9565b6040516104b19190616464565b34801561055957600080fd5b506104a4610eb2565b34801561056e57600080fd5b506104cf610eb8565b34801561058357600080fd5b5061048d6105923660046160a7565b610ebd565b3480156105a357600080fd5b506105406105b236600461618b565b611241565b3480156105c357600080fd5b506105406105d236600461618b565b611310565b3480156105e357600080fd5b5061048d6105f2366004616080565b6113c1565b34801561060357600080fd5b5061060c61151a565b6040516104b192919061637a565b34801561062657600080fd5b506104a46117f6565b34801561063b57600080fd5b506106446117fc565b6040516104b19190616f2c565b34801561065d57600080fd5b506104f1611801565b34801561067257600080fd5b506104a4611807565b34801561068757600080fd5b5061069061180d565b6040516104b19190616ee2565b3480156106a957600080fd5b50610644611813565b3480156106be57600080fd5b5061060c611818565b3480156106d357600080fd5b506104a4611996565b3480156106e857600080fd5b506104f161199c565b3480156106fd57600080fd5b506104a46119a2565b34801561071257600080fd5b50610540610721366004616080565b6119a8565b34801561073257600080fd5b506104a4610741366004616080565b6119dd565b34801561075257600080fd5b50610644611a2e565b34801561076757600080fd5b506104cf611a33565b34801561077c57600080fd5b506104a4611a38565b34801561079157600080fd5b506107a56107a036600461618b565b611a3e565b6040516104b196959493929190616325565b3480156107c357600080fd5b506104f1611aa2565b3480156107d857600080fd5b50610644611aa8565b3480156107ed57600080fd5b50610644611aad565b34801561080257600080fd5b506104f1611ab2565b34801561081757600080fd5b506104a4611ab8565b34801561082c57600080fd5b50610644611abe565b34801561084157600080fd5b506104a4611ac3565b34801561085657600080fd5b506104cf611ac9565b34801561086b57600080fd5b5061048d61087a3660046161de565b611ace565b34801561088b57600080fd5b506104a4611b2f565b3480156108a057600080fd5b506104a4611b35565b3480156108b557600080fd5b506104a4611b3b565b3480156108ca57600080fd5b506104a46108d9366004616080565b611b41565b3480156108ea57600080fd5b5061048d611b81565b3480156108ff57600080fd5b50610644611c95565b34801561091457600080fd5b506104f1611c9a565b34801561092957600080fd5b506104a4611ca0565b34801561093e57600080fd5b506104a4611ca5565b34801561095357600080fd5b506104f1611caa565b34801561096857600080fd5b5061051e611cb0565b34801561097d57600080fd5b50610540611ccf565b34801561099257600080fd5b506104a4611cd8565b3480156109a757600080fd5b506104cf611a2e565b3480156109bc57600080fd5b5061048d6109cb36600461612f565b611ce1565b3480156109dc57600080fd5b506104a46109eb366004616080565b61258d565b3480156109fc57600080fd5b506104a461259f565b348015610a1157600080fd5b50610a1a6125ac565b6040516104b19190616367565b348015610a3357600080fd5b506104a4612698565b348015610a4857600080fd5b506104a4611aa8565b348015610a5d57600080fd5b506104f161269d565b348015610a7257600080fd5b506104a46126a3565b348015610a8757600080fd5b506104a46126a8565b348015610a9c57600080fd5b506104a46126e7565b348015610ab157600080fd5b506104a46126f3565b348015610ac657600080fd5b506104f16126f9565b348015610adb57600080fd5b506104a46126ff565b348015610af057600080fd5b5061048d612704565b348015610b0557600080fd5b506104a46128b3565b348015610b1a57600080fd5b5061048d610b29366004616080565b6128b9565b348015610b3a57600080fd5b506104cf6129c1565b61048d610b51366004616080565b6129c6565b348015610b6257600080fd5b506104a4612c4e565b348015610b7757600080fd5b506104f1612c54565b348015610b8c57600080fd5b50610644611ca0565b348015610ba157600080fd5b506104f1612c5a565b348015610bb657600080fd5b50610bca610bc536600461618b565b612c60565b6040516104b193929190616efa565b348015610be557600080fd5b506104f1612d22565b6000610bf933611b41565b9050600b8181548110610c0857fe5b600091825260209091206001601690920201015460ff16610c445760405162461bcd60e51b8152600401610c3b90616b9a565b60405180910390fd5b6000610c4e6126a8565b9050610c5b338383612d28565b505050565b60095481565b606481565b61200181565b60005460609060ff16610c965760405162461bcd60e51b8152600401610c3b9061662e565b3361200014610cb75760405162461bcd60e51b8152600401610c3b90616d79565b600b54610d7557610cc6615d6c565b60015460005b81811015610d7157600b8054600181018255600091909152835160008051602061714f833981519152601690920291820190815560208086015160008051602061718f8339815191528401805460ff1916911515919091179055604086015180518794610d4d9360008051602061716f833981519152909101920190615d9b565b506060820151610d639060038301906013615e15565b505050806001019050610ccc565b5050505b610d7d615e42565b6000610dbe85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612f1492505050565b9150915080610dda57610dd160646130d0565b92505050610ea2565b815160009060ff16610dff57610df883602001518460400151613131565b9050610e6e565b825160ff1660011415610e6a57826020015151600114610e445760008051602061712f833981519152604051610e3490616a81565b60405180910390a1506067610e65565b610df88360200151600081518110610e5857fe5b6020026020010151613d85565b610e6e565b5060655b63ffffffff8116610e935750506040805160008152602081019091529150610ea29050565b610e9c816130d0565b93505050505b9392505050565b60075460ff1681565b60035481565b606881565b334114610edc5760405162461bcd60e51b8152600401610c3b90616dc8565b6010544311610efd5760405162461bcd60e51b8152600401610c3b9061678a565b60005460ff16610f1f5760405162461bcd60e51b8152600401610c3b9061662e565b600f54610f37576032600f5561100231601155611237565b60006110023168056bc75e2d63100000811115610f6657610f5f81606463ffffffff613efc16565b9150610faf565b601154811115610fa857610f5f6064610f9c600f54610f9060115486613f3e90919063ffffffff16565b9063ffffffff613f8016565b9063ffffffff613efc16565b5050611237565b6040516309a99b4f60e41b815261100290639a99b4f090610fd6903090869060040161630c565b602060405180830381600087803b158015610ff057600080fd5b505af1158015611004573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102891906161a3565b6110023160115591508161103d575050611237565b6000805b8481101561106b5785858281811061105557fe5b9050602002013582019150806001019050611041565b508061107957505050611237565b6000806000805b8981101561122f578489898381811061109557fe5b905060200201358802816110a557fe5b0493508a8a828181106110b457fe5b90506020020160208101906110c99190616080565b6001600160a01b038116600090815260046020526040902054909350915081156111e55760006001808403815481106110fe57fe5b9060005260206000209060040201905080600201601c9054906101000a900460ff161561116b57836001600160a01b03167fb9c75cbbfde137c4281689580799ef5f52144e78858f776a5979b2b212137d858660405161115e9190616ef1565b60405180910390a26111df565b60035461117e908663ffffffff613fba16565b6003908155810154611196908663ffffffff613fba16565b60038201556040516001600160a01b038516907fcb0aad6cf9cd03bdf6137e359f541c42f38b39f007cae8e89e88aa7d8c6617b2906111d6908890616ef1565b60405180910390a25b50611227565b826001600160a01b03167fb9c75cbbfde137c4281689580799ef5f52144e78858f776a5979b2b212137d858560405161121e9190616ef1565b60405180910390a25b600101611080565b505050505050505b5050436010555050565b60015460009082106112555750600061130b565b60006001600160a01b03166001838154811061126d57fe5b60009182526020909120600490910201546001600160a01b0316148061129d5750600854158061129d5750600a54155b806112ac575060085460095410155b806112bd57506112bb82611310565b155b806112e657506000600b83815481106112d257fe5b906000526020600020906016020160000154115b806112fa575060016112f66125ac565b5111155b156113075750600061130b565b5060015b919050565b60015460009082106113245750600061130b565b600b548210611361576001828154811061133a57fe5b9060005260206000209060040201600201601c9054906101000a900460ff1615905061130b565b6001828154811061136e57fe5b9060005260206000209060040201600201601c9054906101000a900460ff161580156113bb5750600b82815481106113a257fe5b600091825260209091206001601690920201015460ff16155b92915050565b33611001146113e25760405162461bcd60e51b8152600401610c3b90616e99565b600b546114a0576113f1615d6c565b60015460005b8181101561149c57600b8054600181018255600091909152835160008051602061714f833981519152601690920291820190815560208086015160008051602061718f8339815191528401805460ff19169115159190911790556040860151805187946114789360008051602061716f833981519152909101920190615d9b565b50606082015161148e9060038301906013615e15565b5050508060010190506113f7565b5050505b6001600160a01b038116600090815260046020526040902054806114c45750611517565b6001810390506000600b82815481106114d957fe5b600091825260209091206001601690920201015460ff1690506114fc8383613fdf565b80156115055750805b15610c5b576009805460001901905550505b50565b60015460609081906000805b8281101561156d576001818154811061153b57fe5b9060005260206000209060040201600201601c9054906101000a900460ff16611565576001909101905b600101611526565b5060608160405190808252806020026020018201604052801561159a578160200160208202803683370190505b5090506060826040519080825280602002602001820160405280156115d357816020015b60608152602001906001900390816115be5790505b50600b546000945090915084141561174e5760005b8481101561174857600181815481106115fd57fe5b9060005260206000209060040201600201601c9054906101000a900460ff16611740576001818154811061162d57fe5b600091825260209091206004909102015483516001600160a01b039091169084908690811061165857fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600b818154811061168557fe5b600091825260209182902060026016909202018101805460408051601f60001961010060018616150201909316949094049182018590048502840185019052808352919290919083018282801561171d5780601f106116f25761010080835404028352916020019161171d565b820191906000526020600020905b81548152906001019060200180831161170057829003601f168201915b505050505082858151811061172e57fe5b60209081029190910101526001909301925b6001016115e8565b506117ea565b60005b848110156117e8576001818154811061176657fe5b9060005260206000209060040201600201601c9054906101000a900460ff166117e0576001818154811061179657fe5b600091825260209091206004909102015483516001600160a01b03909116908490869081106117c157fe5b6001600160a01b03909216602092830291909101909101526001909301925b600101611751565b505b909450925050505b9091565b61271081565b600181565b61100181565b60085481565b6102ca81565b600881565b600e54600c5460609182918061182c575060155b60606118366125ac565b9050606061184382614392565b90508282511161185a5790945092506117f2915050565b8383835103101561186c578282510393505b83156118a25760c8430461188883838388880360008a8a614500565b6118a08383838888038989038a8b8b8b510301614500565b505b6060836040519080825280602002602001820160405280156118ce578160200160208202803683370190505b50905060608460405190808252806020026020018201604052801561190757816020015b60608152602001906001900390816118f25790505b50905060005b858110156119885784818151811061192157fe5b602002602001015183828151811061193557fe5b60200260200101906001600160a01b031690816001600160a01b03168152505083818151811061196157fe5b602002602001015182828151811061197557fe5b602090810291909101015260010161190d565b509096509450505050509091565b60065481565b61200081565b600f5481565b6001600160a01b038116600090815260046020526040812054806119d057600091505061130b565b60001901610ea281611310565b6001600160a01b03811660009081526004602052604081205480611a0557600091505061130b565b600180820381548110611a1457fe5b906000526020600020906004020160030154915050919050565b600081565b606781565b60105481565b60018181548110611a4b57fe5b600091825260209091206004909102018054600182015460028301546003909301546001600160a01b0392831694509082169291821691600160a01b81046001600160401b031691600160e01b90910460ff169086565b61100581565b600281565b601081565b61100881565b6103e881565b600b81565b600c5481565b606681565b3361200014611aef5760405162461bcd60e51b8152600401610c3b90616d79565b7f41ce201247b6ceb957dcdb217d0b8acb50b9ea0e12af9af4f5e7f38902101605838383604051611b2293929190616f3a565b60405180910390a1505050565b60025481565b60115481565b600a5481565b6001600160a01b03811660009081526004602052604081205480611b775760405162461bcd60e51b8152600401610c3b90616d01565b6000190192915050565b600b54611c3f57611b90615d6c565b60015460005b81811015611c3b57600b8054600181018255600091909152835160008051602061714f833981519152601690920291820190815560208086015160008051602061718f8339815191528401805460ff1916911515919091179055604086015180518794611c179360008051602061716f833981519152909101920190615d9b565b506060820151611c2d9060038301906013615e15565b505050806001019050611b96565b5050505b600854611c4c5760036008555b600a54611c59576002600a555b6000611c6433611b41565b9050611c6f81611241565b611c8b5760405162461bcd60e51b8152600401610c3b90616a3e565b6115173382614657565b600981565b61100781565b600381565b60c881565b61100681565b604051806101e001604052806101ab8152602001616f846101ab913981565b60005460ff1681565b6402540be40081565b60005460ff16611d035760405162461bcd60e51b8152600401610c3b9061662e565b3361100714611d245760405162461bcd60e51b8152600401610c3b90616b07565b611d8e84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080518082019091526013815272065787069726554696d655365636f6e6447617606c1b602082015291506146ef9050565b15611e2b5760208114611db35760405162461bcd60e51b8152600401610c3b90616cbb565b604080516020601f8401819004810282018101909252828152600091611df19185858083850183828082843760009201919091525061474892505050565b905060648110158015611e075750620186a08111155b611e235760405162461bcd60e51b8152600401610c3b906168e7565b60025561254a565b611e8b84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260098152686275726e526174696f60b81b602082015291506146ef9050565b15611f275760208114611eb05760405162461bcd60e51b8152600401610c3b906164b4565b604080516020601f8401819004810282018101909252828152600091611eee9185858083850183828082843760009201919091525061474892505050565b9050612710811115611f125760405162461bcd60e51b8152600401610c3b906167cc565b6006556007805460ff1916600117905561254a565b611f9184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260138152726d61784e756d4f664d61696e7461696e696e6760681b602082015291506146ef9050565b1561202b5760208114611fb65760405162461bcd60e51b8152600401610c3b906164eb565b604080516020601f8401819004810282018101909252828152600091611ff49185858083850183828082843760009201919091525061474892505050565b600c5490915080612003575060155b8082106120225760405162461bcd60e51b8152600401610c3b9061683f565b5060085561254a565b61209484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260128152716d61696e7461696e536c6173685363616c6560701b602082015291506146ef9050565b1561212d57602081146120b95760405162461bcd60e51b8152600401610c3b906165b4565b604080516020601f84018190048102820181019092528281526000916120f79185858083850183828082843760009201919091525061474892505050565b90506000811180156121095750600a81105b6121255760405162461bcd60e51b8152600401610c3b90616e15565b600a5561254a565b6121a184848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601981527f6d61784e756d4f66576f726b696e6743616e6469646174657300000000000000602082015291506146ef9050565b1561223057602081146121c65760405162461bcd60e51b8152600401610c3b90616568565b604080516020601f84018190048102820181019092528281526000916122049185858083850183828082843760009201919091525061474892505050565b9050600d548111156122285760405162461bcd60e51b8152600401610c3b9061695d565b600e5561254a565b61229984848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260128152716d61784e756d4f6643616e6469646174657360701b602082015291506146ef9050565b1561231b57602081146122be5760405162461bcd60e51b8152600401610c3b90616b55565b604080516020601f84018190048102820181019092528281526000916122fc9185858083850183828082843760009201919091525061474892505050565b600d819055600e5490915081101561231557600d54600e555b5061254a565b61237f84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600d81526c6e756d4f66436162696e65747360981b602082015291506146ef9050565b1561242d57602081146123a45760405162461bcd60e51b8152600401610c3b906165f9565b604080516020601f84018190048102820181019092528281526000916123e29185858083850183828082843760009201919091525061474892505050565b9050600081116124045760405162461bcd60e51b8152600401610c3b9061669c565b60298111156124255760405162461bcd60e51b8152600401610c3b906166e4565b600c5561254a565b61249784848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601381527266696e616c697479526577617264526174696f60681b602082015291506146ef9050565b1561253257602081146124bc5760405162461bcd60e51b8152600401610c3b90616c3e565b604080516020601f84018190048102820181019092528281526000916124fa9185858083850183828082843760009201919091525061474892505050565b90506001811015801561250e575060648111155b61252a5760405162461bcd60e51b8152600401610c3b906169cc565b600f5561254a565b60405162461bcd60e51b8152600401610c3b90616e72565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a8484848460405161257f9493929190616482565b60405180910390a150505050565b60046020526000908152604090205481565b68056bc75e2d6310000081565b6001546060906000805b828110156125db576125c781611310565b156125d3578160010191505b6001016125b6565b50606081604051908082528060200260200182016040528015612608578160200160208202803683370190505b5090506000915060005b8381101561268f5761262381611310565b15612687576001818154811061263557fe5b600091825260209091206004909102015482516001600160a01b039091169083908590811061266057fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508260010192505b600101612612565b50925050505b90565b601581565b61100281565b603281565b60006126b26125ac565b519050600080600c54116126c75760156126cb565b600c545b9050808211156126d9578091505b816126e357600191505b5090565b67016345785d8a000081565b60055481565b61100381565b602981565b60005460ff16156127275760405162461bcd60e51b8152600401610c3b90616c07565b61272f615e42565b6000612755604051806101e001604052806101ab8152602001616f846101ab9139612f14565b91509150806127765760405162461bcd60e51b8152600401610c3b90616d38565b60005b82602001515181101561289b5760018360200151828151811061279857fe5b60209081029190910181015182546001818101855560009485528385208351600493840290910180546001600160a01b039283166001600160a01b03199182161782558587015182850180549185169183169190911790556040860151600283018054606089015160808a01511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b199590981692909516919091179290921694909417161790915560a09093015160039093019290925591860151805191850193918590811061286e57fe5b602090810291909101810151516001600160a01b0316825281019190915260400160002055600101612779565b50506103e8600255506000805460ff19166001179055565b600d5481565b33611001146128da5760405162461bcd60e51b8152600401610c3b90616e99565b600b54612998576128e9615d6c565b60015460005b8181101561299457600b8054600181018255600091909152835160008051602061714f833981519152601690920291820190815560208086015160008051602061718f8339815191528401805460ff19169115159190911790556040860151805187946129709360008051602061716f833981519152909101920190615d9b565b5060608201516129869060038301906013615e15565b5050508060010190506128ef565b5050505b60006129a38261474d565b90506129ae81611241565b156129bd576129bd8282614657565b5050565b606581565b3341146129e55760405162461bcd60e51b8152600401610c3b90616dc8565b60005460ff16612a075760405162461bcd60e51b8152600401610c3b9061662e565b60003411612a275760405162461bcd60e51b8152600401610c3b9061692e565b6001600160a01b0381166000908152600460205260409020546007543491906103e89060ff1615612a5757506006545b600083118015612a675750600081115b15612b08576000612a84612710610f9c868563ffffffff613f8016565b90508015612b065760405161dead9082156108fc029083906000818181858888f19350505050158015612abb573d6000803e3d6000fd5b507f627059660ea01c4733a328effb2294d2f86905bf806da763a89cee254de8bee581604051612aeb9190616ef1565b60405180910390a1612b03848263ffffffff613f3e16565b93505b505b8115612c06576000600180840381548110612b1f57fe5b9060005260206000209060040201905080600201601c9054906101000a900460ff1615612b8c57846001600160a01b03167ff177e5d6c5764d79c32883ed824111d9b13f5668cf6ab1cc12dd36791dd955b485604051612b7f9190616ef1565b60405180910390a2612c00565b600354612b9f908563ffffffff613fba16565b6003908155810154612bb7908563ffffffff613fba16565b60038201556040516001600160a01b038616907f93a090ecc682c002995fad3c85b30c5651d7fd29b0be5da9d784a3302aedc05590612bf7908790616ef1565b60405180910390a25b50612c48565b836001600160a01b03167ff177e5d6c5764d79c32883ed824111d9b13f5668cf6ab1cc12dd36791dd955b484604051612c3f9190616ef1565b60405180910390a25b50505050565b600e5481565b61100081565b61dead81565b600b8181548110612c6d57fe5b6000918252602091829020601691909102018054600180830154600280850180546040805161010096831615969096026000190190911692909204601f810188900488028501880190925281845293965060ff90911694919291830182828015612d185780601f10612ced57610100808354040283529160200191612d18565b820191906000526020600020905b815481529060010190602001808311612cfb57829003601f168201915b5050505050905083565b61100481565b6000600a5460001480612d39575081155b80612d445750600954155b15612d5157506000610ea2565b60096000815460019003919050819055506000612d9c600a54610f9c85610f9c600b8981548110612d7e57fe5b6000918252602090912060169091020154439063ffffffff613f3e16565b90506000600b8581548110612dad57fe5b906000526020600020906016020160010160006101000a81548160ff0219169083151502179055506000806110016001600160a01b0316638256ace66040518163ffffffff1660e01b8152600401604080518083038186803b158015612e1257600080fd5b505afa158015612e26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e4a91906161bb565b9150915060009350808310612ec457612e638787613fdf565b506040516305bfb49960e41b815261100190635bfb499090612e89908a906004016162f8565b600060405180830381600087803b158015612ea357600080fd5b505af1158015612eb7573d6000803e3d6000fd5b5050505060019350612ed6565b818310612ed657612ed48761474d565b505b6040516001600160a01b038816907fb9d38178dc641ff1817967a63c9078cbcd955a9f1fcd75e0e3636de615d44d3b90600090a25050509392505050565b612f1c615e42565b6000612f26615e42565b612f2e615e66565b612f3f612f3a866148f0565b614915565b90506000805b612f4e8361495f565b156130c25780612f7357612f69612f6484614980565b6149ce565b60ff1684526130ba565b80600114156130b5576060612f8f612f8a85614980565b614a4e565b90508051604051908082528060200260200182016040528015612fcc57816020015b612fb9615e86565b815260200190600190039081612fb15790505b508560200181905250805160405190808252806020026020018201604052801561300a57816020015b6060815260200190600190039081612ff55790505b50604086015260005b81518110156130aa57613024615e86565b6060600061304485858151811061303757fe5b6020026020010151614b1f565b92509250925080613064578860009a509a505050505050505050506130cb565b828960200151858151811061307557fe5b6020026020010181905250818960400151858151811061309157fe5b6020026020010181905250505050806001019050613013565b5060019250506130ba565b6130c2565b600101612f45565b50919350909150505b915091565b604080516001808252818301909252606091829190816020015b60608152602001906001900390816130ea5790505090506131108363ffffffff16614c39565b8160008151811061311d57fe5b6020026020010181905250610ea281614c4c565b60006029835111156131685760008051602061712f83398151915260405161315890616741565b60405180910390a15060666113bb565b60005b83518110156132065760005b818110156131fd5784818151811061318b57fe5b6020026020010151600001516001600160a01b03168583815181106131ac57fe5b6020026020010151600001516001600160a01b031614156131f55760008051602061712f8339815191526040516131e29061689c565b60405180910390a16066925050506113bb565b600101613177565b5060010161316b565b506060806132148585614cd6565b60015491935091506000908190815b818110156132995767016345785d8a00006001828154811061324157fe5b9060005260206000209060040201600301541061326357836001019350613291565b60006001828154811061327257fe5b9060005260206000209060040201600301541115613291578260010192505b600101613223565b506060836040519080825280602002602001820160405280156132c6578160200160208202803683370190505b5090506060846040519080825280602002602001820160405280156132f5578160200160208202803683370190505b509050606085604051908082528060200260200182016040528015613324578160200160208202803683370190505b509050606086604051908082528060200260200182016040528015613353578160200160208202803683370190505b5090506000606087604051908082528060200260200182016040528015613384578160200160208202803683370190505b5090506060886040519080825280602002602001820160405280156133b3578160200160208202803683370190505b509050600099506000985060006110046001600160a01b031663149d14d96040518163ffffffff1660e01b815260040160206040518083038186803b1580156133fb57600080fd5b505afa15801561340f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061343391906161a3565b905067016345785d8a000081111561347e5760008051602061712f83398151915260405161346090616bc6565b60405180910390a160689d50505050505050505050505050506113bb565b60005b898110156136ef5767016345785d8a00006001828154811061349f57fe5b9060005260206000209060040201600301541061362457600181815481106134c357fe5b906000526020600020906004020160020160009054906101000a90046001600160a01b0316898d815181106134f457fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060006402540be4006001838154811061352957fe5b9060005260206000209060040201600301548161354257fe5b066001838154811061355057fe5b9060005260206000209060040201600301540390506135788382613f3e90919063ffffffff16565b898e8151811061358457fe5b6020026020010181815250506001828154811061359d57fe5b906000526020600020906004020160020160009054906101000a90046001600160a01b0316878e815181106135ce57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505081888e815181106135fb57fe5b6020908102919091010152613616868263ffffffff613fba16565b95508c6001019c50506136e7565b60006001828154811061363357fe5b90600052602060002090600402016003015411156136e7576001818154811061365857fe5b906000526020600020906004020160010160009054906101000a90046001600160a01b0316848c8151811061368957fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600181815481106136b657fe5b906000526020600020906004020160030154838c815181106136d457fe5b6020026020010181815250508a6001019a505b600101613481565b5060008415613965576002546040516303702b2960e51b815261100491636e056520918891613729918e918e918d914201906004016163ea565b6020604051808303818588803b15801561374257600080fd5b505af193505050508015613773575060408051601f3d908101601f191682019092526137709181019061610f565b60015b6138ea576040516000815260443d101561378f5750600061382a565b60046000803e60005160e01c6308c379a081146137b057600091505061382a565b60043d036004833e81513d60248201116001600160401b03821117156137db5760009250505061382a565b80830180516001600160401b038111156137fc57600094505050505061382a565b8060208301013d860181111561381a5760009550505050505061382a565b601f01601f191660405250925050505b806138355750613877565b60019150857fa7cdeed7d0db45e3219a6e5d60838824c16f1d39991fcfe3f963029c844bf28082604051613869919061646f565b60405180910390a2506138e5565b3d8080156138a1576040519150601f19603f3d011682016040523d82523d6000602084013e6138a6565b606091505b5060019150857fbfa884552dd8921b6ce90bfe906952ae5b3b29be0cc1a951d4f62697635a3a45826040516138db919061646f565b60405180910390a2505b613965565b801561392c577fa217d08e65f80c73121cd9db834d81652d544bfbf452f6d04922b16c90a37b708660405161391f9190616ef1565b60405180910390a1613963565b857fa7cdeed7d0db45e3219a6e5d60838824c16f1d39991fcfe3f963029c844bf28060405161395a90616531565b60405180910390a25b505b8015613b1b5760005b8751811015613b1957600088828151811061398557fe5b6020026020010151905060006001828154811061399e57fe5b60009182526020909120600160049092020181015481546001600160a01b03909116916108fc91859081106139cf57fe5b9060005260206000209060040201600301549081150290604051600060405180830381858888f1935050505090508015613a8b5760018281548110613a1057fe5b60009182526020909120600160049092020181015481546001600160a01b03909116917f6c61d60f69a7beb3e1c80db7f39f37b208537cbb19da3174511b477812b2fc7d9185908110613a5f57fe5b906000526020600020906004020160030154604051613a7e9190616ef1565b60405180910390a2613b0f565b60018281548110613a9857fe5b60009182526020909120600160049092020181015481546001600160a01b03909116917f25d0ce7d2f0cec669a8c17efe49d195c13455bb8872b65fa610ac7f53fe4ca7d9185908110613ae757fe5b906000526020600020906004020160030154604051613b069190616ef1565b60405180910390a25b505060010161396e565b505b835115613c655760005b8451811015613c63576000858281518110613b3c57fe5b60200260200101516001600160a01b03166108fc868481518110613b5c57fe5b60200260200101519081150290604051600060405180830381858888f1935050505090508015613bf257858281518110613b9257fe5b60200260200101516001600160a01b03167f6c61d60f69a7beb3e1c80db7f39f37b208537cbb19da3174511b477812b2fc7d868481518110613bd057fe5b6020026020010151604051613be59190616ef1565b60405180910390a2613c5a565b858281518110613bfe57fe5b60200260200101516001600160a01b03167f25d0ce7d2f0cec669a8c17efe49d195c13455bb8872b65fa610ac7f53fe4ca7d868481518110613c3c57fe5b6020026020010151604051613c519190616ef1565b60405180910390a25b50600101613b25565b505b5050505050505050505050506000471115613ce1577f6ecc855f9440a9282c90913bbc91619fd44f5ec0b462af28d127b116f130aa4d47604051613ca99190616ef1565b60405180910390a1604051611002904780156108fc02916000818181858888f19350505050158015613cdf573d6000803e3d6000fd5b505b60006003819055600555815115613cfc57613cfc8282614f0f565b6110016001600160a01b031663fc4333cd6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015613d3957600080fd5b505af1158015613d4d573d6000803e3d6000fd5b50506040517fedd8d7296956dd970ab4de3f2fc03be2b0ffc615d20cd4c72c6e44f928630ebf925060009150a1506000949350505050565b80516001600160a01b0316600090815260046020526040812054801580613dd65750600180820381548110613db657fe5b9060005260206000209060040201600201601c9054906101000a900460ff165b15613e1c5782516040516001600160a01b03909116907fe209c46bebf57cf265d5d9009a00870e256d9150f3ed5281ab9d9eb3cec6e4be90600090a2600091505061130b565b600154600554600019820111801590613e725784516040516001600160a01b03909116907fe209c46bebf57cf265d5d9009a00870e256d9150f3ed5281ab9d9eb3cec6e4be90600090a26000935050505061130b565b600580546001908101909155805481906000198601908110613e9057fe5b6000918252602082206002600490920201018054921515600160e01b0260ff60e01b199093169290921790915585516040516001600160a01b03909116917ff226e7d8f547ff903d9d419cf5f54e0d7d07efa9584135a53a057c5f1f27f49a91a2506000949350505050565b6000610ea283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506156ee565b6000610ea283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250615725565b600082613f8f575060006113bb565b82820282848281613f9c57fe5b0414610ea25760405162461bcd60e51b8152600401610c3b90616ac6565b600082820183811015610ea25760405162461bcd60e51b8152600401610c3b90616665565b60008060018381548110613fef57fe5b906000526020600020906004020160030154905060006001808054905003905060016140196125ac565b511161404e5760006001858154811061402e57fe5b9060005260206000209060040201600301819055506000925050506113bb565b846001600160a01b03167f3b6f9ef90462b512a1293ecec018670bf7b7f1876fb727590a8a6d7643130a70836040516140879190616ef1565b60405180910390a26001600160a01b038516600090815260046020526040812055835b6001546000190181101561427457600181600101815481106140c857fe5b9060005260206000209060040201600182815481106140e357fe5b60009182526020909120825460049092020180546001600160a01b03199081166001600160a01b0393841617825560018085015481840180548416918616919091179055600280860180549185018054909416919095161780835584546001600160401b03600160a01b91829004160267ffffffffffffffff60a01b1990911617808355935460ff600160e01b918290041615150260ff60e01b19909416939093179055600392830154920191909155600b8054909183019081106141a457fe5b9060005260206000209060160201600b82815481106141bf57fe5b600091825260209091208254601690920201908155600180830154818301805460ff909216151560ff1990921691909117905560028084018054614216938386019390821615610100026000190190911604615ebb565b5061422960038281019084016013615f30565b5090505080600101600460006001848154811061424257fe5b600091825260208083206004909202909101546001600160a01b031683528201929092526040019020556001016140aa565b50600180548061428057fe5b60008281526020812060046000199093019283020180546001600160a01b0319908116825560018201805490911690556002810180546001600160e81b0319169055600301559055600b8054806142d357fe5b60008281526020812060166000199093019283020181815560018101805460ff19169055906143056002830182615f5a565b614313600383016000615f9e565b50509055600081838161432257fe5b04905080156143865760015460005b8181101561438357826001828154811061434757fe5b906000526020600020906004020160030154016001828154811061436757fe5b6000918252602090912060036004909202010155600101614331565b50505b50600195945050505050565b6001548151604080518281526020808402820101909152606092919083908280156143d157816020015b60608152602001906001900390816143bc5790505b50600b5490915083146143e857925061130b915050565b60005b828110156144f757600b60016004600089858151811061440757fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054038154811061443b57fe5b600091825260209182902060026016909202018101805460408051601f6000196101006001861615020190931694909404918201859004850284018501905280835291929091908301828280156144d35780601f106144a8576101008083540402835291602001916144d3565b820191906000526020600020905b8154815290600101906020018083116144b657829003601f168201915b50505050508282815181106144e457fe5b60209081029190910101526001016143eb565b50949350505050565b60005b8281101561464d57600082878388016040516020016145239291906162ea565b6040516020818303038152906040528051906020012060001c8161454357fe5b06905080850182870114614644576000898388018151811061456157fe5b602002602001015190506060898489018151811061457b57fe5b602002602001015190508a8388018151811061459357fe5b60200260200101518b858a01815181106145a957fe5b60200260200101906001600160a01b031690816001600160a01b031681525050818b848901815181106145d857fe5b60200260200101906001600160a01b031690816001600160a01b031681525050898388018151811061460657fe5b60200260200101518a858a018151811061461c57fe5b6020026020010181905250808a8489018151811061463657fe5b602002602001018190525050505b50600101614503565b5050505050505050565b600980546001908101909155600b80548390811061467157fe5b906000526020600020906016020160010160006101000a81548160ff02191690831515021790555043600b82815481106146a757fe5b600091825260208220601690910201919091556040516001600160a01b038416917ff62981a567ec3cec866c6fa93c55bcdf841d6292d18b8d522ececa769375d82d91a25050565b60008160405160200161470291906162ce565b604051602081830303815290604052805190602001208360405160200161472991906162ce565b6040516020818303038152906040528051906020012014905092915050565b015190565b6001600160a01b038116600090815260046020526040812054806147765750600019905061130b565b60018103905060006001828154811061478b57fe5b90600052602060002090600402016003015490506000600183815481106147ae57fe5b6000918252602090912060036004909202010155600154604051600019909101906001600160a01b038616907f8cd4e147d8af98a9e3b6724021b8bf6aed2e5dac71c38f2dce8161b82585b25d90614807908590616ef1565b60405180910390a28061481f5782935050505061130b565b600081838161482a57fe5b04905080156148e65760005b8481101561488857816001828154811061484c57fe5b906000526020600020906004020160030154016001828154811061486c57fe5b6000918252602090912060036004909202010155600101614836565b50600180549085015b818110156148e35782600182815481106148a757fe5b90600052602060002090600402016003015401600182815481106148c757fe5b6000918252602090912060036004909202010155600101614891565b50505b5091949350505050565b6148f8615fad565b506040805180820190915281518152602082810190820152919050565b61491d615e66565b61492682615751565b61492f57600080fd5b600061493e836020015161578b565b60208085015160408051808201909152868152920190820152915050919050565b6000614969615fad565b505080518051602091820151919092015191011190565b614988615fad565b6149918261495f565b61499a57600080fd5b602082015160006149aa826157ee565b80830160209586015260408051808201909152908152938401919091525090919050565b8051600090158015906149e357508151602110155b6149ec57600080fd5b60006149fb836020015161578b565b90508083600001511015614a215760405162461bcd60e51b8152600401610c3b90616c84565b8251602080850151830180519284900392918310156144f757506020919091036101000a90049392505050565b6060614a5982615751565b614a6257600080fd5b6000614a6d836158cf565b9050606081604051908082528060200260200182016040528015614aab57816020015b614a98615fad565b815260200190600190039081614a905790505b5090506000614abd856020015161578b565b60208601510190506000805b84811015614b1457614ada836157ee565b9150604051806040016040528083815260200184815250848281518110614afd57fe5b602090810291909101015291810191600101614ac9565b509195945050505050565b614b27615e86565b60606000614b33615e86565b6060614b3d615e66565b614b4687614915565b90506000805b614b558361495f565b15614c2a5780614b8057614b70614b6b84614980565b61592b565b6001600160a01b03168552614c22565b8060011415614ba857614b95614b6b84614980565b6001600160a01b03166020860152614c22565b8060021415614bd057614bbd614b6b84614980565b6001600160a01b03166040860152614c22565b8060031415614bfc57614be5612f6484614980565b6001600160401b0316606086015260019150614c22565b8060041415614c1d57614c16614c1184614980565b615945565b9350614c22565b614c2a565b600101614b4c565b50929791965091945092505050565b60606113bb614c47836159b5565b615a9b565b6060815160001415614c6d575060408051600081526020810190915261130b565b606082600081518110614c7c57fe5b602002602001015190506000600190505b8351811015614cbd57614cb382858381518110614ca657fe5b6020026020010151615aed565b9150600101614c8d565b50610ea2614cd0825160c060ff16615b6a565b82615aed565b606080600080808080614ce76126a8565b6001549091505b8015614df557600181039250600b8381548110614d0757fe5b600091825260209091206001601690920201015460ff16614d2757614dec565b60018381548110614d3457fe5b60009182526020909120600490910201546001600160a01b03169450614d5b858484612d28565b9350831580614d6e575060018a51038610155b15614d7857614dec565b60005b8a51811015614dea57856001600160a01b03168b8281518110614d9a57fe5b6020026020010151600001516001600160a01b03161415614de25760018b8281518110614dc357fe5b6020908102919091010151901515608090910152600190960195614dea565b600101614d7b565b505b60001901614cee565b5084895103604051908082528060200260200182016040528015614e3357816020015b614e20615e86565b815260200190600190039081614e185790505b50965084895103604051908082528060200260200182016040528015614e6d57816020015b6060815260200190600190039081614e585790505b5095506000915060005b8951811015614f0157898181518110614e8c57fe5b602002602001015160800151614ef957898181518110614ea857fe5b6020026020010151888481518110614ebc57fe5b6020026020010181905250888181518110614ed357fe5b6020026020010151878481518110614ee757fe5b60200260200101819052508260010192505b600101614e77565b5050505050505b9250929050565b600154825160005b8281101561502c576001614f29615e86565b60018381548110614f3657fe5b600091825260208083206040805160c08101825260049490940290910180546001600160a01b0390811685526001820154811693850193909352600281015492831691840191909152600160a01b82046001600160401b03166060840152600160e01b90910460ff16151560808301526003015460a082015291505b8481101561500057878181518110614fc657fe5b6020026020010151600001516001600160a01b031682600001516001600160a01b03161415614ff85760009250615000565b600101614fb2565b5081156150225780516001600160a01b03166000908152600460205260408120555b5050600101614f17565b50808211156150eb57805b828110156150e957600180548061504a57fe5b60008281526020812060046000199093019283020180546001600160a01b0319908116825560018201805490911690556002810180546001600160e81b0319169055600301559055600b80548061509d57fe5b60008281526020812060166000199093019283020181815560018101805460ff19169055906150cf6002830182615f5a565b6150dd600383016000615f9e565b50509055600101615037565b505b60008183106150fa57816150fc565b825b905060005b818110156154a0576151ae86828151811061511857fe5b60200260200101516001838154811061512d57fe5b60009182526020918290206040805160c08101825260049390930290910180546001600160a01b0390811684526001820154811694840194909452600281015493841691830191909152600160a01b83046001600160401b03166060830152600160e01b90920460ff161515608082015260039091015460a0820152615c3c565b6153625780600101600460008884815181106151c657fe5b6020026020010151600001516001600160a01b03166001600160a01b031681526020019081526020016000208190555085818151811061520257fe5b60200260200101516001828154811061521757fe5b6000918252602091829020835160049092020180546001600160a01b039283166001600160a01b0319918216178255928401516001820180549184169185169190911790556040840151600282018054606087015160808801511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b1995909716929097169190911792909216939093171692909217905560a09091015160039091015584518590829081106152d257fe5b6020026020010151600b82815481106152e757fe5b9060005260206000209060160201600201908051906020019061530b929190615d9b565b506000600b828154811061531b57fe5b60009182526020822060169190910201600101805460ff191692151592909217909155600b80548390811061534c57fe5b6000918252602090912060169091020155615498565b61542885828151811061537157fe5b6020026020010151600b838154811061538657fe5b600091825260209182902060026016909202018101805460408051601f60001961010060018616150201909316949094049182018590048502840185019052808352919290919083018282801561541e5780601f106153f35761010080835404028352916020019161541e565b820191906000526020600020905b81548152906001019060200180831161540157829003601f168201915b5050505050615cbd565b6154735784818151811061543857fe5b6020026020010151600b828154811061544d57fe5b90600052602060002090601602016002019080519060200190615471929190615d9b565b505b60006001828154811061548257fe5b9060005260206000209060040201600301819055505b600101615101565b5082821115615678576154b1615d6c565b835b83811015615675578581815181106154c757fe5b6020026020010151826040018190525060018782815181106154e557fe5b6020908102919091018101518254600181810185556000948552838520835160049093020180546001600160a01b039384166001600160a01b0319918216178255848601518284018054918616918316919091179055604080860151600284018054606089015160808a01511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b1995909a1692909616919091179290921696909617169190911790935560a090930151600390930192909255600b805492830181559093528451601690910260008051602061714f83398151915281019182558583015160008051602061718f8339815191528201805491151560ff199092169190911790559285015180518694929361561b9360008051602061716f83398151915201920190615d9b565b5060608201516156319060038301906013615e15565b505050806001016004600089848151811061564857fe5b602090810291909101810151516001600160a01b03168252810191909152604001600020556001016154b3565b50505b6000600981905560015493505b838110156156e6576000600b828154811061569c57fe5b60009182526020822060169190910201600101805460ff191692151592909217909155600b8054839081106156cd57fe5b6000918252602090912060169091020155600101615685565b505050505050565b6000818361570f5760405162461bcd60e51b8152600401610c3b919061646f565b50600083858161571b57fe5b0495945050505050565b600081848411156157495760405162461bcd60e51b8152600401610c3b919061646f565b505050900390565b80516000906157625750600061130b565b6020820151805160001a9060c08210156157815760009250505061130b565b5060019392505050565b8051600090811a60808110156157a557600091505061130b565b60b88110806157c0575060c081108015906157c0575060f881105b156157cf57600191505061130b565b60c08110156157e35760b51901905061130b565b60f51901905061130b565b80516000908190811a608081101561580957600191506158c8565b60b881101561581e57607e19810191506158c8565b60c081101561586f57600060b78203600186019550806020036101000a8651049150600181018201935050808310156158695760405162461bcd60e51b8152600401610c3b90616a13565b506158c8565b60f88110156158845760be19810191506158c8565b600060f78203600186019550806020036101000a8651049150600181018201935050808310156158c65760405162461bcd60e51b8152600401610c3b90616a13565b505b5092915050565b80516000906158e05750600061130b565b600080905060006158f4846020015161578b565b602085015185519181019250015b8082101561592257615913826157ee565b82019150826001019250615902565b50909392505050565b805160009060151461593c57600080fd5b6113bb826149ce565b805160609061595357600080fd5b6000615962836020015161578b565b83516040805191839003808352601f19601f8201168301602001909152919250606090828015615999576020820181803683370190505b50905060008160200190506144f7848760200151018285615d21565b604080516020808252818301909252606091829190602082018180368337505050602081018490529050600067ffffffffffffffff1984166159f957506018615a1d565b6fffffffffffffffffffffffffffffffff198416615a1957506010615a1d565b5060005b6020811015615a5357818181518110615a3257fe5b01602001516001600160f81b03191615615a4b57615a53565b600101615a1d565b60008160200390506060816040519080825280601f01601f191660200182016040528015615a88576020820181803683370190505b5080830196909652508452509192915050565b606081516001148015615acd5750607f60f81b82600081518110615abb57fe5b01602001516001600160f81b03191611155b15615ad957508061130b565b6113bb615aeb8351608060ff16615b6a565b835b6060806040519050835180825260208201818101602087015b81831015615b1e578051835260209283019201615b06565b50855184518101855292509050808201602086015b81831015615b4b578051835260209283019201615b33565b508651929092011591909101601f01601f191660405250905092915050565b6060680100000000000000008310615b945760405162461bcd60e51b8152600401610c3b90616817565b60408051600180825281830190925260609160208201818036833701905050905060378411615bee5782840160f81b81600081518110615bd057fe5b60200101906001600160f81b031916908160001a90535090506113bb565b6060615bf9856159b5565b90508381510160370160f81b82600081518110615c1257fe5b60200101906001600160f81b031916908160001a905350615c338282615aed565b95945050505050565b805182516000916001600160a01b039182169116148015615c76575081602001516001600160a01b031683602001516001600160a01b0316145b8015615c9b575081604001516001600160a01b031683604001516001600160a01b0316145b8015610ea25750506060908101519101516001600160401b0390811691161490565b815181516000916001918114808314615cd95760009250615d17565b600160208701838101602088015b600284838510011415615d12578051835114615d065760009650600093505b60209283019201615ce7565b505050505b5090949350505050565b80615d2b57610c5b565b5b60208110615d4b578251825260209283019290910190601f1901615d2c565b915181516020939093036101000a6000190180199091169216919091179052565b60405180608001604052806000815260200160001515815260200160608152602001615d96615fc7565b905290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10615ddc57805160ff1916838001178555615e09565b82800160010185558215615e09579182015b82811115615e09578251825591602001919060010190615dee565b506126e3929150615fe6565b8260138101928215615e095791602002820182811115615e09578251825591602001919060010190615dee565b6040518060600160405280600060ff16815260200160608152602001606081525090565b6040518060400160405280615e79615fad565b8152602001600081525090565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10615ef45780548555615e09565b82800160010185558215615e0957600052602060002091601f016020900482015b82811115615e09578254825591600101919060010190615f15565b8260138101928215615e095791820182811115615e09578254825591600101919060010190615f15565b50805460018160011615610100020316600290046000825580601f10615f805750611517565b601f0160209004906000526020600020908101906115179190615fe6565b50611517906013810190615fe6565b604051806040016040528060008152602001600081525090565b6040518061026001604052806013906020820280368337509192915050565b61269591905b808211156126e35760008155600101615fec565b60008083601f840112616011578182fd5b5081356001600160401b03811115616027578182fd5b6020830191508360208083028501011115614f0857600080fd5b60008083601f840112616052578182fd5b5081356001600160401b03811115616068578182fd5b602083019150836020828501011115614f0857600080fd5b600060208284031215616091578081fd5b81356001600160a01b0381168114610ea2578182fd5b600080600080604085870312156160bc578283fd5b84356001600160401b03808211156160d2578485fd5b6160de88838901616000565b909650945060208701359150808211156160f6578384fd5b5061610387828801616000565b95989497509550505050565b600060208284031215616120578081fd5b81518015158114610ea2578182fd5b60008060008060408587031215616144578384fd5b84356001600160401b038082111561615a578586fd5b61616688838901616041565b9096509450602087013591508082111561617e578384fd5b5061610387828801616041565b60006020828403121561619c578081fd5b5035919050565b6000602082840312156161b4578081fd5b5051919050565b600080604083850312156161cd578182fd5b505080516020909101519092909150565b6000806000604084860312156161f2578283fd5b833560ff81168114616202578384fd5b925060208401356001600160401b0381111561621c578283fd5b61622886828701616041565b9497909650939450505050565b6000815180845260208085019450808401835b8381101561626d5781516001600160a01b031687529582019590820190600101616248565b509495945050505050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b600081518084526162ba816020860160208601616f57565b601f01601f19169290920160200192915050565b600082516162e0818460208701616f57565b9190910192915050565b918252602082015260400190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03968716815294861660208601529290941660408401526001600160401b03166060830152911515608082015260a081019190915260c00190565b600060208252610ea26020830184616235565b60006040825261638d6040830185616235565b602083820381850152818551808452828401915082838202850101838801865b838110156163db57601f198784030185526163c98383516162a2565b948601949250908501906001016163ad565b50909998505050505050505050565b6000608082526163fd6080830187616235565b828103602084810191909152865180835287820192820190845b8181101561643357845183529383019391830191600101616417565b505084810360408601526164478188616235565b93505050506001600160401b038316606083015295945050505050565b901515815260200190565b600060208252610ea260208301846162a2565b600060408252616496604083018688616278565b82810360208401526164a9818587616278565b979650505050505050565b6020808252601c908201527f6c656e677468206f66206275726e526174696f206d69736d6174636800000000604082015260600190565b60208082526026908201527f6c656e677468206f66206d61784e756d4f664d61696e7461696e696e67206d696040820152650e6dac2e8c6d60d31b606082015260800190565b6020808252601b908201527f6261746368207472616e736665722072657475726e2066616c73650000000000604082015260600190565b6020808252602c908201527f6c656e677468206f66206d61784e756d4f66576f726b696e6743616e6469646160408201526b0e8cae640dad2e6dac2e8c6d60a31b606082015260800190565b60208082526025908201527f6c656e677468206f66206d61696e7461696e536c6173685363616c65206d69736040820152640dac2e8c6d60db1b606082015260800190565b6020808252818101527f6c656e677468206f66206e756d4f66436162696e657473206d69736d61746368604082015260600190565b60208082526019908201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526028908201527f746865206e756d4f66436162696e657473206d75737420626520677265617465604082015267072207468616e20360c41b606082015260800190565b60208082526039908201527f746865206e756d4f66436162696e657473206d757374206265206c657373207460408201527f68616e204d41585f4e554d5f4f465f56414c494441544f525300000000000000606082015260800190565b60208082526029908201527f746865206e756d626572206f662076616c696461746f727320657863656564206040820152681d1a19481b1a5b5a5d60ba1b606082015260800190565b60208082526022908201527f63616e206e6f7420646f207468697320747769636520696e206f6e6520626c6f604082015261636b60f01b606082015260800190565b6020808252602b908201527f746865206275726e526174696f206d757374206265206e6f206772656174657260408201526a0207468616e2031303030360ac1b606082015260800190565b6020808252600e908201526d696e70757420746f6f206c6f6e6760901b604082015260600190565b60208082526037908201527f746865206d61784e756d4f664d61696e7461696e696e67206d7573742062652060408201527f6c657373207468616e206e756d4f66436162696e657473000000000000000000606082015260800190565b6020808252602b908201527f6475706c696361746520636f6e73656e7375732061646472657373206f66207660408201526a185b1a59185d1bdc94d95d60aa1b606082015260800190565b60208082526027908201527f7468652065787069726554696d655365636f6e64476170206973206f7574206f604082015266662072616e676560c81b606082015260800190565b6020808252601590820152746465706f7369742076616c7565206973207a65726f60581b604082015260600190565b60208082526049908201527f746865206d61784e756d4f66576f726b696e6743616e64696461746573206d7560408201527f7374206265206e6f742067726561746572207468616e206d61784e756d4f6643606082015268616e6469646174657360b81b608082015260a00190565b60208082526027908201527f7468652066696e616c697479526577617264526174696f206973206f7574206f604082015266662072616e676560c81b606082015260800190565b6020808252601190820152706164646974696f6e206f766572666c6f7760781b604082015260600190565b60208082526023908201527f63616e206e6f7420656e7465722054656d706f72617279204d61696e74656e616040820152626e636560e81b606082015260800190565b60208082526025908201527f6c656e677468206f66206a61696c2076616c696461746f7273206d757374206260408201526465206f6e6560d81b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252602e908201527f746865206d6573736167652073656e646572206d75737420626520676f76657260408201526d1b985b98d94818dbdb9d1c9858dd60921b606082015260800190565b60208082526025908201527f6c656e677468206f66206d61784e756d4f6643616e64696461746573206d69736040820152640dac2e8c6d60db1b606082015260800190565b6020808252601290820152716e6f7420696e206d61696e74656e616e636560701b604082015260600190565b60208082526021908201527f666565206973206c6172676572207468616e2044555354595f494e434f4d494e6040820152604760f81b606082015260800190565b60208082526019908201527f74686520636f6e747261637420616c726561647920696e697400000000000000604082015260600190565b60208082526026908201527f6c656e677468206f662066696e616c697479526577617264526174696f206d696040820152650e6dac2e8c6d60d31b606082015260800190565b6020808252601a908201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604082015260600190565b60208082526026908201527f6c656e677468206f662065787069726554696d655365636f6e64476170206d696040820152650e6dac2e8c6d60d31b606082015260800190565b60208082526017908201527f6f6e6c792063757272656e742076616c696461746f7273000000000000000000604082015260600190565b60208082526021908201527f6661696c656420746f20706172736520696e69742076616c696461746f7253656040820152601d60fa1b606082015260800190565b6020808252602f908201527f746865206d6573736167652073656e646572206d7573742062652063726f737360408201526e0818da185a5b8818dbdb9d1c9858dd608a1b606082015260800190565b6020808252602d908201527f746865206d6573736167652073656e646572206d75737420626520746865206260408201526c3637b1b590383937b23ab1b2b960991b606082015260800190565b6020808252603e908201527f746865206d61696e7461696e536c6173685363616c65206d757374206265206760408201527f726561746572207468616e203020616e64206c657373207468616e2031300000606082015260800190565b6020808252600d908201526c756e6b6e6f776e20706172616d60981b604082015260600190565b60208082526029908201527f746865206d6573736167652073656e646572206d75737420626520736c6173686040820152680818dbdb9d1c9858dd60ba1b606082015260800190565b61ffff91909116815260200190565b90815260200190565b6000848252831515602083015260606040830152615c3360608301846162a2565b63ffffffff91909116815260200190565b60ff91909116815260200190565b600060ff8516825260406020830152615c33604083018486616278565b60005b83811015616f72578181015183820152602001616f5a565b83811115612c48575050600091015256fef901a880f901a4f844941284214b9b9c85549ab3d2b972df0deef66ac2c9946ddf42a51534fc98d0c0a3b42c963cace8441ddf946ddf42a51534fc98d0c0a3b42c963cace8441ddf8410000000f84494a2959d3f95eae5dc7d70144ce1b73b403b7eb6e0948081ef03f1d9e0bb4a5bf38f16285c879299f07f948081ef03f1d9e0bb4a5bf38f16285c879299f07f8410000000f8449435552c16704d214347f29fa77f77da6d75d7c75294dc4973e838e3949c77aced16ac2315dc2d7ab11194dc4973e838e3949c77aced16ac2315dc2d7ab1118410000000f84494980a75ecd1309ea12fa2ed87a8744fbfc9b863d594cc6ac05c95a99c1f7b5f88de0e3486c82293b27094cc6ac05c95a99c1f7b5f88de0e3486c82293b2708410000000f84494f474cf03cceff28abc65c9cbae594f725c80e12d94e61a183325a18a173319dd8e19c8d069459e217594e61a183325a18a173319dd8e19c8d069459e21758410000000f84494b71b214cb885500844365e95cd9942c7276e7fd894d22ca3ba2141d23adab65ce4940eb7665ea2b6a794d22ca3ba2141d23adab65ce4940eb7665ea2b6a7841000000070e72399380dcfb0338abc03dc8d47f9f470ada8e769c9a78d644ea97385ecb20175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbb0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbaa2646970667358221220bc53b84b66ec5288714012f6e0e7cdc85eb3fd6718cf69ef36b3579924bc204664736f6c63430006040033", }, { ContractAddr: common.HexToAddress(SlashContract), - CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/030cf951e9f5ae1f8211333af807e5d30f3b5a85", - Code: "608060405234801561001057600080fd5b50600436106102745760003560e01c80638256ace611610151578063c81b1662116100c3578063dc927faf11610087578063dc927faf1461049a578063e1c7392a146104a2578063f9a2bbc7146104aa578063fc3e5908146104b2578063fc4333cd146104ba578063fd6a6879146104c257610274565b8063c81b166214610451578063c8509d8114610459578063c96be4cb1461046c578063cc844b731461047f578063d2a42e4b1461049257610274565b8063a1a11bf511610115578063a1a11bf514610409578063a78abc1614610411578063ab51bb9614610426578063ac0af6291461042e578063ac43175114610436578063c80d4b8f1461044957610274565b80638256ace6146103d6578063831d65d1146103de57806396713da9146103f15780639bc8e4f2146103f95780639dc092621461040157610274565b80634bf6c882116101ea5780636e47b482116101ae5780636e47b482146103a657806370fd5bad146103ae578063718a8aa8146103b657806375d47a0a146103be5780637912a65d146103c65780637942fd05146103ce57610274565b80634bf6c8821461037157806351e8067214610379578063567a372d146103815780635bfb49901461038957806362b72cf51461039e57610274565b806337c8dab91161023c57806337c8dab914610301578063389f4f71146103225780633a63f4b1146103375780633dffc3871461033f57806343756e5c14610354578063493279b11461035c57610274565b80630bee7a67146102795780630e2374a5146102975780631182b875146102ac57806323bac5a2146102cc57806335aa2e44146102ee575b600080fd5b6102816104ca565b60405161028e9190613058565b60405180910390f35b61029f6104cf565b60405161028e9190612989565b6102bf6102ba3660046128bf565b6104d5565b60405161028e91906129c1565b6102df6102da36600461266d565b61053b565b60405161028e93929190613040565b61029f6102fc36600461288f565b61055e565b61031461030f36600461266d565b610585565b60405161028e929190613032565b61032a6105dc565b60405161028e9190613008565b61032a6105e2565b6103476105e8565b60405161028e9190613069565b61029f6105ed565b6103646105f3565b60405161028e9190612ff9565b6103476105f9565b61029f6105fe565b61032a610604565b61039c61039736600461266d565b61060a565b005b61032a6106b5565b61029f6106bb565b6103476106c1565b6103476106c6565b61029f6106cb565b61032a6106d1565b6103476106d6565b6103146106db565b61039c6103ec3660046128bf565b6106e5565b6103476107f7565b61032a6107fc565b61029f610807565b61029f61080d565b610419610813565b60405161028e91906129b6565b61028161081c565b61032a610821565b61039c610444366004612773565b610826565b61032a610bda565b61029f610bdf565b61039c6104673660046128bf565b610be5565b61039c61047a36600461266d565b610c56565b61039c61048d3660046127dc565b611047565b61032a61151d565b61029f611522565b61039c611528565b61029f611564565b61034761156a565b61039c61156f565b61029f6119b8565b606481565b61200181565b606033612000146105015760405162461bcd60e51b81526004016104f890612e7f565b60405180910390fd5b60005460ff166105235760405162461bcd60e51b81526004016104f890612a6d565b60405162461bcd60e51b81526004016104f890612f42565b600260208190526000918252604090912080546001820154919092015460ff1683565b6001818154811061056b57fe5b6000918252602090912001546001600160a01b0316905081565b600080610590612454565b5050506001600160a01b0316600090815260026020818152604092839020835160608101855281548082526001830154938201849052919093015460ff16151592909301919091529091565b60055481565b60065481565b600181565b61100181565b6102ca81565b600881565b61200081565b60045481565b336110001461062b5760405162461bcd60e51b81526004016104f890612c93565b60005460ff1661064d5760405162461bcd60e51b81526004016104f890612a6d565b61200063f7a251d7600b610660846119be565b60006040518463ffffffff1660e01b815260040161068093929190613077565b600060405180830381600087803b15801561069a57600080fd5b505af11580156106ae573d6000803e3d6000fd5b5050505050565b60035481565b61100581565b600281565b601081565b61100881565b603281565b600b81565b6004546005549091565b33612000146107065760405162461bcd60e51b81526004016104f890612e7f565b60005460ff166107285760405162461bcd60e51b81526004016104f890612a6d565b610730612477565b600061077184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a9192505050565b9150915080156107b85781516040517f7f0956d47419b9525356e7111652b653b530ec6f5096dccc04589bc38e629967916107ab91613058565b60405180910390a16106ae565b81516040517f7d45f62d17443dd4547bca8a8112c60e2385669318dc300ec61a5d2492f262e7916107e891613058565b60405180910390a15050505050565b600981565b662386f26fc1000081565b61100781565b61100681565b60005460ff1681565b600081565b600481565b60005460ff166108485760405162461bcd60e51b81526004016104f890612a6d565b33611007146108695760405162461bcd60e51b81526004016104f890612d3c565b6108d484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260148152731b5a5cd9195b59585b9bdc951a1c995cda1bdb1960621b60208201529150611b119050565b1561096f57602081146108f95760405162461bcd60e51b81526004016104f890612c1f565b604080516020601f840181900481028201810190925282815260009161093791858580838501838280828437600092019190915250611b6b92505050565b90506001811015801561094b575060055481105b6109675760405162461bcd60e51b81526004016104f890612e3a565b600455610b97565b6109d584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600f81526e19995b1bdb9e551a1c995cda1bdb19608a1b60208201529150611b119050565b15610a7157602081146109fa5760405162461bcd60e51b81526004016104f890612d8a565b604080516020601f8401819004810282018101909252828152600091610a3891858580838501838280828437600092019190915250611b6b92505050565b90506103e88111158015610a4d575060045481115b610a695760405162461bcd60e51b81526004016104f890612adb565b600555610b97565b610ae584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601881527f66696e616c697479536c617368526577617264526174696f000000000000000060208201529150611b119050565b15610b7f5760208114610b0a5760405162461bcd60e51b81526004016104f890612f79565b604080516020601f8401819004810282018101909252828152600091610b4891858580838501838280828437600092019190915250611b6b92505050565b9050600a8110158015610b5b5750606481105b610b775760405162461bcd60e51b81526004016104f890612bd3565b600655610b97565b60405162461bcd60e51b81526004016104f890612f1b565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a84848484604051610bcc94939291906129d4565b60405180910390a150505050565b609681565b61100281565b3361200014610c065760405162461bcd60e51b81526004016104f890612e7f565b60005460ff16610c285760405162461bcd60e51b81526004016104f890612a6d565b6040517f07db600eebe2ac176be8dcebad61858c245a4961bb32ca2aa3d159b09aa0810e90600090a1505050565b334114610c755760405162461bcd60e51b81526004016104f890612ece565b60005460ff16610c975760405162461bcd60e51b81526004016104f890612a6d565b6003544311610cb85760405162461bcd60e51b81526004016104f890612fc4565b3a15610cd65760405162461bcd60e51b81526004016104f890612d0e565b60405163155853f360e21b8152611000906355614fcc90610cfb908490600401612989565b60206040518083038186803b158015610d1357600080fd5b505afa158015610d27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4b9190612753565b610d5457611040565b610d5c612454565b506001600160a01b0381166000908152600260208181526040928390208351606081018552815481526001820154928101929092529091015460ff161580159282019290925290610db7576020810180516001019052610e10565b60016040820181905260208201819052805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0384161790555b438152600554602082015181610e2257fe5b06610f6e57600060208201526040516335409f7f60e01b8152611000906335409f7f90610e53908590600401612989565b600060405180830381600087803b158015610e6d57600080fd5b505af1158015610e81573d6000803e3d6000fd5b505050506120006001600160a01b031663f7a251d7600b610ea1856119be565b60006040518463ffffffff1660e01b8152600401610ec193929190613077565b600060405180830381600087803b158015610edb57600080fd5b505af1925050508015610eec575060015b610f69573d808015610f1a576040519150601f19603f3d011682016040523d82523d6000602084013e610f1f565b606091505b50826001600160a01b03167fd7bc86ff5d08c8ab043edec743302aba2520e6635172a428bc956721db9e2d1c836020015183604051610f5f929190613011565b60405180910390a2505b610fda565b600454816020015181610f7d57fe5b06610fda576040516375abf10160e11b81526110009063eb57e20290610fa7908590600401612989565b600060405180830381600087803b158015610fc157600080fd5b505af1158015610fd5573d6000803e3d6000fd5b505050505b6001600160a01b0382166000818152600260208181526040808420865181559186015160018301558581015191909201805460ff1916911515919091179055517fddb6012116e51abf5436d956a4f0ebd927e92c576ff96d7918290c8782291e3e9190a2505b5043600355565b60005460ff166110695760405162461bcd60e51b81526004016104f890612a6d565b604051630a83aaa960e31b81526110069063541d55489061108e903390600401612989565b60206040518083038186803b1580156110a657600080fd5b505afa1580156110ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110de9190612753565b6110fa5760405162461bcd60e51b81526004016104f890612a06565b6006546111075760146006555b8051514361010090910111801561112957504381602001516000015161010001115b6111455760405162461bcd60e51b81526004016104f890612a3d565b8060200151602001518160000151602001511480156111735750806020015160600151816000015160600151145b156111905760405162461bcd60e51b81526004016104f890612c66565b8051604081015190511080156111af5750602081015160408101519051105b6111cb5760405162461bcd60e51b81526004016104f890612b6f565b6020810151518151511080156111f05750806000015160400151816020015160400151105b8061121b575080515160208201515110801561121b5750806020015160400151816000015160400151105b806112355750806020015160400151816000015160400151145b6112515760405162461bcd60e51b81526004016104f890612aa4565b6060806110006001600160a01b0316633b071dcc6040518163ffffffff1660e01b815260040160006040518083038186803b15801561128f57600080fd5b505afa1580156112a3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112cb9190810190612690565b60408501519193509150600090815b8351811015611328576113008482815181106112f257fe5b602002602001015183611b70565b156113205784818151811061131157fe5b60200260200101519250611328565b6001016112da565b506001600160a01b03821661134f5760405162461bcd60e51b81526004016104f890612ba6565b61136185600001518660400151611bd4565b801561137a575061137a85602001518660400151611bd4565b6113965760405162461bcd60e51b81526004016104f890612b10565b6006546040516309a99b4f60e41b815260646110028031909302049190639a99b4f0906113c9903390859060040161299d565b602060405180830381600087803b1580156113e357600080fd5b505af11580156113f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141b91906128a7565b506040516335409f7f60e01b8152611000906335409f7f90611441908690600401612989565b600060405180830381600087803b15801561145b57600080fd5b505af115801561146f573d6000803e3d6000fd5b505050506120006001600160a01b031663f7a251d7600b61148f866119be565b60006040518463ffffffff1660e01b81526004016114af93929190613077565b600060405180830381600087803b1580156114c957600080fd5b505af11580156114dd573d6000803e3d6000fd5b50506040516001600160a01b03861692507fddb6012116e51abf5436d956a4f0ebd927e92c576ff96d7918290c8782291e3e9150600090a2505050505050565b601481565b61100381565b60005460ff161561154b5760405162461bcd60e51b81526004016104f890612dcc565b603260045560966005556000805460ff19166001179055565b61100081565b600381565b33611000146115905760405162461bcd60e51b81526004016104f890612c93565b60005460ff166115b25760405162461bcd60e51b81526004016104f890612a6d565b6001546115be576119b6565b600154600090600019015b80821161198a576000805b828410156116ed576115e4612454565b60026000600187815481106115f557fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff1615159082015260055490915060049004816020015111156116d75760046005548161166257fe5b0481602001510381602001818152505080600260006001888154811061168457fe5b6000918252602080832091909101546001600160a01b0316835282810193909352604091820190208351815591830151600183015591909101516002909101805460ff19169115159190911790556116e1565b60019250506116ed565b508360010193506115d4565b828411611884576116fc612454565b600260006001868154811061170d57fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff1615159082015260055490915060049004816020015111156117f55760046005548161177a57fe5b0481602001510381602001818152505080600260006001878154811061179c57fe5b6000918252602080832091909101546001600160a01b03168352828101939093526040918201902083518155918301516001808401919091559201516002909101805460ff191691151591909117905591506118849050565b600260006001868154811061180657fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff1916905580548061184a57fe5b600082815260209020810160001990810180546001600160a01b0319169055019055836118775750611884565b50600019909201916116ed565b81801561188e5750805b1561196d5760026000600186815481106118a457fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff191690558054849081106118eb57fe5b600091825260209091200154600180546001600160a01b03909216918690811061191157fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600180548061194a57fe5b600082815260209020810160001990810180546001600160a01b03191690550190555b8261197957505061198a565b5050600190910190600019016115c9565b6040517fcfdb3b6ccaeccbdc68be3c59c840e3b3c90f0a7c491f5fff1cf56cfda200dd9c90600090a150505b565b61100481565b60408051600480825260a08201909252606091829190816020015b60608152602001906001900390816119d9579050509050611a02836001600160a01b0316611dac565b81600081518110611a0f57fe5b6020026020010181905250611a2343611dcf565b81600181518110611a3057fe5b6020908102919091010152611a466102ca611dcf565b81600281518110611a5357fe5b6020026020010181905250611a6742611dcf565b81600381518110611a7457fe5b6020026020010181905250611a8881611de2565b9150505b919050565b611a99612477565b6000611aa3612477565b611aab612489565b611abc611ab786611e6c565b611e91565b90506000805b611acb83611edb565b15611b045780611af757611ae6611ae184611efc565b611f4a565b63ffffffff16845260019150611afc565b611b04565b600101611ac2565b5091935090915050915091565b600081604051602001611b24919061296d565b6040516020818303038152906040528051906020012083604051602001611b4b919061296d565b604051602081830303815290604052805190602001201490505b92915050565b015190565b815181516000916001918114808314611b8c5760009250611bca565b600160208701838101602088015b600284838510011415611bc5578051835114611bb95760009650600093505b60209283019201611b9a565b505050505b5090949350505050565b60408051600480825260a0820190925260009160609190816020015b6060815260200190600190039081611bf0575050604080516020808252818301909252919250606091908082018180368337019050509050611c358560000151611dcf565b82600081518110611c4257fe5b6020026020010181905250611c5d6020866020015183611fcc565b611c6681611fdc565b82600181518110611c7357fe5b6020026020010181905250611c8b8560400151611dcf565b82600281518110611c9857fe5b6020026020010181905250611cb36020866060015183611fcc565b611cbc81611fdc565b82600381518110611cc957fe5b6020026020010181905250611cef6020611ce284611de2565b8051906020012083611fcc565b6040805160b080825260e08201909252606091602082018180368337019050509050611d1f818360006020612032565b611d3181876080015160206060612032565b611d3f818660806030612032565b604080516001808252818301909252606091602082018180368337019050509050815160016020830182602086016066600019fa611d7c57600080fd5b506001611d8a826000612085565b60ff1614611d9f576000945050505050611b65565b5060019695505050505050565b60408051600560a21b8318601482015260348101909152606090611a8881611fdc565b6060611b65611ddd836120a1565b611fdc565b6060815160001415611e035750604080516000815260208101909152611a8c565b606082600081518110611e1257fe5b602002602001015190506000600190505b8351811015611e5357611e4982858381518110611e3c57fe5b6020026020010151612187565b9150600101611e23565b50611a88611e66825160c060ff16612204565b82612187565b611e746124a9565b506040805180820190915281518152602082810190820152919050565b611e99612489565b611ea2826122d6565b611eab57600080fd5b6000611eba8360200151612310565b60208085015160408051808201909152868152920190820152915050919050565b6000611ee56124a9565b505080518051602091820151919092015191011190565b611f046124a9565b611f0d82611edb565b611f1657600080fd5b60208201516000611f2682612373565b80830160209586015260408051808201909152908152938401919091525090919050565b805160009015801590611f5f57508151602110155b611f6857600080fd5b6000611f778360200151612310565b90508083600001511015611f9d5760405162461bcd60e51b81526004016104f890612e03565b825160208085015183018051928490039291831015611fc357826020036101000a820491505b50949350505050565b9091018181526020918201910152565b60608151600114801561200e5750607f60f81b82600081518110611ffc57fe5b01602001516001600160f81b03191611155b1561201a575080611a8c565b611b6561202c8351608060ff16612204565b83612187565b60005b818110156106ae5783818151811061204957fe5b602001015160f81c60f81b85848060010195508151811061206657fe5b60200101906001600160f81b031916908160001a905350600101612035565b6000816001018351101561209857600080fd5b50016001015190565b604080516020808252818301909252606091829190602082018180368337505050602081018490529050600067ffffffffffffffff1984166120e557506018612109565b6fffffffffffffffffffffffffffffffff19841661210557506010612109565b5060005b602081101561213f5781818151811061211e57fe5b01602001516001600160f81b031916156121375761213f565b600101612109565b60008160200390506060816040519080825280601f01601f191660200182016040528015612174576020820181803683370190505b5080830196909652508452509192915050565b6060806040519050835180825260208201818101602087015b818310156121b85780518352602092830192016121a0565b50855184518101855292509050808201602086015b818310156121e55780518352602092830192016121cd565b508651929092011591909101601f01601f191660405250905092915050565b606068010000000000000000831061222e5760405162461bcd60e51b81526004016104f890612b47565b604080516001808252818301909252606091602082018180368337019050509050603784116122885782840160f81b8160008151811061226a57fe5b60200101906001600160f81b031916908160001a9053509050611b65565b6060612293856120a1565b90508381510160370160f81b826000815181106122ac57fe5b60200101906001600160f81b031916908160001a9053506122cd8282612187565b95945050505050565b80516000906122e757506000611a8c565b6020820151805160001a9060c082101561230657600092505050611a8c565b5060019392505050565b8051600090811a608081101561232a576000915050611a8c565b60b8811080612345575060c08110801590612345575060f881105b15612354576001915050611a8c565b60c08110156123685760b519019050611a8c565b60f519019050611a8c565b80516000908190811a608081101561238e576001915061244d565b60b88110156123a357607e198101915061244d565b60c08110156123f457600060b78203600186019550806020036101000a8651049150600181018201935050808310156123ee5760405162461bcd60e51b81526004016104f890612ce3565b5061244d565b60f88110156124095760be198101915061244d565b600060f78203600186019550806020036101000a86510491506001810182019350508083101561244b5760405162461bcd60e51b81526004016104f890612ce3565b505b5092915050565b604051806060016040528060008152602001600081526020016000151581525090565b60408051602081019091526000815290565b604051806040016040528061249c6124a9565b8152602001600081525090565b604051806040016040528060008152602001600081525090565b600082601f8301126124d3578081fd5b81516124e66124e1826130ca565b6130a3565b818152915060208083019084810160005b8481101561255c578151870188603f82011261251257600080fd5b838101516125226124e1826130ea565b81815260408b8184860101111561253857600080fd5b6125478388840183870161310e565b508652505092820192908201906001016124f7565b505050505092915050565b60008083601f840112612578578182fd5b50813567ffffffffffffffff81111561258f578182fd5b6020830191508360208285010111156125a757600080fd5b9250929050565b600082601f8301126125be578081fd5b81356125cc6124e1826130ea565b91508082528360208285010111156125e357600080fd5b8060208401602084013760009082016020015292915050565b600060a0828403121561260d578081fd5b61261760a06130a3565b905081358152602082013560208201526040820135604082015260608201356060820152608082013567ffffffffffffffff81111561265557600080fd5b612661848285016125ae565b60808301525092915050565b60006020828403121561267e578081fd5b81356126898161313e565b9392505050565b600080604083850312156126a2578081fd5b825167ffffffffffffffff808211156126b9578283fd5b81850186601f8201126126ca578384fd5b805192506126da6124e1846130ca565b80848252602080830192508084018a8283890287010111156126fa578788fd5b8794505b868510156127255780516127118161313e565b8452600194909401939281019281016126fe565b50880151909650935050508082111561273c578283fd5b50612749858286016124c3565b9150509250929050565b600060208284031215612764578081fd5b81518015158114612689578182fd5b60008060008060408587031215612788578182fd5b843567ffffffffffffffff8082111561279f578384fd5b6127ab88838901612567565b909650945060208701359150808211156127c3578384fd5b506127d087828801612567565b95989497509550505050565b6000602082840312156127ed578081fd5b813567ffffffffffffffff80821115612804578283fd5b81840160608187031215612816578384fd5b61282060606130a3565b9250803582811115612830578485fd5b61283c878284016125fc565b845250602081013582811115612850578485fd5b61285c878284016125fc565b602085015250604081013582811115612873578485fd5b61287f878284016125ae565b6040850152509195945050505050565b6000602082840312156128a0578081fd5b5035919050565b6000602082840312156128b8578081fd5b5051919050565b6000806000604084860312156128d3578283fd5b833560ff811681146128e3578384fd5b9250602084013567ffffffffffffffff8111156128fe578283fd5b61290a86828701612567565b9497909650939450505050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b6000815180845261295981602086016020860161310e565b601f01601f19169290920160200192915050565b6000825161297f81846020870161310e565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6000602082526126896020830184612941565b6000604082526129e8604083018688612917565b82810360208401526129fb818587612917565b979650505050505050565b6020808252601f908201527f746865206d73672073656e646572206973206e6f7420612072656c6179657200604082015260600190565b6020808252601690820152751d1bdbc81bdb1908189b1bd8dac81a5b9d9bdb1d995960521b604082015260600190565b60208082526019908201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604082015260600190565b6020808252601a908201527f6e6f2076696f6c6174696f6e206f6620766f74652072756c6573000000000000604082015260600190565b6020808252818101527f7468652066656c6f6e795468726573686f6c64206f7574206f662072616e6765604082015260600190565b60208082526017908201527f766572696679207369676e6174757265206661696c6564000000000000000000604082015260600190565b6020808252600e908201526d696e70757420746f6f206c6f6e6760901b604082015260600190565b60208082526019908201527f7372634e756d20626967676572207468616e207461724e756d00000000000000604082015260600190565b6020808252601390820152721d985b1a59185d1bdc881b9bdd08195e1a5cdd606a1b604082015260600190565b6020808252602c908201527f7468652066696e616c69747920736c6173682072657761726420726174696f2060408201526b6f7574206f662072616e676560a01b606082015260800190565b60208082526027908201527f6c656e677468206f66206d697364656d65616e6f725468726573686f6c64206d6040820152660d2e6dac2e8c6d60cb1b606082015260800190565b60208082526013908201527274776f206964656e746963616c20766f74657360681b604082015260600190565b60208082526030908201527f746865206d6573736167652073656e646572206d7573742062652076616c696460408201526f185d1bdc94d95d0818dbdb9d1c9858dd60821b606082015260800190565b6020808252601190820152706164646974696f6e206f766572666c6f7760781b604082015260600190565b6020808252601490820152736761737072696365206973206e6f74207a65726f60601b604082015260600190565b6020808252602e908201527f746865206d6573736167652073656e646572206d75737420626520676f76657260408201526d1b985b98d94818dbdb9d1c9858dd60921b606082015260800190565b60208082526022908201527f6c656e677468206f662066656c6f6e795468726573686f6c64206d69736d61746040820152610c6d60f31b606082015260800190565b60208082526019908201527f74686520636f6e747261637420616c726561647920696e697400000000000000604082015260600190565b6020808252601a908201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604082015260600190565b60208082526025908201527f746865206d697364656d65616e6f725468726573686f6c64206f7574206f662060408201526472616e676560d81b606082015260800190565b6020808252602f908201527f746865206d6573736167652073656e646572206d7573742062652063726f737360408201526e0818da185a5b8818dbdb9d1c9858dd608a1b606082015260800190565b6020808252602d908201527f746865206d6573736167652073656e646572206d75737420626520746865206260408201526c3637b1b590383937b23ab1b2b960991b606082015260800190565b6020808252600d908201526c756e6b6e6f776e20706172616d60981b604082015260600190565b6020808252601e908201527f7265636569766520756e65787065637465642073796e207061636b6167650000604082015260600190565b6020808252602b908201527f6c656e677468206f662066696e616c697479536c61736852657761726452617460408201526a0d2de40dad2e6dac2e8c6d60ab1b606082015260800190565b6020808252818101527f63616e206e6f7420736c61736820747769636520696e206f6e6520626c6f636b604082015260600190565b61ffff91909116815260200190565b90815260200190565b60008382526040602083015261302a6040830184612941565b949350505050565b918252602082015260400190565b92835260208301919091521515604082015260600190565b63ffffffff91909116815260200190565b60ff91909116815260200190565b600060ff85168252606060208301526130936060830185612941565b9050826040830152949350505050565b60405181810167ffffffffffffffff811182821017156130c257600080fd5b604052919050565b600067ffffffffffffffff8211156130e0578081fd5b5060209081020190565b600067ffffffffffffffff821115613100578081fd5b50601f01601f191660200190565b60005b83811015613129578181015183820152602001613111565b83811115613138576000848401525b50505050565b6001600160a01b038116811461315357600080fd5b5056fea264697066735822122062d6936d7751cb36a7753c3187f769a6c7d5ce515f68149fca01eefaf8f04af564736f6c63430006040033", + CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/b144718e94d7a1ebb24a7103202300f08826f369", + Code: "608060405234801561001057600080fd5b506004361061027f5760003560e01c80637942fd051161015c578063c80d4b8f116100ce578063dc927faf11610087578063dc927faf146104ad578063e1c7392a146104b5578063f9a2bbc7146104bd578063fc3e5908146104c5578063fc4333cd146104cd578063fd6a6879146104d55761027f565b8063c80d4b8f1461045c578063c81b166214610464578063c8509d811461046c578063c96be4cb1461047f578063cc844b7314610492578063d2a42e4b146104a55761027f565b80639dc09262116101205780639dc0926214610421578063a1a11bf514610429578063a78abc1614610431578063ab51bb9614610439578063ac0af62914610441578063ac431751146104495761027f565b80637942fd05146103ee5780638256ace6146103f6578063831d65d1146103fe57806396713da9146104115780639bc8e4f2146104195761027f565b8063493279b1116101f557806362b72cf5116101b957806362b72cf5146103be5780636e47b482146103c657806370fd5bad146103ce578063718a8aa8146103d657806375d47a0a146103de5780637912a65d146103e65761027f565b8063493279b11461037c5780634bf6c8821461039157806351e8067214610399578063567a372d146103a15780635bfb4990146103a95761027f565b806335aa2e441161024757806335aa2e441461030e57806337c8dab914610321578063389f4f71146103425780633a63f4b1146103575780633dffc3871461035f57806343756e5c146103745761027f565b80630bee7a67146102845780630e2374a5146102a25780631182b875146102b757806322d1e80b146102d757806323bac5a2146102ec575b600080fd5b61028c6104dd565b60405161029991906132a6565b60405180910390f35b6102aa6104e2565b6040516102999190612b84565b6102ca6102c5366004612aba565b6104e8565b6040516102999190612bbc565b6102df61054e565b6040516102999190612bb1565b6102ff6102fa366004612868565b610557565b6040516102999392919061328e565b6102aa61031c366004612a8a565b61057a565b61033461032f366004612868565b6105a1565b604051610299929190613280565b61034a6105f8565b6040516102999190613256565b61034a6105fe565b610367610604565b60405161029991906132b7565b6102aa610609565b61038461060f565b6040516102999190613247565b610367610615565b6102aa61061a565b61034a610620565b6103bc6103b7366004612868565b610626565b005b61034a6106d1565b6102aa6106d7565b6103676106dd565b6103676106e2565b6102aa6106e7565b61034a6106ed565b6103676106f2565b6103346106f7565b6103bc61040c366004612aba565b610701565b610367610813565b61034a610818565b6102aa610823565b6102aa610829565b6102df61082f565b61028c610838565b61034a61083d565b6103bc61045736600461296e565b610842565b61034a610ce1565b6102aa610ce6565b6103bc61047a366004612aba565b610cec565b6103bc61048d366004612868565b610d5d565b6103bc6104a03660046129d7565b61114e565b61034a61169b565b6102aa6116a0565b6103bc6116a6565b6102aa6116e2565b6103676116e8565b6103bc6116ed565b6102aa611b36565b606481565b61200181565b606033612000146105145760405162461bcd60e51b815260040161050b906130cd565b60405180910390fd5b60005460ff166105365760405162461bcd60e51b815260040161050b90612c9d565b60405162461bcd60e51b815260040161050b90613190565b60075460ff1681565b600260208190526000918252604090912080546001820154919092015460ff1683565b6001818154811061058757fe5b6000918252602090912001546001600160a01b0316905081565b6000806105ac61264f565b5050506001600160a01b0316600090815260026020818152604092839020835160608101855281548082526001830154938201849052919093015460ff16151592909301919091529091565b60055481565b60065481565b600181565b61100181565b6102ca81565b600881565b61200081565b60045481565b33611000146106475760405162461bcd60e51b815260040161050b90612ee1565b60005460ff166106695760405162461bcd60e51b815260040161050b90612c9d565b61200063f7a251d7600b61067c84611b3c565b60006040518463ffffffff1660e01b815260040161069c939291906132c5565b600060405180830381600087803b1580156106b657600080fd5b505af11580156106ca573d6000803e3d6000fd5b5050505050565b60035481565b61100581565b600281565b601081565b61100881565b603281565b600b81565b6004546005549091565b33612000146107225760405162461bcd60e51b815260040161050b906130cd565b60005460ff166107445760405162461bcd60e51b815260040161050b90612c9d565b61074c612672565b600061078d84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611c0f92505050565b9150915080156107d45781516040517f7f0956d47419b9525356e7111652b653b530ec6f5096dccc04589bc38e629967916107c7916132a6565b60405180910390a16106ca565b81516040517f7d45f62d17443dd4547bca8a8112c60e2385669318dc300ec61a5d2492f262e791610804916132a6565b60405180910390a15050505050565b600981565b662386f26fc1000081565b61100781565b61100681565b60005460ff1681565b600081565b600481565b60005460ff166108645760405162461bcd60e51b815260040161050b90612c9d565b33611007146108855760405162461bcd60e51b815260040161050b90612f8a565b6108f084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260148152731b5a5cd9195b59585b9bdc951a1c995cda1bdb1960621b60208201529150611c8f9050565b1561098b57602081146109155760405162461bcd60e51b815260040161050b90612e6d565b604080516020601f840181900481028201810190925282815260009161095391858580838501838280828437600092019190915250611ce992505050565b905060018110158015610967575060055481105b6109835760405162461bcd60e51b815260040161050b90613088565b600455610c9e565b6109f184848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600f81526e19995b1bdb9e551a1c995cda1bdb19608a1b60208201529150611c8f9050565b15610a8d5760208114610a165760405162461bcd60e51b815260040161050b90612fd8565b604080516020601f8401819004810282018101909252828152600091610a5491858580838501838280828437600092019190915250611ce992505050565b90506103e88111158015610a69575060045481115b610a855760405162461bcd60e51b815260040161050b90612d0b565b600555610c9e565b610b0184848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601881527f66696e616c697479536c617368526577617264526174696f000000000000000060208201529150611c8f9050565b15610b9b5760208114610b265760405162461bcd60e51b815260040161050b906131c7565b604080516020601f8401819004810282018101909252828152600091610b6491858580838501838280828437600092019190915250611ce992505050565b9050600a8110158015610b775750606481105b610b935760405162461bcd60e51b815260040161050b90612e21565b600655610c9e565b610c0f84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601881527f656e61626c654d616c6963696f7573566f7465536c617368000000000000000060208201529150611c8f9050565b15610c865760208114610c345760405162461bcd60e51b815260040161050b90612d40565b604080516020601f8401819004810282018101909252828152610c709190848480838501838280828437600092019190915250611cee92505050565b6007805460ff1916911515919091179055610c9e565b60405162461bcd60e51b815260040161050b90613169565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a84848484604051610cd39493929190612bcf565b60405180910390a150505050565b609681565b61100281565b3361200014610d0d5760405162461bcd60e51b815260040161050b906130cd565b60005460ff16610d2f5760405162461bcd60e51b815260040161050b90612c9d565b6040517f07db600eebe2ac176be8dcebad61858c245a4961bb32ca2aa3d159b09aa0810e90600090a1505050565b334114610d7c5760405162461bcd60e51b815260040161050b9061311c565b60005460ff16610d9e5760405162461bcd60e51b815260040161050b90612c9d565b6003544311610dbf5760405162461bcd60e51b815260040161050b90613212565b3a15610ddd5760405162461bcd60e51b815260040161050b90612f5c565b60405163155853f360e21b8152611000906355614fcc90610e02908490600401612b84565b60206040518083038186803b158015610e1a57600080fd5b505afa158015610e2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e52919061294e565b610e5b57611147565b610e6361264f565b506001600160a01b0381166000908152600260208181526040928390208351606081018552815481526001820154928101929092529091015460ff161580159282019290925290610ebe576020810180516001019052610f17565b60016040820181905260208201819052805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0384161790555b438152600554602082015181610f2957fe5b0661107557600060208201526040516335409f7f60e01b8152611000906335409f7f90610f5a908590600401612b84565b600060405180830381600087803b158015610f7457600080fd5b505af1158015610f88573d6000803e3d6000fd5b505050506120006001600160a01b031663f7a251d7600b610fa885611b3c565b60006040518463ffffffff1660e01b8152600401610fc8939291906132c5565b600060405180830381600087803b158015610fe257600080fd5b505af1925050508015610ff3575060015b611070573d808015611021576040519150601f19603f3d011682016040523d82523d6000602084013e611026565b606091505b50826001600160a01b03167fd7bc86ff5d08c8ab043edec743302aba2520e6635172a428bc956721db9e2d1c83602001518360405161106692919061325f565b60405180910390a2505b6110e1565b60045481602001518161108457fe5b066110e1576040516375abf10160e11b81526110009063eb57e202906110ae908590600401612b84565b600060405180830381600087803b1580156110c857600080fd5b505af11580156110dc573d6000803e3d6000fd5b505050505b6001600160a01b0382166000818152600260208181526040808420865181559186015160018301558581015191909201805460ff1916911515919091179055517fddb6012116e51abf5436d956a4f0ebd927e92c576ff96d7918290c8782291e3e9190a2505b5043600355565b60005460ff166111705760405162461bcd60e51b815260040161050b90612c9d565b604051630a83aaa960e31b81526110069063541d554890611195903390600401612b84565b60206040518083038186803b1580156111ad57600080fd5b505afa1580156111c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e5919061294e565b6112015760405162461bcd60e51b815260040161050b90612c01565b60075460ff166112235760405162461bcd60e51b815260040161050b90612c68565b6006546112305760146006555b8051514361010090910111801561125257504381602001516000015161010001115b61126e5760405162461bcd60e51b815260040161050b90612c38565b80602001516020015181600001516020015114801561129c5750806020015160600151816000015160600151145b156112b95760405162461bcd60e51b815260040161050b90612eb4565b8051604081015190511080156112d85750602081015160408101519051105b6112f45760405162461bcd60e51b815260040161050b90612dea565b6020810151518151511080156113195750806000015160400151816020015160400151105b8061134457508051516020820151511080156113445750806020015160400151816000015160400151105b8061135e5750806020015160400151816000015160400151145b61137a5760405162461bcd60e51b815260040161050b90612cd4565b61138c81600001518260400151611d16565b80156113a557506113a581602001518260400151611d16565b6113c15760405162461bcd60e51b815260040161050b90612d8b565b6060806110006001600160a01b0316633b071dcc6040518163ffffffff1660e01b815260040160006040518083038186803b1580156113ff57600080fd5b505afa158015611413573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261143b919081019061288b565b9150915060005b81518110156115785761146c82828151811061145a57fe5b60200260200101518560400151611eee565b15611570576006546040516309a99b4f60e41b815260646110028031909302049190639a99b4f0906114a49033908590600401612b98565b602060405180830381600087803b1580156114be57600080fd5b505af11580156114d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f69190612aa2565b506110006001600160a01b03166335409f7f85848151811061151457fe5b60200260200101516040518263ffffffff1660e01b81526004016115389190612b84565b600060405180830381600087803b15801561155257600080fd5b505af1158015611566573d6000803e3d6000fd5b5050505050611578565b600101611442565b50600061158a84604001516000611f52565b90506120006001600160a01b031663f7a251d7600b6115ac8760400151611f6e565b60006040518463ffffffff1660e01b81526004016115cc939291906132c5565b600060405180830381600087803b1580156115e657600080fd5b505af19250505080156115f7575060015b611669573d808015611625576040519150601f19603f3d011682016040523d82523d6000602084013e61162a565b606091505b50817fd58d1183100bd0932c0588f31c4205d6bc6168909765a96c41adbed3115f36288260405161165b9190612bbc565b60405180910390a250611695565b60405181907f7b78aadacff901d8b63d0dba4f86283d4db8aef27f9ed70413dd860f1c9532b690600090a25b50505050565b601481565b61100381565b60005460ff16156116c95760405162461bcd60e51b815260040161050b9061301a565b603260045560966005556000805460ff19166001179055565b61100081565b600381565b336110001461170e5760405162461bcd60e51b815260040161050b90612ee1565b60005460ff166117305760405162461bcd60e51b815260040161050b90612c9d565b60015461173c57611b34565b600154600090600019015b808211611b08576000805b8284101561186b5761176261264f565b600260006001878154811061177357fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff161515908201526005549091506004900481602001511115611855576004600554816117e057fe5b0481602001510381602001818152505080600260006001888154811061180257fe5b6000918252602080832091909101546001600160a01b0316835282810193909352604091820190208351815591830151600183015591909101516002909101805460ff191691151591909117905561185f565b600192505061186b565b50836001019350611752565b828411611a025761187a61264f565b600260006001868154811061188b57fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff161515908201526005549091506004900481602001511115611973576004600554816118f857fe5b0481602001510381602001818152505080600260006001878154811061191a57fe5b6000918252602080832091909101546001600160a01b03168352828101939093526040918201902083518155918301516001808401919091559201516002909101805460ff19169115159190911790559150611a029050565b600260006001868154811061198457fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff191690558054806119c857fe5b600082815260209020810160001990810180546001600160a01b0319169055019055836119f55750611a02565b506000199092019161186b565b818015611a0c5750805b15611aeb576002600060018681548110611a2257fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff19169055805484908110611a6957fe5b600091825260209091200154600180546001600160a01b039092169186908110611a8f57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001805480611ac857fe5b600082815260209020810160001990810180546001600160a01b03191690550190555b82611af7575050611b08565b505060019091019060001901611747565b6040517fcfdb3b6ccaeccbdc68be3c59c840e3b3c90f0a7c491f5fff1cf56cfda200dd9c90600090a150505b565b61100481565b60408051600480825260a08201909252606091829190816020015b6060815260200190600190039081611b57579050509050611b80836001600160a01b0316611fa9565b81600081518110611b8d57fe5b6020026020010181905250611ba143611fcc565b81600181518110611bae57fe5b6020908102919091010152611bc46102ca611fcc565b81600281518110611bd157fe5b6020026020010181905250611be542611fcc565b81600381518110611bf257fe5b6020026020010181905250611c0681611fdf565b9150505b919050565b611c17612672565b6000611c21612672565b611c29612684565b611c3a611c3586612069565b61208e565b90506000805b611c49836120d8565b15611c825780611c7557611c64611c5f846120f9565b612147565b63ffffffff16845260019150611c7a565b611c82565b600101611c40565b5091935090915050915091565b600081604051602001611ca29190612b68565b6040516020818303038152906040528051906020012083604051602001611cc99190612b68565b604051602081830303815290604052805190602001201490505b92915050565b015190565b8082015160009060ff811615611d08576001915081611d0e565b60009150815b505092915050565b60408051600480825260a0820190925260009160609190816020015b6060815260200190600190039081611d32575050604080516020808252818301909252919250606091908082018180368337019050509050611d778560000151611fcc565b82600081518110611d8457fe5b6020026020010181905250611d9f60208660200151836121c9565b611da8816121d9565b82600181518110611db557fe5b6020026020010181905250611dcd8560400151611fcc565b82600281518110611dda57fe5b6020026020010181905250611df560208660600151836121c9565b611dfe816121d9565b82600381518110611e0b57fe5b6020026020010181905250611e316020611e2484611fdf565b80519060200120836121c9565b6040805160b080825260e08201909252606091602082018180368337019050509050611e6181836000602061222f565b611e738187608001516020606061222f565b611e8181866080603061222f565b604080516001808252818301909252606091602082018180368337019050509050815160016020830182602086016066600019fa611ebe57600080fd5b506001611ecc826000612282565b60ff1614611ee1576000945050505050611ce3565b5060019695505050505050565b815181516000916001918114808314611f0a5760009250611f48565b600160208701838101602088015b600284838510011415611f43578051835114611f375760009650600093505b60209283019201611f18565b505050505b5090949350505050565b60008160200183511015611f6557600080fd5b50016020015190565b60408051600480825260a08201909252606091829190816020015b6060815260200190600190039081611f89579050509050611b80836121d9565b60408051600560a21b8318601482015260348101909152606090611c06816121d9565b6060611ce3611fda8361229e565b6121d9565b60608151600014156120005750604080516000815260208101909152611c0a565b60608260008151811061200f57fe5b602002602001015190506000600190505b8351811015612050576120468285838151811061203957fe5b6020026020010151612384565b9150600101612020565b50611c06612063825160c060ff16612401565b82612384565b6120716126a4565b506040805180820190915281518152602082810190820152919050565b612096612684565b61209f826124d3565b6120a857600080fd5b60006120b7836020015161250d565b60208085015160408051808201909152868152920190820152915050919050565b60006120e26126a4565b505080518051602091820151919092015191011190565b6121016126a4565b61210a826120d8565b61211357600080fd5b6020820151600061212382612570565b80830160209586015260408051808201909152908152938401919091525090919050565b80516000901580159061215c57508151602110155b61216557600080fd5b6000612174836020015161250d565b9050808360000151101561219a5760405162461bcd60e51b815260040161050b90613051565b8251602080850151830180519284900392918310156121c057826020036101000a820491505b50949350505050565b9091018181526020918201910152565b60608151600114801561220b5750607f60f81b826000815181106121f957fe5b01602001516001600160f81b03191611155b15612217575080611c0a565b611ce36122298351608060ff16612401565b83612384565b60005b818110156106ca5783818151811061224657fe5b602001015160f81c60f81b85848060010195508151811061226357fe5b60200101906001600160f81b031916908160001a905350600101612232565b6000816001018351101561229557600080fd5b50016001015190565b604080516020808252818301909252606091829190602082018180368337505050602081018490529050600067ffffffffffffffff1984166122e257506018612306565b6fffffffffffffffffffffffffffffffff19841661230257506010612306565b5060005b602081101561233c5781818151811061231b57fe5b01602001516001600160f81b031916156123345761233c565b600101612306565b60008160200390506060816040519080825280601f01601f191660200182016040528015612371576020820181803683370190505b5080830196909652508452509192915050565b6060806040519050835180825260208201818101602087015b818310156123b557805183526020928301920161239d565b50855184518101855292509050808201602086015b818310156123e25780518352602092830192016123ca565b508651929092011591909101601f01601f191660405250905092915050565b606068010000000000000000831061242b5760405162461bcd60e51b815260040161050b90612dc2565b604080516001808252818301909252606091602082018180368337019050509050603784116124855782840160f81b8160008151811061246757fe5b60200101906001600160f81b031916908160001a9053509050611ce3565b60606124908561229e565b90508381510160370160f81b826000815181106124a957fe5b60200101906001600160f81b031916908160001a9053506124ca8282612384565b95945050505050565b80516000906124e457506000611c0a565b6020820151805160001a9060c082101561250357600092505050611c0a565b5060019392505050565b8051600090811a6080811015612527576000915050611c0a565b60b8811080612542575060c08110801590612542575060f881105b15612551576001915050611c0a565b60c08110156125655760b519019050611c0a565b60f519019050611c0a565b80516000908190811a608081101561258b5760019150612648565b60b88110156125a057607e1981019150612648565b60c08110156125f157600060b78203600186019550806020036101000a8651049150600181018201935050808310156125eb5760405162461bcd60e51b815260040161050b90612f31565b50612648565b60f88110156126065760be1981019150612648565b600060f78203600186019550806020036101000a865104915060018101820193505080831015611d0e5760405162461bcd60e51b815260040161050b90612f31565b5092915050565b604051806060016040528060008152602001600081526020016000151581525090565b60408051602081019091526000815290565b60405180604001604052806126976126a4565b8152602001600081525090565b604051806040016040528060008152602001600081525090565b600082601f8301126126ce578081fd5b81516126e16126dc82613318565b6132f1565b818152915060208083019084810160005b84811015612757578151870188603f82011261270d57600080fd5b8381015161271d6126dc82613338565b81815260408b8184860101111561273357600080fd5b6127428388840183870161335c565b508652505092820192908201906001016126f2565b505050505092915050565b60008083601f840112612773578182fd5b50813567ffffffffffffffff81111561278a578182fd5b6020830191508360208285010111156127a257600080fd5b9250929050565b600082601f8301126127b9578081fd5b81356127c76126dc82613338565b91508082528360208285010111156127de57600080fd5b8060208401602084013760009082016020015292915050565b600060a08284031215612808578081fd5b61281260a06132f1565b905081358152602082013560208201526040820135604082015260608201356060820152608082013567ffffffffffffffff81111561285057600080fd5b61285c848285016127a9565b60808301525092915050565b600060208284031215612879578081fd5b813561288481613388565b9392505050565b6000806040838503121561289d578081fd5b825167ffffffffffffffff808211156128b4578283fd5b81850186601f8201126128c5578384fd5b805192506128d56126dc84613318565b80848252602080830192508084018a8283890287010111156128f5578788fd5b8794505b8685101561292057805161290c81613388565b8452600194909401939281019281016128f9565b508801519096509350505080821115612937578283fd5b50612944858286016126be565b9150509250929050565b60006020828403121561295f578081fd5b81518015158114612884578182fd5b60008060008060408587031215612983578182fd5b843567ffffffffffffffff8082111561299a578384fd5b6129a688838901612762565b909650945060208701359150808211156129be578384fd5b506129cb87828801612762565b95989497509550505050565b6000602082840312156129e8578081fd5b813567ffffffffffffffff808211156129ff578283fd5b81840160608187031215612a11578384fd5b612a1b60606132f1565b9250803582811115612a2b578485fd5b612a37878284016127f7565b845250602081013582811115612a4b578485fd5b612a57878284016127f7565b602085015250604081013582811115612a6e578485fd5b612a7a878284016127a9565b6040850152509195945050505050565b600060208284031215612a9b578081fd5b5035919050565b600060208284031215612ab3578081fd5b5051919050565b600080600060408486031215612ace578283fd5b833560ff81168114612ade578384fd5b9250602084013567ffffffffffffffff811115612af9578283fd5b612b0586828701612762565b9497909650939450505050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452612b5481602086016020860161335c565b601f01601f19169290920160200192915050565b60008251612b7a81846020870161335c565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6000602082526128846020830184612b3c565b600060408252612be3604083018688612b12565b8281036020840152612bf6818587612b12565b979650505050505050565b6020808252601f908201527f746865206d73672073656e646572206973206e6f7420612072656c6179657200604082015260600190565b6020808252601690820152751d1bdbc81bdb1908189b1bd8dac81a5b9d9bdb1d995960521b604082015260600190565b6020808252818101527f6d616c6963696f757320766f746520736c617368206e6f7420656e61626c6564604082015260600190565b60208082526019908201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604082015260600190565b6020808252601a908201527f6e6f2076696f6c6174696f6e206f6620766f74652072756c6573000000000000604082015260600190565b6020808252818101527f7468652066656c6f6e795468726573686f6c64206f7574206f662072616e6765604082015260600190565b6020808252602b908201527f6c656e677468206f6620656e61626c654d616c6963696f7573566f7465536c6160408201526a0e6d040dad2e6dac2e8c6d60ab1b606082015260800190565b60208082526017908201527f766572696679207369676e6174757265206661696c6564000000000000000000604082015260600190565b6020808252600e908201526d696e70757420746f6f206c6f6e6760901b604082015260600190565b60208082526019908201527f7372634e756d20626967676572207468616e207461724e756d00000000000000604082015260600190565b6020808252602c908201527f7468652066696e616c69747920736c6173682072657761726420726174696f2060408201526b6f7574206f662072616e676560a01b606082015260800190565b60208082526027908201527f6c656e677468206f66206d697364656d65616e6f725468726573686f6c64206d6040820152660d2e6dac2e8c6d60cb1b606082015260800190565b60208082526013908201527274776f206964656e746963616c20766f74657360681b604082015260600190565b60208082526030908201527f746865206d6573736167652073656e646572206d7573742062652076616c696460408201526f185d1bdc94d95d0818dbdb9d1c9858dd60821b606082015260800190565b6020808252601190820152706164646974696f6e206f766572666c6f7760781b604082015260600190565b6020808252601490820152736761737072696365206973206e6f74207a65726f60601b604082015260600190565b6020808252602e908201527f746865206d6573736167652073656e646572206d75737420626520676f76657260408201526d1b985b98d94818dbdb9d1c9858dd60921b606082015260800190565b60208082526022908201527f6c656e677468206f662066656c6f6e795468726573686f6c64206d69736d61746040820152610c6d60f31b606082015260800190565b60208082526019908201527f74686520636f6e747261637420616c726561647920696e697400000000000000604082015260600190565b6020808252601a908201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604082015260600190565b60208082526025908201527f746865206d697364656d65616e6f725468726573686f6c64206f7574206f662060408201526472616e676560d81b606082015260800190565b6020808252602f908201527f746865206d6573736167652073656e646572206d7573742062652063726f737360408201526e0818da185a5b8818dbdb9d1c9858dd608a1b606082015260800190565b6020808252602d908201527f746865206d6573736167652073656e646572206d75737420626520746865206260408201526c3637b1b590383937b23ab1b2b960991b606082015260800190565b6020808252600d908201526c756e6b6e6f776e20706172616d60981b604082015260600190565b6020808252601e908201527f7265636569766520756e65787065637465642073796e207061636b6167650000604082015260600190565b6020808252602b908201527f6c656e677468206f662066696e616c697479536c61736852657761726452617460408201526a0d2de40dad2e6dac2e8c6d60ab1b606082015260800190565b6020808252818101527f63616e206e6f7420736c61736820747769636520696e206f6e6520626c6f636b604082015260600190565b61ffff91909116815260200190565b90815260200190565b6000838252604060208301526132786040830184612b3c565b949350505050565b918252602082015260400190565b92835260208301919091521515604082015260600190565b63ffffffff91909116815260200190565b60ff91909116815260200190565b600060ff85168252606060208301526132e16060830185612b3c565b9050826040830152949350505050565b60405181810167ffffffffffffffff8111828210171561331057600080fd5b604052919050565b600067ffffffffffffffff82111561332e578081fd5b5060209081020190565b600067ffffffffffffffff82111561334e578081fd5b50601f01601f191660200190565b60005b8381101561337757818101518382015260200161335f565b838111156116955750506000910152565b6001600160a01b038116811461339d57600080fd5b5056fea2646970667358221220425f90ada15339392881582f35a21b784186e12ed634c463af0e608e49de659064736f6c63430006040033", }, { ContractAddr: common.HexToAddress(SystemRewardContract), - CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/030cf951e9f5ae1f8211333af807e5d30f3b5a85", + CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/b144718e94d7a1ebb24a7103202300f08826f369", Code: "6080604052600436106101a05760003560e01c80637942fd05116100ec578063ac4317511161008a578063f9a2bbc711610064578063f9a2bbc714610550578063fb5478b314610565578063fc3e59081461057a578063fd6a68791461058f576101e4565b8063ac43175114610457578063c81b166214610526578063dc927faf1461053b576101e4565b80639dc09262116100c65780639dc0926214610403578063a1a11bf514610418578063a78abc161461042d578063ab51bb9614610442576101e4565b80637942fd05146103a057806396713da9146103b55780639a99b4f0146103ca576101e4565b80634bf6c882116101595780636e47b482116101335780636e47b4821461034c57806370fd5bad14610361578063718a8aa81461037657806375d47a0a1461038b576101e4565b80634bf6c882146102db57806351e80672146102f05780636d70f7ae14610305576101e4565b80630bee7a67146101e95780630e2374a5146102175780633a0b0eff146102485780633dffc3871461026f57806343756e5c1461029a578063493279b1146102af576101e4565b366101e45734156101e25760408051348152905133917f6c98249d85d88c3753a04a22230f595e4dc8d3dc86c34af35deeeedc861b89db919081900360200190a25b005b600080fd5b3480156101f557600080fd5b506101fe6105a4565b6040805163ffffffff9092168252519081900360200190f35b34801561022357600080fd5b5061022c6105a9565b604080516001600160a01b039092168252519081900360200190f35b34801561025457600080fd5b5061025d6105af565b60408051918252519081900360200190f35b34801561027b57600080fd5b506102846105b5565b6040805160ff9092168252519081900360200190f35b3480156102a657600080fd5b5061022c6105ba565b3480156102bb57600080fd5b506102c46105c0565b6040805161ffff9092168252519081900360200190f35b3480156102e757600080fd5b506102846105c6565b3480156102fc57600080fd5b5061022c6105cb565b34801561031157600080fd5b506103386004803603602081101561032857600080fd5b50356001600160a01b03166105d1565b604080519115158252519081900360200190f35b34801561035857600080fd5b5061022c6105ef565b34801561036d57600080fd5b506102846105f5565b34801561038257600080fd5b506102846105fa565b34801561039757600080fd5b5061022c6105ff565b3480156103ac57600080fd5b50610284610605565b3480156103c157600080fd5b5061028461060a565b3480156103d657600080fd5b5061025d600480360360408110156103ed57600080fd5b506001600160a01b03813516906020013561060f565b34801561040f57600080fd5b5061022c6107ba565b34801561042457600080fd5b5061022c6107c0565b34801561043957600080fd5b506103386107c6565b34801561044e57600080fd5b506101fe6107cf565b34801561046357600080fd5b506101e26004803603604081101561047a57600080fd5b81019060208101813564010000000081111561049557600080fd5b8201836020820111156104a757600080fd5b803590602001918460018302840111640100000000831117156104c957600080fd5b9193909290916020810190356401000000008111156104e757600080fd5b8201836020820111156104f957600080fd5b8035906020019184600183028401116401000000008311171561051b57600080fd5b5090925090506107d4565b34801561053257600080fd5b5061022c610b57565b34801561054757600080fd5b5061022c610b5d565b34801561055c57600080fd5b5061022c610b63565b34801561057157600080fd5b5061025d610b69565b34801561058657600080fd5b50610284610b75565b34801561059b57600080fd5b5061022c610b7a565b606481565b61200181565b60015481565b600181565b61100181565b6102ca81565b600881565b61200081565b6001600160a01b031660009081526002602052604090205460ff1690565b61100581565b600281565b601081565b61100881565b600b81565b600981565b6000805460ff1661068c57600260208190527fe57bda0a954a7c7381b17b2c763e646ba2c60f67292d287ba583603e2c1c41668054600160ff19918216811790925561100560009081527fe25235fc0de9d7165652bef0846fefda506174abb9a190f03d0f7bcc6146dbce80548316841790559282558254161790555b3360009081526002602052604090205460ff166106da5760405162461bcd60e51b815260040180806020018281038252602b815260200180610c68602b913960400191505060405180910390fd5b60004783106106e957476106eb565b825b9050670de0b6b3a76400008111156107085750670de0b6b3a76400005b8015610789576040516001600160a01b0385169082156108fc029083906000818181858888f19350505050158015610744573d6000803e3d6000fd5b506040805182815290516001600160a01b038616917ff8b71c64315fc33b2ead2adfa487955065152a8ac33d9d5193aafd7f45dc15a0919081900360200190a26107b3565b6040517fe589651933c2457488cc0d8e0941518abf748e799435e4e396d9c4d0b2db2d4d90600090a15b9392505050565b61100781565b61100681565b60005460ff1681565b600081565b33611007146108145760405162461bcd60e51b815260040180806020018281038252602e815260200180610cc2602e913960400191505060405180910390fd5b61087684848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600b81526a30b23227b832b930ba37b960a91b60208201529150610b809050565b1561094e57606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050825192935050601490911490506108f95760405162461bcd60e51b815260040180806020018281038252602c815260200180610cf0602c913960400191505060405180910390fd5b60148101516001600160a01b038116600081815260026020526040808220805460ff19166001179055517f9870d7fe5d112134c55844951dedf365363006d9c588db07c4c85af6322a06199190a25050610ac5565b6109b384848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600e81526d3232b632ba32a7b832b930ba37b960911b60208201529150610b809050565b15610a8857606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505082519293505060149091149050610a365760405162461bcd60e51b815260040180806020018281038252602f815260200180610c93602f913960400191505060405180910390fd5b60148101516001600160a01b038116600081815260026020526040808220805460ff19169055517fb40992a19dba61ea600e87fce607102bf5908dc89076217b6ca6ae195224f7029190a25050610ac5565b6040805162461bcd60e51b815260206004820152600d60248201526c756e6b6e6f776e20706172616d60981b604482015290519081900360640190fd5b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a848484846040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a150505050565b61100281565b61100381565b61100081565b670de0b6b3a764000081565b600381565b61100481565b6000816040516020018082805190602001908083835b60208310610bb55780518252601f199092019160209182019101610b96565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120836040516020018082805190602001908083835b60208310610c235780518252601f199092019160209182019101610c04565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052805190602001201490509291505056fe6f6e6c79206f70657261746f7220697320616c6c6f77656420746f2063616c6c20746865206d6574686f646c656e677468206f662076616c756520666f722064656c6574654f70657261746f722073686f756c64206265203230746865206d6573736167652073656e646572206d75737420626520676f7665726e616e636520636f6e74726163746c656e677468206f662076616c756520666f72206164644f70657261746f722073686f756c64206265203230a2646970667358221220dfab8b447e80ff45b4921032d6fc749c076c81bafdd35dc3adbf21cb41cdac7964736f6c63430006040033", }, { ContractAddr: common.HexToAddress(RelayerHubContract), - CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/5134a57191da8350278ee154c4814659c89d8f9f", + CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/b144718e94d7a1ebb24a7103202300f08826f369", Code: "608060405234801561001057600080fd5b50600436106102275760003560e01c80638f83ab1311610130578063c81b1662116100b8578063f3ae24151161007c578063f3ae2415146104e8578063f9a2bbc71461050e578063fc3e590814610516578063fd30d9b81461051e578063fd6a68791461052657610227565b8063c81b1662146104c0578063dc927faf146104c8578063dd91d1c5146104d0578063e1c7392a146104d8578063e79a198f146104e057610227565b8063a1a11bf5116100ff578063a1a11bf5146103de578063a74b83ca146103e6578063a78abc16146103ee578063ab51bb96146103f6578063ac431751146103fe57610227565b80638f83ab13146103a057806395468d26146103c657806396713da9146103ce5780639dc09262146103d657610227565b8063541d5548116101b3578063718a8aa811610182578063718a8aa81461034857806375d47a0a1461035057806378beee67146103585780637942fd051461037e5780637ae230881461038657610227565b8063541d5548146102d85780636a6a419e146103125780636e47b4821461033857806370fd5bad1461034057610227565b80633dffc387116101fa5780633dffc3871461028357806343756e5c146102a1578063493279b1146102a95780634bf6c882146102c857806351e80672146102d057610227565b806303aff02b1461022c578063049a5716146102365780630bee7a671461025a5780630e2374a51461027b575b600080fd5b61023461052e565b005b61023e610539565b604080516001600160a01b039092168252519081900360200190f35b610262610551565b6040805163ffffffff9092168252519081900360200190f35b61023e610556565b61028b61055c565b6040805160ff9092168252519081900360200190f35b61023e610561565b6102b1610567565b6040805161ffff9092168252519081900360200190f35b61028b61056d565b61023e610572565b6102fe600480360360208110156102ee57600080fd5b50356001600160a01b0316610578565b604080519115158252519081900360200190f35b6102fe6004803603602081101561032857600080fd5b50356001600160a01b0316610596565b61023e6105b4565b61028b6105ba565b61028b6105bf565b61023e6105c4565b6102346004803603602081101561036e57600080fd5b50356001600160a01b03166105ca565b61028b6107b2565b61038e6107b7565b60408051918252519081900360200190f35b610234600480360360208110156103b657600080fd5b50356001600160a01b03166107c4565b61038e610a03565b61028b610a0f565b61023e610a14565b61023e610a1a565b61023e610a20565b6102fe610a38565b610262610a41565b6102346004803603604081101561041457600080fd5b81019060208101813564010000000081111561042f57600080fd5b82018360208201111561044157600080fd5b8035906020019184600183028401116401000000008311171561046357600080fd5b91939092909160208101903564010000000081111561048157600080fd5b82018360208201111561049357600080fd5b803590602001918460018302840111640100000000831117156104b557600080fd5b509092509050610a46565b61023e610d97565b61023e610d9d565b610234610da3565b610234610e44565b610234610ec6565b6102fe600480360360208110156104fe57600080fd5b50356001600160a01b031661107f565b61023e61109d565b61028b6110a3565b6102fe6110a8565b61023e6110b1565b610537336110b7565b565b7388cb4d8f77742c24d647bef8049d3f3c56067cdd81565b606481565b61200181565b600181565b61100181565b6102ca81565b600881565b61200081565b6001600160a01b031660009081526007602052604090205460ff1690565b6001600160a01b031660009081526008602052604090205460ff1690565b61100581565b600281565b601081565b61100881565b3360009081526008602052604090205460ff166106185760405162461bcd60e51b81526004018080602001828103825260248152602001806115c36024913960400191505060405180910390fd5b61062133611219565b1561065d5760405162461bcd60e51b81526004018080602001828103825260218152602001806115806021913960400191505060405180910390fd5b3233146106b1576040805162461bcd60e51b815260206004820152601e60248201527f70726f766973696f6e616c2072656c6179657220697320612070726f78790000604482015290519081900360640190fd5b6001600160a01b038181166000908152600960205260409020541633146107095760405162461bcd60e51b815260040180806020018281038252602781526020018061163c6027913960400191505060405180910390fd5b6001600160a01b03818116600081815260066020908152604080832080543380865260078086528487208054600160ff199182161790915584546001600160a01b031990811684179095556008875285882080548216905597875260098652848720805490941690935596168085529083529281902080549094169093558251828152908101939093528151909260008051602061166383398151915292908290030190a15050565b600b81565b68056bc75e2d6310000081565b3360009081526005602052604090205460ff16610821576040805162461bcd60e51b81526020600482015260166024820152751b585b9859d95c88191bd95cc81b9bdd08195e1a5cdd60521b604482015290519081900360640190fd5b61082a81611219565b156108665760405162461bcd60e51b81526004018080602001828103825260278152602001806115e76027913960400191505060405180910390fd5b6001600160a01b03811615610922576001600160a01b03811660009081526007602052604090205460ff16156108dc576040805162461bcd60e51b815260206004820152601660248201527572656c6179657220616c72656164792065786973747360501b604482015290519081900360640190fd5b6001600160a01b0381166000818152600860209081526040808320805460ff191660011790553383526009909152902080546001600160a01b03191690911790556109c3565b3360008181526006602090815260408083208054600980855283862080546001600160a01b03198085169095556001600160a01b0393841680895260078852868920805460ff19908116909155918516808a5260088952878a20805490931690925598909752908552805490921690915581518581529086169281019290925280516000805160206116638339815191529281900390910190a15050610a00565b604080516001600160a01b038316815290517ffba56633276570c7d3120d4535bf3bce26523da53958e40734210b9fd99b36939181900360200190a15b50565b67016345785d8a000081565b600981565b61100781565b61100681565b7342d596440775c90db8d9187b47650986e106349381565b60005460ff1681565b600081565b60005460ff16610a99576040805162461bcd60e51b81526020600482015260196024820152781d1a194818dbdb9d1c9858dd081b9bdd081a5b9a5d081e595d603a1b604482015290519081900360640190fd5b3361100714610ad95760405162461bcd60e51b815260040180806020018281038252602e81526020018061160e602e913960400191505060405180910390fd5b610b3a84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600a81526930b23226b0b730b3b2b960b11b6020820152915061121f9050565b15610bd25760148114610b7e5760405162461bcd60e51b81526004018080602001828103825260228152602001806115a16022913960400191505060405180910390fd5b6000610bc1601484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061130692505050565b9050610bcc8161130b565b50610d05565b610c3684848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600d81526c3932b6b7bb32a6b0b730b3b2b960991b6020820152915061121f9050565b15610cc85760148114610c7a5760405162461bcd60e51b81526004018080602001828103825260228152602001806115a16022913960400191505060405180910390fd5b6000610cbd601484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061130692505050565b9050610bcc816110b7565b6040805162461bcd60e51b815260206004820152600d60248201526c756e6b6e6f776e20706172616d60981b604482015290519081900360640190fd5b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a848484846040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a150505050565b61100281565b61100381565b600a5460ff1615610dfb576040805162461bcd60e51b815260206004820152601e60248201527f7468652077686974656c6973747320616c726561647920757064617465640000604482015290519081900360640190fd5b610e187388cb4d8f77742c24d647bef8049d3f3c56067cdd6113cd565b610e357342d596440775c90db8d9187b47650986e10634936113cd565b600a805460ff19166001179055565b60005460ff1615610e9c576040805162461bcd60e51b815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e697400000000000000604482015290519081900360640190fd5b68056bc75e2d63100000600190815567016345785d8a00006002556000805460ff19169091179055565b3360009081526004602052604090205460ff16610f21576040805162461bcd60e51b81526020600482015260146024820152731c995b185e595c88191bc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b60005460ff16610f74576040805162461bcd60e51b81526020600482015260196024820152781d1a194818dbdb9d1c9858dd081b9bdd081a5b9a5d081e595d603a1b604482015290519081900360640190fd5b610f7c611565565b5033600081815260036020908152604091829020825180840190935280548084526001909101549183018290529192916108fc91610fc0919063ffffffff61148516565b6040518115909202916000818181858888f19350505050158015610fe8573d6000803e3d6000fd5b50602081015160405161100291829181156108fc0291906000818181858888f1935050505015801561101e573d6000803e3d6000fd5b50336000818152600460209081526040808320805460ff191690556003825280832083815560010192909255815192835290517fd17202129b83db7880d6b9f25df81c58ad46f7e0e2c92236b1aa10663a4876679281900390910190a15050565b6001600160a01b031660009081526005602052604090205460ff1690565b61100081565b600381565b600a5460ff1681565b61100481565b6001600160a01b03811660009081526005602052604090205460ff1661111c576040805162461bcd60e51b81526020600482015260156024820152741b585b9859d95c88191bd95cdb89dd08195e1a5cdd605a1b604482015290519081900360640190fd5b6001600160a01b038082166000818152600660209081526040808320805460058452828520805460ff1990811690915582546001600160a01b0319908116909355600980865284872080548a16885260088752858820805490931690925595879052948452845490911690935580519384525191909316927f2002866d443ac6c241fecaaa2af4895828c7de2cc423b9d01f7969650f557c76928290030190a16001600160a01b03811615611215576001600160a01b0381166000818152600760209081526040808320805460ff1916905580519384529083019190915280516000805160206116638339815191529281900390910190a15b5050565b3b151590565b6000816040516020018082805190602001908083835b602083106112545780518252601f199092019160209182019101611235565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120836040516020018082805190602001908083835b602083106112c25780518252601f1990920191602091820191016112a3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012014905092915050565b015190565b6001600160a01b03811660009081526005602052604090205460ff1615611372576040805162461bcd60e51b81526020600482015260166024820152756d616e6167657220616c72656164792065786973747360501b604482015290519081900360640190fd5b6001600160a01b038116600081815260056020908152604091829020805460ff19166001179055815192835290517fe0de8e71a22c046647f4ef744348fa126ad6d052d4ce070999481f69d45575179281900390910190a150565b6001600160a01b03811660008181526005602090815260408083208054600160ff1991821681179092556006845282852080546001600160a01b031916871790556007845293829020805490941617909255815192835290517fe0de8e71a22c046647f4ef744348fa126ad6d052d4ce070999481f69d45575179281900390910190a160408051600081526001600160a01b03831660208201528151600080516020611663833981519152929181900390910190a150565b60006114c783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114ce565b9392505050565b6000818484111561155d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561152257818101518382015260200161150a565b50505050905090810190601f16801561154f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60405180604001604052806000815260200160008152509056fe70726f766973696f6e616c2072656c61796572206973206120636f6e74726163746c656e677468206f66206d616e616765722061646472657373206d69736d6174636872656c61796572206973206e6f7420612070726f766973696f6e616c2072656c61796572636f6e7472616374206973206e6f7420616c6c6f77656420746f20626520612072656c61796572746865206d6573736167652073656e646572206d75737420626520676f7665726e616e636520636f6e747261637470726f766973696f6e616c206973206e6f742073657420666f722074686973206d616e61676572a5a19d7e9dab30a215022382d7abe782b579986fcbedec9942ecd0db9510a148a2646970667358221220243ef96c0e2d17d4e167cfcbcb6a51b4b92c1ac27fcb61400a87275f5128b4ab64736f6c63430006040033", }, { ContractAddr: common.HexToAddress(CrossChainContract), - CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/5134a57191da8350278ee154c4814659c89d8f9f", + CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/b144718e94d7a1ebb24a7103202300f08826f369", Code: "608060405234801561001057600080fd5b50600436106103995760003560e01c8063718a8aa8116101e9578063c27cdcfb1161010f578063dc927faf116100ad578063f7a251d71161007c578063f7a251d714610b2f578063f9a2bbc714610ba7578063fc3e590814610baf578063fd6a687914610bb757610399565b8063dc927faf14610af7578063e1c7392a14610aff578063e3b0480514610b07578063e6400bbe14610b2757610399565b8063ccc108d7116100e9578063ccc108d714610ab0578063d31f968d14610ab8578063d76a867514610ae7578063dc40433114610aef57610399565b8063c27cdcfb14610a80578063c780e9de14610aa0578063c81b166214610aa857610399565b80638cc8f56111610187578063a78abc1611610156578063a78abc16146109b2578063ab51bb96146109ba578063ac431751146109c2578063b0355f5b1461078157610399565b80638cc8f5611461088757806396713da91461099a5780639dc09262146109a2578063a1a11bf5146109aa57610399565b806375d47a0a116101c357806375d47a0a146108a75780637942fd05146108af57806384013b6a146108b7578063863fe4ab1461099257610399565b8063718a8aa81461088f578063719482d51461089757806374f079b81461089f57610399565b8063422f9050116102ce57806363e1394e1161026c5780636de380bd1161023b5780636de380bd146108575780636e47a51a1461085f5780636e47b4821461087f57806370fd5bad1461088757610399565b806363e1394e146107ff5780636a3cb34d146108075780636bacff2c1461080f5780636c46aa681461080757610399565b80634bf6c882116102a85780634bf6c882146107b957806351e80672146107c15780635692ddd3146107c95780635f832177146107d157610399565b8063422f90501461078957806343756e5c146107a9578063493279b1146107b157610399565b8063299b533d1161033b578063308325f411610315578063308325f4146106155780633a648b151461061d5780633bdc47a6146106595780633dffc3871461078157610399565b8063299b533d146105a35780632af6f399146105d75780632ff32aea146105f457610399565b806314b3023b1161037757806314b3023b146104015780631d1309351461041b5780631e275ae11461043757806322556cdc1461059b57610399565b806305e682581461039e5780630bee7a67146103bc5780630e2374a5146103dd575b600080fd5b6103a6610bbf565b6040805160ff9092168252519081900360200190f35b6103c4610bc4565b6040805163ffffffff9092168252519081900360200190f35b6103e5610bc9565b604080516001600160a01b039092168252519081900360200190f35b610409610bcf565b60408051918252519081900360200190f35b610423610bd5565b604080519115158252519081900360200190f35b610599600480360361010081101561044e57600080fd5b81018160a081016080820135600160201b81111561046b57600080fd5b82018360208201111561047d57600080fd5b803590602001918460018302840111600160201b8311171561049e57600080fd5b919390929091602081019035600160201b8111156104bb57600080fd5b8201836020820111156104cd57600080fd5b803590602001918460018302840111600160201b831117156104ee57600080fd5b919390929091602081019035600160201b81111561050b57600080fd5b82018360208201111561051d57600080fd5b803590602001918460018302840111600160201b8311171561053e57600080fd5b919390929091602081019035600160201b81111561055b57600080fd5b82018360208201111561056d57600080fd5b803590602001918460018302840111600160201b8311171561058e57600080fd5b509092509050610bde565b005b6104096112c2565b6105c0600480360360208110156105b957600080fd5b50356112c7565b6040805161ffff9092168252519081900360200190f35b610423600480360360208110156105ed57600080fd5b50356112dd565b6105fc6112f2565b60408051600792830b90920b8252519081900360200190f35b6104096112fb565b61063d6004803603602081101561063357600080fd5b503560ff16611301565b604080516001600160401b039092168252519081900360200190f35b61070c6004803603606081101561066f57600080fd5b60ff82351691602081013591810190606081016040820135600160201b81111561069857600080fd5b8201836020820111156106aa57600080fd5b803590602001918460018302840111600160201b831117156106cb57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061131c945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561074657818101518382015260200161072e565b50505050905090810190601f1680156107735780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103a6611392565b6104236004803603602081101561079f57600080fd5b503560ff16611397565b6103e56113ac565b6105c06113b2565b6103a66113b8565b6103e56113bd565b6104096113c3565b610599600480360360408110156107e757600080fd5b506001600160a01b03813581169160200135166113f3565b610409611653565b6105c061167b565b61082c6004803603602081101561082557600080fd5b5035611680565b6040805161ffff90941684526001600160801b03909216602084015282820152519081900360600190f35b6104096116af565b6103e56004803603602081101561087557600080fd5b503560ff166116d6565b6103e56116f1565b6103a661167b565b6103a66116f7565b6105c0611392565b6104096116fc565b6103e5611702565b6103a6611708565b610599600480360360a08110156108cd57600080fd5b810190602081018135600160201b8111156108e757600080fd5b8201836020820111156108f957600080fd5b803590602001918460018302840111600160201b8311171561091a57600080fd5b919390929091602081019035600160201b81111561093757600080fd5b82018360208201111561094957600080fd5b803590602001918460018302840111600160201b8311171561096a57600080fd5b919350915080356001600160401b03908116916020810135909116906040013560ff1661170d565b6104096129c7565b6103a66129cf565b6103e56129d4565b6103e56129da565b6104236129e0565b6103c4610bbf565b610599600480360360408110156109d857600080fd5b810190602081018135600160201b8111156109f257600080fd5b820183602082011115610a0457600080fd5b803590602001918460018302840111600160201b83111715610a2557600080fd5b919390929091602081019035600160201b811115610a4257600080fd5b820183602082011115610a5457600080fd5b803590602001918460018302840111600160201b83111715610a7557600080fd5b5090925090506129e9565b61063d60048036036020811015610a9657600080fd5b503560ff166134ad565b6104096134c8565b6103e56134ec565b6105996134f2565b61042360048036036040811015610ace57600080fd5b5080356001600160a01b0316906020013560ff16613746565b61070c613766565b610409613785565b6103e561378b565b610599613791565b61063d60048036036020811015610b1d57600080fd5b503560ff16613b48565b610599613b63565b61059960048036036060811015610b4557600080fd5b60ff8235169190810190604081016020820135600160201b811115610b6957600080fd5b820183602082011115610b7b57600080fd5b803590602001918460018302840111600160201b83111715610b9c57600080fd5b919350915035613d82565b6103e5613ec5565b6103a6613ecb565b6103e5613ed0565b600081565b606481565b61200181565b60015481565b600b5460ff1681565b60005460ff16610c23576040805162461bcd60e51b815260206004820152601960248201526000805160206149b4833981519152604482015290519081900360640190fd5b604080516337d7f9c160e21b81526001600160401b038b35166004820181905291516110039163df5fe704916024808301926020929190829003018186803b158015610c6e57600080fd5b505afa158015610c82573d6000803e3d6000fd5b505050506040513d6020811015610c9857600080fd5b5051610cd55760405162461bcd60e51b81526004018080602001828103825260238152602001806149d46023913960400191505060405180910390fd5b604080516337d7f9c160e21b815260208c8101356001600160401b03166004830181905292516110039263df5fe704926024808301939192829003018186803b158015610d2157600080fd5b505afa158015610d35573d6000803e3d6000fd5b505050506040513d6020811015610d4b57600080fd5b5051610d885760405162461bcd60e51b81526004018080602001828103825260238152602001806149d46023913960400191505060405180910390fd5b60608b013560ff81166000908152600560205260409020546001600160401b03909116906001600160a01b0316610e01576040805162461bcd60e51b815260206004820152601860248201527718da185b9b995b081a5cc81b9bdd081cdd5c1c1bdc9d195960421b604482015290519081900360640190fd5b600b5460ff1615610e45576040805162461bcd60e51b81526020600482015260096024820152681cdd5cdc195b99195960ba1b604482015290519081900360640190fd5b8888604051808383808284376040519201829003822094508f93508e9250819050838380828437808301925050509250505060405180910390201415610ec1576040805162461bcd60e51b815260206004820152600c60248201526b1cd85b59481c185e5b1bd85960a21b604482015290519081900360640190fd5b60606001600160401b0360408e01358116908e83013516610ee28282613ed6565b80516020808301919091206000818152600e9092526040909120549194509060ff1615610f4b576040805162461bcd60e51b8152602060048201526012602482015271185b1c9958591e4818da185b1b195b99d95960721b604482015290519081900360640190fd5b6000908152600e60205260408120805460ff191660011790558f8160200201356001600160401b0316905060608f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050905060608c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040805163cba510a960e01b81526001600160401b038a16600482015290519596509094611003945063cba510a9935060248083019350602092829003018186803b15801561104157600080fd5b505afa158015611055573d6000803e3d6000fd5b505050506040513d602081101561106b57600080fd5b505160408051808201909152600381526269626360e81b6020820152909150611098908290898686613f1e565b6110e1576040805162461bcd60e51b81526020600482015260156024820152740696e76616c6964206d65726b6c652070726f6f663605c1b604482015290519081900360640190fd5b5050505060008f6001600481106110f457fe5b60200201356001600160401b0316905060608d8d8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815293945060609392508d91508c908190840183828082843760009201829052506040805163cba510a960e01b81526001600160401b038a16600482015290519596509094611003945063cba510a9935060248083019350602092829003018186803b1580156111c057600080fd5b505afa1580156111d4573d6000803e3d6000fd5b505050506040513d60208110156111ea57600080fd5b505160408051808201909152600381526269626360e81b6020820152909150611217908290898686613f1e565b611260576040805162461bcd60e51b8152602060048201526015602482015274696e76616c6964206d65726b6c652070726f6f663160581b604482015290519081900360640190fd5b5050505061126c61401b565b604080516001600160401b038416815260ff83166020820152815133927f039eb91179ffd7d3b6e97f8ea106e748e827f910b872375dbc9c14a362319c3c928290030190a2505050505050505050505050505050565b603281565b600d6020526000908152604090205461ffff1681565b600e6020526000908152604090205460ff1681565b60045460070b81565b60025481565b600a602052600090815260409020546001600160401b031681565b60606000825160210190506060816040519080825280601f01601f191660200182016040528015611354576020820181803683370190505b506021810186905260018101879052828152905060418101600061137786614099565b509050611386818388516140a3565b50909695505050505050565b600181565b60096020526000908152604090205460ff1681565b61100181565b6102ca81565b600881565b61200081565b604080517710d05390d15317d514905394d1915497d41493d413d4d05360421b8152905190819003601801902081565b60005460ff16611438576040805162461bcd60e51b815260206004820152601960248201526000805160206149b4833981519152604482015290519081900360640190fd5b6040805163569e4ed360e11b815233600482015290516000916110009163ad3c9da691602480820192602092909190829003018186803b15801561147b57600080fd5b505afa15801561148f573d6000803e3d6000fd5b505050506040513d60208110156114a557600080fd5b505160408051633d42651560e11b8152905191925060009161100091637a84ca2a916004808301926020929190829003018186803b1580156114e657600080fd5b505afa1580156114fa573d6000803e3d6000fd5b505050506040513d602081101561151057600080fd5b505190508061151d575060155b60008211801561152d5750808211155b61156c576040805162461bcd60e51b815260206004820152600b60248201526a1b9bdd0818d8589a5b995d60aa1b604482015290519081900360640190fd5b604080516001600160a01b038087166020808401919091529086168284015282518083038401815260608301808552815191909201207710d05390d15317d514905394d1915497d41493d413d4d05360421b90915291519081900360780190206000906115d990836140e4565b9050801561164b5760408051630911a2c160e11b81526001600160a01b03888116600483015287166024820152905161100491631223458291604480830192600092919082900301818387803b15801561163257600080fd5b505af1158015611646573d6000803e3d6000fd5b505050505b505050505050565b604080516f14d554d411539117d41493d413d4d05360821b8152905190819003601001902081565b600281565b600c602052600090815260409020805460019091015461ffff8216916201000090046001600160801b03169083565b604080516e149153d4115397d41493d413d4d053608a1b8152905190819003600f01902081565b6005602052600090815260409020546001600160a01b031681565b61100581565b601081565b60035481565b61100881565b600b81565b60005460ff16611752576040805162461bcd60e51b815260206004820152601960248201526000805160206149b4833981519152604482015290519081900360640190fd5b60408051630a83aaa960e31b815233600482015290516110069163541d5548916024808301926020929190829003018186803b15801561179157600080fd5b505afa1580156117a5573d6000803e3d6000fd5b505050506040513d60208110156117bb57600080fd5b505161180e576040805162461bcd60e51b815260206004820152601f60248201527f746865206d73672073656e646572206973206e6f7420612072656c6179657200604482015290519081900360640190fd5b60ff8116600090815260086020526040902054829082906001600160401b03908116908316811461187e576040805162461bcd60e51b815260206004820152601560248201527439b2b8bab2b731b2903737ba1034b71037b93232b960591b604482015290519081900360640190fd5b60ff8216600090815260086020908152604091829020805467ffffffffffffffff1916600185016001600160401b039081169190911790915582516337d7f9c160e21b81529089166004820152915188926110039263df5fe70492602480840193829003018186803b1580156118f357600080fd5b505afa158015611907573d6000803e3d6000fd5b505050506040513d602081101561191d57600080fd5b505161195a5760405162461bcd60e51b81526004018080602001828103825260238152602001806149d46023913960400191505060405180910390fd5b60ff851660009081526005602052604090205485906001600160a01b03166119c4576040805162461bcd60e51b815260206004820152601860248201527718da185b9b995b081a5cc81b9bdd081cdd5c1c1bdc9d195960421b604482015290519081900360640190fd5b60ff86166000908152600a6020526040902054889087906001600160401b039081169083161015611a2d576040805162461bcd60e51b815260206004820152600e60248201526d3a37b79037b632103432b0b232b960911b604482015290519081900360640190fd5b60ff81166000908152600a60205260409020546001600160401b03838116911614611a7f5760ff81166000908152600a60205260409020805467ffffffffffffffff19166001600160401b0384161790555b600b5460ff1615611ac3576040805162461bcd60e51b81526020600482015260096024820152681cdd5cdc195b99195960ba1b604482015290519081900360640190fd5b60608e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050905060608d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509050611c076110036001600160a01b031663cba510a98e6040518263ffffffff1660e01b815260040180826001600160401b03166001600160401b0316815260200191505060206040518083038186803b158015611bb057600080fd5b505afa158015611bc4573d6000803e3d6000fd5b505050506040513d6020811015611bda57600080fd5b505160408051808201909152600381526269626360e81b6020820152611c008e8e613ed6565b8585613f1e565b611c4f576040805162461bcd60e51b815260206004820152601460248201527334b73b30b634b21036b2b935b63290383937b7b360611b604482015290519081900360640190fd5b60408051631bb5062960e31b81526001600160401b038e16600482015290516000916110039163dda8314891602480820192602092909190829003018186803b158015611c9b57600080fd5b505afa158015611caf573d6000803e3d6000fd5b505050506040513d6020811015611cc557600080fd5b505190508b8b600080806060611cda896143c9565b935093509350935083611d9c578460ff16866001600160401b03167ff7b2e42d694eb1100184aae86d4245d9e46966100b1dc7e723275b98326854ac8b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015611d54578181015183820152602001611d3c565b50505050905090810190601f168015611d815780820380516001836020036101000a031916815260200191505b509250505060405180910390a35050505050505050506129b7565b6040805160ff85811682529151918716916001600160401b038916917f36afdaf439a8f43fe72135135d804ae620b37a474f0943b5b85f6788312cad40919081900360200190a360ff83166123215760ff85166000818152600560209081526040808320548151631182b87560e01b815260048101958652602481019283528651604482015286516001600160a01b03909216958695631182b875958d958a9593949093606490910192918601918190849084905b83811015611e69578181015183820152602001611e51565b50505050905090810190601f168015611e965780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015611eb657600080fd5b505af1925050508015611f9a57506040513d6000823e601f3d908101601f191682016040526020811015611ee957600080fd5b8101908080516040519392919084600160201b821115611f0857600080fd5b908301906020820185811115611f1d57600080fd5b8251600160201b811182820188101715611f3657600080fd5b82525081516020918201929091019080838360005b83811015611f63578181015183820152602001611f4b565b50505050905090810190601f168015611f905780820380516001836020036101000a031916815260200191505b5060405250505060015b6122ac576040516000815260443d1015611fb657506000612051565b60046000803e60005160e01c6308c379a08114611fd7576000915050612051565b60043d036004833e81513d60248201116001600160401b038211171561200257600092505050612051565b80830180516001600160401b03811115612023576000945050505050612051565b8060208301013d860181111561204157600095505050505050612051565b601f01601f191660405250925050505b8061205c575061216e565b60ff8716600090815260076020526040812054612093916001600160401b0390911690899061208e906002908861131c565b614479565b60ff8716600090815260076020908152604080832080546001600160401b038082166001011667ffffffffffffffff19909116179055805182815284518184015284516001600160a01b038716947ff91a8f63e5b3e0e89e5f93e1915a7805f3c52d9a73b3c09769785c2c7bf87acf948794849390840192918601918190849084905b8381101561212e578181015183820152602001612116565b50505050905090810190601f16801561215b5780820380516001836020036101000a031916815260200191505b509250505060405180910390a2506122a7565b3d808015612198576040519150601f19603f3d011682016040523d82523d6000602084013e61219d565b606091505b5060ff87166000908152600760205260408120546121d0916001600160401b0390911690899061208e906002908861131c565b60ff8716600090815260076020908152604080832080546001600160401b038082166001011667ffffffffffffffff19909116179055805182815284518184015284516001600160a01b038716947f63ac299d6332d1cc4e61b81e59bc00c0ac7c798addadf33840f1307cd2977351948794849390840192918601918190849084905b8381101561226b578181015183820152602001612253565b50505050905090810190601f1680156122985780820380516001836020036101000a031916815260200191505b509250505060405180910390a2505b61231b565b8051156123195760ff87166000908152600760205260408120546122e5916001600160401b0390911690899061208e906001908661131c565b60ff8716600090815260076020526040902080546001600160401b038082166001011667ffffffffffffffff199091161790555b505b506128ef565b60ff8316600114156125c55760ff8516600081815260056020908152604080832054815163831d65d160e01b815260048101958652602481019283528651604482015286516001600160a01b0390921695869563831d65d1958d958a9593949093606490910192918601918190849084905b838110156123ab578181015183820152602001612393565b50505050905090810190601f1680156123d85780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156123f857600080fd5b505af1925050508015612409575060015b61231b576040516000815260443d1015612425575060006124c0565b60046000803e60005160e01c6308c379a081146124465760009150506124c0565b60043d036004833e81513d60248201116001600160401b0382111715612471576000925050506124c0565b80830180516001600160401b038111156124925760009450505050506124c0565b8060208301013d86018111156124b0576000955050505050506124c0565b601f01601f191660405250925050505b806124cb5750612530565b60408051602080825283518183015283516001600160a01b038616937ff91a8f63e5b3e0e89e5f93e1915a7805f3c52d9a73b3c09769785c2c7bf87acf938693909283928301918501908083836000831561212e578181015183820152602001612116565b3d80801561255a576040519150601f19603f3d011682016040523d82523d6000602084013e61255f565b606091505b5060408051602080825283518183015283516001600160a01b038616937f63ac299d6332d1cc4e61b81e59bc00c0ac7c798addadf33840f1307cd2977351938693909283928301918501908083836000831561226b578181015183820152602001612253565b60ff8316600214156128ef5760ff8516600081815260056020908152604080832054815163c8509d8160e01b815260048101958652602481019283528651604482015286516001600160a01b0390921695869563c8509d81958d958a9593949093606490910192918601918190849084905b8381101561264f578181015183820152602001612637565b50505050905090810190601f16801561267c5780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561269c57600080fd5b505af19250505080156126ad575060015b6128ed576040516000815260443d10156126c957506000612764565b60046000803e60005160e01c6308c379a081146126ea576000915050612764565b60043d036004833e81513d60248201116001600160401b038211171561271557600092505050612764565b80830180516001600160401b03811115612736576000945050505050612764565b8060208301013d860181111561275457600095505050505050612764565b601f01601f191660405250925050505b8061276f5750612818565b816001600160a01b03167ff91a8f63e5b3e0e89e5f93e1915a7805f3c52d9a73b3c09769785c2c7bf87acf826040518080602001828103825283818151815260200191508051906020019080838360005b838110156127d85781810151838201526020016127c0565b50505050905090810190601f1680156128055780820380516001836020036101000a031916815260200191505b509250505060405180910390a2506128ed565b3d808015612842576040519150601f19603f3d011682016040523d82523d6000602084013e612847565b606091505b50816001600160a01b03167f63ac299d6332d1cc4e61b81e59bc00c0ac7c798addadf33840f1307cd2977351826040518080602001828103825283818151815260200191508051906020019080838360005b838110156128b1578181015183820152602001612899565b50505050905090810190601f1680156128de5780820380516001836020036101000a031916815260200191505b509250505060405180910390a2505b505b60ff80861660009081526009602052604090205461100591636f93d2e6918a91339187911680612921575060ff881615155b604080516001600160e01b031960e088901b1681526001600160a01b039586166004820152939094166024840152604483019190915215156064820152905160848083019260209291908290030181600087803b15801561298157600080fd5b505af1158015612995573d6000803e3d6000fd5b505050506040513d60208110156129ab57600080fd5b50505050505050505050505b5050505050505050505050505050565b630102ca0081565b600981565b61100781565b61100681565b60005460ff1681565b3361100714612a295760405162461bcd60e51b815260040180806020018281038252602e81526020018061490a602e913960400191505060405180910390fd5b600b5460ff1615612a6d576040805162461bcd60e51b81526020600482015260096024820152681cdd5cdc195b99195960ba1b604482015290519081900360640190fd5b612ad684848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080518082019091526012815271626174636853697a65466f724f7261636c6560701b602082015291506146149050565b15612b7157604080516020601f8401819004810282018101909252828152600091612b19918585808385018382808284376000920191909152506146fb92505050565b90506127108111158015612b2e5750600a8110155b612b695760405162461bcd60e51b81526004018080602001828103825260328152602001806149826032913960400191505060405180910390fd5b60015561341b565b612bda84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601281527118591913dc955c19185d1950da185b9b995b60721b602082015291506146149050565b15612d6257606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505082519293505060169091149050612c5d5760405162461bcd60e51b815260040180806020018281038252605a815260200180614823605a913960600191505060405180910390fd5b60018101516002820151601683015160ff82161590612c7b81614700565b612ccc576040805162461bcd60e51b815260206004820152601960248201527f61646472657373206973206e6f74206120636f6e747261637400000000000000604482015290519081900360640190fd5b60ff8416600081815260056020908152604080832080546001600160a01b0319166001600160a01b038716908117909155808452600683528184208585528352818420805460ff199081166001179091556009909352818420805490931687151517909255519092917f7e3b6af43092577ee20e60eaa1d9b114a7031305c895ee7dd3ffe17196d2e1e091a3505050505061341b565b612dcf84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080518082019091526016815275195b98589b1953dc911a5cd8589b1950da185b9b995b60521b602082015291506146149050565b15612f0057606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505082519293505060029091149050612e525760405162461bcd60e51b815260040180806020018281038252604a815260200180614938604a913960600191505060405180910390fd5b600181810151600283015160ff80831660009081526005602052604090205492939192908316909114906001600160a01b03168015612ef6576001600160a01b038116600090815260066020908152604080832060ff881680855290835292819020805460ff1916861515908117909155815190815290517fa3132e3f9819fbddc7f0ed6d38d7feef59aa95112090b7c592f5cb5bc4aa4adc929181900390910190a25b505050505061341b565b612f6484848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600d81526c73757370656e6451756f72756d60981b602082015291506146149050565b156130995760028114612fa85760405162461bcd60e51b815260040180806020018281038252602d8152602001806148b1602d913960400191505060405180910390fd5b6000612feb600284848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506146fb92505050565b905060008161ffff16118015613005575060648161ffff16105b61304f576040805162461bcd60e51b8152602060048201526016602482015275696e76616c69642073757370656e642071756f72756d60501b604482015290519081900360640190fd5b604080516f14d554d411539117d41493d413d4d05360821b815281519081900360100190206000908152600d60205220805461ffff90921661ffff1990921691909117905561341b565b6130fc84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600c81526b72656f70656e51756f72756d60a01b602082015291506146149050565b1561322f57600281146131405760405162461bcd60e51b815260040180806020018281038252602c8152602001806148de602c913960400191505060405180910390fd5b6000613183600284848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506146fb92505050565b905060008161ffff1611801561319d575060648161ffff16105b6131e6576040805162461bcd60e51b8152602060048201526015602482015274696e76616c69642072656f70656e2071756f72756d60581b604482015290519081900360640190fd5b604080516e149153d4115397d41493d413d4d053608a1b8152815190819003600f0190206000908152600d60205220805461ffff90921661ffff1990921691909117905561341b565b61329a84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601481527363616e63656c5472616e7366657251756f72756d60601b602082015291506146149050565b156133de57600281146132de5760405162461bcd60e51b815260040180806020018281038252603481526020018061487d6034913960400191505060405180910390fd5b6000613321600284848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506146fb92505050565b905060008161ffff1611801561333b575060648161ffff16105b61338c576040805162461bcd60e51b815260206004820152601e60248201527f696e76616c69642063616e63656c207472616e736665722071756f72756d0000604482015290519081900360640190fd5b604080517710d05390d15317d514905394d1915497d41493d413d4d05360421b815281519081900360180190206000908152600d60205220805461ffff90921661ffff1990921691909117905561341b565b6040805162461bcd60e51b815260206004820152600d60248201526c756e6b6e6f776e20706172616d60981b604482015290519081900360640190fd5b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a848484846040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a150505050565b6008602052600090815260409020546001600160401b031681565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081565b61100281565b60005460ff16613537576040805162461bcd60e51b815260206004820152601960248201526000805160206149b4833981519152604482015290519081900360640190fd5b6040805163569e4ed360e11b815233600482015290516000916110009163ad3c9da691602480820192602092909190829003018186803b15801561357a57600080fd5b505afa15801561358e573d6000803e3d6000fd5b505050506040513d60208110156135a457600080fd5b505160408051633d42651560e11b8152905191925060009161100091637a84ca2a916004808301926020929190829003018186803b1580156135e557600080fd5b505afa1580156135f9573d6000803e3d6000fd5b505050506040513d602081101561360f57600080fd5b505190508061361c575060155b60008211801561362c5750808211155b61366b576040805162461bcd60e51b815260206004820152600b60248201526a1b9bdd0818d8589a5b995d60aa1b604482015290519081900360640190fd5b600b5460ff166136b2576040805162461bcd60e51b815260206004820152600d60248201526c1b9bdd081cdd5cdc195b991959609a1b604482015290519081900360640190fd5b604080516e149153d4115397d41493d413d4d053608a1b8152905190819003600f019020600090613703907fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4706140e4565b9050801561374157600b805460ff1916905560405133907f899fe8c37dc61708a3aaa99c4bf143346c1d1da69af79be9e8920c0a6785b75290600090a25b505050565b600660209081526000928352604080842090915290825290205460ff1681565b6040518060400160405280600381526020016269626360e81b81525081565b610e1081565b61100381565b60005460ff16156137e9576040805162461bcd60e51b815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e697400000000000000604482015290519081900360640190fd5b7f1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b80546001600160a01b0319908116611008179091557f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a36805460ff199081169091557fd8af288fc1c8680b4f4706064cf021e264efb6828fcaf7eb5ca36818eb365bcc8054821660019081179091557f89832631fb3c3307a103ba2c84ab569c64d6182a18893dcd163f0f1c2090733a805484166110049081179091557f6cde3cea4b3a3fb2488b2808bae7556f4a405e50f65e1794383bc026131b13c38054841690557f72e4efa1513b071517c6c74dba31b5934a81aa83cddd400e7081df5529c9943680548416831790557fa9bc9a3a348c357ba16b37005d7e6b3236198c0e939f4af8c5f19b8deeb8ebc08054851690911790557fc575c31fea594a6eb97c8e9d3f9caee4c16218c6ef37e923234c0fe9014a61e78054831690557f4e523af77f034e9810f1c94057f5e931fb3d16a51511a4c3add793617d18610580548316821790557ffb33122aa9f93cc639ebe80a7bc4784c11e6053dde89c6f4f7e268c6a623da1e805484166110001790557fc7694af312c4f286114180fd0ba6a52461fcee8a381636770b19a343af92538a80548316821790557f01112dd68e482ba8d68a7e828cff8b3abcea08eab88941953c180a7e650e9cd480548316821790557fc0a4a8be475dfebc377ebef2d7c4ff47656f572a08dd92b81017efcdba0febe1805484166110071790557f87e8a52529e8ece4ef759037313542a6429ff494a9fab9027fb79db90124eba680548316821790557f4c7666bbcb22d46469f7cc282f70764a7012dca2cce630ff8d83db9a9cdd48f080548316821790557f40f28f99a40bc9f6beea1013afdbc3cdcc689eb76b82c4de06c0acf1e1932ed58054909316611001179092557f0d9cf2cd531699eed8dd34e40ff2884a14a698c4898184fba85194e6f6772d248054821683179055600b60009081527f23f68c9bd22b8a93d06adabe17481c87c016bcbd20adc8bfd707a4d813a572176020527fdf0d5d05428057f5455c2dc8e810dd86d1e9350faa72f16bda8a45443c5b39328054831684179055603283556004805467ffffffffffffffff19166001600160401b031790556002819055600381905580549091169091179055565b6007602052600090815260409020546001600160401b031681565b60005460ff16613ba8576040805162461bcd60e51b815260206004820152601960248201526000805160206149b4833981519152604482015290519081900360640190fd5b6040805163569e4ed360e11b815233600482015290516000916110009163ad3c9da691602480820192602092909190829003018186803b158015613beb57600080fd5b505afa158015613bff573d6000803e3d6000fd5b505050506040513d6020811015613c1557600080fd5b505160408051633d42651560e11b8152905191925060009161100091637a84ca2a916004808301926020929190829003018186803b158015613c5657600080fd5b505afa158015613c6a573d6000803e3d6000fd5b505050506040513d6020811015613c8057600080fd5b5051905080613c8d575060155b600082118015613c9d5750808211155b613cdc576040805162461bcd60e51b815260206004820152600b60248201526a1b9bdd0818d8589a5b995d60aa1b604482015290519081900360640190fd5b600b5460ff1615613d20576040805162461bcd60e51b81526020600482015260096024820152681cdd5cdc195b99195960ba1b604482015290519081900360640190fd5b604080516f14d554d411539117d41493d413d4d05360821b81529051908190036010019020600090613d72907fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4706140e4565b905080156137415761374161401b565b60005460ff16613dc7576040805162461bcd60e51b815260206004820152601960248201526000805160206149b4833981519152604482015290519081900360640190fd5b33600090815260066020908152604080832060ff8089168552925290912054859116613e245760405162461bcd60e51b81526004018080602001828103825260318152602001806147f26031913960400191505060405180910390fd5b60ff85166000908152600760209081526040808320548151601f88018490048402810184019092528682526001600160401b031692613e899284928a9261208e92909189918c908c908190840183828082843760009201919091525061131c92505050565b60ff959095166000908152600760205260409020805467ffffffffffffffff191660019096016001600160401b03169590951790945550505050565b61100081565b600381565b61100481565b60408051600e808252818301909252606091630102ca0060ff851617918391602082018180368337505050600e81810187905260068201939093529182525090505b92915050565b600085613f2d57506000614012565b606082518451865160800101016040519080825280601f01601f191660200182016040528015613f64576020820181803683370190505b5090506000613f7282614706565b602080890151825201905086600080613f8a89614099565b8086526020909501949092509050613fa38285836140a3565b92830192613fb088614099565b8086526020909501949092509050613fc98285836140a3565b9283018a815260200192613fdc87614099565b9092509050613fec8285836140a3565b508351602001613ffa61470c565b60208183886065600019fa5051600114955050505050505b95945050505050565b600b5460ff161561405f576040805162461bcd60e51b81526020600482015260096024820152681cdd5cdc195b99195960ba1b604482015290519081900360640190fd5b600b805460ff1916600117905560405133907f6f123d3d54c84a7960a573b31c221dcd86e13fd849c5adb0c6ca851468cc1ae490600090a2565b8051602090910191565b5b602081106140c3578251825260209283019290910190601f19016140a4565b915181516020939093036101000a6000190180199091169216919091179052565b6000828152600d602052604081205461ffff166141ad57604080516f14d554d411539117d41493d413d4d05360821b815281519081900360100181206000908152600d6020818152848320805461ffff199081166001179091556e149153d4115397d41493d413d4d053608a1b8552855194859003600f01852084528282528584208054821660029081179091557710d05390d15317d514905394d1915497d41493d413d4d05360421b8652865195869003601801909520845291905292902080549092161790555b6000838152600c6020526040902080546201000090046001600160801b0316421015806141de575082816001015414155b156142b1576000848152600d602090815260409182902054835461ffff90911661ffff199091161771ffffffffffffffffffffffffffffffff0000191662010000610e1042016001600160801b031602178355600180840186905582519182019092523381526142539160028401919061472a565b5080546040805161ffff83168152620100009092046001600160801b0316602083015281810185905251339186917f9e109f0e55ef32e99e4880be2ec357f1ddb3469c79d0747ef4762da6e89fabe5916060908290030190a3614365565b60005b600282015481101561433c57336001600160a01b03168260020182815481106142d957fe5b6000918252602090912001546001600160a01b03161415614334576040805162461bcd60e51b815260206004820152601060248201526f185b1c9958591e48185c1c1c9bdd995960821b604482015290519081900360640190fd5b6001016142b4565b50600281018054600181018255600091825260209091200180546001600160a01b031916331790555b8054600282015461ffff909116116143bf576000848152600c60205260408120805471ffffffffffffffffffffffffffffffffffff1916815560018101829055906143b3600283018261478f565b50506001915050613f18565b5060009392505050565b600080600060606021855110156143f9575050604080516000808252602082019092529092508291508190614472565b600185015160218601518651604080516020198301808252601f1960011990940193909316810160200190915260418901939291606091908015614444576020820181803683370190505b509050600061445282614099565b509050614464858260218d51036140a3565b506001975091955093509150505b9193509193565b600b5460ff16156144bd576040805162461bcd60e51b81526020600482015260096024820152681cdd5cdc195b99195960ba1b604482015290519081900360640190fd5b6002544311156144fc576004805467ffffffffffffffff1981166001600160401b036001600793840b810190930b16179091556003554360025561453d565b6003805460019081019182905554101561453d576004805467ffffffffffffffff1981166001600160401b036001600793840b810190930b16179091556003555b8160ff16836001600160401b0316600460009054906101000a900460070b6001600160401b03167f3a6e0fc61675aa2a100bcba0568368bb92bcec91c97673391074f11138f0cffe6102ca85604051808361ffff1661ffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156145d45781810151838201526020016145bc565b50505050905090810190601f1680156146015780820380516001836020036101000a031916815260200191505b50935050505060405180910390a4505050565b6000816040516020018082805190602001908083835b602083106146495780518252601f19909201916020918201910161462a565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120836040516020018082805190602001908083835b602083106146b75780518252601f199092019160209182019101614698565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012014905092915050565b015190565b3b151590565b60200190565b60405180602001604052806001906020820280368337509192915050565b82805482825590600052602060002090810192821561477f579160200282015b8281111561477f57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061474a565b5061478b9291506147b0565b5090565b50805460008255906000526020600020908101906147ad91906147d7565b50565b6147d491905b8082111561478b5780546001600160a01b03191681556001016147b6565b90565b6147d491905b8082111561478b57600081556001016147dd56fe74686520636f6e747261637420616e64206368616e6e656c2068617665206e6f74206265656e20726567697374657265646c656e677468206f662076616c756520666f72206164644f725570646174654368616e6e656c2073686f756c642062652032322c206368616e6e656c49643a697346726f6d53797374656d3a68616e646c6572416464726573736c656e677468206f662076616c756520666f722063616e63656c5472616e7366657251756f72756d2073686f756c6420626520326c656e677468206f662076616c756520666f722073757370656e6451756f72756d2073686f756c6420626520326c656e677468206f662076616c756520666f722072656f70656e51756f72756d2073686f756c642062652032746865206d6573736167652073656e646572206d75737420626520676f7665726e616e636520636f6e74726163746c656e677468206f662076616c756520666f7220656e61626c654f7244697361626c654368616e6e656c2073686f756c6420626520322c206368616e6e656c49643a6973456e61626c65746865206e6577426174636853697a65466f724f7261636c652073686f756c6420626520696e205b31302c2031303030305d74686520636f6e7472616374206e6f7420696e697420796574000000000000006c6967687420636c69656e74206e6f742073796e632074686520626c6f636b20796574a264697066735822122020f10a3f6af250b9c5c16c5020f1b83db8bc64ed4363d8712e2b85f20f56251164736f6c63430006040033", }, },