{
  "_format": "hh-sol-artifact-1",
  "contractName": "BytesHelpersMock",
  "sourceName": "contracts/test/utils/BytesHelpersMock.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "start",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "length",
          "type": "uint256"
        }
      ],
      "name": "BytesOutOfBounds",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "self",
          "type": "bytes"
        },
        {
          "internalType": "address",
          "name": "value",
          "type": "address"
        }
      ],
      "name": "concat1",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "self",
          "type": "bytes"
        },
        {
          "internalType": "uint24",
          "name": "value",
          "type": "uint24"
        }
      ],
      "name": "concat2",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "self",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "start",
          "type": "uint256"
        }
      ],
      "name": "toUint256",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "bytecode": "0x6104d361003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c806336ebd9d21461005057806367bc5bee14610079578063b5cdf9241461008c575b600080fd5b61006361005e36600461025b565b6100ad565b60405161007091906102d9565b60405180910390f35b61006361008736600461032a565b6100c2565b61009f61009a36600461038a565b6100ce565b604051908152602001610070565b60606100b983836100da565b90505b92915050565b60606100b98383610106565b60006100b9838361011b565b606082826040516020016100ef9291906103cf565b604051602081830303815290604052905092915050565b606082826040516020016100ef929190610419565b6000610128826020610463565b835110156101785782516040517f9b722da700000000000000000000000000000000000000000000000000000000815261016f918491600401918252602082015260400190565b60405180910390fd5b50016020015190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f8301126101c157600080fd5b813567ffffffffffffffff808211156101dc576101dc610181565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561022257610222610181565b8160405283815286602085880101111561023b57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561026e57600080fd5b823567ffffffffffffffff81111561028557600080fd5b610291858286016101b0565b925050602083013562ffffff811681146102aa57600080fd5b809150509250929050565b60005b838110156102d05781810151838201526020016102b8565b50506000910152565b60208152600082518060208401526102f88160408501602087016102b5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000806040838503121561033d57600080fd5b823567ffffffffffffffff81111561035457600080fd5b610360858286016101b0565b925050602083013573ffffffffffffffffffffffffffffffffffffffff811681146102aa57600080fd5b6000806040838503121561039d57600080fd5b823567ffffffffffffffff8111156103b457600080fd5b6103c0858286016101b0565b95602094909401359450505050565b600083516103e18184602088016102b5565b60e89390931b7fffffff0000000000000000000000000000000000000000000000000000000000169190920190815260030192915050565b6000835161042b8184602088016102b5565b60609390931b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190920190815260140192915050565b808201808211156100bc577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea264697066735822122036754d54361748687eea96de23101c9d9aa9a393d214724f59f70b709d0386d364736f6c63430008110033",
  "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c806336ebd9d21461005057806367bc5bee14610079578063b5cdf9241461008c575b600080fd5b61006361005e36600461025b565b6100ad565b60405161007091906102d9565b60405180910390f35b61006361008736600461032a565b6100c2565b61009f61009a36600461038a565b6100ce565b604051908152602001610070565b60606100b983836100da565b90505b92915050565b60606100b98383610106565b60006100b9838361011b565b606082826040516020016100ef9291906103cf565b604051602081830303815290604052905092915050565b606082826040516020016100ef929190610419565b6000610128826020610463565b835110156101785782516040517f9b722da700000000000000000000000000000000000000000000000000000000815261016f918491600401918252602082015260400190565b60405180910390fd5b50016020015190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f8301126101c157600080fd5b813567ffffffffffffffff808211156101dc576101dc610181565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561022257610222610181565b8160405283815286602085880101111561023b57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561026e57600080fd5b823567ffffffffffffffff81111561028557600080fd5b610291858286016101b0565b925050602083013562ffffff811681146102aa57600080fd5b809150509250929050565b60005b838110156102d05781810151838201526020016102b8565b50506000910152565b60208152600082518060208401526102f88160408501602087016102b5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000806040838503121561033d57600080fd5b823567ffffffffffffffff81111561035457600080fd5b610360858286016101b0565b925050602083013573ffffffffffffffffffffffffffffffffffffffff811681146102aa57600080fd5b6000806040838503121561039d57600080fd5b823567ffffffffffffffff8111156103b457600080fd5b6103c0858286016101b0565b95602094909401359450505050565b600083516103e18184602088016102b5565b60e89390931b7fffffff0000000000000000000000000000000000000000000000000000000000169190920190815260030192915050565b6000835161042b8184602088016102b5565b60609390931b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190920190815260140192915050565b808201808211156100bc577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea264697066735822122036754d54361748687eea96de23101c9d9aa9a393d214724f59f70b709d0386d364736f6c63430008110033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
