/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; import { Provider, TransactionRequest } from "@ethersproject/providers"; import type { ControlDeployer, ControlDeployerInterface, } from "../ControlDeployer"; const _abi = [ { inputs: [], stateMutability: "nonpayable", type: "constructor", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "registry", type: "address", }, { indexed: true, internalType: "address", name: "deployer", type: "address", }, { indexed: true, internalType: "address", name: "control", type: "address", }, ], name: "DeployedControl", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "role", type: "bytes32", }, { indexed: true, internalType: "bytes32", name: "previousAdminRole", type: "bytes32", }, { indexed: true, internalType: "bytes32", name: "newAdminRole", type: "bytes32", }, ], name: "RoleAdminChanged", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "role", type: "bytes32", }, { indexed: true, internalType: "address", name: "account", type: "address", }, { indexed: true, internalType: "address", name: "sender", type: "address", }, ], name: "RoleGranted", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "bytes32", name: "role", type: "bytes32", }, { indexed: true, internalType: "address", name: "account", type: "address", }, { indexed: true, internalType: "address", name: "sender", type: "address", }, ], name: "RoleRevoked", type: "event", }, { inputs: [], name: "DEFAULT_ADMIN_ROLE", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "REGISTRY_ROLE", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "nonce", type: "uint256", }, { internalType: "address", name: "deployer", type: "address", }, { internalType: "string", name: "uri", type: "string", }, ], name: "deployControl", outputs: [ { internalType: "address", name: "control", type: "address", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, ], name: "getRoleAdmin", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "grantRole", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "hasRole", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "implementation", outputs: [ { internalType: "contract ProtocolControl", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "renounceRole", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "role", type: "bytes32", }, { internalType: "address", name: "account", type: "address", }, ], name: "revokeRole", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes4", name: "interfaceId", type: "bytes4", }, ], name: "supportsInterface", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, ]; const _bytecode = "0x60a060405234801561001057600080fd5b5060405161001d90610102565b604051809103906000f080158015610039573d6000803e3d6000fd5b506001600160a01b0316608052610051600033610056565b61010f565b6100608282610064565b5050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16610060576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556100be3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b612b6c80610d2183390190565b608051610bf06101316000396000818161017001526103d30152610bf06000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c80635c60da1b11610076578063a217fddf1161005b578063a217fddf146101e1578063ca282cb3146101e9578063d547741f146101fc57600080fd5b80635c60da1b1461016b57806391d14854146101aa57600080fd5b80632f2ff15d116100a75780632f2ff15d1461011c57806336568abe1461013157806342f1e8791461014457600080fd5b806301ffc9a7146100c3578063248a9ca3146100eb575b600080fd5b6100d66100d13660046108d8565b61020f565b60405190151581526020015b60405180910390f35b61010e6100f9366004610902565b60009081526020819052604090206001015490565b6040519081526020016100e2565b61012f61012a366004610937565b610246565b005b61012f61013f366004610937565b610271565b61010e7fc2979137d1774e40fe2638d355bf7a7b092be4c67f242aad1655e1e27f9df9cc81565b6101927f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100e2565b6100d66101b8366004610937565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b61010e600081565b6101926101f7366004610979565b610302565b61012f61020a366004610937565b6104b0565b60006001600160e01b03198216637965db0b60e01b148061024057506301ffc9a760e01b6001600160e01b03198316145b92915050565b60008281526020819052604090206001015461026281336104d6565b61026c8383610554565b505050565b6001600160a01b03811633146102f45760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6102fe82826105f2565b5050565b3360008181527ff335f57b756ddd7e591b923d07203a74acc727c4bda262e47a8da634def041a6602052604081205490919060ff166103835760405162461bcd60e51b815260206004820152601060248201527f696e76616c69642072656769737472790000000000000000000000000000000060448201526064016102eb565b6040516bffffffffffffffffffffffff19606083811b8216602084015286901b166034820152604881018690526000906068016040516020818303038152906040528051906020012090506103f87f000000000000000000000000000000000000000000000000000000000000000082610671565b6040516322b8f1d360e11b81529093506001600160a01b03841690634571e3a69061042b90859089908990600401610aa0565b600060405180830381600087803b15801561044557600080fd5b505af1158015610459573d6000803e3d6000fd5b50505050826001600160a01b0316856001600160a01b0316836001600160a01b03167f42b7c3bcb4f81bdee60d3f586a6843ee1571f21e8bf0480af04e2c6418465b4760405160405180910390a450509392505050565b6000828152602081905260409020600101546104cc81336104d6565b61026c83836105f2565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166102fe57610512816001600160a01b03166014610728565b61051d836020610728565b60405160200161052e929190610ad5565b60408051601f198184030181529082905262461bcd60e51b82526102eb91600401610b56565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166102fe576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556105ae3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16156102fe576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60006040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528360601b60148201527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006028820152826037826000f59150506001600160a01b0381166102405760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c656400000000000000000060448201526064016102eb565b60606000610737836002610b7f565b610742906002610b9e565b67ffffffffffffffff81111561075a5761075a610963565b6040519080825280601f01601f191660200182016040528015610784576020820181803683370190505b509050600360fc1b8160008151811061079f5761079f610bb6565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106107ce576107ce610bb6565b60200101906001600160f81b031916908160001a90535060006107f2846002610b7f565b6107fd906001610b9e565b90505b6001811115610882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061083e5761083e610bb6565b1a60f81b82828151811061085457610854610bb6565b60200101906001600160f81b031916908160001a90535060049490941c9361087b81610bcc565b9050610800565b5083156108d15760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016102eb565b9392505050565b6000602082840312156108ea57600080fd5b81356001600160e01b0319811681146108d157600080fd5b60006020828403121561091457600080fd5b5035919050565b80356001600160a01b038116811461093257600080fd5b919050565b6000806040838503121561094a57600080fd5b8235915061095a6020840161091b565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561098e57600080fd5b8335925061099e6020850161091b565b9150604084013567ffffffffffffffff808211156109bb57600080fd5b818601915086601f8301126109cf57600080fd5b8135818111156109e1576109e1610963565b604051601f8201601f19908116603f01168101908382118183101715610a0957610a09610963565b81604052828152896020848701011115610a2257600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b60005b83811015610a5f578181015183820152602001610a47565b83811115610a6e576000848401525b50505050565b60008151808452610a8c816020860160208601610a44565b601f01601f19169290920160200192915050565b60006001600160a01b03808616835280851660208401525060606040830152610acc6060830184610a74565b95945050505050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351610b0d816017850160208801610a44565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351610b4a816028840160208801610a44565b01602801949350505050565b6020815260006108d16020830184610a74565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615610b9957610b99610b69565b500290565b60008219821115610bb157610bb1610b69565b500190565b634e487b7160e01b600052603260045260246000fd5b600081610bdb57610bdb610b69565b50600019019056fea164736f6c6343000809000a60806040523480156200001157600080fd5b50600254610100900460ff166200002f5760025460ff161562000039565b62000039620000de565b620000a15760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b600254610100900460ff16158015620000c4576002805461ffff19166101011790555b8015620000d7576002805461ff00191690555b5062000102565b6000620000f630620000fc60201b620019931760201c565b15905090565b3b151590565b612a5a80620001126000396000f3fe6080604052600436106101c55760003560e01c806391d14854116100f7578063b0b6cc1a11610095578063d547741f11610064578063d547741f146105e3578063e8a3d48514610603578063f2aab4b314610618578063fd967f471461063857600080fd5b8063b0b6cc1a1461054d578063b9998a2414610583578063c097b1fb146105a3578063ca15c873146105c357600080fd5b8063a0042526116100d1578063a0042526146104c9578063a217fddf146104de578063ac9650d8146104f3578063aca841751461052057600080fd5b806391d1485414610445578063938e3d7b1461048957806396362d32146104a957600080fd5b80633b98a7df116101645780634d8188851161013e5780634d818885146103ab57806354fd4d50146103cb5780637b103999146104055780639010d07c1461042557600080fd5b80633b98a7df1461033e5780633fff7bf81461035e5780634571e3a61461038b57600080fd5b8063248a9ca3116101a0578063248a9ca3146102985780632f2ff15d146102d657806331f7d964146102f657806336568abe1461031e57600080fd5b80620fa9fb1461020957806301ffc9a71461022b57806305e9ca9b1461026057600080fd5b3661020457604080513381523460208201527f1e57e3bb474320be3d2c77138f75b7c3941292d647f5f9634e33a8e94e0e069b910160405180910390a1005b600080fd5b34801561021557600080fd5b506102296102243660046123dd565b61064e565b005b34801561023757600080fd5b5061024b610246366004612416565b610c8d565b60405190151581526020015b60405180910390f35b34801561026c57600080fd5b50600754610280906001600160a01b031681565b6040516001600160a01b039091168152602001610257565b3480156102a457600080fd5b506102c86102b3366004612440565b60009081526020819052604090206001015490565b604051908152602001610257565b3480156102e257600080fd5b506102296102f1366004612459565b610cb8565b34801561030257600080fd5b5061028073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561032a57600080fd5b50610229610339366004612459565b610ce3565b34801561034a57600080fd5b5061022961035936600461247e565b610d6f565b34801561036a57600080fd5b506102c8610379366004612440565b60046020526000908152604090205481565b34801561039757600080fd5b506102296103a63660046124b1565b610ed3565b3480156103b757600080fd5b506102296103c63660046123dd565b610fe6565b3480156103d757600080fd5b506103f8604051806040016040528060018152602001603160f81b81525081565b60405161025791906125df565b34801561041157600080fd5b50600654610280906001600160a01b031681565b34801561043157600080fd5b506102806104403660046125f2565b61115a565b34801561045157600080fd5b5061024b610460366004612459565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561049557600080fd5b506102296104a4366004612614565b611179565b3480156104b557600080fd5b506102c86104c4366004612686565b611229565b3480156104d557600080fd5b50610280611380565b3480156104ea57600080fd5b506102c8600081565b3480156104ff57600080fd5b5061051361050e3660046126b2565b61142e565b6040516102579190612715565b34801561052c57600080fd5b5061054061053b366004612440565b611523565b6040516102579190612777565b34801561055957600080fd5b50610280610568366004612440565b6003602052600090815260409020546001600160a01b031681565b34801561058f57600080fd5b5061022961059e36600461247e565b611614565b3480156105af57600080fd5b506102296105be366004612459565b61170c565b3480156105cf57600080fd5b506102c86105de366004612440565b611893565b3480156105ef57600080fd5b506102296105fe366004612459565b6118aa565b34801561060f57600080fd5b506103f86118d0565b34801561062457600080fd5b5061028061063336600461247e565b61195e565b34801561064457600080fd5b506102c861271081565b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff166106f75760405162461bcd60e51b815260206004820152603d60248201527f50726f746f636f6c436f6e74726f6c3a204f6e6c792070726f746f636f6c206160448201527f646d696e732063616e2063616c6c20746869732066756e6374696f6e2e00000060648201526084015b60405180910390fd5b600654604080516361d027b360e01b815290516001600160a01b0390921691839160009184916361d027b3916004808301926020929190829003018186803b15801561074257600080fd5b505afa158015610756573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061077a91906127c4565b905060008061078884611999565b9050801561079857479150610812565b6040516370a0823160e01b81523060048201526001600160a01b038516906370a082319060240160206040518083038186803b1580156107d757600080fd5b505afa1580156107eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080f91906127e1565b91505b604051630e78de6f60e31b8152306004820152600090612710906001600160a01b038816906373c6f3789060240160206040518083038186803b15801561085857600080fd5b505afa15801561086c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089091906127e1565b61089a9085612810565b6108a4919061282f565b90506108b08184612851565b925060008215610a63576040516001600160a01b038a16908590600081818185875af1925050503d8060008114610903576040519150601f19603f3d011682016040523d82523d6000602084013e610908565b606091505b5050809150508061095b5760405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f2077697468647261772066756e6473000000000000000060448201526064016106ee565b6040516001600160a01b038616908390600081818185875af1925050503d80600081146109a4576040519150601f19603f3d011682016040523d82523d6000602084013e6109a9565b606091505b50508091505080610a085760405162461bcd60e51b8152602060048201526024808201527f6661696c656420746f2077697468647261772066756e647320746f20726567696044820152637374727960e01b60648201526084016106ee565b876001600160a01b0316896001600160a01b03167f080a49aa43b33f2f3fe14496cbedde2305f0cc484e98afb78e943cf9881adc8a8685604051610a56929190918252602082015260400190565b60405180910390a3610c82565b60405163a9059cbb60e01b81526001600160a01b038a811660048301526024820186905287169063a9059cbb90604401602060405180830381600087803b158015610aad57600080fd5b505af1158015610ac1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae59190612868565b905080610b345760405162461bcd60e51b815260206004820152601a60248201527f6661696c656420746f207472616e73666572207061796d656e7400000000000060448201526064016106ee565b60405163a9059cbb60e01b81526001600160a01b0386811660048301526024820184905287169063a9059cbb90604401602060405180830381600087803b158015610b7e57600080fd5b505af1158015610b92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb69190612868565b905080610c2b5760405162461bcd60e51b815260206004820152602660248201527f6661696c656420746f207472616e73666572207061796d656e7420746f20726560448201527f676973747279000000000000000000000000000000000000000000000000000060648201526084016106ee565b876001600160a01b0316896001600160a01b03167f080a49aa43b33f2f3fe14496cbedde2305f0cc484e98afb78e943cf9881adc8a8685604051610c79929190918252602082015260400190565b60405180910390a35b505050505050505050565b60006001600160e01b03198216635a05180f60e01b1480610cb25750610cb2826119cf565b92915050565b600082815260208190526040902060010154610cd48133611a04565b610cde8383611a82565b505050565b6001600160a01b0381163314610d615760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084016106ee565b610d6b8282611aa4565b5050565b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff16610e135760405162461bcd60e51b815260206004820152603d60248201527f50726f746f636f6c436f6e74726f6c3a204f6e6c792070726f746f636f6c206160448201527f646d696e732063616e2063616c6c20746869732066756e6374696f6e2e00000060648201526084016106ee565b610e1c81611ac6565b610e7a5760405162461bcd60e51b815260206004820152602960248201527f50726f746f636f6c436f6e74726f6c3a2070726f766964657220736861726573604482015268103a37b7903637bb9760b91b60648201526084016106ee565b600780546001600160a01b0319166001600160a01b03831690811790915560405190815260009030907f55a6d5ecee94ad7f72b42efa05adae50807422b98f5c511cf7f0a0205b65b7519060200160405180910390a350565b600254610100900460ff16610eee5760025460ff1615610ef2565b303b155b610f645760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106ee565b600254610100900460ff16158015610f86576002805461ffff19166101011790555b8151610f999060099060208501906122b8565b50600680546001600160a01b0386166001600160a01b0319918216179091556007805490911630179055610fce600084611cf3565b8015610fe0576002805461ff00191690555b50505050565b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff1661108a5760405162461bcd60e51b815260206004820152603d60248201527f50726f746f636f6c436f6e74726f6c3a204f6e6c792070726f746f636f6c206160448201527f646d696e732063616e2063616c6c20746869732066756e6374696f6e2e00000060648201526084016106ee565b61109381611ac6565b6110f15760405162461bcd60e51b815260206004820152602960248201527f50726f746f636f6c436f6e74726f6c3a2070726f766964657220736861726573604482015268103a37b7903637bb9760b91b60648201526084016106ee565b6001600160a01b0382811660008181526005602090815260409182902080546001600160a01b03191694861694851790559051928352909130917f55a6d5ecee94ad7f72b42efa05adae50807422b98f5c511cf7f0a0205b65b751910160405180910390a35050565b60008281526001602052604081206111729083611cfd565b9392505050565b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff1661121d5760405162461bcd60e51b815260206004820152603d60248201527f50726f746f636f6c436f6e74726f6c3a204f6e6c792070726f746f636f6c206160448201527f646d696e732063616e2063616c6c20746869732066756e6374696f6e2e00000060648201526084016106ee565b610cde6009838361233c565b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205460ff166112cd5760405162461bcd60e51b815260206004820152603d60248201527f50726f746f636f6c436f6e74726f6c3a204f6e6c792070726f746f636f6c206160448201527f646d696e732063616e2063616c6c20746869732066756e6374696f6e2e00000060648201526084016106ee565b50600081815260046020818152604080842080548251808501829052808401889052835180820385018152606090910190935282519284019290922086865293909252919260019261132090849061288a565b909155505060008181526003602052604080822080546001600160a01b0319166001600160a01b0387169081179091559051909183917ff0d0fe9ecd941ad0096a6b95e0998ddcd76ba6a240a106fef284fc2d4f0caa419190a392915050565b6008546000906001600160a01b031661141e57600660009054906101000a90046001600160a01b03166001600160a01b031663f645d4f96040518163ffffffff1660e01b815260040160206040518083038186803b1580156113e157600080fd5b505afa1580156113f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141991906127c4565b905090565b506008546001600160a01b031690565b60608167ffffffffffffffff8111156114495761144961249b565b60405190808252806020026020018201604052801561147c57816020015b60608152602001906001900390816114675790505b50905060005b8281101561151c576114ec308585848181106114a0576114a06128a2565b90506020028101906114b291906128b8565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d0992505050565b8282815181106114fe576114fe6128a2565b6020026020010181905250808061151490612906565b915050611482565b5092915050565b6000818152600460205260409020546060908067ffffffffffffffff81111561154e5761154e61249b565b604051908082528060200260200182016040528015611577578160200160208202803683370190505b50915060005b8181101561160d57604080516020810183905290810185905260009060600160408051601f1981840301815291815281516020928301206000818152600390935291205485519192506001600160a01b0316908590849081106115e2576115e26128a2565b6001600160a01b03909216602092830291909101909101525061160660018261288a565b905061157d565b5050919050565b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff166116b85760405162461bcd60e51b815260206004820152603d60248201527f50726f746f636f6c436f6e74726f6c3a204f6e6c792070726f746f636f6c206160448201527f646d696e732063616e2063616c6c20746869732066756e6374696f6e2e00000060648201526084016106ee565b600880546001600160a01b0319166001600160a01b0383169081179091556040519081527f9d90a82ec1d038d4e13317a0eb136f9c65b7ed42156fc204ec4b7c4731e739509060200160405180910390a150565b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff166117b05760405162461bcd60e51b815260206004820152603d60248201527f50726f746f636f6c436f6e74726f6c3a204f6e6c792070726f746f636f6c206160448201527f646d696e732063616e2063616c6c20746869732066756e6374696f6e2e00000060648201526084016106ee565b6000828152600360205260409020546001600160a01b031661183a5760405162461bcd60e51b815260206004820152603660248201527f50726f746f636f6c436f6e74726f6c3a2061206d6f64756c652077697468207460448201527f68697320494420646f6573206e6f742065786973742e0000000000000000000060648201526084016106ee565b60008281526003602052604080822080546001600160a01b0319166001600160a01b0385169081179091559051909184917ff0d0fe9ecd941ad0096a6b95e0998ddcd76ba6a240a106fef284fc2d4f0caa419190a35050565b6000818152600160205260408120610cb290611d2e565b6000828152602081905260409020600101546118c68133611a04565b610cde8383611aa4565b600980546118dd90612921565b80601f016020809104026020016040519081016040528092919081815260200182805461190990612921565b80156119565780601f1061192b57610100808354040283529160200191611956565b820191906000526020600020905b81548152906001019060200180831161193957829003601f168201915b505050505081565b6001600160a01b0380821660009081526005602052604081205490911680610cb25750506007546001600160a01b0316919050565b3b151590565b60006001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480610cb25750506001600160a01b03161590565b60006001600160e01b03198216637965db0b60e01b1480610cb257506301ffc9a760e01b6001600160e01b0319831614610cb2565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16610d6b57611a40816001600160a01b03166014611d38565b611a4b836020611d38565b604051602001611a5c92919061295c565b60408051601f198184030181529082905262461bcd60e51b82526106ee916004016125df565b611a8c8282611ee1565b6000828152600160205260409020610cde9082611f7f565b611aae8282611f94565b6000828152600160205260409020610cde9082612013565b600654604080516361d027b360e01b8152905160009284926001600160a01b0391821692859285169163ce7c2ac29185916361d027b3916004808301926020929190829003018186803b158015611b1c57600080fd5b505afa158015611b30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b5491906127c4565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b158015611b9357600080fd5b505afa158015611ba7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bcb91906127e1565b90506000836001600160a01b0316633a98ef396040518163ffffffff1660e01b815260040160206040518083038186803b158015611c0857600080fd5b505afa158015611c1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c4091906127e1565b9050600081611c5161271085612810565b611c5b919061282f565b604051630e78de6f60e31b8152306004820152909150600a9081906001600160a01b038716906373c6f3789060240160206040518083038186803b158015611ca257600080fd5b505afa158015611cb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cda91906127e1565b611ce49190612851565b90911015979650505050505050565b610d6b8282611a82565b60006111728383612028565b60606111728383604051806060016040528060278152602001612a2760279139612052565b6000610cb2825490565b60606000611d47836002612810565b611d5290600261288a565b67ffffffffffffffff811115611d6a57611d6a61249b565b6040519080825280601f01601f191660200182016040528015611d94576020820181803683370190505b509050600360fc1b81600081518110611daf57611daf6128a2565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611dde57611dde6128a2565b60200101906001600160f81b031916908160001a9053506000611e02846002612810565b611e0d90600161288a565b90505b6001811115611e92577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611e4e57611e4e6128a2565b1a60f81b828281518110611e6457611e646128a2565b60200101906001600160f81b031916908160001a90535060049490941c93611e8b816129dd565b9050611e10565b5083156111725760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016106ee565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16610d6b576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055611f3b3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000611172836001600160a01b03841661213d565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1615610d6b576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000611172836001600160a01b03841661218c565b600082600001828154811061203f5761203f6128a2565b9060005260206000200154905092915050565b6060833b6120c85760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016106ee565b600080856001600160a01b0316856040516120e391906129f4565b600060405180830381855af49150503d806000811461211e576040519150601f19603f3d011682016040523d82523d6000602084013e612123565b606091505b509150915061213382828661227f565b9695505050505050565b600081815260018301602052604081205461218457508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610cb2565b506000610cb2565b600081815260018301602052604081205480156122755760006121b0600183612851565b85549091506000906121c490600190612851565b90508181146122295760008660000182815481106121e4576121e46128a2565b9060005260206000200154905080876000018481548110612207576122076128a2565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061223a5761223a612a10565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610cb2565b6000915050610cb2565b6060831561228e575081611172565b82511561229e5782518084602001fd5b8160405162461bcd60e51b81526004016106ee91906125df565b8280546122c490612921565b90600052602060002090601f0160209004810192826122e6576000855561232c565b82601f106122ff57805160ff191683800117855561232c565b8280016001018555821561232c579182015b8281111561232c578251825591602001919060010190612311565b506123389291506123b0565b5090565b82805461234890612921565b90600052602060002090601f01602090048101928261236a576000855561232c565b82601f106123835782800160ff1982351617855561232c565b8280016001018555821561232c579182015b8281111561232c578235825591602001919060010190612395565b5b8082111561233857600081556001016123b1565b6001600160a01b03811681146123da57600080fd5b50565b600080604083850312156123f057600080fd5b82356123fb816123c5565b9150602083013561240b816123c5565b809150509250929050565b60006020828403121561242857600080fd5b81356001600160e01b03198116811461117257600080fd5b60006020828403121561245257600080fd5b5035919050565b6000806040838503121561246c57600080fd5b82359150602083013561240b816123c5565b60006020828403121561249057600080fd5b8135611172816123c5565b634e487b7160e01b600052604160045260246000fd5b6000806000606084860312156124c657600080fd5b83356124d1816123c5565b925060208401356124e1816123c5565b9150604084013567ffffffffffffffff808211156124fe57600080fd5b818601915086601f83011261251257600080fd5b8135818111156125245761252461249b565b604051601f8201601f19908116603f0116810190838211818310171561254c5761254c61249b565b8160405282815289602084870101111561256557600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b60005b838110156125a257818101518382015260200161258a565b83811115610fe05750506000910152565b600081518084526125cb816020860160208601612587565b601f01601f19169290920160200192915050565b60208152600061117260208301846125b3565b6000806040838503121561260557600080fd5b50508035926020909101359150565b6000806020838503121561262757600080fd5b823567ffffffffffffffff8082111561263f57600080fd5b818501915085601f83011261265357600080fd5b81358181111561266257600080fd5b86602082850101111561267457600080fd5b60209290920196919550909350505050565b6000806040838503121561269957600080fd5b82356126a4816123c5565b946020939093013593505050565b600080602083850312156126c557600080fd5b823567ffffffffffffffff808211156126dd57600080fd5b818501915085601f8301126126f157600080fd5b81358181111561270057600080fd5b8660208260051b850101111561267457600080fd5b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561276a57603f198886030184526127588583516125b3565b9450928501929085019060010161273c565b5092979650505050505050565b6020808252825182820181905260009190848201906040850190845b818110156127b85783516001600160a01b031683529284019291840191600101612793565b50909695505050505050565b6000602082840312156127d657600080fd5b8151611172816123c5565b6000602082840312156127f357600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561282a5761282a6127fa565b500290565b60008261284c57634e487b7160e01b600052601260045260246000fd5b500490565b600082821015612863576128636127fa565b500390565b60006020828403121561287a57600080fd5b8151801515811461117257600080fd5b6000821982111561289d5761289d6127fa565b500190565b634e487b7160e01b600052603260045260246000fd5b6000808335601e198436030181126128cf57600080fd5b83018035915067ffffffffffffffff8211156128ea57600080fd5b6020019150368190038213156128ff57600080fd5b9250929050565b600060001982141561291a5761291a6127fa565b5060010190565b600181811c9082168061293557607f821691505b6020821081141561295657634e487b7160e01b600052602260045260246000fd5b50919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612994816017850160208801612587565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516129d1816028840160208801612587565b01602801949350505050565b6000816129ec576129ec6127fa565b506000190190565b60008251612a06818460208701612587565b9190910192915050565b634e487b7160e01b600052603160045260246000fdfe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000809000a"; type ControlDeployerConstructorParams = | [signer?: Signer] | ConstructorParameters; const isSuperArgs = ( xs: ControlDeployerConstructorParams ): xs is ConstructorParameters => xs.length > 1; export class ControlDeployer__factory extends ContractFactory { constructor(...args: ControlDeployerConstructorParams) { if (isSuperArgs(args)) { super(...args); } else { super(_abi, _bytecode, args[0]); } } deploy( overrides?: Overrides & { from?: string | Promise } ): Promise { return super.deploy(overrides || {}) as Promise; } getDeployTransaction( overrides?: Overrides & { from?: string | Promise } ): TransactionRequest { return super.getDeployTransaction(overrides || {}); } attach(address: string): ControlDeployer { return super.attach(address) as ControlDeployer; } connect(signer: Signer): ControlDeployer__factory { return super.connect(signer) as ControlDeployer__factory; } static readonly bytecode = _bytecode; static readonly abi = _abi; static createInterface(): ControlDeployerInterface { return new utils.Interface(_abi) as ControlDeployerInterface; } static connect( address: string, signerOrProvider: Signer | Provider ): ControlDeployer { return new Contract(address, _abi, signerOrProvider) as ControlDeployer; } }