# Snapshot report for `src/core.test.ts`

The actual snapshot is saved in `core.test.ts.snap`.

Generated by [AVA](https://avajs.dev).

## snapshot

> Snapshot 1

    `// SPDX-License-Identifier: UNLICENSED␊
    ␊
    pragma solidity >=0.6.0;␊
    ␊
    import "../contracts/Excluded.sol";␊
    ␊
    contract $Excluded is Excluded {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    `

> Snapshot 2

    `// SPDX-License-Identifier: UNLICENSED␊
    ␊
    pragma solidity >=0.6.0;␊
    ␊
    import "../contracts/Imported.sol";␊
    import "../contracts/Imported2.sol";␊
    import "@openzeppelin/contracts/proxy/Clones.sol";␊
    ␊
    contract $NotImported is NotImported {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $Imported is Imported {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $_testNotImported(NotImported ni) external payable {␊
            super._testNotImported(ni);␊
        }␊
    ␊
        function $_testNotImported2(NotImported2 ni) external payable {␊
            super._testNotImported2(ni);␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    `

> Snapshot 3

    `// SPDX-License-Identifier: UNLICENSED␊
    ␊
    pragma solidity >=0.6.0;␊
    ␊
    import "../contracts/Imported2.sol";␊
    ␊
    contract $NotImported2 is NotImported2 {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $Imported2 is Imported2 {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $_testNotImported2(NotImported2 ni) external payable {␊
            super._testNotImported2(ni);␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    `

> Snapshot 4

    `// SPDX-License-Identifier: UNLICENSED␊
    ␊
    pragma solidity >=0.6.0;␊
    ␊
    import "../contracts/Inheritance.sol";␊
    ␊
    contract $Parent1 is Parent1 {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor(uint256 x) Parent1(x) payable {␊
        }␊
    ␊
        function $_testParent1() external payable {␊
            super._testParent1();␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $Parent2 is Parent2 {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor(uint256 y) Parent2(y) payable {␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $Parent3 is Parent3 {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor(uint256 z) Parent3(z) payable {␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $Child1 is Child1 {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor(uint256 x) Parent1(x) payable {␊
        }␊
    ␊
        function $_testParent1() external payable {␊
            super._testParent1();␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $Child2 is Child2 {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor(uint256 x, uint256 y) Parent1(x) Parent2(y) payable {␊
        }␊
    ␊
        function $_testParent1() external payable {␊
            super._testParent1();␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $Child3 is Child3 {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor(uint256 x, uint256 y) Parent1(x) Parent2(y) payable {␊
        }␊
    ␊
        function $_testParent1() external payable {␊
            super._testParent1();␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $Child4 is Child4 {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor(uint256 x, uint256 y, uint256 z, uint256 c) Parent1(x) Parent2(y) Parent3(z) Child4(c) payable {␊
        }␊
    ␊
        function $_testParent1() external payable {␊
            super._testParent1();␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    `

> Snapshot 5

    `// SPDX-License-Identifier: UNLICENSED␊
    ␊
    pragma solidity >=0.6.0;␊
    ␊
    import "../contracts/Initializers.sol";␊
    ␊
    contract $Initializable is Initializable {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $initializer() external payable initializer() {}␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $AU is AU {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $$a() external view returns (uint256) {␊
            return $a;␊
        }␊
    ␊
        function $initializer() external payable initializer() {}␊
    ␊
        function $__A_init(uint256 a) external payable {␊
            super.__A_init(a);␊
        }␊
    ␊
        function $__A_init_unchained(uint256 a) external payable {␊
            super.__A_init_unchained(a);␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $BU is BU {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $$a() external view returns (uint256) {␊
            return $a;␊
        }␊
    ␊
        function $initializer() external payable initializer() {}␊
    ␊
        function $__B_init(uint256 b) external payable {␊
            super.__B_init(b);␊
        }␊
    ␊
        function $__B_init_unchained(uint256 b) external payable {␊
            super.__B_init_unchained(b);␊
        }␊
    ␊
        function $__A_init(uint256 a) external payable {␊
            super.__A_init(a);␊
        }␊
    ␊
        function $__A_init_unchained(uint256 a) external payable {␊
            super.__A_init_unchained(a);␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $CU is CU {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $$a() external view returns (uint256) {␊
            return $a;␊
        }␊
    ␊
        function $initializer() external payable initializer() {}␊
    ␊
        function $__C_init() external payable {␊
            super.__C_init();␊
        }␊
    ␊
        function $__C_init_unchained() external payable {␊
            super.__C_init_unchained();␊
        }␊
    ␊
        function $__B_init(uint256 b) external payable {␊
            super.__B_init(b);␊
        }␊
    ␊
        function $__B_init_unchained(uint256 b) external payable {␊
            super.__B_init_unchained(b);␊
        }␊
    ␊
        function $__A_init(uint256 a) external payable {␊
            super.__A_init(a);␊
        }␊
    ␊
        function $__A_init_unchained(uint256 a) external payable {␊
            super.__A_init_unchained(a);␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $XU is XU {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $$x() external view returns (uint256) {␊
            return $x;␊
        }␊
    ␊
        function $initializer() external payable initializer() {}␊
    ␊
        function $__X_init(uint256 x) external payable {␊
            super.__X_init(x);␊
        }␊
    ␊
        function $__X_init_unchained(uint256 x) external payable {␊
            super.__X_init_unchained(x);␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $YU is YU {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $$x() external view returns (uint256) {␊
            return $x;␊
        }␊
    ␊
        function $initializer() external payable initializer() {}␊
    ␊
        function $__Y_init() external payable {␊
            super.__Y_init();␊
        }␊
    ␊
        function $__Y_init_unchained() external payable {␊
            super.__Y_init_unchained();␊
        }␊
    ␊
        function $__X_init(uint256 x) external payable {␊
            super.__X_init(x);␊
        }␊
    ␊
        function $__X_init_unchained(uint256 x) external payable {␊
            super.__X_init_unchained(x);␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $YUW is YUW {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor(uint256 x) YUW(x) payable {␊
        }␊
    ␊
        function $$x() external view returns (uint256) {␊
            return $x;␊
        }␊
    ␊
        function $initializer() external payable initializer() {}␊
    ␊
        function $__Y_init() external payable {␊
            super.__Y_init();␊
        }␊
    ␊
        function $__Y_init_unchained() external payable {␊
            super.__Y_init_unchained();␊
        }␊
    ␊
        function $__X_init(uint256 x) external payable {␊
            super.__X_init(x);␊
        }␊
    ␊
        function $__X_init_unchained(uint256 x) external payable {␊
            super.__X_init_unchained(x);␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    `

> Snapshot 6

    `// SPDX-License-Identifier: UNLICENSED␊
    ␊
    pragma solidity >=0.6.0;␊
    ␊
    import "../contracts/Test.sol";␊
    import "../contracts/Imported.sol";␊
    import "../contracts/Imported2.sol";␊
    import "@openzeppelin/contracts/proxy/Clones.sol";␊
    ␊
    contract $Foo is Foo {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        mapping(uint256 => S) internal $v_S;␊
    ␊
        mapping(uint256 => Z) internal $v_Z;␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $s() external view returns (S memory) {␊
            return s;␊
        }␊
    ␊
        function $m(uint256 arg0) external view returns (uint256) {␊
            return m[arg0];␊
        }␊
    ␊
        function $_x1() external view returns (uint256) {␊
            return _x1;␊
        }␊
    ␊
        function $_x2() external pure returns (uint256) {␊
            return _x2;␊
        }␊
    ␊
        function $_x3() external pure returns (uint256) {␊
            return _x3;␊
        }␊
    ␊
        function $_x4() external view returns (uint256) {␊
            return _x4;␊
        }␊
    ␊
        function $z() external view returns (Integer) {␊
            return z;␊
        }␊
    ␊
        function $_testFoo() external pure returns (uint256 ret0) {␊
            (ret0) = super._testFoo();␊
        }␊
    ␊
        function $_testString() external pure returns (string memory ret0) {␊
            (ret0) = super._testString();␊
        }␊
    ␊
        function $_testStruct() external pure returns (S memory ret0) {␊
            (ret0) = super._testStruct();␊
        }␊
    ␊
        function $_testStructStorageOutput() external view returns (S memory ret0) {␊
            (ret0) = super._testStructStorageOutput();␊
        }␊
    ␊
        function $_testStructStorageInput(uint256 t) external view returns (S memory ret0) {␊
            (ret0) = super._testStructStorageInput($v_S[t]);␊
        }␊
    ␊
        function $_testClash_S(uint256 t) external payable {␊
            super._testClash($v_S[t]);␊
        }␊
    ␊
        function $_testClash_Z(uint256 t) external payable {␊
            super._testClash($v_Z[t]);␊
        }␊
    ␊
        function $_testUDVT(Integer i) external payable {␊
            super._testUDVT(i);␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $Bar is Bar {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        mapping(uint256 => S) internal $v_S;␊
    ␊
        mapping(uint256 => Z) internal $v_Z;␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $s() external view returns (S memory) {␊
            return s;␊
        }␊
    ␊
        function $m(uint256 arg0) external view returns (uint256) {␊
            return m[arg0];␊
        }␊
    ␊
        function $_x1() external view returns (uint256) {␊
            return _x1;␊
        }␊
    ␊
        function $_x2() external pure returns (uint256) {␊
            return _x2;␊
        }␊
    ␊
        function $_x3() external pure returns (uint256) {␊
            return _x3;␊
        }␊
    ␊
        function $_x4() external view returns (uint256) {␊
            return _x4;␊
        }␊
    ␊
        function $z() external view returns (Integer) {␊
            return z;␊
        }␊
    ␊
        function $_testBar() external pure returns (uint256 ret0) {␊
            (ret0) = super._testBar();␊
        }␊
    ␊
        function $_testFoo() external pure returns (uint256 ret0) {␊
            (ret0) = super._testFoo();␊
        }␊
    ␊
        function $_testString() external pure returns (string memory ret0) {␊
            (ret0) = super._testString();␊
        }␊
    ␊
        function $_testStruct() external pure returns (S memory ret0) {␊
            (ret0) = super._testStruct();␊
        }␊
    ␊
        function $_testStructStorageOutput() external view returns (S memory ret0) {␊
            (ret0) = super._testStructStorageOutput();␊
        }␊
    ␊
        function $_testStructStorageInput(uint256 t) external view returns (S memory ret0) {␊
            (ret0) = super._testStructStorageInput($v_S[t]);␊
        }␊
    ␊
        function $_testClash_S(uint256 t) external payable {␊
            super._testClash($v_S[t]);␊
        }␊
    ␊
        function $_testClash_Z(uint256 t) external payable {␊
            super._testClash($v_Z[t]);␊
        }␊
    ␊
        function $_testUDVT(Integer i) external payable {␊
            super._testUDVT(i);␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $Lib {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        mapping(uint256 => S) internal $v_S;␊
    ␊
        event return$_testNonView(uint256 value);␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $INTERNAL_VAR() external pure returns (bytes32) {␊
            return Lib.INTERNAL_VAR;␊
        }␊
    ␊
        function $PUBLIC_VAR() external pure returns (bytes32) {␊
            return Lib.PUBLIC_VAR;␊
        }␊
    ␊
        function $_testLib() external pure returns (uint256 ret0) {␊
            (ret0) = Lib._testLib();␊
        }␊
    ␊
        function $_testExt() external pure returns (uint256 ret0) {␊
            (ret0) = Lib._testExt();␊
        }␊
    ␊
        function $_testStructStorageInput(uint256 t) external view returns (uint256 ret0) {␊
            (ret0) = Lib._testStructStorageInput($v_S[t]);␊
        }␊
    ␊
        function $_testNonView() external payable returns (uint256 value) {␊
            (value) = Lib._testNonView();␊
            emit return$_testNonView(value);␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    abstract contract $Abs is Abs {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $Concrete1 is Concrete1 {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $Concrete2 is Concrete2 {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $Types is Types {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        mapping(uint256 => mapping(uint256 => uint256)) internal $v_mapping_uint256_uint256_;␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $_testEnumType(Enum e) external payable {␊
            super._testEnumType(e);␊
        }␊
    ␊
        function $_testContractType(Types t) external payable {␊
            super._testContractType(t);␊
        }␊
    ␊
        function $_testMappingType(uint256 m) external payable {␊
            super._testMappingType($v_mapping_uint256_uint256_[m]);␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $ConstructorStorageLocation is ConstructorStorageLocation {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor(string memory name) ConstructorStorageLocation(name) payable {␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $ImplicitConstructor is ImplicitConstructor {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $Chained0 is Chained0 {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $_chained() external payable {␊
            super._chained();␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $Chained1 is Chained1 {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $_chained() external payable {␊
            super._chained();␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $Chained2 is Chained2 {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $_chained() external payable {␊
            super._chained();␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $WithVars is WithVars {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $var1() external view returns (uint256) {␊
            return var1;␊
        }␊
    ␊
        function $var2() external view returns (uint256[] memory) {␊
            return var2;␊
        }␊
    ␊
        function $var3(uint256 arg0) external view returns (uint8) {␊
            return var3[arg0];␊
        }␊
    ␊
        function $var4() external view returns (Struct memory) {␊
            return var4;␊
        }␊
    ␊
        function $var5() external view returns (Struct[] memory) {␊
            return var5;␊
        }␊
    ␊
        function $var6(uint256 arg0) external view returns (Struct memory) {␊
            return var6[arg0];␊
        }␊
    ␊
        function $var7(uint256 arg0, bool arg1) external view returns (Struct memory) {␊
            return var7[arg0][arg1];␊
        }␊
    ␊
        function $var8(uint256 arg0, bool arg1) external view returns (Struct[] memory) {␊
            return var8[arg0][arg1];␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $WithLargeArrays is WithLargeArrays {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $_notTooLarge() external view returns (bytes32[134217727] memory) {␊
            return _notTooLarge;␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $WithInternalReturns is WithInternalReturns {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        event return$incrementInternal(uint256 ret0);␊
    ␊
        event return$someOverloaded_uint256(bool ret0);␊
    ␊
        event return$someOverloaded_bytes32(bool ret0);␊
    ␊
        event return$dynamicReturnType(string ret0);␊
    ␊
        event return$multipleReturns(uint256 ret0, bytes32 ret1);␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $incrementInternal() external payable returns (uint256 ret0) {␊
            (ret0) = super.incrementInternal();␊
            emit return$incrementInternal(ret0);␊
        }␊
    ␊
        function $someOverloaded(uint256 arg0) external payable returns (bool ret0) {␊
            (ret0) = super.someOverloaded(arg0);␊
            emit return$someOverloaded_uint256(ret0);␊
        }␊
    ␊
        function $someOverloaded(bytes32 arg0) external payable returns (bool ret0) {␊
            (ret0) = super.someOverloaded(arg0);␊
            emit return$someOverloaded_bytes32(ret0);␊
        }␊
    ␊
        function $dynamicReturnType() external payable returns (string memory ret0) {␊
            (ret0) = super.dynamicReturnType();␊
            emit return$dynamicReturnType(ret0);␊
        }␊
    ␊
        function $multipleReturns(uint256 x) external payable returns (uint256 ret0, bytes32 ret1) {␊
            (ret0, ret1) = super.multipleReturns(x);␊
            emit return$multipleReturns(ret0, ret1);␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $WithVirtualModifiers is WithVirtualModifiers {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $virtualModifier() external payable virtualModifier() {}␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $WithModifiers is WithModifiers {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        mapping(uint256 => S) internal $v_S;␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $increments() external payable increments() {}␊
    ␊
        function $incrementsWithParam(uint256 param) external payable incrementsWithParam(param) {}␊
    ␊
        function $incrementsWithMultipleParams(bool param1, uint256 param2) external payable incrementsWithMultipleParams(param1, param2) {}␊
    ␊
        function $incrementsWithStorageInput(uint256 t) external payable incrementsWithStorageInput($v_S[t]) {}␊
    ␊
        function $virtualModifier() external payable virtualModifier() {}␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $HasReceiveFunction is HasReceiveFunction {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    }␊
    ␊
    contract $ImportedChild is ImportedChild {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $_testNotImported(NotImported ni) external payable {␊
            super._testNotImported(ni);␊
        }␊
    ␊
        function $_testNotImported2(NotImported2 ni) external payable {␊
            super._testNotImported2(ni);␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $HasEnum is HasEnum {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $ParentHasEnum is ParentHasEnum {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $_getValue(InheritedEnum foo) external pure returns (uint8 ret0) {␊
            (ret0) = super._getValue(foo);␊
        }␊
    ␊
        function $_getY(Types.Enum e) external pure returns (uint8 ret0) {␊
            (ret0) = super._getY(e);␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $LibraryHasStruct {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        event return$foo(LibraryHasStruct.Inner ret0);␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $foo() external payable returns (LibraryHasStruct.Inner memory ret0) {␊
            (ret0) = LibraryHasStruct.foo();␊
            emit return$foo(ret0);␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $UdvtConflict {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $unwrap_UdvtConflict_myFirstType(UdvtConflict.myFirstType t) external pure returns (bytes32 ret0) {␊
            (ret0) = UdvtConflict.unwrap(t);␊
        }␊
    ␊
        function $unwrap_UdvtConflict_mySecondType(UdvtConflict.mySecondType t) external pure returns (bytes32 ret0) {␊
            (ret0) = UdvtConflict.unwrap(t);␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $UdvtNoConflict {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $unwrap(UdvtNoConflict.myFirstType t) external pure returns (bytes32 ret0) {␊
            (ret0) = UdvtNoConflict.unwrap(t);␊
        }␊
    ␊
        function $unwrap(UdvtNoConflict.mySecondType t) external pure returns (uint256 ret0) {␊
            (ret0) = UdvtNoConflict.unwrap(t);␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $Conflicts is Conflicts {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $_a_HasEnum(HasEnum arg0) external payable {␊
            super._a(arg0);␊
        }␊
    ␊
        function $_a_HasReceiveFunction(HasReceiveFunction arg0) external payable {␊
            super._a(arg0);␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    `

## snapshot initializers

> Snapshot 1

    `// SPDX-License-Identifier: UNLICENSED␊
    ␊
    pragma solidity >=0.6.0;␊
    ␊
    import "../contracts/Initializers.sol";␊
    ␊
    contract $Initializable is Initializable {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor() payable {␊
        }␊
    ␊
        function $initializer() external payable initializer() {}␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $AU is AU {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor(uint256 a) initializer payable {␊
            __A_init(a);␊
        }␊
    ␊
        function $$a() external view returns (uint256) {␊
            return $a;␊
        }␊
    ␊
        function $initializer() external payable initializer() {}␊
    ␊
        function $__A_init(uint256 a) external payable {␊
            super.__A_init(a);␊
        }␊
    ␊
        function $__A_init_unchained(uint256 a) external payable {␊
            super.__A_init_unchained(a);␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $BU is BU {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor(uint256 b) initializer payable {␊
            __B_init(b);␊
        }␊
    ␊
        function $$a() external view returns (uint256) {␊
            return $a;␊
        }␊
    ␊
        function $initializer() external payable initializer() {}␊
    ␊
        function $__B_init(uint256 b) external payable {␊
            super.__B_init(b);␊
        }␊
    ␊
        function $__B_init_unchained(uint256 b) external payable {␊
            super.__B_init_unchained(b);␊
        }␊
    ␊
        function $__A_init(uint256 a) external payable {␊
            super.__A_init(a);␊
        }␊
    ␊
        function $__A_init_unchained(uint256 a) external payable {␊
            super.__A_init_unchained(a);␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $CU is CU {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor(uint256 b) initializer payable {␊
            __B_init(b);␊
            __C_init();␊
        }␊
    ␊
        function $$a() external view returns (uint256) {␊
            return $a;␊
        }␊
    ␊
        function $initializer() external payable initializer() {}␊
    ␊
        function $__C_init() external payable {␊
            super.__C_init();␊
        }␊
    ␊
        function $__C_init_unchained() external payable {␊
            super.__C_init_unchained();␊
        }␊
    ␊
        function $__B_init(uint256 b) external payable {␊
            super.__B_init(b);␊
        }␊
    ␊
        function $__B_init_unchained(uint256 b) external payable {␊
            super.__B_init_unchained(b);␊
        }␊
    ␊
        function $__A_init(uint256 a) external payable {␊
            super.__A_init(a);␊
        }␊
    ␊
        function $__A_init_unchained(uint256 a) external payable {␊
            super.__A_init_unchained(a);␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $XU is XU {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor(uint256 x) initializer payable {␊
            __X_init(x);␊
        }␊
    ␊
        function $$x() external view returns (uint256) {␊
            return $x;␊
        }␊
    ␊
        function $initializer() external payable initializer() {}␊
    ␊
        function $__X_init(uint256 x) external payable {␊
            super.__X_init(x);␊
        }␊
    ␊
        function $__X_init_unchained(uint256 x) external payable {␊
            super.__X_init_unchained(x);␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $YU is YU {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor(uint256 x) initializer payable {␊
            __X_init(x);␊
            __Y_init();␊
        }␊
    ␊
        function $$x() external view returns (uint256) {␊
            return $x;␊
        }␊
    ␊
        function $initializer() external payable initializer() {}␊
    ␊
        function $__Y_init() external payable {␊
            super.__Y_init();␊
        }␊
    ␊
        function $__Y_init_unchained() external payable {␊
            super.__Y_init_unchained();␊
        }␊
    ␊
        function $__X_init(uint256 x) external payable {␊
            super.__X_init(x);␊
        }␊
    ␊
        function $__X_init_unchained(uint256 x) external payable {␊
            super.__X_init_unchained(x);␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    ␊
    contract $YUW is YUW {␊
        bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
    ␊
        constructor(uint256 x) YUW(x) initializer payable {␊
            __Y_init();␊
        }␊
    ␊
        function $$x() external view returns (uint256) {␊
            return $x;␊
        }␊
    ␊
        function $initializer() external payable initializer() {}␊
    ␊
        function $__Y_init() external payable {␊
            super.__Y_init();␊
        }␊
    ␊
        function $__Y_init_unchained() external payable {␊
            super.__Y_init_unchained();␊
        }␊
    ␊
        function $__X_init(uint256 x) external payable {␊
            super.__X_init(x);␊
        }␊
    ␊
        function $__X_init_unchained(uint256 x) external payable {␊
            super.__X_init_unchained(x);␊
        }␊
    ␊
        receive() external payable {}␊
    }␊
    `

## snapshot imports

> Snapshot 1

    {
      absolutePath: 'contracts-exposed/$_/@openzeppelin/contracts/proxy/Clones.sol',
      rawContent: `// SPDX-License-Identifier: UNLICENSED␊
      ␊
      pragma solidity >=0.6.0;␊
      ␊
      import "@openzeppelin/contracts/proxy/Clones.sol";␊
      ␊
      contract $Clones {␊
          bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
      ␊
          event return$clone(address instance);␊
      ␊
          event return$cloneDeterministic(address instance);␊
      ␊
          constructor() payable {␊
          }␊
      ␊
          function $clone(address implementation) external payable returns (address instance) {␊
              (instance) = Clones.clone(implementation);␊
              emit return$clone(instance);␊
          }␊
      ␊
          function $cloneDeterministic(address implementation,bytes32 salt) external payable returns (address instance) {␊
              (instance) = Clones.cloneDeterministic(implementation,salt);␊
              emit return$cloneDeterministic(instance);␊
          }␊
      ␊
          function $predictDeterministicAddress(address implementation,bytes32 salt,address deployer) external pure returns (address predicted) {␊
              (predicted) = Clones.predictDeterministicAddress(implementation,salt,deployer);␊
          }␊
      ␊
          function $predictDeterministicAddress(address implementation,bytes32 salt) external view returns (address predicted) {␊
              (predicted) = Clones.predictDeterministicAddress(implementation,salt);␊
          }␊
      ␊
          receive() external payable {}␊
      }␊
      `,
    }

> Snapshot 2

    {
      absolutePath: 'contracts-exposed/Imported.sol',
      rawContent: `// SPDX-License-Identifier: UNLICENSED␊
      ␊
      pragma solidity >=0.6.0;␊
      ␊
      import "../contracts/Imported.sol";␊
      import "../contracts/Imported2.sol";␊
      import "@openzeppelin/contracts/proxy/Clones.sol";␊
      ␊
      contract $NotImported is NotImported {␊
          bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
      ␊
          constructor() payable {␊
          }␊
      ␊
          receive() external payable {}␊
      }␊
      ␊
      contract $Imported is Imported {␊
          bytes32 public constant __hh_exposed_bytecode_marker = "hardhat-exposed";␊
      ␊
          constructor() payable {␊
          }␊
      ␊
          function $_testNotImported(NotImported ni) external payable {␊
              super._testNotImported(ni);␊
          }␊
      ␊
          function $_testNotImported2(NotImported2 ni) external payable {␊
              super._testNotImported2(ni);␊
          }␊
      ␊
          receive() external payable {}␊
      }␊
      `,
    }
