Files
de-mls/crates/bindings/src/deploy.rs
2024-07-26 23:08:41 +05:30

632 lines
64 KiB
Rust

/**
Generated by the following Solidity interface...
```solidity
interface Deploy {
function IS_SCRIPT() external view returns (bool);
function run(address initialOwner) external returns (address scKeystore, address deploymentConfig);
}
```
...which was generated by the following JSON ABI:
```json
[
{
"type": "function",
"name": "IS_SCRIPT",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "run",
"inputs": [
{
"name": "initialOwner",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "scKeystore",
"type": "address",
"internalType": "contract ScKeystore"
},
{
"name": "deploymentConfig",
"type": "address",
"internalType": "contract DeploymentConfig"
}
],
"stateMutability": "nonpayable"
}
]
```*/
#[allow(non_camel_case_types, non_snake_case, clippy::style)]
pub mod Deploy {
use super::*;
use alloy::sol_types as alloy_sol_types;
/// The creation / init bytecode of the contract.
///
/// ```text
///0x6080604052600c805462ff00ff19166201000117905534801561002157600080fd5b50604080516301587f9560e61b8152600481019190915260086044820152674554485f46524f4d60c01b606482015260006024820181905290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063561fe54090608401602060405180830381865afa158015610096573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100ba9190610365565b90506001600160a01b038116156100f457600c80546301000000600160b81b03191663010000006001600160a01b0384160217905561025e565b6040805160608101909152603b808252737109709ecfa91a80626ff3989d68f67f5b1dd12d9163d145736c916114ab60208301396040518263ffffffff1660e01b815260040161014491906103e5565b600060405180830381865afa158015610161573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610189919081019061042d565b600d906101969082610564565b50610232600d80546101a7906104d9565b80601f01602080910402602001604051908101604052809291908181526020018280546101d3906104d9565b80156102205780601f106101f557610100808354040283529160200191610220565b820191906000526020600020905b81548152906001019060200180831161020357829003601f168201915b5050505050600061026460201b60201c565b50600c80546001600160a01b039092166301000000026301000000600160b81b03199092169190911790555b50610664565b604051636229498b60e01b81526000908190737109709ecfa91a80626ff3989d68f67f5b1dd12d90636229498b906102a29087908790600401610623565b602060405180830381865afa1580156102bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e3919061064b565b604051630884001960e21b815260048101829052909150737109709ecfa91a80626ff3989d68f67f5b1dd12d906322100064906024016020604051808303816000875af1158015610338573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035c9190610365565b91509250929050565b60006020828403121561037757600080fd5b81516001600160a01b038116811461038e57600080fd5b9392505050565b60005b838110156103b0578181015183820152602001610398565b50506000910152565b600081518084526103d1816020860160208601610395565b601f01601f19169290920160200192915050565b6040815260086040820152674d4e454d4f4e494360c01b606082015260806020820152600061038e60808301846103b9565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561043f57600080fd5b81516001600160401b038082111561045657600080fd5b818401915084601f83011261046a57600080fd5b81518181111561047c5761047c610417565b604051601f8201601f19908116603f011681019083821181831017156104a4576104a4610417565b816040528281528760208487010111156104bd57600080fd5b6104ce836020830160208801610395565b979650505050505050565b600181811c908216806104ed57607f821691505b60208210810361050d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561055f576000816000526020600020601f850160051c8101602086101561053c5750805b601f850160051c820191505b8181101561055b57828155600101610548565b5050505b505050565b81516001600160401b0381111561057d5761057d610417565b6105918161058b84546104d9565b84610513565b602080601f8311600181146105c657600084156105ae5750858301515b600019600386901b1c1916600185901b17855561055b565b600085815260208120601f198616915b828110156105f5578886015182559484019460019091019084016105d6565b50858210156106135787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60408152600061063660408301856103b9565b905063ffffffff831660208301529392505050565b60006020828403121561065d57600080fd5b5051919050565b610e38806106736000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063522bb7041461003b578063f8ccbf4714610080575b600080fd5b61004e61004936600461029b565b6100a3565b6040805173ffffffffffffffffffffffffffffffffffffffff9384168152929091166020830152015b60405180910390f35b600c546100939062010000900460ff1681565b6040519015158152602001610077565b600c546040517f7fec2a8d000000000000000000000000000000000000000000000000000000008152630100000090910473ffffffffffffffffffffffffffffffffffffffff1660048201526000908190737109709ecfa91a80626ff3989d68f67f5b1dd12d90637fec2a8d90602401600060405180830381600087803b15801561012d57600080fd5b505af1158015610141573d6000803e3d6000fd5b50505050600c60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161017490610281565b73ffffffffffffffffffffffffffffffffffffffff9091168152602001604051809103906000f0801580156101ad573d6000803e3d6000fd5b509050826040516101bd9061028e565b73ffffffffffffffffffffffffffffffffffffffff9091168152602001604051809103906000f0801580156101f6573d6000803e3d6000fd5b5091507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561026457600080fd5b505af1158015610278573d6000803e3d6000fd5b50505050915091565b610223806102d983390190565b61093c806104fc83390190565b6000602082840312156102ad57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146102d157600080fd5b939250505056fe6080604052600c805462ff00ff19166201000117905534801561002157600080fd5b50604051610223380380610223833981016040819052610040916100f0565b6001600160a01b0381166100675760405163201616d160e21b815260040160405180910390fd5b600e80546001600160a01b0319166001600160a01b03831617905546617a69036100cb57604080516020808201835260009091528151908101909152600e546001600160a01b031690819052600d80546001600160a01b03191690911790556100ea565b604051630b13dbff60e01b815246600482015260240160405180910390fd5b50610120565b60006020828403121561010257600080fd5b81516001600160a01b038116811461011957600080fd5b9392505050565b60f58061012e6000396000f3fe6080604052348015600f57600080fd5b506004361060465760003560e01c806312900da814604b578063d7b6574514608f578063f8a8fd6d1460d2578063f8ccbf471460d4575b600080fd5b6040805160208082018352600090915281518082018352600e5473ffffffffffffffffffffffffffffffffffffffff16908190529151918252015b60405180910390f35b600d5460ae9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016086565b005b600c5460e69062010000900460ff1681565b6040519015158152602001608656608060405234801561001057600080fd5b5060405161093c38038061093c83398101604081905261002f916100be565b806001600160a01b03811661005e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100678161006e565b50506100ee565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100d057600080fd5b81516001600160a01b03811681146100e757600080fd5b9392505050565b61083f806100fd6000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c80638da5cb5b116100505780638da5cb5b146100c9578063e3eccd10146100f1578063f2fde38b1461010457600080fd5b80630e666e49146100775780636f77926b1461009f578063715018a6146100bf575b600080fd5b61008a6100853660046104cd565b610117565b60405190151581526020015b60405180910390f35b6100b26100ad3660046104cd565b610154565b60405161009691906104ef565b6100c761022a565b005b60005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610096565b6100c76100ff366004610565565b61023e565b6100c76101123660046104cd565b610373565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600160205260408120805482919061014a906105e8565b9050119050919050565b60408051602080820183526060825273ffffffffffffffffffffffffffffffffffffffff84166000908152600182528390208351918201909352825491929091829082906101a1906105e8565b80601f01602080910402602001604051908101604052809291908181526020018280546101cd906105e8565b801561021a5780601f106101ef5761010080835404028352916020019161021a565b820191906000526020600020905b8154815290600101906020018083116101fd57829003601f168201915b5050505050815250509050919050565b6102326103dc565b61023c600061042f565b565b6102466103dc565b6000819003610281576040517ff969dd5900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61028a83610117565b156102c1576040517fc344397e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020601f84018190048102820183018352810183815290918291908590859081908501838280828437600092018290525093909452505073ffffffffffffffffffffffffffffffffffffffff861681526001602052604090208251909150819061032f90826106bb565b509050507f3d3d05375966308799f27583173d73adad0e9648aac96d354b0d554a6ea8d574838383604051610366939291906107d5565b60405180910390a1505050565b61037b6103dc565b73ffffffffffffffffffffffffffffffffffffffff81166103d0576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b6103d98161042f565b50565b60005473ffffffffffffffffffffffffffffffffffffffff16331461023c576040517f118cdaa70000000000000000000000000000000000000000000000000000000081523360048201526024016103c7565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b803573ffffffffffffffffffffffffffffffffffffffff811681146104c857600080fd5b919050565b6000602082840312156104df57600080fd5b6104e8826104a4565b9392505050565b600060208083528351602080850152805180604086015260005b8181101561052557828101840151868201606001528301610509565b5060006060828701015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116860101935050505092915050565b60008060006040848603121561057a57600080fd5b610583846104a4565b9250602084013567ffffffffffffffff808211156105a057600080fd5b818601915086601f8301126105b457600080fd5b8135818111156105c357600080fd5b8760208285010111156105d557600080fd5b6020830194508093505050509250925092565b600181811c908216806105fc57607f821691505b602082108103610635577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156106b6576000816000526020600020601f850160051c810160208610156106935750805b601f850160051c820191505b818110156106b25782815560010161069f565b5050505b505050565b815167ffffffffffffffff8111156106d5576106d561063b565b6106e9816106e384546105e8565b8461066a565b602080601f83116001811461073c57600084156107065750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556106b2565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156107895788860151825594840194600190910190840161076a565b50858210156107c557878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b73ffffffffffffffffffffffffffffffffffffffff8416815260406020820152816040820152818360608301376000818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601019291505056746573742074657374207465737420746573742074657374207465737420746573742074657374207465737420746573742074657374206a756e6b
/// ```
#[rustfmt::skip]
#[allow(clippy::all)]
pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
b"`\x80`@R`\x0C\x80Tb\xFF\0\xFF\x19\x16b\x01\0\x01\x17\x90U4\x80\x15a\0!W`\0\x80\xFD[P`@\x80Qc\x01X\x7F\x95`\xE6\x1B\x81R`\x04\x81\x01\x91\x90\x91R`\x08`D\x82\x01RgETH_FROM`\xC0\x1B`d\x82\x01R`\0`$\x82\x01\x81\x90R\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90cV\x1F\xE5@\x90`\x84\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\0\x96W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\0\xBA\x91\x90a\x03eV[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16\x15a\0\xF4W`\x0C\x80Tc\x01\0\0\0`\x01`\xB8\x1B\x03\x19\x16c\x01\0\0\0`\x01`\x01`\xA0\x1B\x03\x84\x16\x02\x17\x90Ua\x02^V[`@\x80Q``\x81\x01\x90\x91R`;\x80\x82Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x91c\xD1Esl\x91a\x14\xAB` \x83\x019`@Q\x82c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x01D\x91\x90a\x03\xE5V[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x01aW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra\x01\x89\x91\x90\x81\x01\x90a\x04-V[`\r\x90a\x01\x96\x90\x82a\x05dV[Pa\x022`\r\x80Ta\x01\xA7\x90a\x04\xD9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x01\xD3\x90a\x04\xD9V[\x80\x15a\x02 W\x80`\x1F\x10a\x01\xF5Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02 V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x02\x03W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP`\0a\x02d` \x1B` \x1CV[P`\x0C\x80T`\x01`\x01`\xA0\x1B\x03\x90\x92\x16c\x01\0\0\0\x02c\x01\0\0\0`\x01`\xB8\x1B\x03\x19\x90\x92\x16\x91\x90\x91\x17\x90U[Pa\x06dV[`@Qcb)I\x8B`\xE0\x1B\x81R`\0\x90\x81\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90cb)I\x8B\x90a\x02\xA2\x90\x87\x90\x87\x90`\x04\x01a\x06#V[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x02\xBFW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x02\xE3\x91\x90a\x06KV[`@Qc\x08\x84\0\x19`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R\x90\x91Psq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\"\x10\0d\x90`$\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x038W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x03\\\x91\x90a\x03eV[\x91P\x92P\x92\x90PV[`\0` \x82\x84\x03\x12\x15a\x03wW`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x03\x8EW`\0\x80\xFD[\x93\x92PPPV[`\0[\x83\x81\x10\x15a\x03\xB0W\x81\x81\x01Q\x83\x82\x01R` \x01a\x03\x98V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x03\xD1\x81` \x86\x01` \x86\x01a\x03\x95V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`@\x81R`\x08`@\x82\x01RgMNEMONIC`\xC0\x1B``\x82\x01R`\x80` \x82\x01R`\0a\x03\x8E`\x80\x83\x01\x84a\x03\xB9V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0` \x82\x84\x03\x12\x15a\x04?W`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x04VW`\0\x80\xFD[\x81\x84\x01\x91P\x84`\x1F\x83\x01\x12a\x04jW`\0\x80\xFD[\x81Q\x81\x81\x11\x15a\x04|Wa\x04|a\x04\x17V[`@Q`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x83\x82\x11\x81\x83\x10\x17\x15a\x04\xA4Wa\x04\xA4a\x04\x17V[\x81`@R\x82\x81R\x87` \x84\x87\x01\x01\x11\x15a\x04\xBDW`\0\x80\xFD[a\x04\xCE\x83` \x83\x01` \x88\x01a\x03\x95V[\x97\x96PPPPPPPV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x04\xEDW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x05\rWcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15a\x05_W`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a\x05<WP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a\x05[W\x82\x81U`\x01\x01a\x05HV[PPP[PPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15a\x05}Wa\x05}a\x04\x17V[a\x05\x91\x81a\x05\x8B\x84Ta\x04\xD9V[\x84a\x05\x13V[` \x80`\x1F\x83\x11`\x01\x81\x14a\x05\xC6W`\0\x84\x15a\x05\xAEWP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua\x05[V[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15a\x05\xF5W\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01a\x05\xD6V[P\x85\x82\x10\x15a\x06\x13W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`@\x81R`\0a\x066`@\x83\x01\x85a\x03\xB9V[\x90Pc\xFF\xFF\xFF\xFF\x83\x16` \x83\x01R\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\x06]W`\0\x80\xFD[PQ\x91\x90PV[a\x0E8\x80a\x06s`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x006W`\x005`\xE0\x1C\x80cR+\xB7\x04\x14a\0;W\x80c\xF8\xCC\xBFG\x14a\0\x80W[`\0\x80\xFD[a\0Na\0I6`\x04a\x02\x9BV[a\0\xA3V[`@\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16\x81R\x92\x90\x91\x16` \x83\x01R\x01[`@Q\x80\x91\x03\x90\xF3[`\x0CTa\0\x93\x90b\x01\0\0\x90\x04`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\0wV[`\x0CT`@Q\x7F\x7F\xEC*\x8D\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rc\x01\0\0\0\x90\x91\x04s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\x04\x82\x01R`\0\x90\x81\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\x7F\xEC*\x8D\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01-W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x01AW=`\0\x80>=`\0\xFD[PPPP`\x0C`\x03\x90T\x90a\x01\0\n\x90\x04s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`@Qa\x01t\x90a\x02\x81V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90`\0\xF0\x80\x15\x80\x15a\x01\xADW=`\0\x80>=`\0\xFD[P\x90P\x82`@Qa\x01\xBD\x90a\x02\x8EV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90`\0\xF0\x80\x15\x80\x15a\x01\xF6W=`\0\x80>=`\0\xFD[P\x91P\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x02dW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x02xW=`\0\x80>=`\0\xFD[PPPP\x91P\x91V[a\x02#\x80a\x02\xD9\x839\x01\x90V[a\t<\x80a\x04\xFC\x839\x01\x90V[`\0` \x82\x84\x03\x12\x15a\x02\xADW`\0\x80\xFD[\x815s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x02\xD1W`\0\x80\xFD[\x93\x92PPPV\xFE`\x80`@R`\x0C\x80Tb\xFF\0\xFF\x19\x16b\x01\0\x01\x17\x90U4\x80\x15a\0!W`\0\x80\xFD[P`@Qa\x02#8\x03\x80a\x02#\x839\x81\x01`@\x81\x90Ra\0@\x91a\0\xF0V[`\x01`\x01`\xA0\x1B\x03\x81\x16a\0gW`@Qc \x16\x16\xD1`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x0E\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x17\x90UFazi\x03a\0\xCBW`@\x80Q` \x80\x82\x01\x83R`\0\x90\x91R\x81Q\x90\x81\x01\x90\x91R`\x0ET`\x01`\x01`\xA0\x1B\x03\x16\x90\x81\x90R`\r\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16\x90\x91\x17\x90Ua\0\xEAV[`@Qc\x0B\x13\xDB\xFF`\xE0\x1B\x81RF`\x04\x82\x01R`$\x01`@Q\x80\x91\x03\x90\xFD[Pa\x01 V[`\0` \x82\x84\x03\x12\x15a\x01\x02W`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x01\x19W`\0\x80\xFD[\x93\x92PPPV[`\xF5\x80a\x01.`\09`\0\xF3\xFE`\x80`@R4\x80\x15`\x0FW`\0\x80\xFD[P`\x046\x10`FW`\x005`\xE0\x1C\x80c\x12\x90\r\xA8\x14`KW\x80c\xD7\xB6WE\x14`\x8FW\x80c\xF8\xA8\xFDm\x14`\xD2W\x80c\xF8\xCC\xBFG\x14`\xD4W[`\0\x80\xFD[`@\x80Q` \x80\x82\x01\x83R`\0\x90\x91R\x81Q\x80\x82\x01\x83R`\x0ETs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90\x81\x90R\x91Q\x91\x82R\x01[`@Q\x80\x91\x03\x90\xF3[`\rT`\xAE\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`\x86V[\0[`\x0CT`\xE6\x90b\x01\0\0\x90\x04`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01`\x86V`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\t<8\x03\x80a\t<\x839\x81\x01`@\x81\x90Ra\0/\x91a\0\xBEV[\x80`\x01`\x01`\xA0\x1B\x03\x81\x16a\0^W`@Qc\x1EO\xBD\xF7`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01`@Q\x80\x91\x03\x90\xFD[a\0g\x81a\0nV[PPa\0\xEEV[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\x01`\x01`\xA0\x1B\x03\x19\x83\x16\x81\x17\x84U`@Q\x91\x90\x92\x16\x92\x83\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PPV[`\0` \x82\x84\x03\x12\x15a\0\xD0W`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0\xE7W`\0\x80\xFD[\x93\x92PPPV[a\x08?\x80a\0\xFD`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0rW`\x005`\xE0\x1C\x80c\x8D\xA5\xCB[\x11a\0PW\x80c\x8D\xA5\xCB[\x14a\0\xC9W\x80c\xE3\xEC\xCD\x10\x14a\0\xF1W\x80c\xF2\xFD\xE3\x8B\x14a\x01\x04W`\0\x80\xFD[\x80c\x0EfnI\x14a\0wW\x80cow\x92k\x14a\0\x9FW\x80cqP\x18\xA6\x14a\0\xBFW[`\0\x80\xFD[a\0\x8Aa\0\x856`\x04a\x04\xCDV[a\x01\x17V[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xB2a\0\xAD6`\x04a\x04\xCDV[a\x01TV[`@Qa\0\x96\x91\x90a\x04\xEFV[a\0\xC7a\x02*V[\0[`\0T`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\0\x96V[a\0\xC7a\0\xFF6`\x04a\x05eV[a\x02>V[a\0\xC7a\x01\x126`\x04a\x04\xCDV[a\x03sV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16`\0\x90\x81R`\x01` R`@\x81 \x80T\x82\x91\x90a\x01J\x90a\x05\xE8V[\x90P\x11\x90P\x91\x90PV[`@\x80Q` \x80\x82\x01\x83R``\x82Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\0\x90\x81R`\x01\x82R\x83\x90 \x83Q\x91\x82\x01\x90\x93R\x82T\x91\x92\x90\x91\x82\x90\x82\x90a\x01\xA1\x90a\x05\xE8V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x01\xCD\x90a\x05\xE8V[\x80\x15a\x02\x1AW\x80`\x1F\x10a\x01\xEFWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02\x1AV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x01\xFDW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x91\x90PV[a\x022a\x03\xDCV[a\x02<`\0a\x04/V[V[a\x02Fa\x03\xDCV[`\0\x81\x90\x03a\x02\x81W`@Q\x7F\xF9i\xDDY\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x02\x8A\x83a\x01\x17V[\x15a\x02\xC1W`@Q\x7F\xC3D9~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80Q` `\x1F\x84\x01\x81\x90\x04\x81\x02\x82\x01\x83\x01\x83R\x81\x01\x83\x81R\x90\x91\x82\x91\x90\x85\x90\x85\x90\x81\x90\x85\x01\x83\x82\x80\x82\x847`\0\x92\x01\x82\x90RP\x93\x90\x94RPPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x81R`\x01` R`@\x90 \x82Q\x90\x91P\x81\x90a\x03/\x90\x82a\x06\xBBV[P\x90PP\x7F==\x057Yf0\x87\x99\xF2u\x83\x17=s\xAD\xAD\x0E\x96H\xAA\xC9m5K\rUJn\xA8\xD5t\x83\x83\x83`@Qa\x03f\x93\x92\x91\x90a\x07\xD5V[`@Q\x80\x91\x03\x90\xA1PPPV[a\x03{a\x03\xDCV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16a\x03\xD0W`@Q\x7F\x1EO\xBD\xF7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0`\x04\x82\x01R`$\x01[`@Q\x80\x91\x03\x90\xFD[a\x03\xD9\x81a\x04/V[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x02<W`@Q\x7F\x11\x8C\xDA\xA7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3`\x04\x82\x01R`$\x01a\x03\xC7V[`\0\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x84U`@Q\x91\x90\x92\x16\x92\x83\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PPV[\x805s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x04\xC8W`\0\x80\xFD[\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\x04\xDFW`\0\x80\xFD[a\x04\xE8\x82a\x04\xA4V[\x93\x92PPPV[`\0` \x80\x83R\x83Q` \x80\x85\x01R\x80Q\x80`@\x86\x01R`\0[\x81\x81\x10\x15a\x05%W\x82\x81\x01\x84\x01Q\x86\x82\x01``\x01R\x83\x01a\x05\tV[P`\0``\x82\x87\x01\x01R``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x86\x01\x01\x93PPPP\x92\x91PPV[`\0\x80`\0`@\x84\x86\x03\x12\x15a\x05zW`\0\x80\xFD[a\x05\x83\x84a\x04\xA4V[\x92P` \x84\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x05\xA0W`\0\x80\xFD[\x81\x86\x01\x91P\x86`\x1F\x83\x01\x12a\x05\xB4W`\0\x80\xFD[\x815\x81\x81\x11\x15a\x05\xC3W`\0\x80\xFD[\x87` \x82\x85\x01\x01\x11\x15a\x05\xD5W`\0\x80\xFD[` \x83\x01\x94P\x80\x93PPPP\x92P\x92P\x92V[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x05\xFCW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x065W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`\x1F\x82\x11\x15a\x06\xB6W`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a\x06\x93WP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a\x06\xB2W\x82\x81U`\x01\x01a\x06\x9FV[PPP[PPPV[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x06\xD5Wa\x06\xD5a\x06;V[a\x06\xE9\x81a\x06\xE3\x84Ta\x05\xE8V[\x84a\x06jV[` \x80`\x1F\x83\x11`\x01\x81\x14a\x07<W`\0\x84\x15a\x07\x06WP\x85\x83\x01Q[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua\x06\xB2V[`\0\x85\x81R` \x81 \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x86\x16\x91[\x82\x81\x10\x15a\x07\x89W\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01a\x07jV[P\x85\x82\x10\x15a\x07\xC5W\x87\x85\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x81R`@` \x82\x01R\x81`@\x82\x01R\x81\x83``\x83\x017`\0\x81\x83\x01``\x90\x81\x01\x91\x90\x91R`\x1F\x90\x92\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x01\x01\x92\x91PPVtest test test test test test test test test test test junk",
);
/// The runtime bytecode of the contract, as deployed on the network.
///
/// ```text
///0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063522bb7041461003b578063f8ccbf4714610080575b600080fd5b61004e61004936600461029b565b6100a3565b6040805173ffffffffffffffffffffffffffffffffffffffff9384168152929091166020830152015b60405180910390f35b600c546100939062010000900460ff1681565b6040519015158152602001610077565b600c546040517f7fec2a8d000000000000000000000000000000000000000000000000000000008152630100000090910473ffffffffffffffffffffffffffffffffffffffff1660048201526000908190737109709ecfa91a80626ff3989d68f67f5b1dd12d90637fec2a8d90602401600060405180830381600087803b15801561012d57600080fd5b505af1158015610141573d6000803e3d6000fd5b50505050600c60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161017490610281565b73ffffffffffffffffffffffffffffffffffffffff9091168152602001604051809103906000f0801580156101ad573d6000803e3d6000fd5b509050826040516101bd9061028e565b73ffffffffffffffffffffffffffffffffffffffff9091168152602001604051809103906000f0801580156101f6573d6000803e3d6000fd5b5091507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561026457600080fd5b505af1158015610278573d6000803e3d6000fd5b50505050915091565b610223806102d983390190565b61093c806104fc83390190565b6000602082840312156102ad57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146102d157600080fd5b939250505056fe6080604052600c805462ff00ff19166201000117905534801561002157600080fd5b50604051610223380380610223833981016040819052610040916100f0565b6001600160a01b0381166100675760405163201616d160e21b815260040160405180910390fd5b600e80546001600160a01b0319166001600160a01b03831617905546617a69036100cb57604080516020808201835260009091528151908101909152600e546001600160a01b031690819052600d80546001600160a01b03191690911790556100ea565b604051630b13dbff60e01b815246600482015260240160405180910390fd5b50610120565b60006020828403121561010257600080fd5b81516001600160a01b038116811461011957600080fd5b9392505050565b60f58061012e6000396000f3fe6080604052348015600f57600080fd5b506004361060465760003560e01c806312900da814604b578063d7b6574514608f578063f8a8fd6d1460d2578063f8ccbf471460d4575b600080fd5b6040805160208082018352600090915281518082018352600e5473ffffffffffffffffffffffffffffffffffffffff16908190529151918252015b60405180910390f35b600d5460ae9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016086565b005b600c5460e69062010000900460ff1681565b6040519015158152602001608656608060405234801561001057600080fd5b5060405161093c38038061093c83398101604081905261002f916100be565b806001600160a01b03811661005e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100678161006e565b50506100ee565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100d057600080fd5b81516001600160a01b03811681146100e757600080fd5b9392505050565b61083f806100fd6000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c80638da5cb5b116100505780638da5cb5b146100c9578063e3eccd10146100f1578063f2fde38b1461010457600080fd5b80630e666e49146100775780636f77926b1461009f578063715018a6146100bf575b600080fd5b61008a6100853660046104cd565b610117565b60405190151581526020015b60405180910390f35b6100b26100ad3660046104cd565b610154565b60405161009691906104ef565b6100c761022a565b005b60005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610096565b6100c76100ff366004610565565b61023e565b6100c76101123660046104cd565b610373565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600160205260408120805482919061014a906105e8565b9050119050919050565b60408051602080820183526060825273ffffffffffffffffffffffffffffffffffffffff84166000908152600182528390208351918201909352825491929091829082906101a1906105e8565b80601f01602080910402602001604051908101604052809291908181526020018280546101cd906105e8565b801561021a5780601f106101ef5761010080835404028352916020019161021a565b820191906000526020600020905b8154815290600101906020018083116101fd57829003601f168201915b5050505050815250509050919050565b6102326103dc565b61023c600061042f565b565b6102466103dc565b6000819003610281576040517ff969dd5900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61028a83610117565b156102c1576040517fc344397e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020601f84018190048102820183018352810183815290918291908590859081908501838280828437600092018290525093909452505073ffffffffffffffffffffffffffffffffffffffff861681526001602052604090208251909150819061032f90826106bb565b509050507f3d3d05375966308799f27583173d73adad0e9648aac96d354b0d554a6ea8d574838383604051610366939291906107d5565b60405180910390a1505050565b61037b6103dc565b73ffffffffffffffffffffffffffffffffffffffff81166103d0576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b6103d98161042f565b50565b60005473ffffffffffffffffffffffffffffffffffffffff16331461023c576040517f118cdaa70000000000000000000000000000000000000000000000000000000081523360048201526024016103c7565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b803573ffffffffffffffffffffffffffffffffffffffff811681146104c857600080fd5b919050565b6000602082840312156104df57600080fd5b6104e8826104a4565b9392505050565b600060208083528351602080850152805180604086015260005b8181101561052557828101840151868201606001528301610509565b5060006060828701015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116860101935050505092915050565b60008060006040848603121561057a57600080fd5b610583846104a4565b9250602084013567ffffffffffffffff808211156105a057600080fd5b818601915086601f8301126105b457600080fd5b8135818111156105c357600080fd5b8760208285010111156105d557600080fd5b6020830194508093505050509250925092565b600181811c908216806105fc57607f821691505b602082108103610635577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156106b6576000816000526020600020601f850160051c810160208610156106935750805b601f850160051c820191505b818110156106b25782815560010161069f565b5050505b505050565b815167ffffffffffffffff8111156106d5576106d561063b565b6106e9816106e384546105e8565b8461066a565b602080601f83116001811461073c57600084156107065750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556106b2565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156107895788860151825594840194600190910190840161076a565b50858210156107c557878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b73ffffffffffffffffffffffffffffffffffffffff8416815260406020820152816040820152818360608301376000818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601019291505056
/// ```
#[rustfmt::skip]
#[allow(clippy::all)]
pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x006W`\x005`\xE0\x1C\x80cR+\xB7\x04\x14a\0;W\x80c\xF8\xCC\xBFG\x14a\0\x80W[`\0\x80\xFD[a\0Na\0I6`\x04a\x02\x9BV[a\0\xA3V[`@\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16\x81R\x92\x90\x91\x16` \x83\x01R\x01[`@Q\x80\x91\x03\x90\xF3[`\x0CTa\0\x93\x90b\x01\0\0\x90\x04`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\0wV[`\x0CT`@Q\x7F\x7F\xEC*\x8D\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rc\x01\0\0\0\x90\x91\x04s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\x04\x82\x01R`\0\x90\x81\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\x7F\xEC*\x8D\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01-W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x01AW=`\0\x80>=`\0\xFD[PPPP`\x0C`\x03\x90T\x90a\x01\0\n\x90\x04s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`@Qa\x01t\x90a\x02\x81V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90`\0\xF0\x80\x15\x80\x15a\x01\xADW=`\0\x80>=`\0\xFD[P\x90P\x82`@Qa\x01\xBD\x90a\x02\x8EV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90`\0\xF0\x80\x15\x80\x15a\x01\xF6W=`\0\x80>=`\0\xFD[P\x91P\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x02dW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x02xW=`\0\x80>=`\0\xFD[PPPP\x91P\x91V[a\x02#\x80a\x02\xD9\x839\x01\x90V[a\t<\x80a\x04\xFC\x839\x01\x90V[`\0` \x82\x84\x03\x12\x15a\x02\xADW`\0\x80\xFD[\x815s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x02\xD1W`\0\x80\xFD[\x93\x92PPPV\xFE`\x80`@R`\x0C\x80Tb\xFF\0\xFF\x19\x16b\x01\0\x01\x17\x90U4\x80\x15a\0!W`\0\x80\xFD[P`@Qa\x02#8\x03\x80a\x02#\x839\x81\x01`@\x81\x90Ra\0@\x91a\0\xF0V[`\x01`\x01`\xA0\x1B\x03\x81\x16a\0gW`@Qc \x16\x16\xD1`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x0E\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x17\x90UFazi\x03a\0\xCBW`@\x80Q` \x80\x82\x01\x83R`\0\x90\x91R\x81Q\x90\x81\x01\x90\x91R`\x0ET`\x01`\x01`\xA0\x1B\x03\x16\x90\x81\x90R`\r\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16\x90\x91\x17\x90Ua\0\xEAV[`@Qc\x0B\x13\xDB\xFF`\xE0\x1B\x81RF`\x04\x82\x01R`$\x01`@Q\x80\x91\x03\x90\xFD[Pa\x01 V[`\0` \x82\x84\x03\x12\x15a\x01\x02W`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x01\x19W`\0\x80\xFD[\x93\x92PPPV[`\xF5\x80a\x01.`\09`\0\xF3\xFE`\x80`@R4\x80\x15`\x0FW`\0\x80\xFD[P`\x046\x10`FW`\x005`\xE0\x1C\x80c\x12\x90\r\xA8\x14`KW\x80c\xD7\xB6WE\x14`\x8FW\x80c\xF8\xA8\xFDm\x14`\xD2W\x80c\xF8\xCC\xBFG\x14`\xD4W[`\0\x80\xFD[`@\x80Q` \x80\x82\x01\x83R`\0\x90\x91R\x81Q\x80\x82\x01\x83R`\x0ETs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90\x81\x90R\x91Q\x91\x82R\x01[`@Q\x80\x91\x03\x90\xF3[`\rT`\xAE\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`\x86V[\0[`\x0CT`\xE6\x90b\x01\0\0\x90\x04`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01`\x86V`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\t<8\x03\x80a\t<\x839\x81\x01`@\x81\x90Ra\0/\x91a\0\xBEV[\x80`\x01`\x01`\xA0\x1B\x03\x81\x16a\0^W`@Qc\x1EO\xBD\xF7`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01`@Q\x80\x91\x03\x90\xFD[a\0g\x81a\0nV[PPa\0\xEEV[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\x01`\x01`\xA0\x1B\x03\x19\x83\x16\x81\x17\x84U`@Q\x91\x90\x92\x16\x92\x83\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PPV[`\0` \x82\x84\x03\x12\x15a\0\xD0W`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0\xE7W`\0\x80\xFD[\x93\x92PPPV[a\x08?\x80a\0\xFD`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0rW`\x005`\xE0\x1C\x80c\x8D\xA5\xCB[\x11a\0PW\x80c\x8D\xA5\xCB[\x14a\0\xC9W\x80c\xE3\xEC\xCD\x10\x14a\0\xF1W\x80c\xF2\xFD\xE3\x8B\x14a\x01\x04W`\0\x80\xFD[\x80c\x0EfnI\x14a\0wW\x80cow\x92k\x14a\0\x9FW\x80cqP\x18\xA6\x14a\0\xBFW[`\0\x80\xFD[a\0\x8Aa\0\x856`\x04a\x04\xCDV[a\x01\x17V[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xB2a\0\xAD6`\x04a\x04\xCDV[a\x01TV[`@Qa\0\x96\x91\x90a\x04\xEFV[a\0\xC7a\x02*V[\0[`\0T`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\0\x96V[a\0\xC7a\0\xFF6`\x04a\x05eV[a\x02>V[a\0\xC7a\x01\x126`\x04a\x04\xCDV[a\x03sV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16`\0\x90\x81R`\x01` R`@\x81 \x80T\x82\x91\x90a\x01J\x90a\x05\xE8V[\x90P\x11\x90P\x91\x90PV[`@\x80Q` \x80\x82\x01\x83R``\x82Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\0\x90\x81R`\x01\x82R\x83\x90 \x83Q\x91\x82\x01\x90\x93R\x82T\x91\x92\x90\x91\x82\x90\x82\x90a\x01\xA1\x90a\x05\xE8V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x01\xCD\x90a\x05\xE8V[\x80\x15a\x02\x1AW\x80`\x1F\x10a\x01\xEFWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02\x1AV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x01\xFDW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x91\x90PV[a\x022a\x03\xDCV[a\x02<`\0a\x04/V[V[a\x02Fa\x03\xDCV[`\0\x81\x90\x03a\x02\x81W`@Q\x7F\xF9i\xDDY\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x02\x8A\x83a\x01\x17V[\x15a\x02\xC1W`@Q\x7F\xC3D9~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80Q` `\x1F\x84\x01\x81\x90\x04\x81\x02\x82\x01\x83\x01\x83R\x81\x01\x83\x81R\x90\x91\x82\x91\x90\x85\x90\x85\x90\x81\x90\x85\x01\x83\x82\x80\x82\x847`\0\x92\x01\x82\x90RP\x93\x90\x94RPPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x81R`\x01` R`@\x90 \x82Q\x90\x91P\x81\x90a\x03/\x90\x82a\x06\xBBV[P\x90PP\x7F==\x057Yf0\x87\x99\xF2u\x83\x17=s\xAD\xAD\x0E\x96H\xAA\xC9m5K\rUJn\xA8\xD5t\x83\x83\x83`@Qa\x03f\x93\x92\x91\x90a\x07\xD5V[`@Q\x80\x91\x03\x90\xA1PPPV[a\x03{a\x03\xDCV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16a\x03\xD0W`@Q\x7F\x1EO\xBD\xF7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0`\x04\x82\x01R`$\x01[`@Q\x80\x91\x03\x90\xFD[a\x03\xD9\x81a\x04/V[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x02<W`@Q\x7F\x11\x8C\xDA\xA7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3`\x04\x82\x01R`$\x01a\x03\xC7V[`\0\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x84U`@Q\x91\x90\x92\x16\x92\x83\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PPV[\x805s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x04\xC8W`\0\x80\xFD[\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\x04\xDFW`\0\x80\xFD[a\x04\xE8\x82a\x04\xA4V[\x93\x92PPPV[`\0` \x80\x83R\x83Q` \x80\x85\x01R\x80Q\x80`@\x86\x01R`\0[\x81\x81\x10\x15a\x05%W\x82\x81\x01\x84\x01Q\x86\x82\x01``\x01R\x83\x01a\x05\tV[P`\0``\x82\x87\x01\x01R``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x86\x01\x01\x93PPPP\x92\x91PPV[`\0\x80`\0`@\x84\x86\x03\x12\x15a\x05zW`\0\x80\xFD[a\x05\x83\x84a\x04\xA4V[\x92P` \x84\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x05\xA0W`\0\x80\xFD[\x81\x86\x01\x91P\x86`\x1F\x83\x01\x12a\x05\xB4W`\0\x80\xFD[\x815\x81\x81\x11\x15a\x05\xC3W`\0\x80\xFD[\x87` \x82\x85\x01\x01\x11\x15a\x05\xD5W`\0\x80\xFD[` \x83\x01\x94P\x80\x93PPPP\x92P\x92P\x92V[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x05\xFCW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x065W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`\x1F\x82\x11\x15a\x06\xB6W`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a\x06\x93WP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a\x06\xB2W\x82\x81U`\x01\x01a\x06\x9FV[PPP[PPPV[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x06\xD5Wa\x06\xD5a\x06;V[a\x06\xE9\x81a\x06\xE3\x84Ta\x05\xE8V[\x84a\x06jV[` \x80`\x1F\x83\x11`\x01\x81\x14a\x07<W`\0\x84\x15a\x07\x06WP\x85\x83\x01Q[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua\x06\xB2V[`\0\x85\x81R` \x81 \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x86\x16\x91[\x82\x81\x10\x15a\x07\x89W\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01a\x07jV[P\x85\x82\x10\x15a\x07\xC5W\x87\x85\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x81R`@` \x82\x01R\x81`@\x82\x01R\x81\x83``\x83\x017`\0\x81\x83\x01``\x90\x81\x01\x91\x90\x91R`\x1F\x90\x92\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x01\x01\x92\x91PPV",
);
/**Function with signature `IS_SCRIPT()` and selector `0xf8ccbf47`.
```solidity
function IS_SCRIPT() external view returns (bool);
```*/
#[allow(non_camel_case_types, non_snake_case)]
#[derive(Clone)]
pub struct IS_SCRIPTCall {}
///Container type for the return parameters of the [`IS_SCRIPT()`](IS_SCRIPTCall) function.
#[allow(non_camel_case_types, non_snake_case)]
#[derive(Clone)]
pub struct IS_SCRIPTReturn {
pub _0: bool,
}
#[allow(non_camel_case_types, non_snake_case, clippy::style)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
type UnderlyingSolTuple<'a> = ();
#[doc(hidden)]
type UnderlyingRustTuple<'a> = ();
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<IS_SCRIPTCall> for UnderlyingRustTuple<'_> {
fn from(value: IS_SCRIPTCall) -> Self {
()
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for IS_SCRIPTCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {}
}
}
}
{
#[doc(hidden)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (bool,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<IS_SCRIPTReturn> for UnderlyingRustTuple<'_> {
fn from(value: IS_SCRIPTReturn) -> Self {
(value._0,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for IS_SCRIPTReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { _0: tuple.0 }
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for IS_SCRIPTCall {
type Parameters<'a> = ();
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = IS_SCRIPTReturn;
type ReturnTuple<'a> = (alloy::sol_types::sol_data::Bool,);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "IS_SCRIPT()";
const SELECTOR: [u8; 4] = [248u8, 204u8, 191u8, 71u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
()
}
#[inline]
fn abi_decode_returns(
data: &[u8],
validate: bool,
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
.map(Into::into)
}
}
};
/**Function with signature `run(address)` and selector `0x522bb704`.
```solidity
function run(address initialOwner) external returns (address scKeystore, address deploymentConfig);
```*/
#[allow(non_camel_case_types, non_snake_case)]
#[derive(Clone)]
pub struct runCall {
pub initialOwner: alloy::sol_types::private::Address,
}
///Container type for the return parameters of the [`run(address)`](runCall) function.
#[allow(non_camel_case_types, non_snake_case)]
#[derive(Clone)]
pub struct runReturn {
pub scKeystore: alloy::sol_types::private::Address,
pub deploymentConfig: alloy::sol_types::private::Address,
}
#[allow(non_camel_case_types, non_snake_case, clippy::style)]
const _: () = {
use alloy::sol_types as alloy_sol_types;
{
#[doc(hidden)]
type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<runCall> for UnderlyingRustTuple<'_> {
fn from(value: runCall) -> Self {
(value.initialOwner,)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for runCall {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self { initialOwner: tuple.0 }
}
}
}
{
#[doc(hidden)]
type UnderlyingSolTuple<'a> = (
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Address,
);
#[doc(hidden)]
type UnderlyingRustTuple<'a> = (
alloy::sol_types::private::Address,
alloy::sol_types::private::Address,
);
#[cfg(test)]
#[allow(dead_code, unreachable_patterns)]
fn _type_assertion(
_t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
) {
match _t {
alloy_sol_types::private::AssertTypeEq::<
<UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
>(_) => {}
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<runReturn> for UnderlyingRustTuple<'_> {
fn from(value: runReturn) -> Self {
(value.scKeystore, value.deploymentConfig)
}
}
#[automatically_derived]
#[doc(hidden)]
impl ::core::convert::From<UnderlyingRustTuple<'_>> for runReturn {
fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
Self {
scKeystore: tuple.0,
deploymentConfig: tuple.1,
}
}
}
}
#[automatically_derived]
impl alloy_sol_types::SolCall for runCall {
type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
type Token<'a> = <Self::Parameters<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
type Return = runReturn;
type ReturnTuple<'a> = (
alloy::sol_types::sol_data::Address,
alloy::sol_types::sol_data::Address,
);
type ReturnToken<'a> = <Self::ReturnTuple<
'a,
> as alloy_sol_types::SolType>::Token<'a>;
const SIGNATURE: &'static str = "run(address)";
const SELECTOR: [u8; 4] = [82u8, 43u8, 183u8, 4u8];
#[inline]
fn new<'a>(
tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
) -> Self {
tuple.into()
}
#[inline]
fn tokenize(&self) -> Self::Token<'_> {
(
<alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
&self.initialOwner,
),
)
}
#[inline]
fn abi_decode_returns(
data: &[u8],
validate: bool,
) -> alloy_sol_types::Result<Self::Return> {
<Self::ReturnTuple<
'_,
> as alloy_sol_types::SolType>::abi_decode_sequence(data, validate)
.map(Into::into)
}
}
};
///Container for all the [`Deploy`](self) function calls.
pub enum DeployCalls {
IS_SCRIPT(IS_SCRIPTCall),
run(runCall),
}
#[automatically_derived]
impl DeployCalls {
/// All the selectors of this enum.
///
/// Note that the selectors might not be in the same order as the variants.
/// No guarantees are made about the order of the selectors.
///
/// Prefer using `SolInterface` methods instead.
pub const SELECTORS: &'static [[u8; 4usize]] = &[
[82u8, 43u8, 183u8, 4u8],
[248u8, 204u8, 191u8, 71u8],
];
}
#[automatically_derived]
impl alloy_sol_types::SolInterface for DeployCalls {
const NAME: &'static str = "DeployCalls";
const MIN_DATA_LENGTH: usize = 0usize;
const COUNT: usize = 2usize;
#[inline]
fn selector(&self) -> [u8; 4] {
match self {
Self::IS_SCRIPT(_) => {
<IS_SCRIPTCall as alloy_sol_types::SolCall>::SELECTOR
}
Self::run(_) => <runCall as alloy_sol_types::SolCall>::SELECTOR,
}
}
#[inline]
fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
Self::SELECTORS.get(i).copied()
}
#[inline]
fn valid_selector(selector: [u8; 4]) -> bool {
Self::SELECTORS.binary_search(&selector).is_ok()
}
#[inline]
#[allow(unsafe_code, non_snake_case)]
fn abi_decode_raw(
selector: [u8; 4],
data: &[u8],
validate: bool,
) -> alloy_sol_types::Result<Self> {
static DECODE_SHIMS: &[fn(
&[u8],
bool,
) -> alloy_sol_types::Result<DeployCalls>] = &[
{
fn run(
data: &[u8],
validate: bool,
) -> alloy_sol_types::Result<DeployCalls> {
<runCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
validate,
)
.map(DeployCalls::run)
}
run
},
{
fn IS_SCRIPT(
data: &[u8],
validate: bool,
) -> alloy_sol_types::Result<DeployCalls> {
<IS_SCRIPTCall as alloy_sol_types::SolCall>::abi_decode_raw(
data,
validate,
)
.map(DeployCalls::IS_SCRIPT)
}
IS_SCRIPT
},
];
let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
return Err(
alloy_sol_types::Error::unknown_selector(
<Self as alloy_sol_types::SolInterface>::NAME,
selector,
),
);
};
(unsafe { DECODE_SHIMS.get_unchecked(idx) })(data, validate)
}
#[inline]
fn abi_encoded_size(&self) -> usize {
match self {
Self::IS_SCRIPT(inner) => {
<IS_SCRIPTCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
}
Self::run(inner) => {
<runCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
}
}
}
#[inline]
fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
match self {
Self::IS_SCRIPT(inner) => {
<IS_SCRIPTCall as alloy_sol_types::SolCall>::abi_encode_raw(
inner,
out,
)
}
Self::run(inner) => {
<runCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
}
}
}
}
use alloy::contract as alloy_contract;
/**Creates a new wrapper around an on-chain [`Deploy`](self) contract instance.
See the [wrapper's documentation](`DeployInstance`) for more details.*/
#[inline]
pub const fn new<
T: alloy_contract::private::Transport + ::core::clone::Clone,
P: alloy_contract::private::Provider<T, N>,
N: alloy_contract::private::Network,
>(
address: alloy_sol_types::private::Address,
provider: P,
) -> DeployInstance<T, P, N> {
DeployInstance::<T, P, N>::new(address, provider)
}
/**Deploys this contract using the given `provider` and constructor arguments, if any.
Returns a new instance of the contract, if the deployment was successful.
For more fine-grained control over the deployment process, use [`deploy_builder`] instead.*/
#[inline]
pub fn deploy<
T: alloy_contract::private::Transport + ::core::clone::Clone,
P: alloy_contract::private::Provider<T, N>,
N: alloy_contract::private::Network,
>(
provider: P,
) -> impl ::core::future::Future<
Output = alloy_contract::Result<DeployInstance<T, P, N>>,
> {
DeployInstance::<T, P, N>::deploy(provider)
}
/**Creates a `RawCallBuilder` for deploying this contract using the given `provider`
and constructor arguments, if any.
This is a simple wrapper around creating a `RawCallBuilder` with the data set to
the bytecode concatenated with the constructor's ABI-encoded arguments.*/
#[inline]
pub fn deploy_builder<
T: alloy_contract::private::Transport + ::core::clone::Clone,
P: alloy_contract::private::Provider<T, N>,
N: alloy_contract::private::Network,
>(provider: P) -> alloy_contract::RawCallBuilder<T, P, N> {
DeployInstance::<T, P, N>::deploy_builder(provider)
}
/**A [`Deploy`](self) instance.
Contains type-safe methods for interacting with an on-chain instance of the
[`Deploy`](self) contract located at a given `address`, using a given
provider `P`.
If the contract bytecode is available (see the [`sol!`](alloy_sol_types::sol!)
documentation on how to provide it), the `deploy` and `deploy_builder` methods can
be used to deploy a new instance of the contract.
See the [module-level documentation](self) for all the available methods.*/
#[derive(Clone)]
pub struct DeployInstance<T, P, N = alloy_contract::private::Ethereum> {
address: alloy_sol_types::private::Address,
provider: P,
_network_transport: ::core::marker::PhantomData<(N, T)>,
}
#[automatically_derived]
impl<T, P, N> ::core::fmt::Debug for DeployInstance<T, P, N> {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("DeployInstance").field(&self.address).finish()
}
}
/// Instantiation and getters/setters.
#[automatically_derived]
impl<
T: alloy_contract::private::Transport + ::core::clone::Clone,
P: alloy_contract::private::Provider<T, N>,
N: alloy_contract::private::Network,
> DeployInstance<T, P, N> {
/**Creates a new wrapper around an on-chain [`Deploy`](self) contract instance.
See the [wrapper's documentation](`DeployInstance`) for more details.*/
#[inline]
pub const fn new(
address: alloy_sol_types::private::Address,
provider: P,
) -> Self {
Self {
address,
provider,
_network_transport: ::core::marker::PhantomData,
}
}
/**Deploys this contract using the given `provider` and constructor arguments, if any.
Returns a new instance of the contract, if the deployment was successful.
For more fine-grained control over the deployment process, use [`deploy_builder`] instead.*/
#[inline]
pub async fn deploy(
provider: P,
) -> alloy_contract::Result<DeployInstance<T, P, N>> {
let call_builder = Self::deploy_builder(provider);
let contract_address = call_builder.deploy().await?;
Ok(Self::new(contract_address, call_builder.provider))
}
/**Creates a `RawCallBuilder` for deploying this contract using the given `provider`
and constructor arguments, if any.
This is a simple wrapper around creating a `RawCallBuilder` with the data set to
the bytecode concatenated with the constructor's ABI-encoded arguments.*/
#[inline]
pub fn deploy_builder(provider: P) -> alloy_contract::RawCallBuilder<T, P, N> {
alloy_contract::RawCallBuilder::new_raw_deploy(
provider,
::core::clone::Clone::clone(&BYTECODE),
)
}
/// Returns a reference to the address.
#[inline]
pub const fn address(&self) -> &alloy_sol_types::private::Address {
&self.address
}
/// Sets the address.
#[inline]
pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
self.address = address;
}
/// Sets the address and returns `self`.
pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
self.set_address(address);
self
}
/// Returns a reference to the provider.
#[inline]
pub const fn provider(&self) -> &P {
&self.provider
}
}
impl<T, P: ::core::clone::Clone, N> DeployInstance<T, &P, N> {
/// Clones the provider and returns a new instance with the cloned provider.
#[inline]
pub fn with_cloned_provider(self) -> DeployInstance<T, P, N> {
DeployInstance {
address: self.address,
provider: ::core::clone::Clone::clone(&self.provider),
_network_transport: ::core::marker::PhantomData,
}
}
}
/// Function calls.
#[automatically_derived]
impl<
T: alloy_contract::private::Transport + ::core::clone::Clone,
P: alloy_contract::private::Provider<T, N>,
N: alloy_contract::private::Network,
> DeployInstance<T, P, N> {
/// Creates a new call builder using this contract instance's provider and address.
///
/// Note that the call can be any function call, not just those defined in this
/// contract. Prefer using the other methods for building type-safe contract calls.
pub fn call_builder<C: alloy_sol_types::SolCall>(
&self,
call: &C,
) -> alloy_contract::SolCallBuilder<T, &P, C, N> {
alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
}
///Creates a new call builder for the [`IS_SCRIPT`] function.
pub fn IS_SCRIPT(
&self,
) -> alloy_contract::SolCallBuilder<T, &P, IS_SCRIPTCall, N> {
self.call_builder(&IS_SCRIPTCall {})
}
///Creates a new call builder for the [`run`] function.
pub fn run(
&self,
initialOwner: alloy::sol_types::private::Address,
) -> alloy_contract::SolCallBuilder<T, &P, runCall, N> {
self.call_builder(&runCall { initialOwner })
}
}
/// Event filters.
#[automatically_derived]
impl<
T: alloy_contract::private::Transport + ::core::clone::Clone,
P: alloy_contract::private::Provider<T, N>,
N: alloy_contract::private::Network,
> DeployInstance<T, P, N> {
/// Creates a new event filter using this contract instance's provider and address.
///
/// Note that the type can be any event, not just those defined in this contract.
/// Prefer using the other methods for building type-safe event filters.
pub fn event_filter<E: alloy_sol_types::SolEvent>(
&self,
) -> alloy_contract::Event<T, &P, E, N> {
alloy_contract::Event::new_sol(&self.provider, &self.address)
}
}
}