solc-0.8.36-doubleshift20 0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e optimized
2884 bytes
608060405234801561000f575f5ffd5b50600436106100cb575f3560e01c80635b0fc9c311610088578063b83f866311610063578063b83f8663146101c0578063cf408823146101d3578063e985e9c5146101e6578063f79fe53814610231575f5ffd5b80635b0fc9c3146101875780635ef2c7f01461019a578063a22cb465146101ad575f5ffd5b80630178b8bf146100cf57806302571be3146100ff57806306ab59231461011257806314ab90381461013357806316a25cbd146101485780631896f70a14610174575b5f5ffd5b6100e26100dd366004610936565b61025b565b6040516001600160a01b0390911681526020015b60405180910390f35b6100e261010d366004610936565b610307565b610125610120366004610964565b61035c565b6040519081526020016100f6565b6101466101413660046109af565b610429565b005b61015b610156366004610936565b6104f8565b60405167ffffffffffffffff90911681526020016100f6565b6101466101823660046109dd565b6105a5565b6101466101953660046109dd565b610666565b6101466101a8366004610a00565b610705565b6101466101bb366004610a5b565b610726565b6002546100e2906001600160a01b031681565b6101466101e1366004610a8b565b610791565b6102216101f4366004610adb565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205460ff1690565b60405190151581526020016100f6565b61022161023f366004610936565b5f908152602081905260409020546001600160a01b0316151590565b5f818152602081905260408120546001600160a01b03166102e857600254604051630178b8bf60e01b8152600481018490526001600160a01b0390911690630178b8bf906024015b602060405180830381865afa1580156102be573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e29190610b07565b92915050565b5f828152602081905260409020600101546001600160a01b03166102e2565b5f818152602081905260408120546001600160a01b0316610353576002546040516302571be360e01b8152600481018490526001600160a01b03909116906302571be3906024016102a3565b6102e2826107ac565b5f8381526020819052604081205484906001600160a01b0316338114806103a557506001600160a01b0381165f90815260016020908152604080832033845290915290205460ff165b6103ad575f5ffd5b604080516020808201899052818301889052825180830384018152606090920190925280519101206103df81866107d2565b6040516001600160a01b0386168152869088907fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e829060200160405180910390a39695505050505050565b5f8281526020819052604090205482906001600160a01b03163381148061047257506001600160a01b0381165f90815260016020908152604080832033845290915290205460ff165b61047a575f5ffd5b60405167ffffffffffffffff8416815284907f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa689060200160405180910390a250505f91825260208290526040909120600101805467ffffffffffffffff909216600160a01b0267ffffffffffffffff60a01b19909216919091179055565b5f818152602081905260408120546001600160a01b031661057e576002546040516316a25cbd60e01b8152600481018490526001600160a01b03909116906316a25cbd90602401602060405180830381865afa15801561055a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e29190610b29565b5f82815260208190526040902060010154600160a01b900467ffffffffffffffff166102e2565b5f8281526020819052604090205482906001600160a01b0316338114806105ee57506001600160a01b0381165f90815260016020908152604080832033845290915290205460ff165b6105f6575f5ffd5b6040516001600160a01b038416815284907f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a09060200160405180910390a250505f9182526020829052604090912060010180546001600160a01b0319166001600160a01b03909216919091179055565b5f8281526020819052604090205482906001600160a01b0316338114806106af57506001600160a01b0381165f90815260016020908152604080832033845290915290205460ff165b6106b7575f5ffd5b6106c184846107d2565b6040516001600160a01b038416815284907fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d2669060200160405180910390a250505050565b5f61071186868661035c565b905061071e818484610814565b505050505050565b335f8181526001602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b61079b8484610666565b6107a6848383610814565b50505050565b5f818152602081905260408120546001600160a01b03163081036102e257505f92915050565b806001600160a01b0381166107e45750305b5f83815260208190526040902080546001600160a01b0319166001600160a01b038316179055505050565b505050565b5f838152602081905260409020600101546001600160a01b03838116911614610898575f838152602081815260409182902060010180546001600160a01b0319166001600160a01b038616908117909155915191825284917f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0910160405180910390a25b5f8381526020819052604090206001015467ffffffffffffffff828116600160a01b909204161461080f575f8381526020818152604091829020600101805467ffffffffffffffff60a01b1916600160a01b67ffffffffffffffff861690810291909117909155915191825284917f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa68910160405180910390a2505050565b5f60208284031215610946575f5ffd5b5035919050565b6001600160a01b0381168114610961575f5ffd5b50565b5f5f5f60608486031215610976575f5ffd5b8335925060208401359150604084013561098f8161094d565b809150509250925092565b67ffffffffffffffff81168114610961575f5ffd5b5f5f604083850312156109c0575f5ffd5b8235915060208301356109d28161099a565b809150509250929050565b5f5f604083850312156109ee575f5ffd5b8235915060208301356109d28161094d565b5f5f5f5f5f60a08688031215610a14575f5ffd5b85359450602086013593506040860135610a2d8161094d565b92506060860135610a3d8161094d565b91506080860135610a4d8161099a565b809150509295509295909350565b5f5f60408385031215610a6c575f5ffd5b8235610a778161094d565b9150602083013580151581146109d2575f5ffd5b5f5f5f5f60808587031215610a9e575f5ffd5b843593506020850135610ab08161094d565b92506040850135610ac08161094d565b91506060850135610ad08161099a565b939692955090935050565b5f5f60408385031215610aec575f5ffd5b8235610af78161094d565b915060208301356109d28161094d565b5f60208284031215610b17575f5ffd5b8151610b228161094d565b9392505050565b5f60208284031215610b39575f5ffd5b8151610b228161099a56