6080604052600080546002805460ff19168155600455600160b060020a03191633179055610d18806100326000396000f3006080604052600436106101325763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610137578063095ea7b3146101c157806314d0f1ba146101f957806318160ddd1461021a57806323b872dd14610241578063313ce5671461026b578063373339a41461028057806339509351146102b157806348ef5aa8146102d55780634efb023e146102f15780636c81fd6d1461031d57806370a082311461033e578063800da2371461035f5780638da5cb5b1461037457806395d89b4114610389578063a457c2d71461039e578063a6d49dca146103c2578063a9059cbb146103ec578063b85d627514610410578063c6195d3614610431578063dd62ed3e14610455578063ee4e44161461047c578063f285329214610491575b600080fd5b34801561014357600080fd5b5061014c6104b2565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018657818101518382015260200161016e565b50505050905090810190601f1680156101b35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101cd57600080fd5b506101e5600160a060020a03600435166024356104e9565b604080519115158252519081900360200190f35b34801561020557600080fd5b506101e5600160a060020a0360043516610567565b34801561022657600080fd5b5061022f61057c565b60408051918252519081900360200190f35b34801561024d57600080fd5b506101e5600160a060020a0360043581169060243516604435610616565b34801561027757600080fd5b5061022f61070a565b34801561028c57600080fd5b5061029561070f565b60408051600160a060020a039092168252519081900360200190f35b3480156102bd57600080fd5b506101e5600160a060020a036004351660243561071e565b3480156102e157600080fd5b506102ef60043515156107ce565b005b3480156102fd57600080fd5b506103066107f8565b6040805161ffff9092168252519081900360200190f35b34801561032957600080fd5b506102ef600160a060020a036004351661081a565b34801561034a57600080fd5b5061022f600160a060020a03600435166108c0565b34801561036b57600080fd5b5061022f61096a565b34801561038057600080fd5b50610295610970565b34801561039557600080fd5b5061014c61097f565b3480156103aa57600080fd5b506101e5600160a060020a03600435166024356109b6565b3480156103ce57600080fd5b506102ef600160a060020a0360043581169060243516604435610a01565b3480156103f857600080fd5b506101e5600160a060020a0360043516602435610a8a565b34801561041c57600080fd5b506102ef600160a060020a0360043516610b2e565b34801561043d57600080fd5b506102ef600160a060020a0360043516602435610bd4565b34801561046157600080fd5b5061022f600160a060020a0360043581169060243516610c40565b34801561048857600080fd5b506101e5610c6b565b34801561049d57600080fd5b506102ef600160a060020a0360043516610c74565b60408051808201909152600b81527f43756265676f5061706572000000000000000000000000000000000000000000602082015281565b6000600160a060020a038316151561050057600080fd5b336000818152600360209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60016020526000908152604090205460ff1681565b60055460048054604080517f10dac0820000000000000000000000000000000000000000000000000000000081529283019190915251600092600160a060020a0316916310dac08291602480830192602092919082900301818787803b1580156105e557600080fd5b505af11580156105f9573d6000803e3d6000fd5b505050506040513d602081101561060f57600080fd5b5051905090565b600160a060020a038316600090815260036020908152604080832033845290915281205461064a908363ffffffff610cc716565b600160a060020a038086166000818152600360209081526040808320338452909152808220949094556005546004805486517ff45f2ee00000000000000000000000000000000000000000000000000000000081529182019490945288851660248201526044810193909352606483018790529351939092169263f45f2ee09260848084019391929182900301818387803b1580156106e857600080fd5b505af11580156106fc573d6000803e3d6000fd5b506001979650505050505050565b600081565b600554600160a060020a031681565b6000600160a060020a038316151561073557600080fd5b336000908152600360209081526040808320600160a060020a0387168452909152902054610769908363ffffffff610cd916565b336000818152600360209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600054600160a060020a031633146107e557600080fd5b6002805460ff1916911515919091179055565b60005474010000000000000000000000000000000000000000900461ffff1681565b600054600160a060020a0316331461083157600080fd5b600160a060020a03811660009081526001602052604090205460ff1615156108bd57600160a060020a03811660009081526001602081905260408220805460ff191682179055815461ffff7401000000000000000000000000000000000000000080830482169093011690910275ffff0000000000000000000000000000000000000000199091161790555b50565b60055460048054604080517f90be156c000000000000000000000000000000000000000000000000000000008152600160a060020a038681169482019490945260248101929092525160009392909216916390be156c9160448082019260209290919082900301818787803b15801561093857600080fd5b505af115801561094c573d6000803e3d6000fd5b505050506040513d602081101561096257600080fd5b505192915050565b60045481565b600054600160a060020a031681565b60408051808201909152600581527f4355425041000000000000000000000000000000000000000000000000000000602082015281565b6000600160a060020a03831615156109cd57600080fd5b336000908152600360209081526040808320600160a060020a0387168452909152902054610769908363ffffffff610cc716565b600054600160a060020a0316331480610a2f57503360009081526001602081905260409091205460ff161515145b1515610a3a57600080fd5b81600160a060020a031683600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60055460048054604080517ff45f2ee00000000000000000000000000000000000000000000000000000000081523393810193909352600160a060020a03868116602485015260448401929092526064830185905251600093919091169163f45f2ee0916084808301928692919082900301818387803b158015610b0d57600080fd5b505af1158015610b21573d6000803e3d6000fd5b5060019695505050505050565b600054600160a060020a03163314610b4557600080fd5b600160a060020a03811660009081526001602081905260409091205460ff16151514156108bd57600160a060020a03166000908152600160205260408120805460ff19169055805475ffff0000000000000000000000000000000000000000198116740100000000000000000000000000000000000000009182900461ffff9081166000190116909102179055565b600054600160a060020a0316331480610c0257503360009081526001602081905260409091205460ff161515145b1515610c0d57600080fd5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039390931692909217909155600455565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b60025460ff1681565b600054600160a060020a03163314610c8b57600080fd5b600160a060020a038116156108bd5760008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b600082821115610cd357fe5b50900390565b81810182811015610ce657fe5b929150505600a165627a7a72305820c65b7adf3506de6d98caf964b6c11303392932c12de28659f19b4471603e2d630029