0x60806040526004361061024a5760003560e01c806349bd5a5e116101395780638ee88c53116100b6578063a9059cbb1161007a578063a9059cbb146106ff578063c9567bf91461071f578063dd62ed3e14610734578063ea2f0b371461077a578063f2fde38b1461079a578063f375b253146107ba57600080fd5b80638ee88c531461066a578063906e9dd01461068a57806395d89b41146106aa578063a457c2d7146106bf578063a5ece941146106df57600080fd5b806370a08231116100fd57806370a08231146105c9578063715018a6146105e95780638203f5fe146105fe57806388f82020146106135780638da5cb5b1461064c57600080fd5b806349bd5a5e1461050157806352390c02146105215780635342acb414610541578063610d5b191461057a5780636bc87c3a146105b357600080fd5b8063313ce567116101c75780633bd5d1731161018b5780633bd5d17314610461578063437823ec146104815780634549b039146104a157806345596e2e146104c1578063457c194c146104e157600080fd5b8063313ce567146103c9578063362a3c5d146103eb5780633685d4191461040b578063395093511461042b5780633b124fe71461044b57600080fd5b806318160ddd1161020e57806318160ddd1461032a57806322976e0d1461033f57806323b872dd1461035557806327c8f835146103755780632d838119146103a957600080fd5b8063061c82d01461025657806306fdde0314610278578063095ea7b3146102a357806313114a9d146102d35780631694505e146102f257600080fd5b3661025157005b600080fd5b34801561026257600080fd5b50610276610271366004612b2b565b6107da565b005b34801561028457600080fd5b5061028d610812565b60405161029a9190612bae565b60405180910390f35b3480156102af57600080fd5b506102c36102be366004612b00565b6108a4565b604051901515815260200161029a565b3480156102df57600080fd5b50600e545b60405190815260200161029a565b3480156102fe57600080fd5b50601a54610312906001600160a01b031681565b6040516001600160a01b03909116815260200161029a565b34801561033657600080fd5b50600c546102e4565b34801561034b57600080fd5b506102e460165481565b34801561036157600080fd5b506102c3610370366004612ac0565b6108bb565b34801561038157600080fd5b506103127f000000000000000000000000000000000000000000000000000000000000dead81565b3480156103b557600080fd5b506102e46103c4366004612b2b565b610924565b3480156103d557600080fd5b5060115460405160ff909116815260200161029a565b3480156103f757600080fd5b50610276610406366004612a50565b6109a8565b34801561041757600080fd5b50610276610426366004612a50565b610b8e565b34801561043757600080fd5b506102c3610446366004612b00565b610d53565b34801561045757600080fd5b506102e460125481565b34801561046d57600080fd5b5061027661047c366004612b2b565b610d89565b34801561048d57600080fd5b5061027661049c366004612a50565b610e75565b3480156104ad57600080fd5b506102e46104bc366004612b43565b610ec3565b3480156104cd57600080fd5b506102766104dc366004612b2b565b610f52565b3480156104ed57600080fd5b506102766104fc366004612b2b565b610f81565b34801561050d57600080fd5b50601b54610312906001600160a01b031681565b34801561052d57600080fd5b5061027661053c366004612a50565b610fb0565b34801561054d57600080fd5b506102c361055c366004612a50565b6001600160a01b031660009081526009602052604090205460ff1690565b34801561058657600080fd5b506102c3610595366004612a50565b6001600160a01b031660009081526007602052604090205460ff1690565b3480156105bf57600080fd5b506102e460145481565b3480156105d557600080fd5b506102e46105e4366004612a50565b611103565b3480156105f557600080fd5b50610276611162565b34801561060a57600080fd5b506102766111d6565b34801561061f57600080fd5b506102c361062e366004612a50565b6001600160a01b03166000908152600a602052604090205460ff1690565b34801561065857600080fd5b506000546001600160a01b0316610312565b34801561067657600080fd5b50610276610685366004612b2b565b61140e565b34801561069657600080fd5b506102766106a5366004612a50565b61143d565b3480156106b657600080fd5b5061028d611489565b3480156106cb57600080fd5b506102c36106da366004612b00565b611498565b3480156106eb57600080fd5b50600354610312906001600160a01b031681565b34801561070b57600080fd5b506102c361071a366004612b00565b6114e7565b34801561072b57600080fd5b506102766114f4565b34801561074057600080fd5b506102e461074f366004612a88565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561078657600080fd5b50610276610795366004612a50565b611546565b3480156107a657600080fd5b506102766107b5366004612a50565b611591565b3480156107c657600080fd5b506102766107d5366004612a50565b61167b565b6000546001600160a01b0316331461080d5760405162461bcd60e51b815260040161080490612c01565b60405180910390fd5b601255565b6060600f805461082190612d01565b80601f016020809104026020016040519081016040528092919081815260200182805461084d90612d01565b801561089a5780601f1061086f5761010080835404028352916020019161089a565b820191906000526020600020905b81548152906001019060200180831161087d57829003601f168201915b5050505050905090565b60006108b13384846117e1565b5060015b92915050565b60006108c8848484611905565b61091a843361091585604051806060016040528060288152602001612d86602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190611d54565b6117e1565b5060019392505050565b6000600d5482111561098b5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610804565b6000610995611d8e565b90506109a18382611db1565b9392505050565b6000546001600160a01b031633146109d25760405162461bcd60e51b815260040161080490612c01565b6001600160a01b03811660009081526007602052604090205460ff16610a3a5760405162461bcd60e51b815260206004820152601a60248201527f4163636f756e74206973206e6f7420626c61636b6c69737465640000000000006044820152606401610804565b60005b600854811015610b8a57816001600160a01b031660088281548110610a7257634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415610b785760088054610a9d90600190612cea565b81548110610abb57634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600880546001600160a01b039092169183908110610af557634e487b7160e01b600052603260045260246000fd5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600790915260409020805460ff191690556008805480610b5257634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610b8281612d3c565b915050610a3d565b5050565b6000546001600160a01b03163314610bb85760405162461bcd60e51b815260040161080490612c01565b6001600160a01b0381166000908152600a602052604090205460ff16610c205760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610804565b60005b600b54811015610b8a57816001600160a01b0316600b8281548110610c5857634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415610d4157600b8054610c8390600190612cea565b81548110610ca157634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600b80546001600160a01b039092169183908110610cdb57634e487b7160e01b600052603260045260246000fd5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600582526040808220829055600a90925220805460ff19169055600b805480610b5257634e487b7160e01b600052603160045260246000fd5b80610d4b81612d3c565b915050610c23565b3360008181526006602090815260408083206001600160a01b038716845290915281205490916108b19185906109159086611df3565b336000818152600a602052604090205460ff1615610dfe5760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b6064820152608401610804565b6000610e0983611e52565b5050506001600160a01b038616600090815260046020526040902054939450610e3793925084915050611ead565b6001600160a01b038316600090815260046020526040902055600d54610e5d9082611ead565b600d55600e54610e6d9084611df3565b600e55505050565b6000546001600160a01b03163314610e9f5760405162461bcd60e51b815260040161080490612c01565b6001600160a01b03166000908152600960205260409020805460ff19166001179055565b6000600c54831115610f175760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610804565b81610f37576000610f2784611e52565b509496506108b595505050505050565b6000610f4284611e52565b509396506108b595505050505050565b6000546001600160a01b03163314610f7c5760405162461bcd60e51b815260040161080490612c01565b601855565b6000546001600160a01b03163314610fab5760405162461bcd60e51b815260040161080490612c01565b601655565b6000546001600160a01b03163314610fda5760405162461bcd60e51b815260040161080490612c01565b6001600160a01b0381166000908152600a602052604090205460ff16156110435760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610804565b6001600160a01b0381166000908152600460205260409020541561109d576001600160a01b03811660009081526004602052604090205461108390610924565b6001600160a01b0382166000908152600560205260409020555b6001600160a01b03166000818152600a60205260408120805460ff19166001908117909155600b805491820181559091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319169091179055565b6001600160a01b0381166000908152600a602052604081205460ff161561114057506001600160a01b031660009081526005602052604090205490565b6001600160a01b0382166000908152600460205260409020546108b590610924565b6000546001600160a01b0316331461118c5760405162461bcd60e51b815260040161080490612c01565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146112005760405162461bcd60e51b815260040161080490612c01565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561125257600080fd5b505afa158015611266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128a9190612a6c565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156112d257600080fd5b505afa1580156112e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130a9190612a6c565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561135257600080fd5b505af1158015611366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138a9190612a6c565b601b80546001600160a01b03199081166001600160a01b0393841617909155601a805482169383169390931790925560008054909116815260096020526040808220805460ff19908116600190811790925530845291909220805490911690911790556003805490911673e275507dd954a285eadc5b15a3dc3469dd8175d6179055565b6000546001600160a01b031633146114385760405162461bcd60e51b815260040161080490612c01565b601455565b6000546001600160a01b031633146114675760405162461bcd60e51b815260040161080490612c01565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b60606010805461082190612d01565b60006108b1338461091585604051806060016040528060258152602001612dae602591393360009081526006602090815260408083206001600160a01b038d1684529091529020549190611d54565b60006108b1338484611905565b6000546001600160a01b0316331461151e5760405162461bcd60e51b815260040161080490612c01565b600460145560016012556005601655601b805460ff60a81b1916600160a81b17905542601955565b6000546001600160a01b031633146115705760405162461bcd60e51b815260040161080490612c01565b6001600160a01b03166000908152600960205260409020805460ff19169055565b6000546001600160a01b031633146115bb5760405162461bcd60e51b815260040161080490612c01565b6001600160a01b0381166116205760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610804565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146116a55760405162461bcd60e51b815260040161080490612c01565b737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03821614156117125760405162461bcd60e51b815260206004820152601c60248201527f57652063616e206e6f7420626c61636b6c69737420556e6973776170000000006044820152606401610804565b6001600160a01b03811660009081526007602052604090205460ff161561177b5760405162461bcd60e51b815260206004820152601e60248201527f4163636f756e7420697320616c726561647920626c61636b6c697374656400006044820152606401610804565b6001600160a01b03166000818152600760205260408120805460ff191660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319169091179055565b6001600160a01b0383166118435760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610804565b6001600160a01b0382166118a45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610804565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166119695760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610804565b6001600160a01b0382166119cb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610804565b60008111611a2d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610804565b6001600160a01b03821660009081526007602052604090205460ff1615611a905760405162461bcd60e51b8152602060048201526017602482015276596f752068617665206e6f20706f77657220686572652160481b6044820152606401610804565b3360009081526007602052604090205460ff1615611aea5760405162461bcd60e51b8152602060048201526017602482015276596f752068617665206e6f20706f77657220686572652160481b6044820152606401610804565b601b546001600160a01b038481169116148015611b155750601a546001600160a01b03838116911614155b8015611b3a57506001600160a01b03821660009081526009602052604090205460ff16155b15611c0857601b54600160a81b900460ff16611b985760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e00000000000000006044820152606401610804565b601954421415611c08576001600160a01b0382166000818152600760205260408120805460ff191660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b03191690911790555b6000611c1330611103565b601b54909150600160a01b900460ff16158015611c395750601b54600160a81b900460ff165b8015611c525750601b546001600160a01b038481169116145b15611cc4578015611cc457601854601b54611c8d91606491611c879190611c81906001600160a01b0316611103565b90611eef565b90611db1565b811115611cbb57601854601b54611cb891606491611c879190611c81906001600160a01b0316611103565b90505b611cc481611f6e565b601b546000906001600160a01b0386811691161480611cf05750601b546001600160a01b038581169116145b8015611d3857506001600160a01b03851660009081526009602052604090205460ff1680611d3657506001600160a01b03841660009081526009602052604090205460ff165b155b15611d41575060015b611d4d85858584611fab565b5050505050565b60008184841115611d785760405162461bcd60e51b81526004016108049190612bae565b506000611d858486612cea565b95945050505050565b6000806000611d9b6120dc565b9092509050611daa8282611db1565b9250505090565b60006109a183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612296565b600080611e008385612c93565b9050838110156109a15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610804565b6000806000806000806000806000806000611e6c8c6122c4565b93509350935093506000806000611e8d8f878787611e88611d8e565b612317565b919f509d509b509599509397509195509350505050919395979092949650565b60006109a183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d54565b600082611efe575060006108b5565b6000611f0a8385612ccb565b905082611f178583612cab565b146109a15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610804565b601b805460ff60a01b1916600160a01b179055611f8a81612379565b478015611f9a57611f9a47612537565b5050601b805460ff60a01b19169055565b80611fb857611fb8612571565b6001600160a01b0384166000908152600a602052604090205460ff168015611ff957506001600160a01b0383166000908152600a602052604090205460ff16155b1561200e576120098484846125b6565b6120ba565b6001600160a01b0384166000908152600a602052604090205460ff1615801561204f57506001600160a01b0383166000908152600a602052604090205460ff165b1561205f576120098484846126fd565b6001600160a01b0384166000908152600a602052604090205460ff16801561209f57506001600160a01b0383166000908152600a602052604090205460ff165b156120af576120098484846127bc565b6120ba848484612845565b806120d6576120d6601354601255601554601455601754601655565b50505050565b600d54600c546000918291825b600b54811015612266578260046000600b848154811061211957634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352820192909252604001902054118061219257508160056000600b848154811061216b57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156121a857600d54600c54945094505050509091565b6121fc60046000600b84815481106121d057634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020548490611ead565b925061225260056000600b848154811061222657634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020548390611ead565b91508061225e81612d3c565b9150506120e9565b50600c54600d5461227691611db1565b82101561228d57600d54600c549350935050509091565b90939092509050565b600081836122b75760405162461bcd60e51b81526004016108049190612bae565b506000611d858486612cab565b60008060008060006122d58661289f565b905060006122e2876128bb565b905060006122ef886128bb565b90506000612307836123018b87611ead565b90611ead565b9993985091965094509092505050565b60008080806123268986611eef565b905060006123348987611eef565b905060006123428988611eef565b905060006123508989611eef565b905060006123648261230185818989611ead565b949d949c50929a509298505050505050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106123bc57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601a54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561241057600080fd5b505afa158015612424573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124489190612a6c565b8160018151811061246957634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152601a5461248f91309116846117e1565b601a5460405163791ac94760e01b81526001600160a01b039091169063791ac947906124c8908590600090869030904290600401612c57565b600060405180830381600087803b1580156124e257600080fd5b505af11580156124f6573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161252b929190612c36565b60405180910390a15050565b6003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610b8a573d6000803e3d6000fd5b6012541580156125815750601454155b801561258d5750601654155b1561259457565b6012805460135560148054601555601680546017556000928390559082905555565b60008060008060008060006125ca88611e52565b965096509650965096509650965061261088600560008d6001600160a01b03166001600160a01b0316815260200190815260200160002054611ead90919063ffffffff16565b6001600160a01b038b1660009081526005602090815260408083209390935560049052205461263f9088611ead565b6001600160a01b03808c1660009081526004602052604080822093909355908b168152205461266e9087611df3565b6001600160a01b038a16600090815260046020526040902055612690826128d7565b61269a8584612960565b6126a48a82612984565b886001600160a01b03168a6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516126e991815260200190565b60405180910390a350505050505050505050565b600080600080600080600061271188611e52565b965096509650965096509650965061275787600460008d6001600160a01b03166001600160a01b0316815260200190815260200160002054611ead90919063ffffffff16565b6001600160a01b03808c16600090815260046020908152604080832094909455918c1681526005909152205461278d9085611df3565b6001600160a01b038a1660009081526005602090815260408083209390935560049052205461266e9087611df3565b60008060008060008060006127d088611e52565b965096509650965096509650965061281688600560008d6001600160a01b03166001600160a01b0316815260200190815260200160002054611ead90919063ffffffff16565b6001600160a01b038b166000908152600560209081526040808320939093556004905220546127579088611ead565b600080600080600080600061285988611e52565b965096509650965096509650965061263f87600460008d6001600160a01b03166001600160a01b0316815260200190815260200160002054611ead90919063ffffffff16565b60006108b56064611c8760125485611eef90919063ffffffff16565b60006108b56064611c8760145485611eef90919063ffffffff16565b60006128e1611d8e565b905060006128ef8383611eef565b3060009081526004602052604090205490915061290c9082611df3565b30600090815260046020908152604080832093909355600a9052205460ff161561295b573060009081526005602052604090205461294a9084611df3565b306000908152600560205260409020555b505050565b600d5461296d9083611ead565b600d55600e5461297d9082611df3565b600e555050565b600061298e611d8e565b9050600061299c8284612ccb565b306000908152600460205260409020549091506129ba908290612c93565b30600090815260046020908152604080832093909355600a9052205460ff1615612a0a57306000908152600560205260409020546129f9908490612c93565b306000908152600560205260409020555b60405183815230906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350505050565b600060208284031215612a61578081fd5b81356109a181612d6d565b600060208284031215612a7d578081fd5b81516109a181612d6d565b60008060408385031215612a9a578081fd5b8235612aa581612d6d565b91506020830135612ab581612d6d565b809150509250929050565b600080600060608486031215612ad4578081fd5b8335612adf81612d6d565b92506020840135612aef81612d6d565b929592945050506040919091013590565b60008060408385031215612b12578182fd5b8235612b1d81612d6d565b946020939093013593505050565b600060208284031215612b3c578081fd5b5035919050565b60008060408385031215612b55578182fd5b8235915060208301358015158114612ab5578182fd5b6000815180845260208085019450808401835b83811015612ba35781516001600160a01b031687529582019590820190600101612b7e565b509495945050505050565b6000602080835283518082850152825b81811015612bda57858101830151858201604001528201612bbe565b81811115612beb5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b828152604060208201526000612c4f6040830184612b6b565b949350505050565b85815284602082015260a060408201526000612c7660a0830186612b6b565b6001600160a01b0394909416606083015250608001529392505050565b60008219821115612ca657612ca6612d57565b500190565b600082612cc657634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615612ce557612ce5612d57565b500290565b600082821015612cfc57612cfc612d57565b500390565b600181811c90821680612d1557607f821691505b60208210811415612d3657634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612d5057612d50612d57565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114612d8257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212203ceac408658ac9bb35fce668672d457324fb460606d4a484c21823ecbe4acb5064736f6c63430008040033
0x60a0604052600380546001600160a01b03191673e275507dd954a285eadc5b15a3dc3469dd8175d61790556ddead00000000000000000000000060805268056bc75e2d63100000600c8190556200005990600019620002ab565b62000067906000196200024a565b600d5560408051808201909152600a808252695765656e696520496e7560b01b60209092019182526200009d91600f91620001a4565b50604080518082019091526006808252655765656e696560d01b6020909201918252620000cd91601091620001a4565b506011805460ff191660091790556012546013556014546015556016546017556002601855601b805460ff60a81b191690553480156200010c57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600d5433600081815260046020908152604080832094909455600c549351938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620002cc565b828054620001b2906200026e565b90600052602060002090601f016020900481019282620001d6576000855562000221565b82601f10620001f157805160ff191683800117855562000221565b8280016001018555821562000221579182015b828111156200022157825182559160200191906001019062000204565b506200022f92915062000233565b5090565b5b808211156200022f576000815560010162000234565b6000828210156200026957634e487b7160e01b81526011600452602481fd5b500390565b600181811c908216806200028357607f821691505b60208210811415620002a557634e487b7160e01b600052602260045260246000fd5b50919050565b600082620002c757634e487b7160e01b81526012600452602481fd5b500690565b60805160601c612e08620002eb60003960006103870152612e086000f3fe60806040526004361061024a5760003560e01c806349bd5a5e116101395780638ee88c53116100b6578063a9059cbb1161007a578063a9059cbb146106ff578063c9567bf91461071f578063dd62ed3e14610734578063ea2f0b371461077a578063f2fde38b1461079a578063f375b253146107ba57600080fd5b80638ee88c531461066a578063906e9dd01461068a57806395d89b41146106aa578063a457c2d7146106bf578063a5ece941146106df57600080fd5b806370a08231116100fd57806370a08231146105c9578063715018a6146105e95780638203f5fe146105fe57806388f82020146106135780638da5cb5b1461064c57600080fd5b806349bd5a5e1461050157806352390c02146105215780635342acb414610541578063610d5b191461057a5780636bc87c3a146105b357600080fd5b8063313ce567116101c75780633bd5d1731161018b5780633bd5d17314610461578063437823ec146104815780634549b039146104a157806345596e2e146104c1578063457c194c146104e157600080fd5b8063313ce567146103c9578063362a3c5d146103eb5780633685d4191461040b578063395093511461042b5780633b124fe71461044b57600080fd5b806318160ddd1161020e57806318160ddd1461032a57806322976e0d1461033f57806323b872dd1461035557806327c8f835146103755780632d838119146103a957600080fd5b8063061c82d01461025657806306fdde0314610278578063095ea7b3146102a357806313114a9d146102d35780631694505e146102f257600080fd5b3661025157005b600080fd5b34801561026257600080fd5b50610276610271366004612b2b565b6107da565b005b34801561028457600080fd5b5061028d610812565b60405161029a9190612bae565b60405180910390f35b3480156102af57600080fd5b506102c36102be366004612b00565b6108a4565b604051901515815260200161029a565b3480156102df57600080fd5b50600e545b60405190815260200161029a565b3480156102fe57600080fd5b50601a54610312906001600160a01b031681565b6040516001600160a01b03909116815260200161029a565b34801561033657600080fd5b50600c546102e4565b34801561034b57600080fd5b506102e460165481565b34801561036157600080fd5b506102c3610370366004612ac0565b6108bb565b34801561038157600080fd5b506103127f000000000000000000000000000000000000000000000000000000000000000081565b3480156103b557600080fd5b506102e46103c4366004612b2b565b610924565b3480156103d557600080fd5b5060115460405160ff909116815260200161029a565b3480156103f757600080fd5b50610276610406366004612a50565b6109a8565b34801561041757600080fd5b50610276610426366004612a50565b610b8e565b34801561043757600080fd5b506102c3610446366004612b00565b610d53565b34801561045757600080fd5b506102e460125481565b34801561046d57600080fd5b5061027661047c366004612b2b565b610d89565b34801561048d57600080fd5b5061027661049c366004612a50565b610e75565b3480156104ad57600080fd5b506102e46104bc366004612b43565b610ec3565b3480156104cd57600080fd5b506102766104dc366004612b2b565b610f52565b3480156104ed57600080fd5b506102766104fc366004612b2b565b610f81565b34801561050d57600080fd5b50601b54610312906001600160a01b031681565b34801561052d57600080fd5b5061027661053c366004612a50565b610fb0565b34801561054d57600080fd5b506102c361055c366004612a50565b6001600160a01b031660009081526009602052604090205460ff1690565b34801561058657600080fd5b506102c3610595366004612a50565b6001600160a01b031660009081526007602052604090205460ff1690565b3480156105bf57600080fd5b506102e460145481565b3480156105d557600080fd5b506102e46105e4366004612a50565b611103565b3480156105f557600080fd5b50610276611162565b34801561060a57600080fd5b506102766111d6565b34801561061f57600080fd5b506102c361062e366004612a50565b6001600160a01b03166000908152600a602052604090205460ff1690565b34801561065857600080fd5b506000546001600160a01b0316610312565b34801561067657600080fd5b50610276610685366004612b2b565b61140e565b34801561069657600080fd5b506102766106a5366004612a50565b61143d565b3480156106b657600080fd5b5061028d611489565b3480156106cb57600080fd5b506102c36106da366004612b00565b611498565b3480156106eb57600080fd5b50600354610312906001600160a01b031681565b34801561070b57600080fd5b506102c361071a366004612b00565b6114e7565b34801561072b57600080fd5b506102766114f4565b34801561074057600080fd5b506102e461074f366004612a88565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561078657600080fd5b50610276610795366004612a50565b611546565b3480156107a657600080fd5b506102766107b5366004612a50565b611591565b3480156107c657600080fd5b506102766107d5366004612a50565b61167b565b6000546001600160a01b0316331461080d5760405162461bcd60e51b815260040161080490612c01565b60405180910390fd5b601255565b6060600f805461082190612d01565b80601f016020809104026020016040519081016040528092919081815260200182805461084d90612d01565b801561089a5780601f1061086f5761010080835404028352916020019161089a565b820191906000526020600020905b81548152906001019060200180831161087d57829003601f168201915b5050505050905090565b60006108b13384846117e1565b5060015b92915050565b60006108c8848484611905565b61091a843361091585604051806060016040528060288152602001612d86602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190611d54565b6117e1565b5060019392505050565b6000600d5482111561098b5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610804565b6000610995611d8e565b90506109a18382611db1565b9392505050565b6000546001600160a01b031633146109d25760405162461bcd60e51b815260040161080490612c01565b6001600160a01b03811660009081526007602052604090205460ff16610a3a5760405162461bcd60e51b815260206004820152601a60248201527f4163636f756e74206973206e6f7420626c61636b6c69737465640000000000006044820152606401610804565b60005b600854811015610b8a57816001600160a01b031660088281548110610a7257634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415610b785760088054610a9d90600190612cea565b81548110610abb57634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600880546001600160a01b039092169183908110610af557634e487b7160e01b600052603260045260246000fd5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600790915260409020805460ff191690556008805480610b5257634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610b8281612d3c565b915050610a3d565b5050565b6000546001600160a01b03163314610bb85760405162461bcd60e51b815260040161080490612c01565b6001600160a01b0381166000908152600a602052604090205460ff16610c205760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610804565b60005b600b54811015610b8a57816001600160a01b0316600b8281548110610c5857634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415610d4157600b8054610c8390600190612cea565b81548110610ca157634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600b80546001600160a01b039092169183908110610cdb57634e487b7160e01b600052603260045260246000fd5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600582526040808220829055600a90925220805460ff19169055600b805480610b5257634e487b7160e01b600052603160045260246000fd5b80610d4b81612d3c565b915050610c23565b3360008181526006602090815260408083206001600160a01b038716845290915281205490916108b19185906109159086611df3565b336000818152600a602052604090205460ff1615610dfe5760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b6064820152608401610804565b6000610e0983611e52565b5050506001600160a01b038616600090815260046020526040902054939450610e3793925084915050611ead565b6001600160a01b038316600090815260046020526040902055600d54610e5d9082611ead565b600d55600e54610e6d9084611df3565b600e55505050565b6000546001600160a01b03163314610e9f5760405162461bcd60e51b815260040161080490612c01565b6001600160a01b03166000908152600960205260409020805460ff19166001179055565b6000600c54831115610f175760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610804565b81610f37576000610f2784611e52565b509496506108b595505050505050565b6000610f4284611e52565b509396506108b595505050505050565b6000546001600160a01b03163314610f7c5760405162461bcd60e51b815260040161080490612c01565b601855565b6000546001600160a01b03163314610fab5760405162461bcd60e51b815260040161080490612c01565b601655565b6000546001600160a01b03163314610fda5760405162461bcd60e51b815260040161080490612c01565b6001600160a01b0381166000908152600a602052604090205460ff16156110435760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610804565b6001600160a01b0381166000908152600460205260409020541561109d576001600160a01b03811660009081526004602052604090205461108390610924565b6001600160a01b0382166000908152600560205260409020555b6001600160a01b03166000818152600a60205260408120805460ff19166001908117909155600b805491820181559091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319169091179055565b6001600160a01b0381166000908152600a602052604081205460ff161561114057506001600160a01b031660009081526005602052604090205490565b6001600160a01b0382166000908152600460205260409020546108b590610924565b6000546001600160a01b0316331461118c5760405162461bcd60e51b815260040161080490612c01565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146112005760405162461bcd60e51b815260040161080490612c01565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561125257600080fd5b505afa158015611266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128a9190612a6c565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156112d257600080fd5b505afa1580156112e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130a9190612a6c565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561135257600080fd5b505af1158015611366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138a9190612a6c565b601b80546001600160a01b03199081166001600160a01b0393841617909155601a805482169383169390931790925560008054909116815260096020526040808220805460ff19908116600190811790925530845291909220805490911690911790556003805490911673e275507dd954a285eadc5b15a3dc3469dd8175d6179055565b6000546001600160a01b031633146114385760405162461bcd60e51b815260040161080490612c01565b601455565b6000546001600160a01b031633146114675760405162461bcd60e51b815260040161080490612c01565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b60606010805461082190612d01565b60006108b1338461091585604051806060016040528060258152602001612dae602591393360009081526006602090815260408083206001600160a01b038d1684529091529020549190611d54565b60006108b1338484611905565b6000546001600160a01b0316331461151e5760405162461bcd60e51b815260040161080490612c01565b600460145560016012556005601655601b805460ff60a81b1916600160a81b17905542601955565b6000546001600160a01b031633146115705760405162461bcd60e51b815260040161080490612c01565b6001600160a01b03166000908152600960205260409020805460ff19169055565b6000546001600160a01b031633146115bb5760405162461bcd60e51b815260040161080490612c01565b6001600160a01b0381166116205760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610804565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146116a55760405162461bcd60e51b815260040161080490612c01565b737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03821614156117125760405162461bcd60e51b815260206004820152601c60248201527f57652063616e206e6f7420626c61636b6c69737420556e6973776170000000006044820152606401610804565b6001600160a01b03811660009081526007602052604090205460ff161561177b5760405162461bcd60e51b815260206004820152601e60248201527f4163636f756e7420697320616c726561647920626c61636b6c697374656400006044820152606401610804565b6001600160a01b03166000818152600760205260408120805460ff191660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319169091179055565b6001600160a01b0383166118435760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610804565b6001600160a01b0382166118a45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610804565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166119695760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610804565b6001600160a01b0382166119cb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610804565b60008111611a2d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610804565b6001600160a01b03821660009081526007602052604090205460ff1615611a905760405162461bcd60e51b8152602060048201526017602482015276596f752068617665206e6f20706f77657220686572652160481b6044820152606401610804565b3360009081526007602052604090205460ff1615611aea5760405162461bcd60e51b8152602060048201526017602482015276596f752068617665206e6f20706f77657220686572652160481b6044820152606401610804565b601b546001600160a01b038481169116148015611b155750601a546001600160a01b03838116911614155b8015611b3a57506001600160a01b03821660009081526009602052604090205460ff16155b15611c0857601b54600160a81b900460ff16611b985760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e00000000000000006044820152606401610804565b601954421415611c08576001600160a01b0382166000818152600760205260408120805460ff191660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b03191690911790555b6000611c1330611103565b601b54909150600160a01b900460ff16158015611c395750601b54600160a81b900460ff165b8015611c525750601b546001600160a01b038481169116145b15611cc4578015611cc457601854601b54611c8d91606491611c879190611c81906001600160a01b0316611103565b90611eef565b90611db1565b811115611cbb57601854601b54611cb891606491611c879190611c81906001600160a01b0316611103565b90505b611cc481611f6e565b601b546000906001600160a01b0386811691161480611cf05750601b546001600160a01b038581169116145b8015611d3857506001600160a01b03851660009081526009602052604090205460ff1680611d3657506001600160a01b03841660009081526009602052604090205460ff165b155b15611d41575060015b611d4d85858584611fab565b5050505050565b60008184841115611d785760405162461bcd60e51b81526004016108049190612bae565b506000611d858486612cea565b95945050505050565b6000806000611d9b6120dc565b9092509050611daa8282611db1565b9250505090565b60006109a183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612296565b600080611e008385612c93565b9050838110156109a15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610804565b6000806000806000806000806000806000611e6c8c6122c4565b93509350935093506000806000611e8d8f878787611e88611d8e565b612317565b919f509d509b509599509397509195509350505050919395979092949650565b60006109a183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d54565b600082611efe575060006108b5565b6000611f0a8385612ccb565b905082611f178583612cab565b146109a15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610804565b601b805460ff60a01b1916600160a01b179055611f8a81612379565b478015611f9a57611f9a47612537565b5050601b805460ff60a01b19169055565b80611fb857611fb8612571565b6001600160a01b0384166000908152600a602052604090205460ff168015611ff957506001600160a01b0383166000908152600a602052604090205460ff16155b1561200e576120098484846125b6565b6120ba565b6001600160a01b0384166000908152600a602052604090205460ff1615801561204f57506001600160a01b0383166000908152600a602052604090205460ff165b1561205f576120098484846126fd565b6001600160a01b0384166000908152600a602052604090205460ff16801561209f57506001600160a01b0383166000908152600a602052604090205460ff165b156120af576120098484846127bc565b6120ba848484612845565b806120d6576120d6601354601255601554601455601754601655565b50505050565b600d54600c546000918291825b600b54811015612266578260046000600b848154811061211957634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352820192909252604001902054118061219257508160056000600b848154811061216b57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156121a857600d54600c54945094505050509091565b6121fc60046000600b84815481106121d057634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020548490611ead565b925061225260056000600b848154811061222657634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020548390611ead565b91508061225e81612d3c565b9150506120e9565b50600c54600d5461227691611db1565b82101561228d57600d54600c549350935050509091565b90939092509050565b600081836122b75760405162461bcd60e51b81526004016108049190612bae565b506000611d858486612cab565b60008060008060006122d58661289f565b905060006122e2876128bb565b905060006122ef886128bb565b90506000612307836123018b87611ead565b90611ead565b9993985091965094509092505050565b60008080806123268986611eef565b905060006123348987611eef565b905060006123428988611eef565b905060006123508989611eef565b905060006123648261230185818989611ead565b949d949c50929a509298505050505050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106123bc57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601a54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561241057600080fd5b505afa158015612424573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124489190612a6c565b8160018151811061246957634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152601a5461248f91309116846117e1565b601a5460405163791ac94760e01b81526001600160a01b039091169063791ac947906124c8908590600090869030904290600401612c57565b600060405180830381600087803b1580156124e257600080fd5b505af11580156124f6573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161252b929190612c36565b60405180910390a15050565b6003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610b8a573d6000803e3d6000fd5b6012541580156125815750601454155b801561258d5750601654155b1561259457565b6012805460135560148054601555601680546017556000928390559082905555565b60008060008060008060006125ca88611e52565b965096509650965096509650965061261088600560008d6001600160a01b03166001600160a01b0316815260200190815260200160002054611ead90919063ffffffff16565b6001600160a01b038b1660009081526005602090815260408083209390935560049052205461263f9088611ead565b6001600160a01b03808c1660009081526004602052604080822093909355908b168152205461266e9087611df3565b6001600160a01b038a16600090815260046020526040902055612690826128d7565b61269a8584612960565b6126a48a82612984565b886001600160a01b03168a6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516126e991815260200190565b60405180910390a350505050505050505050565b600080600080600080600061271188611e52565b965096509650965096509650965061275787600460008d6001600160a01b03166001600160a01b0316815260200190815260200160002054611ead90919063ffffffff16565b6001600160a01b03808c16600090815260046020908152604080832094909455918c1681526005909152205461278d9085611df3565b6001600160a01b038a1660009081526005602090815260408083209390935560049052205461266e9087611df3565b60008060008060008060006127d088611e52565b965096509650965096509650965061281688600560008d6001600160a01b03166001600160a01b0316815260200190815260200160002054611ead90919063ffffffff16565b6001600160a01b038b166000908152600560209081526040808320939093556004905220546127579088611ead565b600080600080600080600061285988611e52565b965096509650965096509650965061263f87600460008d6001600160a01b03166001600160a01b0316815260200190815260200160002054611ead90919063ffffffff16565b60006108b56064611c8760125485611eef90919063ffffffff16565b60006108b56064611c8760145485611eef90919063ffffffff16565b60006128e1611d8e565b905060006128ef8383611eef565b3060009081526004602052604090205490915061290c9082611df3565b30600090815260046020908152604080832093909355600a9052205460ff161561295b573060009081526005602052604090205461294a9084611df3565b306000908152600560205260409020555b505050565b600d5461296d9083611ead565b600d55600e5461297d9082611df3565b600e555050565b600061298e611d8e565b9050600061299c8284612ccb565b306000908152600460205260409020549091506129ba908290612c93565b30600090815260046020908152604080832093909355600a9052205460ff1615612a0a57306000908152600560205260409020546129f9908490612c93565b306000908152600560205260409020555b60405183815230906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350505050565b600060208284031215612a61578081fd5b81356109a181612d6d565b600060208284031215612a7d578081fd5b81516109a181612d6d565b60008060408385031215612a9a578081fd5b8235612aa581612d6d565b91506020830135612ab581612d6d565b809150509250929050565b600080600060608486031215612ad4578081fd5b8335612adf81612d6d565b92506020840135612aef81612d6d565b929592945050506040919091013590565b60008060408385031215612b12578182fd5b8235612b1d81612d6d565b946020939093013593505050565b600060208284031215612b3c578081fd5b5035919050565b60008060408385031215612b55578182fd5b8235915060208301358015158114612ab5578182fd5b6000815180845260208085019450808401835b83811015612ba35781516001600160a01b031687529582019590820190600101612b7e565b509495945050505050565b6000602080835283518082850152825b81811015612bda57858101830151858201604001528201612bbe565b81811115612beb5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b828152604060208201526000612c4f6040830184612b6b565b949350505050565b85815284602082015260a060408201526000612c7660a0830186612b6b565b6001600160a01b0394909416606083015250608001529392505050565b60008219821115612ca657612ca6612d57565b500190565b600082612cc657634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615612ce557612ce5612d57565b500290565b600082821015612cfc57612cfc612d57565b500390565b600181811c90821680612d1557607f821691505b60208210811415612d3657634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612d5057612d50612d57565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114612d8257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212203ceac408658ac9bb35fce668672d457324fb460606d4a484c21823ecbe4acb5064736f6c63430008040033