{
  "compiler": {
    "version": "0.8.27+commit.40a35a09"
  },
  "language": "Solidity",
  "output": {
    "abi": [
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "beneficiary",
            "type": "address",
            "indexed": true
          },
          {
            "internalType": "uint256",
            "name": "releaseTime",
            "type": "uint256",
            "indexed": false
          },
          {
            "internalType": "uint256",
            "name": "tokenAmount",
            "type": "uint256",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "VestingLockedIn",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "",
            "type": "string",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_address",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "uint256[]",
            "name": "val",
            "type": "uint256[]",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_array",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "int256[]",
            "name": "val",
            "type": "int256[]",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_array",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "address[]",
            "name": "val",
            "type": "address[]",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_array",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "bytes",
            "name": "",
            "type": "bytes",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_bytes",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "bytes32",
            "name": "",
            "type": "bytes32",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_bytes32",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "int256",
            "name": "",
            "type": "int256",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_int",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "key",
            "type": "string",
            "indexed": false
          },
          {
            "internalType": "address",
            "name": "val",
            "type": "address",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_named_address",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "key",
            "type": "string",
            "indexed": false
          },
          {
            "internalType": "uint256[]",
            "name": "val",
            "type": "uint256[]",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_named_array",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "key",
            "type": "string",
            "indexed": false
          },
          {
            "internalType": "int256[]",
            "name": "val",
            "type": "int256[]",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_named_array",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "key",
            "type": "string",
            "indexed": false
          },
          {
            "internalType": "address[]",
            "name": "val",
            "type": "address[]",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_named_array",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "key",
            "type": "string",
            "indexed": false
          },
          {
            "internalType": "bytes",
            "name": "val",
            "type": "bytes",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_named_bytes",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "key",
            "type": "string",
            "indexed": false
          },
          {
            "internalType": "bytes32",
            "name": "val",
            "type": "bytes32",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_named_bytes32",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "key",
            "type": "string",
            "indexed": false
          },
          {
            "internalType": "int256",
            "name": "val",
            "type": "int256",
            "indexed": false
          },
          {
            "internalType": "uint256",
            "name": "decimals",
            "type": "uint256",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_named_decimal_int",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "key",
            "type": "string",
            "indexed": false
          },
          {
            "internalType": "uint256",
            "name": "val",
            "type": "uint256",
            "indexed": false
          },
          {
            "internalType": "uint256",
            "name": "decimals",
            "type": "uint256",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_named_decimal_uint",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "key",
            "type": "string",
            "indexed": false
          },
          {
            "internalType": "int256",
            "name": "val",
            "type": "int256",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_named_int",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "key",
            "type": "string",
            "indexed": false
          },
          {
            "internalType": "string",
            "name": "val",
            "type": "string",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_named_string",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "key",
            "type": "string",
            "indexed": false
          },
          {
            "internalType": "uint256",
            "name": "val",
            "type": "uint256",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_named_uint",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "",
            "type": "string",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_string",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_uint",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "bytes",
            "name": "",
            "type": "bytes",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "logs",
        "anonymous": false
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "IS_TEST",
        "outputs": [
          {
            "internalType": "bool",
            "name": "",
            "type": "bool"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "excludeArtifacts",
        "outputs": [
          {
            "internalType": "string[]",
            "name": "excludedArtifacts_",
            "type": "string[]"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "excludeContracts",
        "outputs": [
          {
            "internalType": "address[]",
            "name": "excludedContracts_",
            "type": "address[]"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "excludeSelectors",
        "outputs": [
          {
            "internalType": "struct StdInvariant.FuzzSelector[]",
            "name": "excludedSelectors_",
            "type": "tuple[]",
            "components": [
              {
                "internalType": "address",
                "name": "addr",
                "type": "address"
              },
              {
                "internalType": "bytes4[]",
                "name": "selectors",
                "type": "bytes4[]"
              }
            ]
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "excludeSenders",
        "outputs": [
          {
            "internalType": "address[]",
            "name": "excludedSenders_",
            "type": "address[]"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "failed",
        "outputs": [
          {
            "internalType": "bool",
            "name": "",
            "type": "bool"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "setUp"
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "targetArtifactSelectors",
        "outputs": [
          {
            "internalType": "struct StdInvariant.FuzzArtifactSelector[]",
            "name": "targetedArtifactSelectors_",
            "type": "tuple[]",
            "components": [
              {
                "internalType": "string",
                "name": "artifact",
                "type": "string"
              },
              {
                "internalType": "bytes4[]",
                "name": "selectors",
                "type": "bytes4[]"
              }
            ]
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "targetArtifacts",
        "outputs": [
          {
            "internalType": "string[]",
            "name": "targetedArtifacts_",
            "type": "string[]"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "targetContracts",
        "outputs": [
          {
            "internalType": "address[]",
            "name": "targetedContracts_",
            "type": "address[]"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "targetInterfaces",
        "outputs": [
          {
            "internalType": "struct StdInvariant.FuzzInterface[]",
            "name": "targetedInterfaces_",
            "type": "tuple[]",
            "components": [
              {
                "internalType": "address",
                "name": "addr",
                "type": "address"
              },
              {
                "internalType": "string[]",
                "name": "artifacts",
                "type": "string[]"
              }
            ]
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "targetSelectors",
        "outputs": [
          {
            "internalType": "struct StdInvariant.FuzzSelector[]",
            "name": "targetedSelectors_",
            "type": "tuple[]",
            "components": [
              {
                "internalType": "address",
                "name": "addr",
                "type": "address"
              },
              {
                "internalType": "bytes4[]",
                "name": "selectors",
                "type": "bytes4[]"
              }
            ]
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "targetSenders",
        "outputs": [
          {
            "internalType": "address[]",
            "name": "targetedSenders_",
            "type": "address[]"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "testAddAnotherVestingForDifferentReleaseTime"
      },
      {
        "inputs": [],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "testAddNewBeneficiaryToVestingVault"
      },
      {
        "inputs": [],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "testCanGrantVaultControllerRoleIfAdmin"
      },
      {
        "inputs": [],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "testCannotAddBeneficiaryIfNotVaultController"
      },
      {
        "inputs": [],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "testCannotGrantVaultControllerRoleIfNotAdmin"
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "testHasToken"
      },
      {
        "inputs": [],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "testIncreaseTokensForExistingBeneficiary"
      },
      {
        "inputs": [],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "testMultipleReleaseTimes"
      },
      {
        "inputs": [],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "testReleaseTokensBeforeReleaseTime"
      },
      {
        "inputs": [],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "testReleaseTokensWithLessThanOneToken"
      },
      {
        "inputs": [],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "testReleaseVestingTokensOfBeneficiary"
      },
      {
        "inputs": [],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "testReturnVestingOfBeneficiary"
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "testSupportsERC165Interface"
      },
      {
        "inputs": [],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "testUserCannotReleaseTokensNotBelongingToHim"
      }
    ],
    "devdoc": {
      "kind": "dev",
      "methods": {},
      "version": 1
    },
    "userdoc": {
      "kind": "user",
      "methods": {},
      "version": 1
    }
  },
  "settings": {
    "remappings": [
      "@openzeppelin/=node_modules/@openzeppelin/",
      "eth-gas-reporter/=node_modules/eth-gas-reporter/",
      "forge-std/=lib/forge-std/src/",
      "hardhat/=node_modules/hardhat/"
    ],
    "optimizer": {
      "enabled": true,
      "runs": 10000
    },
    "metadata": {
      "bytecodeHash": "ipfs"
    },
    "compilationTarget": {
      "test/VestingVault.t.sol": "VestingVaultTest"
    },
    "evmVersion": "cancun",
    "libraries": {},
    "viaIR": true
  },
  "sources": {
    "contracts/ExampleCrowdSale.sol": {
      "keccak256": "0xe5a0e34725bd73ea710cab6c17941d1ab35047dc4bf532d30d06f8a19acd9bbb",
      "urls": [
        "bzz-raw://4436dd594f102b555a4f02aeab0b795e9e9ec302e3b998e04d2de0dc265994f1",
        "dweb:/ipfs/QmecLoA7j1gR5BcmYWJr8cgPDL8Mz6tSYjPS2RTyzjs92k"
      ],
      "license": "FSL-1.1-MIT"
    },
    "contracts/ExampleToken.sol": {
      "keccak256": "0x66143fbb4c2d4762ff31e54e847abdb58620d26f6a09412b1e0555ea42c70710",
      "urls": [
        "bzz-raw://9f47bdf8ba57b04931646165a5a9214d3a1022655928776f519d1b2d2ea90891",
        "dweb:/ipfs/QmYCUzS9iciRarvQ7AxDBAZZDqagtLU3HZTh8bpHXP5hTB"
      ],
      "license": "FSL-1.1-MIT"
    },
    "contracts/ExampleVestingVault.sol": {
      "keccak256": "0x8e854a57dc72ca04afecbf3a9125885db5073591164394cbaa8668c47679a11b",
      "urls": [
        "bzz-raw://50afe310a0b2430a150fda1f5eaf551e17ab7421750d6f5e187fdb15147b542d",
        "dweb:/ipfs/QmNQsmdzbN1bkJS8ecdgNUYmHJqBYWhKm16WmRbJJpR9Dp"
      ],
      "license": "FSL-1.1-MIT"
    },
    "contracts/library/AggregatorV3Interface.sol": {
      "keccak256": "0x6fe9022adc0ea2fe59271183cd952e1679262f1c239583ecad824dbd25f723b8",
      "urls": [
        "bzz-raw://c7eb625f0943857cb5d4820d8b44918153fae0b6e6204debb4a0c3dd763f91de",
        "dweb:/ipfs/QmNz2mLb7X17sqf7EQmNai3bG9NqVw732M9ogyddeqgRuV"
      ],
      "license": "FSL-1.1-MIT"
    },
    "contracts/library/CrowdSale.sol": {
      "keccak256": "0x6daf7c8f3c38229eca479270cbbee2aec5090f1758941f9979faf6117af4787d",
      "urls": [
        "bzz-raw://0bfc8f658db29b8ad4055fe1f4bf5090e5a7043be3eda0d308e9d7ac943b147d",
        "dweb:/ipfs/QmNMGdx1tgoy8ZE4boqYsnXvBmaoGMqtquz16hP5JfrssD"
      ],
      "license": "FSL-1.1-MIT"
    },
    "contracts/library/ICrowdSale.sol": {
      "keccak256": "0xe5539638218e0e027b15b9c236cb9d2dcffcb0ea3ed79d8374e11d120d1b1d4d",
      "urls": [
        "bzz-raw://3600a70cc759026e923c594f69fd68d5ad3476fcfaa5945245ce08fe94b0a953",
        "dweb:/ipfs/QmRq9A3iei2J1ocWDoq1xL5xLdnSAgxfuktuC3XsFhFUqh"
      ],
      "license": "FSL-1.1-MIT"
    },
    "contracts/library/IVestingVault.sol": {
      "keccak256": "0xf3f074546fdb24b8d2889ffd7947b5134669f1eb47c4baf30abf4663f6d320d7",
      "urls": [
        "bzz-raw://e13d929241510074238c4d3797aeaa9a8f3bea58c9d8beab73c2a39583dcf56e",
        "dweb:/ipfs/QmNX2cSo1uxxuviE5SL8wUgMgC2DBrDEyZa8KVd9DipUAU"
      ],
      "license": "FSL-1.1-MIT"
    },
    "contracts/library/VestingVault.sol": {
      "keccak256": "0x0386c58188ed9a89f544a617e7b628210935857895b07549854a19e140a1b21c",
      "urls": [
        "bzz-raw://c2d8275e0105f4a6c134acb7057706b00c437e3b5e72185479024343346ab1ee",
        "dweb:/ipfs/QmegrKCswosuTqn2uizDBKmrMFboBN9ATcXPVcyLzbUpdR"
      ],
      "license": "FSL-1.1-MIT"
    },
    "lib/forge-std/src/Base.sol": {
      "keccak256": "0xa3735a6618a3014e42bb4329ad143e3b2c59cd95094350202e4c4a06c9d585dd",
      "urls": [
        "bzz-raw://eef9db48d94726ec3d3fa3a84a8d520903705190f7ee7a04a065335a6aeeac4d",
        "dweb:/ipfs/QmSWmNny7TkzyqRPjGdpERAJuBwwznrGPLUqS4DZy5fX5z"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/StdAssertions.sol": {
      "keccak256": "0x4584f551c3a875c26423c1e50a77179bc2f9c9c1ee6d0f0c6be0f89ca5ee8270",
      "urls": [
        "bzz-raw://ef118876a862b60ba8a6612b8b3f3a6c226e11a0071a2e9695f021586d1bfdbe",
        "dweb:/ipfs/QmXd2vD91PkvoFWasFkgbDi89PctmgsHVxGvGNyhjmRK2b"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/StdChains.sol": {
      "keccak256": "0xd3edaf57db178f839d97ccee0009c2b7b20f78c2adca9028a6013acb8d5b4c5e",
      "urls": [
        "bzz-raw://0f17329ac1d25d3e6657ca240dee0a3f9b2cf22a64a05b87dac15252dee74351",
        "dweb:/ipfs/QmPHxkEwgVpQNbU52s58RmmegrkYGj8bNKTVSW8rZm3dBm"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/StdCheats.sol": {
      "keccak256": "0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746",
      "urls": [
        "bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41",
        "dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/StdConstants.sol": {
      "keccak256": "0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534",
      "urls": [
        "bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc",
        "dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/StdError.sol": {
      "keccak256": "0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77",
      "urls": [
        "bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6",
        "dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/StdInvariant.sol": {
      "keccak256": "0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d",
      "urls": [
        "bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391",
        "dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/StdJson.sol": {
      "keccak256": "0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500",
      "urls": [
        "bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974",
        "dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/StdMath.sol": {
      "keccak256": "0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2",
      "urls": [
        "bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92",
        "dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/StdStorage.sol": {
      "keccak256": "0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc",
      "urls": [
        "bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57",
        "dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/StdStyle.sol": {
      "keccak256": "0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d",
      "urls": [
        "bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8",
        "dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/StdToml.sol": {
      "keccak256": "0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861",
      "urls": [
        "bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3",
        "dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/StdUtils.sol": {
      "keccak256": "0x7274081e11c05164fd8eadde4de8305c033e58a43008dea58065f3170ccf0737",
      "urls": [
        "bzz-raw://e9801614b6c9d3e472982e6cc68f5f1ad03682f84eafb686be65633c7132d138",
        "dweb:/ipfs/QmcQSUcrm2A7XuektnxJjvYGmZtBeA6LKPxCXRqdXBX776"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/Test.sol": {
      "keccak256": "0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c",
      "urls": [
        "bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4",
        "dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/Vm.sol": {
      "keccak256": "0xd3225a46c515c33c053200970c0ad22560ab4edd938361ee89aa99c4b1ba0efa",
      "urls": [
        "bzz-raw://13f3ac3ed393208015b88eb9392f59d39e0e85916527f17004eb24610c36813c",
        "dweb:/ipfs/QmU4YRC58KhoXcJH91o4Ut3P8SNhmC6B9spvzgKApk8ZSB"
      ],
      "license": "MIT OR Apache-2.0"
    },
    "lib/forge-std/src/console.sol": {
      "keccak256": "0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5",
      "urls": [
        "bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57",
        "dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/console2.sol": {
      "keccak256": "0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f",
      "urls": [
        "bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d",
        "dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/interfaces/IMulticall3.sol": {
      "keccak256": "0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a",
      "urls": [
        "bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0",
        "dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/safeconsole.sol": {
      "keccak256": "0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11",
      "urls": [
        "bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab",
        "dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/access/AccessControl.sol": {
      "keccak256": "0xc1bebdee8943bd5e9ef1e0f2e63296aa1dd4171a66b9e74d0286220e891e1458",
      "urls": [
        "bzz-raw://928cf2f0042c606f3dcb21bd8a272573f462a215cd65285d2d6b407f31e9bd67",
        "dweb:/ipfs/QmWGxjckno6sfjHPX5naPnsfsyisgy4PJDf46eLw9umfpx"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/access/IAccessControl.sol": {
      "keccak256": "0x4d9a2b261b56a1e4a37bb038151dec98b952fed16de2bdfdda27e38e2b12b530",
      "urls": [
        "bzz-raw://f724110f7aeb6151af800ab8c12e6060b29bda9e013f0ccb331eb754d6a7cbf0",
        "dweb:/ipfs/QmUcjzCZpxtUPdEThtAzE1f9LvuJiUGZxTdH9N6bHrb5Cf"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol": {
      "keccak256": "0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b",
      "urls": [
        "bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b",
        "dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": {
      "keccak256": "0x41f6b3b9e030561e7896dbef372b499cc8d418a80c3884a4d65a68f2fdc7493a",
      "urls": [
        "bzz-raw://80b0992a11b2fd1f75ced2971696d07bbd1d19ce6761dd50d8b6d48aa435f42a",
        "dweb:/ipfs/QmZDe5xd2gXHjVEjv9t8C1KQ68K5T8qFwdinwQgmP3rF3x"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": {
      "keccak256": "0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7",
      "urls": [
        "bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db",
        "dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": {
      "keccak256": "0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330",
      "urls": [
        "bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf",
        "dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/utils/Context.sol": {
      "keccak256": "0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2",
      "urls": [
        "bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12",
        "dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/utils/Pausable.sol": {
      "keccak256": "0xdb484371dfbb848cb6f5d70464e9ac9b2900e4164ead76bbce4fef0b44bcc68f",
      "urls": [
        "bzz-raw://f9d6f6f6600a2bec622f699081b58350873b5e63ce05464d17d674a290bb8a7c",
        "dweb:/ipfs/QmQKVzSQY1PM3Bid4QhgVVZyx6B4Jx7XgaQzLKHj38vJz8"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": {
      "keccak256": "0x11a5a79827df29e915a12740caf62fe21ebe27c08c9ae3e09abe9ee3ba3866d3",
      "urls": [
        "bzz-raw://3cf0c69ab827e3251db9ee6a50647d62c90ba580a4d7bbff21f2bea39e7b2f4a",
        "dweb:/ipfs/QmZiKwtKU1SBX4RGfQtY7PZfiapbbu6SZ9vizGQD9UHjRA"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol": {
      "keccak256": "0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa",
      "urls": [
        "bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287",
        "dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p"
      ],
      "license": "MIT"
    },
    "node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol": {
      "keccak256": "0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8",
      "urls": [
        "bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621",
        "dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"
      ],
      "license": "MIT"
    },
    "test/VestingVault.t.sol": {
      "keccak256": "0x33d7556751e8da796a321afb92c65aa11f9377e5e50a8c6d1d8d0d1c88403e97",
      "urls": [
        "bzz-raw://e9e3ee5a75a80c4d0c7ac2846891b3f312df4a1dd1428b3a9da2dd7d69c54387",
        "dweb:/ipfs/QmZuksHpEBYYYMjvV4A3kVeG99TtC5xFtXtNAhsviPeJVT"
      ],
      "license": "MIT"
    }
  },
  "version": 1
}