{
  "_format": "hh-sol-artifact-1",
  "contractName": "TransparentUpgradeableProxy",
  "sourceName": "hardhat-deploy/solc_0.8/openzeppelin/proxy/transparent/TransparentUpgradeableProxy.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_logic",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "admin_",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "_data",
          "type": "bytes"
        }
      ],
      "stateMutability": "payable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "previousAdmin",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "newAdmin",
          "type": "address"
        }
      ],
      "name": "AdminChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "beacon",
          "type": "address"
        }
      ],
      "name": "BeaconUpgraded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "implementation",
          "type": "address"
        }
      ],
      "name": "Upgraded",
      "type": "event"
    },
    {
      "stateMutability": "payable",
      "type": "fallback"
    },
    {
      "inputs": [],
      "name": "admin",
      "outputs": [
        {
          "internalType": "address",
          "name": "admin_",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newAdmin",
          "type": "address"
        }
      ],
      "name": "changeAdmin",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "implementation",
      "outputs": [
        {
          "internalType": "address",
          "name": "implementation_",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newImplementation",
          "type": "address"
        }
      ],
      "name": "upgradeTo",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newImplementation",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "upgradeToAndCall",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "stateMutability": "payable",
      "type": "receive"
    }
  ],
  "bytecode": "0x6080604052604051610fc2380380610fc283398101604081905261002291610460565b828161004f60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd6104d9565b5f80516020610f7b8339815191521461006a5761006a6104ec565b61007582825f6100cf565b506100a3905060017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61046104d9565b5f80516020610f5b833981519152146100be576100be6104ec565b6100c7826100fa565b505050610698565b6100d88361015c565b5f825111806100e45750805b156100f5576100f3838361019b565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6101395f80516020610f5b833981519152546001600160a01b031690565b8260405161014892919061050f565b60405180910390a1610159816101c9565b50565b61016581610229565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606101c08383604051806060016040528060278152602001610f9b60279139610264565b90505b92915050565b6001600160a01b0381166101f85760405162461bcd60e51b81526004016101ef9061056f565b60405180910390fd5b805f80516020610f5b8339815191525b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b6102505760405162461bcd60e51b81526004016101ef906105c8565b805f80516020610f7b833981519152610208565b60606001600160a01b0384163b61028d5760405162461bcd60e51b81526004016101ef9061061a565b5f80856001600160a01b0316856040516102a7919061064b565b5f60405180830381855af49150503d805f81146102df576040519150601f19603f3d011682016040523d82523d5f602084013e6102e4565b606091505b5090925090506102f5828286610301565b925050505b9392505050565b606083156103105750816102fa565b8251156103205782518084602001fd5b8160405162461bcd60e51b81526004016101ef9190610687565b5f6001600160a01b0382166101c3565b6103538161033a565b8114610159575f80fd5b80516101c38161034a565b634e487b7160e01b5f52604160045260245ffd5b601f19601f83011681018181106001600160401b03821117156103a1576103a1610368565b6040525050565b5f6103b260405190565b90506103be828261037c565b919050565b5f6001600160401b038211156103db576103db610368565b601f19601f83011660200192915050565b8281835e505f910152565b5f610409610404846103c3565b6103a8565b905082815260208101848484011115610423576104235f80fd5b61042e8482856103ec565b509392505050565b5f82601f830112610448576104485f80fd5b81516104588482602086016103f7565b949350505050565b5f805f60608486031215610475576104755f80fd5b5f610480868661035d565b93505060206104918682870161035d565b92505060408401516001600160401b038111156104af576104af5f80fd5b6104bb86828701610436565b9150509250925092565b634e487b7160e01b5f52601160045260245ffd5b818103818111156101c3576101c36104c5565b634e487b7160e01b5f52600160045260245ffd5b6105098161033a565b82525050565b6040810161051d8285610500565b6102fa6020830184610500565b602681525f602082017f455243313936373a206e65772061646d696e20697320746865207a65726f206181526564647265737360d01b602082015291505b5060400190565b602080825281016101c38161052a565b602d81525f602082017f455243313936373a206e657720696d706c656d656e746174696f6e206973206e81526c1bdd08184818dbdb9d1c9858dd609a1b60208201529150610568565b602080825281016101c38161057f565b602681525f602082017f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f8152651b9d1c9858dd60d21b60208201529150610568565b602080825281016101c3816105d8565b5f610633825190565b6106418185602086016103ec565b9290920192915050565b5f6102fa828461062a565b5f61065f825190565b8084526020840193506106768185602086016103ec565b601f01601f19169290920192915050565b602080825281016101c08184610656565b6108b6806106a55f395ff3fe60806040526004361061004d575f3560e01c80633659cfe6146100645780634f1ef286146100835780635c60da1b146100965780638f283970146100c0578063f851a440146100df5761005c565b3661005c5761005a6100f3565b005b61005a6100f3565b34801561006f575f80fd5b5061005a61007e366004610571565b61010d565b61005a6100913660046105e5565b610148565b3480156100a1575f80fd5b506100aa6101ae565b6040516100b7919061064b565b60405180910390f35b3480156100cb575f80fd5b5061005a6100da366004610571565b6101de565b3480156100ea575f80fd5b506100aa6101fe565b6100fb61021e565b61010b610106610256565b61025f565b565b61011561027d565b6001600160a01b031633036101405761013d8160405180602001604052805f8152505f6102af565b50565b61013d6100f3565b61015061027d565b6001600160a01b031633036101a6576101a18383838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250600192506102af915050565b505050565b6101a16100f3565b5f6101b761027d565b6001600160a01b031633036101d3576101ce610256565b905090565b6101db6100f3565b90565b6101e661027d565b6001600160a01b031633036101405761013d816102d9565b5f61020761027d565b6001600160a01b031633036101d3576101ce61027d565b61022661027d565b6001600160a01b0316330361010b5760405162461bcd60e51b815260040161024d90610659565b60405180910390fd5b5f6101ce610322565b365f80375f80365f845af43d5f803e808015610279573d5ff35b3d5ffd5b5f7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b6102b883610349565b5f825111806102c45750805b156101a1576102d38383610388565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61030261027d565b826040516103119291906106c5565b60405180910390a161013d816103b6565b5f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6102a0565b61035281610420565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606103ad838360405180606001604052806027815260200161085a6027913961046e565b90505b92915050565b6001600160a01b0381166103dc5760405162461bcd60e51b815260040161024d90610725565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b6104475760405162461bcd60e51b815260040161024d9061077e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6103ff565b60606001600160a01b0384163b6104975760405162461bcd60e51b815260040161024d906107d0565b5f80856001600160a01b0316856040516104b1919061080c565b5f60405180830381855af49150503d805f81146104e9576040519150601f19603f3d011682016040523d82523d5f602084013e6104ee565b606091505b50915091506104fe82828661050a565b925050505b9392505050565b60608315610519575081610503565b8251156105295782518084602001fd5b8160405162461bcd60e51b815260040161024d9190610848565b5f6001600160a01b0382166103b0565b61055c81610543565b811461013d575f80fd5b80356103b081610553565b5f60208284031215610584576105845f80fd5b5f61058f8484610566565b949350505050565b5f8083601f8401126105aa576105aa5f80fd5b50813567ffffffffffffffff8111156105c4576105c45f80fd5b6020830191508360018202830111156105de576105de5f80fd5b9250929050565b5f805f604084860312156105fa576105fa5f80fd5b5f6106058686610566565b935050602084013567ffffffffffffffff811115610624576106245f80fd5b61063086828701610597565b92509250509250925092565b61064581610543565b82525050565b602081016103b0828461063c565b602080825281016103b081604281527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60208201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267604082015261195d60f21b606082015260800190565b604081016106d3828561063c565b610503602083018461063c565b602681525f602082017f455243313936373a206e65772061646d696e20697320746865207a65726f206181526564647265737360d01b602082015291505b5060400190565b602080825281016103b0816106e0565b602d81525f602082017f455243313936373a206e657720696d706c656d656e746174696f6e206973206e81526c1bdd08184818dbdb9d1c9858dd609a1b6020820152915061071e565b602080825281016103b081610735565b602681525f602082017f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f8152651b9d1c9858dd60d21b6020820152915061071e565b602080825281016103b08161078e565b8281835e505f910152565b5f6107f4825190565b6108028185602086016107e0565b9290920192915050565b5f61050382846107eb565b5f610820825190565b8084526020840193506108378185602086016107e0565b601f01601f19169290920192915050565b602080825281016103ad818461081756fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205c293cb82dd5d5b7228e518d5479dbf5bd70b6685ce9647aa6d360a311c6735064736f6c63430008190033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564",
  "deployedBytecode": "0x60806040526004361061004d575f3560e01c80633659cfe6146100645780634f1ef286146100835780635c60da1b146100965780638f283970146100c0578063f851a440146100df5761005c565b3661005c5761005a6100f3565b005b61005a6100f3565b34801561006f575f80fd5b5061005a61007e366004610571565b61010d565b61005a6100913660046105e5565b610148565b3480156100a1575f80fd5b506100aa6101ae565b6040516100b7919061064b565b60405180910390f35b3480156100cb575f80fd5b5061005a6100da366004610571565b6101de565b3480156100ea575f80fd5b506100aa6101fe565b6100fb61021e565b61010b610106610256565b61025f565b565b61011561027d565b6001600160a01b031633036101405761013d8160405180602001604052805f8152505f6102af565b50565b61013d6100f3565b61015061027d565b6001600160a01b031633036101a6576101a18383838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250600192506102af915050565b505050565b6101a16100f3565b5f6101b761027d565b6001600160a01b031633036101d3576101ce610256565b905090565b6101db6100f3565b90565b6101e661027d565b6001600160a01b031633036101405761013d816102d9565b5f61020761027d565b6001600160a01b031633036101d3576101ce61027d565b61022661027d565b6001600160a01b0316330361010b5760405162461bcd60e51b815260040161024d90610659565b60405180910390fd5b5f6101ce610322565b365f80375f80365f845af43d5f803e808015610279573d5ff35b3d5ffd5b5f7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b6102b883610349565b5f825111806102c45750805b156101a1576102d38383610388565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61030261027d565b826040516103119291906106c5565b60405180910390a161013d816103b6565b5f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6102a0565b61035281610420565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606103ad838360405180606001604052806027815260200161085a6027913961046e565b90505b92915050565b6001600160a01b0381166103dc5760405162461bcd60e51b815260040161024d90610725565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b6104475760405162461bcd60e51b815260040161024d9061077e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6103ff565b60606001600160a01b0384163b6104975760405162461bcd60e51b815260040161024d906107d0565b5f80856001600160a01b0316856040516104b1919061080c565b5f60405180830381855af49150503d805f81146104e9576040519150601f19603f3d011682016040523d82523d5f602084013e6104ee565b606091505b50915091506104fe82828661050a565b925050505b9392505050565b60608315610519575081610503565b8251156105295782518084602001fd5b8160405162461bcd60e51b815260040161024d9190610848565b5f6001600160a01b0382166103b0565b61055c81610543565b811461013d575f80fd5b80356103b081610553565b5f60208284031215610584576105845f80fd5b5f61058f8484610566565b949350505050565b5f8083601f8401126105aa576105aa5f80fd5b50813567ffffffffffffffff8111156105c4576105c45f80fd5b6020830191508360018202830111156105de576105de5f80fd5b9250929050565b5f805f604084860312156105fa576105fa5f80fd5b5f6106058686610566565b935050602084013567ffffffffffffffff811115610624576106245f80fd5b61063086828701610597565b92509250509250925092565b61064581610543565b82525050565b602081016103b0828461063c565b602080825281016103b081604281527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60208201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267604082015261195d60f21b606082015260800190565b604081016106d3828561063c565b610503602083018461063c565b602681525f602082017f455243313936373a206e65772061646d696e20697320746865207a65726f206181526564647265737360d01b602082015291505b5060400190565b602080825281016103b0816106e0565b602d81525f602082017f455243313936373a206e657720696d706c656d656e746174696f6e206973206e81526c1bdd08184818dbdb9d1c9858dd609a1b6020820152915061071e565b602080825281016103b081610735565b602681525f602082017f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f8152651b9d1c9858dd60d21b6020820152915061071e565b602080825281016103b08161078e565b8281835e505f910152565b5f6107f4825190565b6108028185602086016107e0565b9290920192915050565b5f61050382846107eb565b5f610820825190565b8084526020840193506108378185602086016107e0565b601f01601f19169290920192915050565b602080825281016103ad818461081756fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205c293cb82dd5d5b7228e518d5479dbf5bd70b6685ce9647aa6d360a311c6735064736f6c63430008190033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
