{
  "_format": "hh-sol-artifact-1",
  "contractName": "Keep3rParametersForTest",
  "sourceName": "solidity/for-test/peripherals/Keep3rParametersForTest.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_keep3rHelper",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_keep3rV1",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_keep3rV1Proxy",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_kp3rWethPool",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "BondsLocked",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BondsUnexistent",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "Disputed",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "DisputerExistent",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "DisputerUnexistent",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "JobDisputed",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "JobUnavailable",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "MinRewardPeriod",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NoGovernanceZeroAddress",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "OnlyDisputer",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "OnlyGovernance",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "OnlyPendingGovernance",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "OnlySlasher",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "SlasherExistent",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "SlasherUnexistent",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "UnbondsLocked",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "UnbondsUnexistent",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ZeroAddress",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_bondTime",
          "type": "uint256"
        }
      ],
      "name": "BondTimeChange",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "_keeper",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_bonding",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "Bonding",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "_disputer",
          "type": "address"
        }
      ],
      "name": "DisputerAdded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "_disputer",
          "type": "address"
        }
      ],
      "name": "DisputerRemoved",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_fee",
          "type": "uint256"
        }
      ],
      "name": "FeeChange",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "_pendingGovernance",
          "type": "address"
        }
      ],
      "name": "GovernanceProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "_governance",
          "type": "address"
        }
      ],
      "name": "GovernanceSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_inflationPeriod",
          "type": "uint256"
        }
      ],
      "name": "InflationPeriodChange",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "_keep3rHelper",
          "type": "address"
        }
      ],
      "name": "Keep3rHelperChange",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "_keep3rV1",
          "type": "address"
        }
      ],
      "name": "Keep3rV1Change",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "_keep3rV1Proxy",
          "type": "address"
        }
      ],
      "name": "Keep3rV1ProxyChange",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "_kp3rWethPool",
          "type": "address"
        }
      ],
      "name": "Kp3rWethPoolChange",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_liquidityMinimum",
          "type": "uint256"
        }
      ],
      "name": "LiquidityMinimumChange",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_rewardPeriodTime",
          "type": "uint256"
        }
      ],
      "name": "RewardPeriodTimeChange",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "_slasher",
          "type": "address"
        }
      ],
      "name": "SlasherAdded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "_slasher",
          "type": "address"
        }
      ],
      "name": "SlasherRemoved",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_unbondTime",
          "type": "uint256"
        }
      ],
      "name": "UnbondTimeChange",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "_keeperOrJob",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_unbonding",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "Unbonding",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "acceptGovernance",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_disputer",
          "type": "address"
        }
      ],
      "name": "addDisputer",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_slasher",
          "type": "address"
        }
      ],
      "name": "addSlasher",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "bondTime",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "bonds",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "canActivateAfter",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "canWithdrawAfter",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "disputers",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "disputes",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "fee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "firstSeen",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "governance",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "hasBonded",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "inflationPeriod",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "jobTokenCredits",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "jobs",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "_list",
          "type": "address[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "keep3rHelper",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "keep3rV1",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "keep3rV1Proxy",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "keepers",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "_list",
          "type": "address[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "kp3rWethPool",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "liquidityMinimum",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "pendingBonds",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "pendingGovernance",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "pendingUnbonds",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_disputer",
          "type": "address"
        }
      ],
      "name": "removeDisputer",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_slasher",
          "type": "address"
        }
      ],
      "name": "removeSlasher",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "rewardPeriodTime",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_bondTime",
          "type": "uint256"
        }
      ],
      "name": "setBondTime",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_fee",
          "type": "uint256"
        }
      ],
      "name": "setFee",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_governance",
          "type": "address"
        }
      ],
      "name": "setGovernance",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_inflationPeriod",
          "type": "uint256"
        }
      ],
      "name": "setInflationPeriod",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_keep3rHelper",
          "type": "address"
        }
      ],
      "name": "setKeep3rHelper",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_keep3rV1",
          "type": "address"
        }
      ],
      "name": "setKeep3rV1",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_keep3rV1Proxy",
          "type": "address"
        }
      ],
      "name": "setKeep3rV1Proxy",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_kp3rWethPool",
          "type": "address"
        }
      ],
      "name": "setKp3rWethPool",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_liquidityMinimum",
          "type": "uint256"
        }
      ],
      "name": "setLiquidityMinimum",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_rewardPeriodTime",
          "type": "uint256"
        }
      ],
      "name": "setRewardPeriodTime",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_unbondTime",
          "type": "uint256"
        }
      ],
      "name": "setUnbondTime",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "slashers",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "unbondTime",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_pool",
          "type": "address"
        }
      ],
      "name": "viewIsKP3RToken0",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_pool",
          "type": "address"
        }
      ],
      "name": "viewLiquidityPool",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "workCompleted",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x60806040526203f480601c5562127500601d556729a2241af62c0000601e5562069780601f55622cd300602055601e6021553480156200003e57600080fd5b5060405162001414380380620014148339810160408190526200006191620001bf565b83838383338080620000855760405162b293ed60e81b815260040160405180910390fd5b601480546001600160a01b03199081166001600160a01b0393841617909155601a80548216888416178155601880548316888516179055601980548316878516179055601b8054831686851690811782556000818152600b602052604090819020805490951690911790935590549054915163696a437b60e01b81529183166004830152909116915063696a437b9060240160206040518083038186803b1580156200013057600080fd5b505afa15801562000145573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200016b91906200021c565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055506200024795505050505050565b80516001600160a01b0381168114620001ba57600080fd5b919050565b60008060008060808587031215620001d657600080fd5b620001e185620001a2565b9350620001f160208601620001a2565b92506200020160408601620001a2565b91506200021160608601620001a2565b905092959194509250565b6000602082840312156200022f57600080fd5b815180151581146200024057600080fd5b9392505050565b6111bd80620002576000396000f3fe608060405234801561001057600080fd5b50600436106102345760003560e01c8063951dc22c11610131578063cb4be2bb116100b3578063cb4be2bb14610599578063cb54694d146105ac578063cd22af1b146105bf578063ddca3f43146105ea578063e326ac43146105f3578063ebbb619414610613578063ec00cdfc14610626578063f0f346b914610639578063f11a1d1a1461064c578063f39c38a01461065f578063fc253d2b1461067257600080fd5b8063951dc22c146104a55780639d5c33d8146104ad578063a39744b5146104c0578063a7d2e784146104eb578063aac6aa9c146104f4578063ab033ea914610507578063b0103b1a1461051a578063b23922331461053d578063b7e7734014610550578063b87fcbff14610563578063c7ae40d01461058657600080fd5b80635aa6e675116101ba5780635aa6e675146103e05780635ebe23f0146103f3578063633fb68f146103fc57806368a9f19c1461040557806369fe0e2d1461041857806372da828a1461042b578063768b5d901461043e5780637b40c913146104475780637c8fce231461045a5780638cb22b761461046f5780638fe204dd1461049257600080fd5b806307b435c21461023957806315006b8214610277578063160e1e31146102a2578063168f92e7146102b75780631b44555e146102e25780631ef94b911461030257806321040b0114610322578063238efcbc1461034d578063240d2d7414610355578063274a8db4146103815780634b6c91a7146103b4575b600080fd5b6102646102473660046110b8565b600f60209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b6102646102853660046110b8565b600d60209081526000928352604080842090915290825290205481565b6102b56102b036600461109d565b61067b565b005b6102646102c53660046110b8565b600660209081526000928352604080842090915290825290205481565b6102646102f036600461109d565b60026020526000908152604090205481565b601854610315906001600160a01b031681565b60405161026e9190611126565b6102646103303660046110b8565b601060209081526000928352604080842090915290825290205481565b6102b56107e1565b61031561036336600461109d565b6001600160a01b039081166000908152600b60205260409020541690565b6103a461038f36600461109d565b60176020526000908152604090205460ff1681565b604051901515815260200161026e565b6103a46103c236600461109d565b6001600160a01b03166000908152600c602052604090205460ff1690565b601454610315906001600160a01b031681565b610264601c5481565b610264601e5481565b6102b561041336600461109d565b61086d565b6102b561042636600461110d565b610925565b6102b561043936600461109d565b610985565b610264601f5481565b601b54610315906001600160a01b031681565b610462610a22565b60405161026e919061113a565b6103a461047d36600461109d565b60116020526000908152604090205460ff1681565b6102b56104a036600461110d565b610a33565b610462610a93565b6102b56104bb36600461109d565b610a9f565b6102646104ce3660046110b8565b600560209081526000928352604080842090915290825290205481565b610264601d5481565b6102b561050236600461109d565b610b57565b6102b561051536600461109d565b610c0b565b6103a461052836600461109d565b60046020526000908152604090205460ff1681565b6102b561054b36600461110d565b610c81565b6102b561055e36600461110d565b610cdf565b6103a461057136600461109d565b60166020526000908152604090205460ff1681565b601954610315906001600160a01b031681565b6102b56105a736600461109d565b610d3f565b6102b56105ba36600461110d565b610ddc565b6102646105cd3660046110b8565b600e60209081526000928352604080842090915290825290205481565b61026460215481565b61026461060136600461109d565b60036020526000908152604090205481565b6102b561062136600461110d565b610e60565b6102b561063436600461109d565b610ec0565b6102b561064736600461109d565b610f5d565b601a54610315906001600160a01b031681565b601554610315906001600160a01b031681565b61026460205481565b6014546001600160a01b031633146106a6576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b0381166106cd5760405163d92e233d60e01b815260040160405180910390fd5b601b80546001600160a01b038084166001600160a01b031992831681179093556000838152600b6020526040908190208054909316909317909155601a54915163696a437b60e01b815291169063696a437b9061072e908490600401611126565b60206040518083038186803b15801561074657600080fd5b505afa15801561075a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061077e91906110eb565b6001600160a01b0382166000908152600c602052604090819020805460ff191692151592909217909155517f9bb1515b0fc2645a3f011162460a22fdd512e0bca265e7dc9ba6bceae8930afa906107d6908390611126565b60405180910390a150565b6015546001600160a01b0316331461080c57604051637ef5703160e11b815260040160405180910390fd5b60158054601480546001600160a01b0383166001600160a01b031991821681179092559091169091556040517fc73be659241aade67e9a059bcf21494955018b213dbd1179054ccf928b13f3b69161086391611126565b60405180910390a1565b6014546001600160a01b03163314610898576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526016602052604090205460ff16156108d25760405163546da66560e11b815260040160405180910390fd5b6001600160a01b03811660009081526016602052604090819020805460ff19166001179055517f049ccb28ab796d3225573a065712f6e7754487ced56056cda8889c337511807b906107d6908390611126565b6014546001600160a01b03163314610950576040516354348f0360e01b815260040160405180910390fd5b60218190556040518181527f4c10ca068ff7002cf5da78f2f697d1e91f6f0ac27f7344b28e8ef25263f87e5d906020016107d6565b6014546001600160a01b031633146109b0576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b0381166109d75760405163d92e233d60e01b815260040160405180910390fd5b601a80546001600160a01b0319166001600160a01b0383161790556040517f71973fd672e51deb8f739b1f7e1eab991936645acd6f83e2bde6eeeaff5490b0906107d6908390611126565b6060610a2e6012611011565b905090565b6014546001600160a01b03163314610a5e576040516354348f0360e01b815260040160405180910390fd5b601d8190556040518181527fc8d443472c9783cc36f8f5f5091f08ce9f37fc2f9e6d79cf1d9aaf40a433fee2906020016107d6565b6060610a2e6000611011565b6014546001600160a01b03163314610aca576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526017602052604090205460ff1615610b045760405163274e25dd60e11b815260040160405180910390fd5b6001600160a01b03811660009081526017602052604090819020805460ff19166001179055517f8addc69f897ecca0e41d70ed4ff9d75a9148a615a0fbda8597e53aea2684302f906107d6908390611126565b6014546001600160a01b03163314610b82576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526016602052604090205460ff16610bbb576040516336fe17e760e21b815260040160405180910390fd5b6001600160a01b03811660009081526016602052604090819020805460ff19169055517f3ed8cbce8cab40e59282f1743e2b607effa08b5cbe0111bb4721134f2f80d025906107d6908390611126565b6014546001600160a01b03163314610c36576040516354348f0360e01b815260040160405180910390fd5b601580546001600160a01b0319166001600160a01b0383161790556040517fe987aaedf9d279143bdf1eee16cf1d0feb47742867d81083df8d6cd0a5ac857f906107d6908390611126565b6014546001600160a01b03163314610cac576040516354348f0360e01b815260040160405180910390fd5b60208181556040518281527fbdcfd7b8482f31cff6a87c362d9e2e3887f4cdc2018c7c485d8e78a7b2fadb6991016107d6565b6014546001600160a01b03163314610d0a576040516354348f0360e01b815260040160405180910390fd5b601c8190556040518181527fd319ef78d2b690bb773fcccc2d096306bac7c9222dd0bb6b300f461e4a376b43906020016107d6565b6014546001600160a01b03163314610d6a576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b038116610d915760405163d92e233d60e01b815260040160405180910390fd5b601980546001600160a01b0319166001600160a01b0383161790556040517feb931b4b5a98d20a6b1e6693a7c59d8e337a06e2f1473bb776e19251db7ae250906107d6908390611126565b6014546001600160a01b03163314610e07576040516354348f0360e01b815260040160405180910390fd5b62015180811015610e2b57604051633f384aad60e21b815260040160405180910390fd5b601f8190556040518181527f54aafa56429e22230b52f1495588ffc632277d74f3a85ec755e13ac50c1584d9906020016107d6565b6014546001600160a01b03163314610e8b576040516354348f0360e01b815260040160405180910390fd5b601e8190556040518181527f24d51b415694a791b1c77df7817c075ac82b83ce611bcd8627d2e66cf37aa3e7906020016107d6565b6014546001600160a01b03163314610eeb576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b038116610f125760405163d92e233d60e01b815260040160405180910390fd5b601880546001600160a01b0319166001600160a01b0383161790556040517f1d1a3e7caf0717056e48dc8aefa54d806c7af86324fece4e5d49f8e1f01f84bf906107d6908390611126565b6014546001600160a01b03163314610f88576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526017602052604090205460ff16610fc157604051633ca0d42760e11b815260040160405180910390fd5b6001600160a01b03811660009081526017602052604090819020805460ff19169055517f5e8bd21d0a98cb2caf33706e56139ff40ffbdca7ec5d9d412a0a2292496dc70e906107d6908390611126565b6060600061101e83611025565b9392505050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561107557602002820191906000526020600020905b815481526020019060010190808311611061575b50505050509050919050565b80356001600160a01b038116811461109857600080fd5b919050565b6000602082840312156110af57600080fd5b61101e82611081565b600080604083850312156110cb57600080fd5b6110d483611081565b91506110e260208401611081565b90509250929050565b6000602082840312156110fd57600080fd5b8151801515811461101e57600080fd5b60006020828403121561111f57600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6020808252825182820181905260009190848201906040850190845b8181101561117b5783516001600160a01b031683529284019291840191600101611156565b5090969550505050505056fea264697066735822122080febc874e1e77874c46e6e52428bf1c5554a932b51c5499835e2bad5a4d86c364736f6c63430008070033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102345760003560e01c8063951dc22c11610131578063cb4be2bb116100b3578063cb4be2bb14610599578063cb54694d146105ac578063cd22af1b146105bf578063ddca3f43146105ea578063e326ac43146105f3578063ebbb619414610613578063ec00cdfc14610626578063f0f346b914610639578063f11a1d1a1461064c578063f39c38a01461065f578063fc253d2b1461067257600080fd5b8063951dc22c146104a55780639d5c33d8146104ad578063a39744b5146104c0578063a7d2e784146104eb578063aac6aa9c146104f4578063ab033ea914610507578063b0103b1a1461051a578063b23922331461053d578063b7e7734014610550578063b87fcbff14610563578063c7ae40d01461058657600080fd5b80635aa6e675116101ba5780635aa6e675146103e05780635ebe23f0146103f3578063633fb68f146103fc57806368a9f19c1461040557806369fe0e2d1461041857806372da828a1461042b578063768b5d901461043e5780637b40c913146104475780637c8fce231461045a5780638cb22b761461046f5780638fe204dd1461049257600080fd5b806307b435c21461023957806315006b8214610277578063160e1e31146102a2578063168f92e7146102b75780631b44555e146102e25780631ef94b911461030257806321040b0114610322578063238efcbc1461034d578063240d2d7414610355578063274a8db4146103815780634b6c91a7146103b4575b600080fd5b6102646102473660046110b8565b600f60209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b6102646102853660046110b8565b600d60209081526000928352604080842090915290825290205481565b6102b56102b036600461109d565b61067b565b005b6102646102c53660046110b8565b600660209081526000928352604080842090915290825290205481565b6102646102f036600461109d565b60026020526000908152604090205481565b601854610315906001600160a01b031681565b60405161026e9190611126565b6102646103303660046110b8565b601060209081526000928352604080842090915290825290205481565b6102b56107e1565b61031561036336600461109d565b6001600160a01b039081166000908152600b60205260409020541690565b6103a461038f36600461109d565b60176020526000908152604090205460ff1681565b604051901515815260200161026e565b6103a46103c236600461109d565b6001600160a01b03166000908152600c602052604090205460ff1690565b601454610315906001600160a01b031681565b610264601c5481565b610264601e5481565b6102b561041336600461109d565b61086d565b6102b561042636600461110d565b610925565b6102b561043936600461109d565b610985565b610264601f5481565b601b54610315906001600160a01b031681565b610462610a22565b60405161026e919061113a565b6103a461047d36600461109d565b60116020526000908152604090205460ff1681565b6102b56104a036600461110d565b610a33565b610462610a93565b6102b56104bb36600461109d565b610a9f565b6102646104ce3660046110b8565b600560209081526000928352604080842090915290825290205481565b610264601d5481565b6102b561050236600461109d565b610b57565b6102b561051536600461109d565b610c0b565b6103a461052836600461109d565b60046020526000908152604090205460ff1681565b6102b561054b36600461110d565b610c81565b6102b561055e36600461110d565b610cdf565b6103a461057136600461109d565b60166020526000908152604090205460ff1681565b601954610315906001600160a01b031681565b6102b56105a736600461109d565b610d3f565b6102b56105ba36600461110d565b610ddc565b6102646105cd3660046110b8565b600e60209081526000928352604080842090915290825290205481565b61026460215481565b61026461060136600461109d565b60036020526000908152604090205481565b6102b561062136600461110d565b610e60565b6102b561063436600461109d565b610ec0565b6102b561064736600461109d565b610f5d565b601a54610315906001600160a01b031681565b601554610315906001600160a01b031681565b61026460205481565b6014546001600160a01b031633146106a6576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b0381166106cd5760405163d92e233d60e01b815260040160405180910390fd5b601b80546001600160a01b038084166001600160a01b031992831681179093556000838152600b6020526040908190208054909316909317909155601a54915163696a437b60e01b815291169063696a437b9061072e908490600401611126565b60206040518083038186803b15801561074657600080fd5b505afa15801561075a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061077e91906110eb565b6001600160a01b0382166000908152600c602052604090819020805460ff191692151592909217909155517f9bb1515b0fc2645a3f011162460a22fdd512e0bca265e7dc9ba6bceae8930afa906107d6908390611126565b60405180910390a150565b6015546001600160a01b0316331461080c57604051637ef5703160e11b815260040160405180910390fd5b60158054601480546001600160a01b0383166001600160a01b031991821681179092559091169091556040517fc73be659241aade67e9a059bcf21494955018b213dbd1179054ccf928b13f3b69161086391611126565b60405180910390a1565b6014546001600160a01b03163314610898576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526016602052604090205460ff16156108d25760405163546da66560e11b815260040160405180910390fd5b6001600160a01b03811660009081526016602052604090819020805460ff19166001179055517f049ccb28ab796d3225573a065712f6e7754487ced56056cda8889c337511807b906107d6908390611126565b6014546001600160a01b03163314610950576040516354348f0360e01b815260040160405180910390fd5b60218190556040518181527f4c10ca068ff7002cf5da78f2f697d1e91f6f0ac27f7344b28e8ef25263f87e5d906020016107d6565b6014546001600160a01b031633146109b0576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b0381166109d75760405163d92e233d60e01b815260040160405180910390fd5b601a80546001600160a01b0319166001600160a01b0383161790556040517f71973fd672e51deb8f739b1f7e1eab991936645acd6f83e2bde6eeeaff5490b0906107d6908390611126565b6060610a2e6012611011565b905090565b6014546001600160a01b03163314610a5e576040516354348f0360e01b815260040160405180910390fd5b601d8190556040518181527fc8d443472c9783cc36f8f5f5091f08ce9f37fc2f9e6d79cf1d9aaf40a433fee2906020016107d6565b6060610a2e6000611011565b6014546001600160a01b03163314610aca576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526017602052604090205460ff1615610b045760405163274e25dd60e11b815260040160405180910390fd5b6001600160a01b03811660009081526017602052604090819020805460ff19166001179055517f8addc69f897ecca0e41d70ed4ff9d75a9148a615a0fbda8597e53aea2684302f906107d6908390611126565b6014546001600160a01b03163314610b82576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526016602052604090205460ff16610bbb576040516336fe17e760e21b815260040160405180910390fd5b6001600160a01b03811660009081526016602052604090819020805460ff19169055517f3ed8cbce8cab40e59282f1743e2b607effa08b5cbe0111bb4721134f2f80d025906107d6908390611126565b6014546001600160a01b03163314610c36576040516354348f0360e01b815260040160405180910390fd5b601580546001600160a01b0319166001600160a01b0383161790556040517fe987aaedf9d279143bdf1eee16cf1d0feb47742867d81083df8d6cd0a5ac857f906107d6908390611126565b6014546001600160a01b03163314610cac576040516354348f0360e01b815260040160405180910390fd5b60208181556040518281527fbdcfd7b8482f31cff6a87c362d9e2e3887f4cdc2018c7c485d8e78a7b2fadb6991016107d6565b6014546001600160a01b03163314610d0a576040516354348f0360e01b815260040160405180910390fd5b601c8190556040518181527fd319ef78d2b690bb773fcccc2d096306bac7c9222dd0bb6b300f461e4a376b43906020016107d6565b6014546001600160a01b03163314610d6a576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b038116610d915760405163d92e233d60e01b815260040160405180910390fd5b601980546001600160a01b0319166001600160a01b0383161790556040517feb931b4b5a98d20a6b1e6693a7c59d8e337a06e2f1473bb776e19251db7ae250906107d6908390611126565b6014546001600160a01b03163314610e07576040516354348f0360e01b815260040160405180910390fd5b62015180811015610e2b57604051633f384aad60e21b815260040160405180910390fd5b601f8190556040518181527f54aafa56429e22230b52f1495588ffc632277d74f3a85ec755e13ac50c1584d9906020016107d6565b6014546001600160a01b03163314610e8b576040516354348f0360e01b815260040160405180910390fd5b601e8190556040518181527f24d51b415694a791b1c77df7817c075ac82b83ce611bcd8627d2e66cf37aa3e7906020016107d6565b6014546001600160a01b03163314610eeb576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b038116610f125760405163d92e233d60e01b815260040160405180910390fd5b601880546001600160a01b0319166001600160a01b0383161790556040517f1d1a3e7caf0717056e48dc8aefa54d806c7af86324fece4e5d49f8e1f01f84bf906107d6908390611126565b6014546001600160a01b03163314610f88576040516354348f0360e01b815260040160405180910390fd5b6001600160a01b03811660009081526017602052604090205460ff16610fc157604051633ca0d42760e11b815260040160405180910390fd5b6001600160a01b03811660009081526017602052604090819020805460ff19169055517f5e8bd21d0a98cb2caf33706e56139ff40ffbdca7ec5d9d412a0a2292496dc70e906107d6908390611126565b6060600061101e83611025565b9392505050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561107557602002820191906000526020600020905b815481526020019060010190808311611061575b50505050509050919050565b80356001600160a01b038116811461109857600080fd5b919050565b6000602082840312156110af57600080fd5b61101e82611081565b600080604083850312156110cb57600080fd5b6110d483611081565b91506110e260208401611081565b90509250929050565b6000602082840312156110fd57600080fd5b8151801515811461101e57600080fd5b60006020828403121561111f57600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6020808252825182820181905260009190848201906040850190845b8181101561117b5783516001600160a01b031683529284019291840191600101611156565b5090969550505050505056fea264697066735822122080febc874e1e77874c46e6e52428bf1c5554a932b51c5499835e2bad5a4d86c364736f6c63430008070033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
