Address Details
contract

0xb90c0a9008f1bafc12C751Ae33E05Eb7E0002132

Creator
0xc0de44–ea1a3a at 0x4552fb–a11036
Balance
0 CELO ( )
Locked CELO Balance
0.00 CELO
Voting CELO Balance
0.00 CELO
Pending Unlocked Gold
0.00 CELO
Tokens
Fetching tokens...
Transactions
774,689 Transactions
Transfers
2,792,398 Transfers
Gas Used
230,377,715,291
Last Balance Update
20854030

Contract Creation Code

Verify & Publish
0x60806040523480156200001157600080fd5b5060405162003e1d38038062003e1d833981016040819052620000349162000296565b6000620000496001600160e01b036200010e16565b600080546001600160a01b0319166001600160a01b03831690811782556040519293509160008051602062003dfd833981519152908290a35062000096336001600160e01b036200011216565b620000aa866001600160e01b036200016416565b600280546001600160a01b03199081166001600160a01b039788161790915560038054821695871695909517909455600480548516938616939093179092556005805484169185169190911790556006805490921692169190911790555062000460565b3390565b6200012d816001620001e060201b620020f51790919060201c565b6040516001600160a01b038216907f1a3ee546022dab167e63bf96e233f1bae5a7968c9f32915a4614e2b4d2d1913590600090a250565b6001600160a01b038116620001965760405162461bcd60e51b81526004016200018d9062000407565b60405180910390fd5b600080546040516001600160a01b038085169392169160008051602062003dfd83398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b620001f582826001600160e01b036200023a16565b15620002155760405162461bcd60e51b81526004016200018d90620003f5565b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b038216620002655760405162461bcd60e51b81526004016200018d9062000419565b506001600160a01b03811660009081526020839052604090205460ff165b92915050565b8051620002838162000446565b60008060008060008060c08789031215620002b057600080fd5b6000620002be898962000289565b9650506020620002d189828a0162000289565b9550506040620002e489828a0162000289565b9450506060620002f789828a0162000289565b93505060806200030a89828a0162000289565b92505060a06200031d89828a0162000289565b9150509295509295509295565b600062000339601f836200042b565b7f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500815260200192915050565b6000620003746026836200042b565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b602082015260400192915050565b6000620003be6022836200042b565b7f526f6c65733a206163636f756e7420697320746865207a65726f206164647265815261737360f01b602082015260400192915050565b6020808252810162000283816200032a565b60208082528101620002838162000365565b602080825281016200028381620003af565b90815260200190565b60006001600160a01b03821662000283565b620004518162000434565b81146200045d57600080fd5b50565b61398d80620004706000396000f3fe60806040526004361061015f5760003560e01c80638f32d59b116100c0578063ddcc47d211610074578063f2fde38b11610059578063f2fde38b14610374578063f8bdf9af14610394578063f99753b1146103b45761015f565b8063ddcc47d214610331578063e22d551a1461035f5761015f565b8063bcff33f3116100a5578063bcff33f3146102dc578063cd8d8f7f146102fc578063da3e3397146103115761015f565b80638f32d59b1461029a5780639d4323be146102bc5761015f565b806365f2588a11610117578063715018a6116100fc578063715018a61461024e5780637ab3ed29146102635780638da5cb5b146102785761015f565b806365f2588a146102195780636c63c9ff1461022e5761015f565b806338eaaa2d1161014857806338eaaa2d146101ac57806351b2578c146101cc57806362ffda18146101ec5761015f565b8063050c3e261461016157806310d1e85c1461018c575b005b34801561016d57600080fd5b506101766103c9565b60405161018391906135ec565b60405180910390f35b34801561019857600080fd5b5061015f6101a7366004612bf3565b6103e5565b3480156101b857600080fd5b5061015f6101c7366004612b28565b61080a565b3480156101d857600080fd5b5061015f6101e7366004612bb9565b610828565b3480156101f857600080fd5b5061020c610207366004612c8f565b6108d9565b604051610183919061372c565b34801561022557600080fd5b50610176610c08565b34801561023a57600080fd5b5061015f610249366004612bb9565b610c24565b34801561025a57600080fd5b5061015f610d65565b34801561026f57600080fd5b50610176610e12565b34801561028457600080fd5b5061028d610e2e565b604051610183919061350b565b3480156102a657600080fd5b506102af610e4a565b60405161018391906135de565b3480156102c857600080fd5b5061015f6102d7366004612bb9565b610e88565b3480156102e857600080fd5b5061015f6102f7366004612df0565b611014565b34801561030857600080fd5b5061015f6110bb565b34801561031d57600080fd5b5061015f61032c366004612b6c565b6110c6565b34801561033d57600080fd5b5061035161034c366004612df0565b61115a565b604051610183929190613762565b34801561036b57600080fd5b5061028d611169565b34801561038057600080fd5b5061015f61038f366004612b28565b611185565b3480156103a057600080fd5b506102af6103af366004612b28565b6111cc565b3480156103c057600080fd5b506101766111e5565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60003373ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561042d57600080fd5b505afa158015610441573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104659190810190612b4e565b905060003373ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156104af57600080fd5b505afa1580156104c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104e79190810190612b4e565b905073ffffffffffffffffffffffffffffffffffffffff87163014610541576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105389061365b565b60405180910390fd5b6105496126e3565b61055584860186612d78565b90506105738160600151826020015183600001518460400151611201565b600081608001516105845782610586565b835b90506000803373ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156105d157600080fd5b505afa1580156105e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106099190810190612dad565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff169150836080015161063957905b6000610656856080015161064d578b61064f565b8a5b8484611334565b905060008473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016106939190613519565b60206040518083038186803b1580156106ab57600080fd5b505afa1580156106bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106e39190810190612e0e565b90508181101561071f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105389061362b565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86169063a9059cbb906107739033908690600401613527565b602060405180830381600087803b15801561078d57600080fd5b505af11580156107a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107c59190810190612c71565b6107fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105389061370b565b50505050505050505050505050565b610813336111cc565b61081c57600080fd5b6108258161141a565b50565b6006546040517f69328dec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906369328dec9061088290859085903090600401613550565b602060405180830381600087803b15801561089c57600080fd5b505af11580156108b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108d49190810190612e0e565b505050565b60006108e4336111cc565b6108ed57600080fd5b6040517f70a0823100000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8b16906370a0823190610942903090600401613519565b60206040518083038186803b15801561095a57600080fd5b505afa15801561096e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109929190810190612e0e565b9050610a3460008a8a8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808e0282810182019093528d82529093508d92508c91829185019084908082843760009201919091525050604080516020808d0282810182019093528c82529093508c92508b91829185019084908082843760009201919091525061120192505050565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8c16906370a0823190610a89903090600401613519565b60206040518083038186803b158015610aa157600080fd5b505afa158015610ab5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ad99190810190612e0e565b905060008415610b2f57610af3828463ffffffff61146f16565b90507fb3c7cdbdb235e92bf8889a9ca13cd3c760789fef7d1549668e12e026d9a712508c82604051610b26929190613542565b60405180910390a15b8b73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610b53610e2e565b846040518363ffffffff1660e01b8152600401610b71929190613542565b602060405180830381600087803b158015610b8b57600080fd5b505af1158015610b9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bc39190810190612c71565b610bf9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610538906136cb565b9b9a5050505050505050505050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b6006546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481169263095ea7b392610c7e92909116908590600401613542565b602060405180830381600087803b158015610c9857600080fd5b505af1158015610cac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610cd09190810190612c71565b506006546040517fe8eda9df00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063e8eda9df90610d2f9085908590309061a45590600401613578565b600060405180830381600087803b158015610d4957600080fd5b505af1158015610d5d573d6000803e3d6000fd5b505050505050565b610d6d610e4a565b610da3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610538906136ab565b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6000805473ffffffffffffffffffffffffffffffffffffffff16610e6c6114b8565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b610e90610e4a565b610ec6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610538906136ab565b81600082610f75576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190610f20903090600401613519565b60206040518083038186803b158015610f3857600080fd5b505afa158015610f4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f709190810190612e0e565b610f77565b825b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610f9d610e2e565b836040518363ffffffff1660e01b8152600401610fbb929190613542565b602060405180830381600087803b158015610fd557600080fd5b505af1158015610fe9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061100d9190810190612c71565b5050505050565b61101c610e4a565b611052576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610538906136ab565b60008082116110615747611063565b815b9050600061106f610e2e565b60405190915073ffffffffffffffffffffffffffffffffffffffff82169083156108fc029084906000818181858888f193505050501580156110b5573d6000803e3d6000fd5b50505050565b6110c4336114bc565b565b6110ce610e4a565b611104576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610538906136ab565b6040517f095ea7b3000000000000000000000000000000000000000000000000000000008152839073ffffffffffffffffffffffffffffffffffffffff82169063095ea7b390610fbb9086908690600401613542565b60ff600882901c811692911690565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b61118d610e4a565b6111c3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610538906136ab565b61082581611511565b60006111df60018363ffffffff6115eb16565b92915050565b60045473ffffffffffffffffffffffffffffffffffffffff1681565b825184141561120f576110b5565b60008061122e85878151811061122157fe5b602002602001015161115a565b91509150600084878151811061124057fe5b60200260200101519050600084888151811061125857fe5b60200260200101519050600061127860018a61166790919063ffffffff16565b9050846112935761128e8484848b8b8b876116a6565b611329565b84600114156112ab5761128e8484848b8b8b876117aa565b84600214156112c55761128e8484848b8b8b876001611bca565b84600314156112dd5761128e8484848b8b8b87611da2565b84600414156112f75761128e8484848b8b8b876000611bca565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105389061366b565b505050505050505050565b600080841161136f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105389061364b565b60008311801561137f5750600082115b6113b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105389061368b565b60006113d96103e86113cd868863ffffffff6120a116565b9063ffffffff6120a116565b905060006113f36103e56113cd868963ffffffff61146f16565b9050611410600182848161140357fe5b049063ffffffff61166716565b9695505050505050565b61142b60018263ffffffff6120f516565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f1a3ee546022dab167e63bf96e233f1bae5a7968c9f32915a4614e2b4d2d1913590600090a250565b60006114b183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612186565b9392505050565b3390565b6114cd60018263ffffffff6121cc16565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f402ab93fb62d78b4085129e77b1349346fe3c4eed551496c310859428bdb943190600090a250565b73ffffffffffffffffffffffffffffffffffffffff811661155e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105389061361b565b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600073ffffffffffffffffffffffffffffffffffffffff821661163a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610538906136bb565b5073ffffffffffffffffffffffffffffffffffffffff166000908152602091909152604090205460ff1690565b6000828201838110156114b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105389061363b565b6040805160a081018252848152602080820187905281830185905260608281018590528a1580156080850152935190926116e29290910161371b565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290508773ffffffffffffffffffffffffffffffffffffffff811663022c0d9f8461173b57600061173d565b895b85611748578a61174b565b60005b30866040518563ffffffff1660e01b815260040161176c9493929190613770565b600060405180830381600087803b15801561178657600080fd5b505af115801561179a573d6000803e3d6000fd5b5050505050505050505050505050565b600086905060008060008373ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156117fa57600080fd5b505afa15801561180e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118329190810190612dad565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691508a600014156118e5578373ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156118a657600080fd5b505afa1580156118ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118de9190810190612b4e565b9250611967565b8373ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b15801561192b57600080fd5b505afa15801561193f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119639190810190612b4e565b9250905b6000808a11611a17576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516906370a08231906119c2903090600401613519565b60206040518083038186803b1580156119da57600080fd5b505afa1580156119ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a129190810190612e0e565b611a19565b895b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff85169063a9059cbb90611a709088908590600401613542565b602060405180830381600087803b158015611a8a57600080fd5b505af1158015611a9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ac29190810190612c71565b611af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610538906136db565b6000611b05828585612259565b905073ffffffffffffffffffffffffffffffffffffffff861663022c0d9f8e15611b2f5782611b32565b60005b8f600114611b405783611b43565b60005b604080516020810182526000815290517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168152611b8c9392913091600401613770565b600060405180830381600087803b158015611ba657600080fd5b505af1158015611bba573d6000803e3d6000fd5b505050506107fb878b8b8b611201565b87611ca8576000808711611c7f576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8916906370a0823190611c2a903090600401613519565b60206040518083038186803b158015611c4257600080fd5b505afa158015611c56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c7a9190810190612e0e565b611c81565b865b90508115611c9857611c93888261233f565b611ca2565b611ca28882610c24565b50611d8c565b6000611cb48883612519565b90506000808811611d66576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190611d11903090600401613519565b60206040518083038186803b158015611d2957600080fd5b505afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d619190810190612e0e565b611d68565b875b90508215611d7f57611d7a8282612691565b611d89565b611d898982610828565b50505b611d9882868686611201565b5050505050505050565b8560018814600081611e31578273ffffffffffffffffffffffffffffffffffffffff166322be3de16040518163ffffffff1660e01b815260040160206040518083038186803b158015611df457600080fd5b505afa158015611e08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e2c9190810190612b4e565b611e4b565b60035473ffffffffffffffffffffffffffffffffffffffff165b90506000808911611efd576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190611ea8903090600401613519565b60206040518083038186803b158015611ec057600080fd5b505afa158015611ed4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ef89190810190612e0e565b611eff565b885b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff83169063095ea7b390611f56908d908590600401613542565b602060405180830381600087803b158015611f7057600080fd5b505af1158015611f84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611fa89190810190612c71565b611fde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610538906136fb565b6040517f8ab1a5d400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851690638ab1a5d490612035908490600090889060040161373a565b602060405180830381600087803b15801561204f57600080fd5b505af1158015612063573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120879190810190612e0e565b5061209485898989611201565b5050505050505050505050565b6000826120b0575060006111df565b828202828482816120bd57fe5b04146114b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105389061369b565b6120ff82826115eb565b15612136576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105389061360b565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020919091526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b600081848411156121c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053891906135fa565b505050900390565b6121d682826115eb565b61220c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105389061367b565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020919091526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b6000808411612294576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610538906136eb565b6000831180156122a45750600082115b6122da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105389061368b565b60006122ee856103e563ffffffff6120a116565b90506000612302828563ffffffff6120a116565b905060006123288361231c886103e863ffffffff6120a116565b9063ffffffff61166716565b905080828161233357fe5b04979650505050505050565b60035473ffffffffffffffffffffffffffffffffffffffff8381169116141561240d57600480546040517fd2d0e06600000000000000000000000000000000000000000000000000000000815273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee945073ffffffffffffffffffffffffffffffffffffffff9091169163d2d0e0669184916123d6918791849161a45591016135b6565b6000604051808303818588803b1580156123ef57600080fd5b505af1158015612403573d6000803e3d6000fd5b5050505050612515565b6005546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481169263095ea7b39261246792909116908590600401613542565b602060405180830381600087803b15801561248157600080fd5b505af1158015612495573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124b99190810190612c71565b50600480546040517fd2d0e06600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169163d2d0e06691610d2f918691869161a45591016135b6565b5050565b600081156125df5760055460035473ffffffffffffffffffffffffffffffffffffffff918216916334b3beee91868216911614612556578461256c565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee5b6040518263ffffffff1660e01b8152600401612588919061350b565b60206040518083038186803b1580156125a057600080fd5b505afa1580156125b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125d89190810190612b4e565b90506111df565b6006546040517f35ea6a7500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906335ea6a759061263590869060040161350b565b6101806040518083038186803b15801561264e57600080fd5b505afa158015612662573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126869190810190612d59565b60e0015190506111df565b6040517fdb006a7500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83169063db006a7590610d2f90849060040161372c565b6040518060a00160405280606081526020016060815260200160608152602001600081526020016000151581525090565b80356111df816138ee565b80516111df816138ee565b60008083601f84011261273c57600080fd5b50813567ffffffffffffffff81111561275457600080fd5b60208301915083602082028301111561276c57600080fd5b9250929050565b600082601f83011261278457600080fd5b8135612797612792826137d1565b6137aa565b915081818352602084019350602081019050838560208402820111156127bc57600080fd5b60005b838110156127e857816127d28882612714565b84525060209283019291909101906001016127bf565b5050505092915050565b600082601f83011261280357600080fd5b8135612811612792826137d1565b9150818183526020840193506020810190508385602084028201111561283657600080fd5b60005b838110156127e8578161284c8882612af1565b8452506020928301929190910190600101612839565b80356111df81613902565b80516111df81613902565b60008083601f84011261288a57600080fd5b50813567ffffffffffffffff8111156128a257600080fd5b60208301915083600182028301111561276c57600080fd5b80356111df8161390b565b6000602082840312156128d757600080fd5b6128e160206137aa565b905060006128ef8484612afc565b82525092915050565b6000610180828403121561290b57600080fd5b6129166101806137aa565b9050600061292484846128c5565b825250602061293584848301612ae6565b602083015250604061294984828501612ae6565b604083015250606061295d84828501612ae6565b606083015250608061297184828501612ae6565b60808301525060a061298584828501612ae6565b60a08301525060c061299984828501612b12565b60c08301525060e06129ad8482850161271f565b60e0830152506101006129c28482850161271f565b610100830152506101206129d88482850161271f565b610120830152506101406129ee8482850161271f565b61014083015250610160612a0484828501612b1d565b6101608301525092915050565b600060a08284031215612a2357600080fd5b612a2d60a06137aa565b9050813567ffffffffffffffff811115612a4657600080fd5b612a5284828501612773565b825250602082013567ffffffffffffffff811115612a6f57600080fd5b612a7b848285016127f2565b602083015250604082013567ffffffffffffffff811115612a9b57600080fd5b612aa7848285016127f2565b6040830152506060612abb84828501612af1565b6060830152506080612acf84828501612862565b60808301525092915050565b80516111df81613914565b80516111df8161391d565b80356111df81613926565b80516111df81613926565b80516111df8161392f565b80516111df81613938565b80516111df81613941565b600060208284031215612b3a57600080fd5b6000612b468484612714565b949350505050565b600060208284031215612b6057600080fd5b6000612b46848461271f565b600080600060608486031215612b8157600080fd5b6000612b8d8686612714565b9350506020612b9e86828701612714565b9250506040612baf86828701612af1565b9150509250925092565b60008060408385031215612bcc57600080fd5b6000612bd88585612714565b9250506020612be985828601612af1565b9150509250929050565b600080600080600060808688031215612c0b57600080fd5b6000612c178888612714565b9550506020612c2888828901612af1565b9450506040612c3988828901612af1565b935050606086013567ffffffffffffffff811115612c5657600080fd5b612c6288828901612878565b92509250509295509295909350565b600060208284031215612c8357600080fd5b6000612b46848461286d565b60008060008060008060008060a0898b031215612cab57600080fd5b6000612cb78b8b6128ba565b985050602089013567ffffffffffffffff811115612cd457600080fd5b612ce08b828c0161272a565b9750975050604089013567ffffffffffffffff811115612cff57600080fd5b612d0b8b828c0161272a565b9550955050606089013567ffffffffffffffff811115612d2a57600080fd5b612d368b828c0161272a565b93509350506080612d498b828c01612862565b9150509295985092959890939650565b60006101808284031215612d6c57600080fd5b6000612b4684846128f8565b600060208284031215612d8a57600080fd5b813567ffffffffffffffff811115612da157600080fd5b612b4684828501612a11565b600080600060608486031215612dc257600080fd5b6000612dce8686612adb565b9350506020612ddf86828701612adb565b9250506040612baf86828701612b07565b600060208284031215612e0257600080fd5b6000612b468484612af1565b600060208284031215612e2057600080fd5b6000612b468484612afc565b6000612e388383612e5b565b505060200190565b6000612e388383613502565b612e5581613884565b82525050565b612e5581613805565b6000612e6f826137f8565b612e7981856137fc565b9350612e84836137f2565b8060005b83811015612eb2578151612e9c8882612e2c565b9750612ea7836137f2565b925050600101612e88565b509495945050505050565b6000612ec8826137f8565b612ed281856137fc565b9350612edd836137f2565b8060005b83811015612eb2578151612ef58882612e40565b9750612f00836137f2565b925050600101612ee1565b612e5581613810565b6000612f1f826137f8565b612f2981856137fc565b9350612f3981856020860161389a565b612f42816138c6565b9093019392505050565b612e5581613815565b612e558161388f565b6000612f6b601f836137fc565b7f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500815260200192915050565b6000612fa46026836137fc565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181527f6464726573730000000000000000000000000000000000000000000000000000602082015260400192915050565b60006130036020836137fc565b7f526570617920746f6b656e2062616c616e636520696e73756666696369656e74815260200192915050565b600061303c601b836137fc565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613075602c836137fc565b7f556e697377617056324c6962726172793a20494e53554646494349454e545f4f81527f55545055545f414d4f554e540000000000000000000000000000000000000000602082015260400192915050565b60006130d46023836137fc565b7f466c61736820737761702073656e646572206e6f74207468697320636f6e747281527f6163740000000000000000000000000000000000000000000000000000000000602082015260400192915050565b60006131336013836137fc565b7f496e76616c696420616374696f6e20636f646500000000000000000000000000815260200192915050565b600061316c6021836137fc565b7f526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c81527f6500000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b60006131cb6028836137fc565b7f556e697377617056324c6962726172793a20494e53554646494349454e545f4c81527f4951554944495459000000000000000000000000000000000000000000000000602082015260400192915050565b600061322a6021836137fc565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b60006132896020836137fc565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b60006132c26022836137fc565b7f526f6c65733a206163636f756e7420697320746865207a65726f20616464726581527f7373000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b60006133216020836137fc565b7f46696e616c2070726f666974207472616e73666572206f7574206661696c6564815260200192915050565b600061335a601d836137fc565b7f5472616e7366657220696e20746f2075626573776170206661696c6564000000815260200192915050565b6000613393602b836137fc565b7f556e697377617056324c6962726172793a20494e53554646494349454e545f4981527f4e5055545f414d4f554e54000000000000000000000000000000000000000000602082015260400192915050565b60006133f26018836137fc565b7f417070726f76616c20746f206d656e746f206661696c65640000000000000000815260200192915050565b600061342b6023836137fc565b7f466c617368207377617020706179206261636b207472616e736665722066616981527f6c65640000000000000000000000000000000000000000000000000000000000602082015260400192915050565b805160a0808452600091908401906134958282612e64565b915050602083015184820360208601526134af8282612ebd565b915050604083015184820360408601526134c98282612ebd565b91505060608301516134de6060860182613502565b5060808301516134f16080860182612f0b565b509392505050565b612e5581613848565b612e5581613868565b602081016111df8284612e5b565b602081016111df8284612e4c565b604081016135358285612e4c565b6114b16020830184613502565b604081016135358285612e5b565b6060810161355e8286612e5b565b61356b6020830185613502565b612b466040830184612e4c565b608081016135868287612e5b565b6135936020830186613502565b6135a06040830185612e4c565b6135ad60608301846134f9565b95945050505050565b606081016135c48286612e5b565b6135d16020830185613502565b612b4660408301846134f9565b602081016111df8284612f0b565b602081016111df8284612f4c565b602080825281016114b18184612f14565b602080825281016111df81612f5e565b602080825281016111df81612f97565b602080825281016111df81612ff6565b602080825281016111df8161302f565b602080825281016111df81613068565b602080825281016111df816130c7565b602080825281016111df81613126565b602080825281016111df8161315f565b602080825281016111df816131be565b602080825281016111df8161321d565b602080825281016111df8161327c565b602080825281016111df816132b5565b602080825281016111df81613314565b602080825281016111df8161334d565b602080825281016111df81613386565b602080825281016111df816133e5565b602080825281016111df8161341e565b602080825281016114b1818461347d565b602081016111df8284613502565b606081016137488286613502565b6137556020830185612f55565b612b466040830184612f0b565b604081016135358285613502565b6080810161377e8287613502565b61378b6020830186613502565b6137986040830185612e4c565b81810360608301526114108184612f14565b60405181810167ffffffffffffffff811182821017156137c957600080fd5b604052919050565b600067ffffffffffffffff8211156137e857600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b60006111df8261384f565b151590565b60006111df82613805565b6dffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1690565b61ffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b90565b63ffffffff1690565b64ffffffffff1690565b60ff1690565b60006111df82613815565b60006111df82613868565b60005b838110156138b557818101518382015260200161389d565b838111156110b55750506000910152565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b6138f781613805565b811461082557600080fd5b6138f781613810565b6138f781613815565b6138f781613820565b6138f781613833565b6138f781613868565b6138f78161386b565b6138f781613874565b6138f78161387e56fea365627a7a72315820eef0310a4c72137e5b82795cd6d9b64eb64727fbf1495943b2e74375427a3bb96c6578706572696d656e74616cf564736f6c634300051000408be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0000000000000000000000000c0de4410b395c864debceb80a77afb34c2ea1a3a00000000000000000000000062d5b84be28a183abb507e125b384122d2c25fae000000000000000000000000471ece3750da237f93b8e339c536989b8978a438000000000000000000000000c1548f5aa1d76cdcab7385fa6b5cea70f941e535000000000000000000000000af106f8d4756490e7069027315f4886cc94a8f73000000000000000000000000970b12522ca9b4054807a2c5b736149a5be6f670

Deployed ByteCode

0x60806040526004361061015f5760003560e01c80638f32d59b116100c0578063ddcc47d211610074578063f2fde38b11610059578063f2fde38b14610374578063f8bdf9af14610394578063f99753b1146103b45761015f565b8063ddcc47d214610331578063e22d551a1461035f5761015f565b8063bcff33f3116100a5578063bcff33f3146102dc578063cd8d8f7f146102fc578063da3e3397146103115761015f565b80638f32d59b1461029a5780639d4323be146102bc5761015f565b806365f2588a11610117578063715018a6116100fc578063715018a61461024e5780637ab3ed29146102635780638da5cb5b146102785761015f565b806365f2588a146102195780636c63c9ff1461022e5761015f565b806338eaaa2d1161014857806338eaaa2d146101ac57806351b2578c146101cc57806362ffda18146101ec5761015f565b8063050c3e261461016157806310d1e85c1461018c575b005b34801561016d57600080fd5b506101766103c9565b60405161018391906135ec565b60405180910390f35b34801561019857600080fd5b5061015f6101a7366004612bf3565b6103e5565b3480156101b857600080fd5b5061015f6101c7366004612b28565b61080a565b3480156101d857600080fd5b5061015f6101e7366004612bb9565b610828565b3480156101f857600080fd5b5061020c610207366004612c8f565b6108d9565b604051610183919061372c565b34801561022557600080fd5b50610176610c08565b34801561023a57600080fd5b5061015f610249366004612bb9565b610c24565b34801561025a57600080fd5b5061015f610d65565b34801561026f57600080fd5b50610176610e12565b34801561028457600080fd5b5061028d610e2e565b604051610183919061350b565b3480156102a657600080fd5b506102af610e4a565b60405161018391906135de565b3480156102c857600080fd5b5061015f6102d7366004612bb9565b610e88565b3480156102e857600080fd5b5061015f6102f7366004612df0565b611014565b34801561030857600080fd5b5061015f6110bb565b34801561031d57600080fd5b5061015f61032c366004612b6c565b6110c6565b34801561033d57600080fd5b5061035161034c366004612df0565b61115a565b604051610183929190613762565b34801561036b57600080fd5b5061028d611169565b34801561038057600080fd5b5061015f61038f366004612b28565b611185565b3480156103a057600080fd5b506102af6103af366004612b28565b6111cc565b3480156103c057600080fd5b506101766111e5565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60003373ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561042d57600080fd5b505afa158015610441573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104659190810190612b4e565b905060003373ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156104af57600080fd5b505afa1580156104c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104e79190810190612b4e565b905073ffffffffffffffffffffffffffffffffffffffff87163014610541576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105389061365b565b60405180910390fd5b6105496126e3565b61055584860186612d78565b90506105738160600151826020015183600001518460400151611201565b600081608001516105845782610586565b835b90506000803373ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156105d157600080fd5b505afa1580156105e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106099190810190612dad565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff169150836080015161063957905b6000610656856080015161064d578b61064f565b8a5b8484611334565b905060008473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016106939190613519565b60206040518083038186803b1580156106ab57600080fd5b505afa1580156106bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106e39190810190612e0e565b90508181101561071f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105389061362b565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86169063a9059cbb906107739033908690600401613527565b602060405180830381600087803b15801561078d57600080fd5b505af11580156107a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107c59190810190612c71565b6107fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105389061370b565b50505050505050505050505050565b610813336111cc565b61081c57600080fd5b6108258161141a565b50565b6006546040517f69328dec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906369328dec9061088290859085903090600401613550565b602060405180830381600087803b15801561089c57600080fd5b505af11580156108b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108d49190810190612e0e565b505050565b60006108e4336111cc565b6108ed57600080fd5b6040517f70a0823100000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8b16906370a0823190610942903090600401613519565b60206040518083038186803b15801561095a57600080fd5b505afa15801561096e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109929190810190612e0e565b9050610a3460008a8a8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808e0282810182019093528d82529093508d92508c91829185019084908082843760009201919091525050604080516020808d0282810182019093528c82529093508c92508b91829185019084908082843760009201919091525061120192505050565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8c16906370a0823190610a89903090600401613519565b60206040518083038186803b158015610aa157600080fd5b505afa158015610ab5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ad99190810190612e0e565b905060008415610b2f57610af3828463ffffffff61146f16565b90507fb3c7cdbdb235e92bf8889a9ca13cd3c760789fef7d1549668e12e026d9a712508c82604051610b26929190613542565b60405180910390a15b8b73ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610b53610e2e565b846040518363ffffffff1660e01b8152600401610b71929190613542565b602060405180830381600087803b158015610b8b57600080fd5b505af1158015610b9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bc39190810190612c71565b610bf9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610538906136cb565b9b9a5050505050505050505050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b6006546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481169263095ea7b392610c7e92909116908590600401613542565b602060405180830381600087803b158015610c9857600080fd5b505af1158015610cac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610cd09190810190612c71565b506006546040517fe8eda9df00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063e8eda9df90610d2f9085908590309061a45590600401613578565b600060405180830381600087803b158015610d4957600080fd5b505af1158015610d5d573d6000803e3d6000fd5b505050505050565b610d6d610e4a565b610da3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610538906136ab565b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6000805473ffffffffffffffffffffffffffffffffffffffff16610e6c6114b8565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b610e90610e4a565b610ec6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610538906136ab565b81600082610f75576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190610f20903090600401613519565b60206040518083038186803b158015610f3857600080fd5b505afa158015610f4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f709190810190612e0e565b610f77565b825b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610f9d610e2e565b836040518363ffffffff1660e01b8152600401610fbb929190613542565b602060405180830381600087803b158015610fd557600080fd5b505af1158015610fe9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061100d9190810190612c71565b5050505050565b61101c610e4a565b611052576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610538906136ab565b60008082116110615747611063565b815b9050600061106f610e2e565b60405190915073ffffffffffffffffffffffffffffffffffffffff82169083156108fc029084906000818181858888f193505050501580156110b5573d6000803e3d6000fd5b50505050565b6110c4336114bc565b565b6110ce610e4a565b611104576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610538906136ab565b6040517f095ea7b3000000000000000000000000000000000000000000000000000000008152839073ffffffffffffffffffffffffffffffffffffffff82169063095ea7b390610fbb9086908690600401613542565b60ff600882901c811692911690565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b61118d610e4a565b6111c3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610538906136ab565b61082581611511565b60006111df60018363ffffffff6115eb16565b92915050565b60045473ffffffffffffffffffffffffffffffffffffffff1681565b825184141561120f576110b5565b60008061122e85878151811061122157fe5b602002602001015161115a565b91509150600084878151811061124057fe5b60200260200101519050600084888151811061125857fe5b60200260200101519050600061127860018a61166790919063ffffffff16565b9050846112935761128e8484848b8b8b876116a6565b611329565b84600114156112ab5761128e8484848b8b8b876117aa565b84600214156112c55761128e8484848b8b8b876001611bca565b84600314156112dd5761128e8484848b8b8b87611da2565b84600414156112f75761128e8484848b8b8b876000611bca565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105389061366b565b505050505050505050565b600080841161136f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105389061364b565b60008311801561137f5750600082115b6113b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105389061368b565b60006113d96103e86113cd868863ffffffff6120a116565b9063ffffffff6120a116565b905060006113f36103e56113cd868963ffffffff61146f16565b9050611410600182848161140357fe5b049063ffffffff61166716565b9695505050505050565b61142b60018263ffffffff6120f516565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f1a3ee546022dab167e63bf96e233f1bae5a7968c9f32915a4614e2b4d2d1913590600090a250565b60006114b183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612186565b9392505050565b3390565b6114cd60018263ffffffff6121cc16565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f402ab93fb62d78b4085129e77b1349346fe3c4eed551496c310859428bdb943190600090a250565b73ffffffffffffffffffffffffffffffffffffffff811661155e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105389061361b565b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600073ffffffffffffffffffffffffffffffffffffffff821661163a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610538906136bb565b5073ffffffffffffffffffffffffffffffffffffffff166000908152602091909152604090205460ff1690565b6000828201838110156114b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105389061363b565b6040805160a081018252848152602080820187905281830185905260608281018590528a1580156080850152935190926116e29290910161371b565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290508773ffffffffffffffffffffffffffffffffffffffff811663022c0d9f8461173b57600061173d565b895b85611748578a61174b565b60005b30866040518563ffffffff1660e01b815260040161176c9493929190613770565b600060405180830381600087803b15801561178657600080fd5b505af115801561179a573d6000803e3d6000fd5b5050505050505050505050505050565b600086905060008060008373ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156117fa57600080fd5b505afa15801561180e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118329190810190612dad565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691508a600014156118e5578373ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156118a657600080fd5b505afa1580156118ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118de9190810190612b4e565b9250611967565b8373ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b15801561192b57600080fd5b505afa15801561193f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119639190810190612b4e565b9250905b6000808a11611a17576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516906370a08231906119c2903090600401613519565b60206040518083038186803b1580156119da57600080fd5b505afa1580156119ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a129190810190612e0e565b611a19565b895b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff85169063a9059cbb90611a709088908590600401613542565b602060405180830381600087803b158015611a8a57600080fd5b505af1158015611a9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ac29190810190612c71565b611af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610538906136db565b6000611b05828585612259565b905073ffffffffffffffffffffffffffffffffffffffff861663022c0d9f8e15611b2f5782611b32565b60005b8f600114611b405783611b43565b60005b604080516020810182526000815290517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168152611b8c9392913091600401613770565b600060405180830381600087803b158015611ba657600080fd5b505af1158015611bba573d6000803e3d6000fd5b505050506107fb878b8b8b611201565b87611ca8576000808711611c7f576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8916906370a0823190611c2a903090600401613519565b60206040518083038186803b158015611c4257600080fd5b505afa158015611c56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c7a9190810190612e0e565b611c81565b865b90508115611c9857611c93888261233f565b611ca2565b611ca28882610c24565b50611d8c565b6000611cb48883612519565b90506000808811611d66576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190611d11903090600401613519565b60206040518083038186803b158015611d2957600080fd5b505afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d619190810190612e0e565b611d68565b875b90508215611d7f57611d7a8282612691565b611d89565b611d898982610828565b50505b611d9882868686611201565b5050505050505050565b8560018814600081611e31578273ffffffffffffffffffffffffffffffffffffffff166322be3de16040518163ffffffff1660e01b815260040160206040518083038186803b158015611df457600080fd5b505afa158015611e08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e2c9190810190612b4e565b611e4b565b60035473ffffffffffffffffffffffffffffffffffffffff165b90506000808911611efd576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190611ea8903090600401613519565b60206040518083038186803b158015611ec057600080fd5b505afa158015611ed4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ef89190810190612e0e565b611eff565b885b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff83169063095ea7b390611f56908d908590600401613542565b602060405180830381600087803b158015611f7057600080fd5b505af1158015611f84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611fa89190810190612c71565b611fde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610538906136fb565b6040517f8ab1a5d400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851690638ab1a5d490612035908490600090889060040161373a565b602060405180830381600087803b15801561204f57600080fd5b505af1158015612063573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120879190810190612e0e565b5061209485898989611201565b5050505050505050505050565b6000826120b0575060006111df565b828202828482816120bd57fe5b04146114b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105389061369b565b6120ff82826115eb565b15612136576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105389061360b565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020919091526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b600081848411156121c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053891906135fa565b505050900390565b6121d682826115eb565b61220c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105389061367b565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020919091526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b6000808411612294576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610538906136eb565b6000831180156122a45750600082115b6122da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105389061368b565b60006122ee856103e563ffffffff6120a116565b90506000612302828563ffffffff6120a116565b905060006123288361231c886103e863ffffffff6120a116565b9063ffffffff61166716565b905080828161233357fe5b04979650505050505050565b60035473ffffffffffffffffffffffffffffffffffffffff8381169116141561240d57600480546040517fd2d0e06600000000000000000000000000000000000000000000000000000000815273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee945073ffffffffffffffffffffffffffffffffffffffff9091169163d2d0e0669184916123d6918791849161a45591016135b6565b6000604051808303818588803b1580156123ef57600080fd5b505af1158015612403573d6000803e3d6000fd5b5050505050612515565b6005546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481169263095ea7b39261246792909116908590600401613542565b602060405180830381600087803b15801561248157600080fd5b505af1158015612495573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124b99190810190612c71565b50600480546040517fd2d0e06600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169163d2d0e06691610d2f918691869161a45591016135b6565b5050565b600081156125df5760055460035473ffffffffffffffffffffffffffffffffffffffff918216916334b3beee91868216911614612556578461256c565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee5b6040518263ffffffff1660e01b8152600401612588919061350b565b60206040518083038186803b1580156125a057600080fd5b505afa1580156125b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125d89190810190612b4e565b90506111df565b6006546040517f35ea6a7500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906335ea6a759061263590869060040161350b565b6101806040518083038186803b15801561264e57600080fd5b505afa158015612662573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126869190810190612d59565b60e0015190506111df565b6040517fdb006a7500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83169063db006a7590610d2f90849060040161372c565b6040518060a00160405280606081526020016060815260200160608152602001600081526020016000151581525090565b80356111df816138ee565b80516111df816138ee565b60008083601f84011261273c57600080fd5b50813567ffffffffffffffff81111561275457600080fd5b60208301915083602082028301111561276c57600080fd5b9250929050565b600082601f83011261278457600080fd5b8135612797612792826137d1565b6137aa565b915081818352602084019350602081019050838560208402820111156127bc57600080fd5b60005b838110156127e857816127d28882612714565b84525060209283019291909101906001016127bf565b5050505092915050565b600082601f83011261280357600080fd5b8135612811612792826137d1565b9150818183526020840193506020810190508385602084028201111561283657600080fd5b60005b838110156127e8578161284c8882612af1565b8452506020928301929190910190600101612839565b80356111df81613902565b80516111df81613902565b60008083601f84011261288a57600080fd5b50813567ffffffffffffffff8111156128a257600080fd5b60208301915083600182028301111561276c57600080fd5b80356111df8161390b565b6000602082840312156128d757600080fd5b6128e160206137aa565b905060006128ef8484612afc565b82525092915050565b6000610180828403121561290b57600080fd5b6129166101806137aa565b9050600061292484846128c5565b825250602061293584848301612ae6565b602083015250604061294984828501612ae6565b604083015250606061295d84828501612ae6565b606083015250608061297184828501612ae6565b60808301525060a061298584828501612ae6565b60a08301525060c061299984828501612b12565b60c08301525060e06129ad8482850161271f565b60e0830152506101006129c28482850161271f565b610100830152506101206129d88482850161271f565b610120830152506101406129ee8482850161271f565b61014083015250610160612a0484828501612b1d565b6101608301525092915050565b600060a08284031215612a2357600080fd5b612a2d60a06137aa565b9050813567ffffffffffffffff811115612a4657600080fd5b612a5284828501612773565b825250602082013567ffffffffffffffff811115612a6f57600080fd5b612a7b848285016127f2565b602083015250604082013567ffffffffffffffff811115612a9b57600080fd5b612aa7848285016127f2565b6040830152506060612abb84828501612af1565b6060830152506080612acf84828501612862565b60808301525092915050565b80516111df81613914565b80516111df8161391d565b80356111df81613926565b80516111df81613926565b80516111df8161392f565b80516111df81613938565b80516111df81613941565b600060208284031215612b3a57600080fd5b6000612b468484612714565b949350505050565b600060208284031215612b6057600080fd5b6000612b46848461271f565b600080600060608486031215612b8157600080fd5b6000612b8d8686612714565b9350506020612b9e86828701612714565b9250506040612baf86828701612af1565b9150509250925092565b60008060408385031215612bcc57600080fd5b6000612bd88585612714565b9250506020612be985828601612af1565b9150509250929050565b600080600080600060808688031215612c0b57600080fd5b6000612c178888612714565b9550506020612c2888828901612af1565b9450506040612c3988828901612af1565b935050606086013567ffffffffffffffff811115612c5657600080fd5b612c6288828901612878565b92509250509295509295909350565b600060208284031215612c8357600080fd5b6000612b46848461286d565b60008060008060008060008060a0898b031215612cab57600080fd5b6000612cb78b8b6128ba565b985050602089013567ffffffffffffffff811115612cd457600080fd5b612ce08b828c0161272a565b9750975050604089013567ffffffffffffffff811115612cff57600080fd5b612d0b8b828c0161272a565b9550955050606089013567ffffffffffffffff811115612d2a57600080fd5b612d368b828c0161272a565b93509350506080612d498b828c01612862565b9150509295985092959890939650565b60006101808284031215612d6c57600080fd5b6000612b4684846128f8565b600060208284031215612d8a57600080fd5b813567ffffffffffffffff811115612da157600080fd5b612b4684828501612a11565b600080600060608486031215612dc257600080fd5b6000612dce8686612adb565b9350506020612ddf86828701612adb565b9250506040612baf86828701612b07565b600060208284031215612e0257600080fd5b6000612b468484612af1565b600060208284031215612e2057600080fd5b6000612b468484612afc565b6000612e388383612e5b565b505060200190565b6000612e388383613502565b612e5581613884565b82525050565b612e5581613805565b6000612e6f826137f8565b612e7981856137fc565b9350612e84836137f2565b8060005b83811015612eb2578151612e9c8882612e2c565b9750612ea7836137f2565b925050600101612e88565b509495945050505050565b6000612ec8826137f8565b612ed281856137fc565b9350612edd836137f2565b8060005b83811015612eb2578151612ef58882612e40565b9750612f00836137f2565b925050600101612ee1565b612e5581613810565b6000612f1f826137f8565b612f2981856137fc565b9350612f3981856020860161389a565b612f42816138c6565b9093019392505050565b612e5581613815565b612e558161388f565b6000612f6b601f836137fc565b7f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500815260200192915050565b6000612fa46026836137fc565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181527f6464726573730000000000000000000000000000000000000000000000000000602082015260400192915050565b60006130036020836137fc565b7f526570617920746f6b656e2062616c616e636520696e73756666696369656e74815260200192915050565b600061303c601b836137fc565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613075602c836137fc565b7f556e697377617056324c6962726172793a20494e53554646494349454e545f4f81527f55545055545f414d4f554e540000000000000000000000000000000000000000602082015260400192915050565b60006130d46023836137fc565b7f466c61736820737761702073656e646572206e6f74207468697320636f6e747281527f6163740000000000000000000000000000000000000000000000000000000000602082015260400192915050565b60006131336013836137fc565b7f496e76616c696420616374696f6e20636f646500000000000000000000000000815260200192915050565b600061316c6021836137fc565b7f526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c81527f6500000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b60006131cb6028836137fc565b7f556e697377617056324c6962726172793a20494e53554646494349454e545f4c81527f4951554944495459000000000000000000000000000000000000000000000000602082015260400192915050565b600061322a6021836137fc565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b60006132896020836137fc565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b60006132c26022836137fc565b7f526f6c65733a206163636f756e7420697320746865207a65726f20616464726581527f7373000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b60006133216020836137fc565b7f46696e616c2070726f666974207472616e73666572206f7574206661696c6564815260200192915050565b600061335a601d836137fc565b7f5472616e7366657220696e20746f2075626573776170206661696c6564000000815260200192915050565b6000613393602b836137fc565b7f556e697377617056324c6962726172793a20494e53554646494349454e545f4981527f4e5055545f414d4f554e54000000000000000000000000000000000000000000602082015260400192915050565b60006133f26018836137fc565b7f417070726f76616c20746f206d656e746f206661696c65640000000000000000815260200192915050565b600061342b6023836137fc565b7f466c617368207377617020706179206261636b207472616e736665722066616981527f6c65640000000000000000000000000000000000000000000000000000000000602082015260400192915050565b805160a0808452600091908401906134958282612e64565b915050602083015184820360208601526134af8282612ebd565b915050604083015184820360408601526134c98282612ebd565b91505060608301516134de6060860182613502565b5060808301516134f16080860182612f0b565b509392505050565b612e5581613848565b612e5581613868565b602081016111df8284612e5b565b602081016111df8284612e4c565b604081016135358285612e4c565b6114b16020830184613502565b604081016135358285612e5b565b6060810161355e8286612e5b565b61356b6020830185613502565b612b466040830184612e4c565b608081016135868287612e5b565b6135936020830186613502565b6135a06040830185612e4c565b6135ad60608301846134f9565b95945050505050565b606081016135c48286612e5b565b6135d16020830185613502565b612b4660408301846134f9565b602081016111df8284612f0b565b602081016111df8284612f4c565b602080825281016114b18184612f14565b602080825281016111df81612f5e565b602080825281016111df81612f97565b602080825281016111df81612ff6565b602080825281016111df8161302f565b602080825281016111df81613068565b602080825281016111df816130c7565b602080825281016111df81613126565b602080825281016111df8161315f565b602080825281016111df816131be565b602080825281016111df8161321d565b602080825281016111df8161327c565b602080825281016111df816132b5565b602080825281016111df81613314565b602080825281016111df8161334d565b602080825281016111df81613386565b602080825281016111df816133e5565b602080825281016111df8161341e565b602080825281016114b1818461347d565b602081016111df8284613502565b606081016137488286613502565b6137556020830185612f55565b612b466040830184612f0b565b604081016135358285613502565b6080810161377e8287613502565b61378b6020830186613502565b6137986040830185612e4c565b81810360608301526114108184612f14565b60405181810167ffffffffffffffff811182821017156137c957600080fd5b604052919050565b600067ffffffffffffffff8211156137e857600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b60006111df8261384f565b151590565b60006111df82613805565b6dffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1690565b61ffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b90565b63ffffffff1690565b64ffffffffff1690565b60ff1690565b60006111df82613815565b60006111df82613868565b60005b838110156138b557818101518382015260200161389d565b838111156110b55750506000910152565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b6138f781613805565b811461082557600080fd5b6138f781613810565b6138f781613815565b6138f781613820565b6138f781613833565b6138f781613868565b6138f78161386b565b6138f781613874565b6138f78161387e56fea365627a7a72315820eef0310a4c72137e5b82795cd6d9b64eb64727fbf1495943b2e74375427a3bb96c6578706572696d656e74616cf564736f6c63430005100040