solc-0.8.36-fakeopcode 0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d via-ir
9727 bytes
60806040526004361015610011575f80fd5b5f3560e01c8063018a2c371461026457806301ffc9a71461025f57806306fdde031461025a578063081812fc14610255578063095ea7b314610250578063109695231461024b57806318160ddd1461024657806318e20a381461024157806323b872dd1461023c5780632f745c591461023757806334918dfd146102325780633ccfd60b1461022d57806342842e0e146102285780634f6ccce71461022357806355f804b31461021e578063571dff3b14610219578063607e20e3146102145780636352211e1461020f5780636c0360eb1461020a57806370a0823114610205578063715018a6146102005780637a3f451e146101fb5780637d17fcbe146101f65780638da5cb5b146101f157806395d89b41146101ec578063a22cb465146101e7578063a723533e146101e2578063b0f67427146101dd578063b88d4fde146101d8578063bb8a16bd146101d3578063c87b56dd146101ce578063cb774d47146101c9578063e36d6498146101c4578063e985e9c5146101bf578063e9866550146101ba578063eb8d2444146101b55763f2fde38b146101b0575f80fd5b6113e8565b6113c6565b6112fe565b6112a2565b611285565b611268565b611249565b61122c565b6111cc565b611174565b6110b5565b610fb9565b610f14565b610eec565b610eb3565b610e91565b610e1c565b610d76565b610d47565b610d29565b610c84565b610ac9565b6109d2565b610946565b61091d565b6108c5565b610886565b6107d4565b6107ab565b610754565b610737565b610634565b61045c565b610400565b610326565b6102ab565b3461029557602036600319011261029557600a5460043590610290906001600160a01b031633146114d4565b601055005b5f80fd5b6001600160e01b031981160361029557565b34610295576020366003190112610295576004356102c881610299565b60e01c63ffffffff1660e01b5f525f602052602060405f205460ff166040519015158152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9060206103239281815201906102ee565b90565b34610295575f366003190112610295576040515f60065461034681610af7565b80845290600181169081156103dc575060011461037e575b61037a8361036e81850382610584565b60405191829182610312565b0390f35b60065f9081527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f939250905b8082106103c25750909150810160200161036e61035e565b9192600181602092548385880101520191019092916103aa565b60ff191660208086019190915291151560051b8401909101915061036e905061035e565b3461029557602036600319011261029557602061041e60043561151f565b6040516001600160a01b039091168152f35b600435906001600160a01b038216820361029557565b602435906001600160a01b038216820361029557565b3461029557604036600319011261029557610475610430565b6024356104818161175b565b916001600160a01b038084169082168114610500576104b6936104b191339081149182156104b8575b50506115a8565b611b35565b005b6001600160a01b03165f9081526005602052604090206104f992506104f291905b9060601b60601c60601b60601c5f5260205260405f2090565b5460ff1690565b5f806104aa565b60405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608490fd5b634e487b7160e01b5f52604160045260245ffd5b6040810190811067ffffffffffffffff82111761057f57604052565b61054f565b90601f8019910116810190811067ffffffffffffffff82111761057f57604052565b67ffffffffffffffff811161057f57601f01601f191660200190565b9291926105ce826105a6565b916105dc6040519384610584565b829481845281830111610295578281602093845f960137010152565b6020600319820112610295576004359067ffffffffffffffff8211610295578060238301121561029557816024610323936004013591016105c2565b3461029557610642366105f8565b600a54610659906001600160a01b031633146114d4565b805167ffffffffffffffff811161057f5761067e81610679600b54610af7565b611637565b602091601f82116001146106bc576106ac925f91836106b1575b50508160011b915f199060031b1c19161790565b600b55005b015190505f80610698565b600b5f52601f198216927f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9915f5b85811061071f57508360019510610707575b505050811b01600b55005b01515f1960f88460031b161c191690555f80806106fc565b919260206001819286850151815501940192016106ea565b34610295575f366003190112610295576020600254604051908152f35b34610295575f366003190112610295576020601054604051908152f35b6060906003190112610295576004356001600160a01b038116810361029557906024356001600160a01b0381168103610295579060443590565b34610295576104b66107bc36610771565b916107cf6107ca8433611b96565b6116f5565b611cd3565b34610295576040366003190112610295576107ed610430565b6024356001600160a01b039091165f90815260016020526040902080548210156108365761037a9161081e916121dd565b90549060031b1c604051918291829190602083019252565b60405162461bcd60e51b815260206004820152602260248201527f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e604482015261647360f01b6064820152608490fd5b34610295575f36600319011261029557600a546108ad906001600160a01b031633146114d4565b600f5460ff8160ff1615169060ff191617600f555f80f35b34610295575f36600319011261029557600a545f9081908190819033906108f6906001600160a01b031682146114d4565b303190828215610914575bf11561090957005b6040513d5f823e3d90fd5b506108fc610901565b34610295576104b661092e36610771565b906040519261093e602085610584565b5f84526119c6565b34610295576020366003190112610295576004358060025411156109825761097061037a916121f2565b50546040519081529081906020820190565b60405162461bcd60e51b815260206004820152602260248201527f456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e604482015261647360f01b6064820152608490fd5b34610295576109e0366105f8565b600a546109f7906001600160a01b031633146114d4565b805167ffffffffffffffff811161057f57610a1c81610a17600954610af7565b611696565b602091601f8211600114610a4e57610a49925f91836106b15750508160011b915f199060031b1c19161790565b600955005b60095f52601f198216927f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af915f5b858110610ab157508360019510610a99575b505050811b01600955005b01515f1960f88460031b161c191690555f8080610a8e565b91926020600181928685015181550194019201610a7c565b34610295575f36600319011261029557602060405160148152f35b634e487b7160e01b5f525f60045260245ffd5b90600182811c92168015610b25575b6020831014610b1157565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610b06565b604051905f8260095491610b4283610af7565b8083529260018116908115610bc75750600114610b68575b610b6692500383610584565b565b5060095f90815290917f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5b818310610bab575050906020610b6692820101610b5a565b6020919350806001915483858901015201910190918492610b93565b60209250610b6694915060ff191682840152151560051b820101610b5a565b9060405191825f825492610bf984610af7565b8084529360018116908115610c625750600114610c1e575b50610b6692500383610584565b90505f9291925260205f20905f915b818310610c46575050906020610b66928201015f610c11565b6020919350806001915483858901015201910190918492610c2d565b905060209250610b6694915060ff191682840152151560051b8201015f610c11565b34610295575f366003190112610295576040515f600b54610ca481610af7565b80845290600181169081156103dc5750600114610ccb5761037a8361036e81850382610584565b600b5f9081527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9939250905b808210610d0f5750909150810160200161036e61035e565b919260018160209254838588010152019101909291610cf7565b3461029557602036600319011261029557602061041e60043561175b565b34610295575f3660031901126102955761037a610d62610b2f565b6040519182916020835260208301906102ee565b3461029557602036600319011261029557610d8f610430565b6001600160a01b03168015610dc45760601b60601c5f52600160205261037a60405f2054604051918291829190602083019252565b60405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608490fd5b34610295575f36600319011261029557600a546001600160a01b038116610e443382146114d4565b5f9081906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a36001600160a01b03166001600160a01b03199190911617600a55005b34610295575f36600319011261029557602060405167011c37937e0800008152f35b34610295575f36600319011261029557600a54610eda906001600160a01b031633146114d4565b610ee6600d54156117ff565b43600c55005b34610295575f36600319011261029557600a546040516001600160a01b039091168152602090f35b34610295575f366003190112610295576040515f600754610f3481610af7565b80845290600181169081156103dc5750600114610f5b5761037a8361036e81850382610584565b60075f9081527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688939250905b808210610f9f5750909150810160200161036e61035e565b919260018160209254838588010152019101909291610f87565b3461029557604036600319011261029557610fd2610430565b60243590811515820361029557339081906001600160a01b0381168083146110705761104f8561103e61106b946104d97f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319760601b60601c60601b60601c5f52600560205260405f2090565b9060ff801983541691151516179055565b60405194151585526001600160a01b0316939081906020820190565b0390a3005b60405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606490fd5b6020366003190112610295576004356110d86110d3600f5460ff1690565b61184b565b6110e56014821115611897565b6110fe6110f482600254611e48565b600e5410156118ed565b61111261110a82611e5c565b34101561194a565b5f5b81811061114d57600c541580611134575b61112b57005b6104b643600c55565b50600254600e5414806111255750601054421015611125565b600190600254600e548110611164575b5001611114565b61116e9033611ed1565b5f61115d565b34610295575f36600319011261029557600a5461119b906001600160a01b031633146114d4565b6002545f5b601e81106111aa57005b808201908183116111c7576111c160019233611ed1565b016111a0565b611996565b34610295576080366003190112610295576111e5610430565b6111ed610446565b906044356064359267ffffffffffffffff84116102955736602385011215610295576112266104b69436906024816004013591016105c2565b926119c6565b34610295575f366003190112610295576020600e54604051908152f35b346102955760203660031901126102955761037a610d62600435611a06565b34610295575f366003190112610295576020600d54604051908152f35b34610295575f366003190112610295576020600c54604051908152f35b346102955760403660031901126102955760206112f06112c0610430565b6112c8610446565b6001600160a01b039182165f9081526005855260408082209290931681526020919091522090565b5460ff166040519015158152f35b34610295575f3660031901126102955761131a600d54156117ff565b600c5480156113825761133461133991600e549040611b09565b600d55565b60ff611347600c544361216f565b11611364575b600d54801561135857005b6113346104b691611dee565b61137d61133461137343611b27565b40600e5490611b09565b61134d565b606460405162461bcd60e51b815260206004820152602060248201527f5374617274696e6720696e64657820626c6f636b206d757374206265207365746044820152fd5b34610295575f366003190112610295576020600f5460ff166040519015158152f35b3461029557602036600319011261029557611401610430565b600a54906114196001600160a01b03831633146114d4565b6001600160a01b0381168015611480576104b6926001600160a01b0391821691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3600a80546001600160a01b0319166001600160a01b0392909216919091179055565b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b156114db57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b611534815f52600360205260405f2054151590565b1561154e575f52600460205260405f205460601b60601c90565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b156115af57565b60405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608490fd5b916116339183549060031b91821b915f19901b19161790565b9055565b90601f8211611644575050565b80821161164f575050565b600b5f5260205f206020601f830160051c921061168e575b81601f9101920160051c03905f5b82811061168157505050565b5f82820155600101611675565b5f9150611667565b90601f82116116a3575050565b8082116116ae575050565b60095f5260205f206020601f830160051c92106116ed575b81601f9101920160051c03905f5b8281106116e057505050565b5f828201556001016116d4565b5f91506116c6565b156116fc57565b60405162461bcd60e51b815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6044820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b6064820152608490fd5b6040519061176a606083610584565b602982527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460208301526832b73a103a37b5b2b760b91b60408301525f52600360205260405f20549081156117df57505f1981019081116111c7576117d06001916121f2565b5001546001600160a01b031690565b60405162461bcd60e51b81529081906117fb9060048301610312565b0390fd5b1561180657565b60405162461bcd60e51b815260206004820152601d60248201527f5374617274696e6720696e64657820697320616c7265616479207365740000006044820152606490fd5b1561185257565b60405162461bcd60e51b815260206004820152601f60248201527f53616c65206d7573742062652061637469766520746f206d696e7420417065006044820152606490fd5b1561189e57565b60405162461bcd60e51b815260206004820152602160248201527f43616e206f6e6c79206d696e7420323020746f6b656e7320617420612074696d6044820152606560f81b6064820152608490fd5b156118f457565b60405162461bcd60e51b815260206004820152602860248201527f507572636861736520776f756c6420657863656564206d617820737570706c79604482015267206f66204170657360c01b6064820152608490fd5b1561195157565b60405162461bcd60e51b815260206004820152601f60248201527f45746865722076616c75652073656e74206973206e6f7420636f7272656374006044820152606490fd5b634e487b7160e01b5f52601160045260245ffd5b60300190816030116111c757565b90600182018092116111c757565b610b66936119ef93909290916119df6107ca8433611b96565b6119ea838383611cd3565b61228c565b61200c565b805191908290602001825e015f815290565b611a1b815f52600360205260405f2054151590565b15611aac57611a3a611a35825f52600860205260405f2090565b610be6565b90611a43610b2f565b91825115611aa6578051611a895750611a7591611a7b611a65610323936120b4565b60405194859360208501906119f4565b906119f4565b03601f198101835282610584565b610323915091611a7b611a759360405194859360208501906119f4565b91505090565b60405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608490fd5b8115611b13570690565b634e487b7160e01b5f52601260045260245ffd5b5f198101919082116111c757565b5f82815260046020526040902080546001600160a01b0319166001600160a01b039092169182179055611b678261175b565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9255f80a4565b611bab825f52600360205260405f2054151590565b15611c2157611bb98261175b565b6001600160a01b038281169082168114938415611c03575b50508215611bde57505090565b6001600160a01b03165f90815260056020526040902061032392506104f291906104d9565b611c0f9192945061151f565b6001600160a01b031614915f80611bd1565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b15611c8257565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b611cdc8361175b565b6001600160a01b03808316939116839003611d97576001600160a01b03811691611d639190611d39908690611d3490611d1b835f6104b18a1515611c7b565b6001600160a01b03165f90815260016020526040902090565b61233b565b506001600160a01b0381165f908152600160205260409020611d5c9086906123d9565b50846121c8565b506001600160a01b0390811691167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a4565b60405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b6064820152608490fd5b60018101908181116111c7578110611e035790565b60405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606490fd5b908101908181116111c7578110611e035790565b8067011c37937e080000029067011c37937e08000082048082036111c75703611e825790565b60405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608490fd5b604051611edf602082610584565b5f8082526001600160a01b038316939092838515611f8857826119ef95610b6697611f24611f1f611f1b855f52600360205260405f2054151590565b1590565b6124df565b6001600160a01b0385165f908152600160205260409020611f469084906123d9565b50611f5185846121c8565b506001600160a01b0390811691167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a461228c565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b60207131b2b4bb32b91034b6b83632b6b2b73a32b960711b917f4552433732313a207472616e7366657220746f206e6f6e20455243373231526581520152565b1561201357565b60405162461bcd60e51b8152602060048201526032602482015260849061203c60448201611fcc565bfd5b5f1981146111c75760010190565b90612056826105a6565b6120636040519182610584565b8281528092612074601f19916105a6565b0190602036910137565b80156111c7575f190190565b634e487b7160e01b5f52603260045260245ffd5b9081518110156120af570160200190565b61208a565b90811561214e575f82805b61213357506120d66120d08261204c565b91611b27565b92805b6120e257509150565b61212d9061210e6120fe6120f8600a84066119aa565b60ff1690565b60f81b6001600160f81b03191690565b9461212561211b8261207e565b965f1a918561209e565b53600a900490565b806120d9565b906121406121489161203e565b91600a900490565b806120bf565b905060405161215e604082610584565b60018152600360fc1b602082015290565b908181116121835781039081116111c75790565b60405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f7700006044820152606490fd5b610323916001600160a01b0316906002612443565b80548210156120af575f5260205f2001905f90565b6002548110156120af5760025f5260205f209060011b01905f90565b80548210156120af575f5260205f209060011b01905f90565b6001600160a01b039182168152911660208201526040810191909152608060608201819052610323929101906102ee565b60405190612267606083610584565b60328252610b6660208301611fcc565b90816020910312610295575161032381610299565b91813b156122f757604051630a85bd0160e11b60208201526122e1946122d29491926122c4928492611a7b9290913360248601612227565b6122cc612258565b9161252b565b60208082518301019101612277565b6001600160e01b031916630a85bd0160e11b1490565b50505050600190565b80548015612327575f19019061231682826121dd565b8154905f199060031b1b1916905555565b634e487b7160e01b5f52603160045260245ffd5b906001820190805f528160205260405f2054918215155f146123d1575f1983019283116111c75783545f1981019081116111c757846123cb946123b86123a96123886123be955f9a6121dd565b90549060031b1c926123a48461239e83886121dd565b9061161a565b6119b8565b9185905f5260205260405f2090565b55612300565b905f5260205260405f2090565b55600190565b505050505f90565b6001810190825f528160205260405f2054155f1461243c578054600160401b81101561057f576124296124138260018794018555846121dd565b819391549060031b91821b915f19901b19161790565b905554915f5260205260405f2055600190565b5050505f90565b91906001830192815f528360205260405f205480155f146124bc575060405161246b81610563565b828152602081019384528154600160401b81101561057f57806001612493920184558361220e565b9190916124b7576123cb94600191518355519101555492905f5260205260405f2090565b610ae4565b92935090505f1982019182116111c7576001916124d89161220e565b5001555f90565b156124e657565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b9190823b1561257a575f81610323948260208195519301915af13d15612572573d90612556826105a6565b916125646040519384610584565b82523d5f602084013e6125bf565b6060906125bf565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b909190156125cb575090565b8151156125db5750805190602001fd5b60405162461bcd60e51b8152602060048201529081906117fb9060248301906102ee56