{
  "manifestVersion": "3.2",
  "proxies": [
    {
      "address": "0xe80772Eaf6e2E18B651F160Bc9158b2A5caFCA65",
      "txHash": "0x6a32cc4b2c28125d607549f75c3f33479e5ba56d4af1cb369c3ba790ab4be19e",
      "kind": "uups"
    },
    {
      "address": "0x73cb180bf0521828d8849bc8CF2B920918e23032",
      "txHash": "0x6f4baff47fa8485d082d89a2d8424ed519681149fd2d329c79ebbeff5ccc5178",
      "kind": "uups"
    },
    {
      "address": "0x9Af655c4DBe940962F776b685d6700F538B90fcf",
      "txHash": "0x70c3e91a7a05bf0c8842865cb9ab67330a2b1bae8a7d20f7445df2b59c3058fc",
      "kind": "uups"
    },
    {
      "address": "0x11732E21D9DaB3B6fF6e7DD9EdcB24770260c7B4",
      "txHash": "0xb31081552a30d3c8ce98154446858f52f01e47774bbdab63edffbd4f43a4d21e",
      "kind": "uups"
    },
    {
      "address": "0x6C93A2A9eBC61ce664eE3D44531B76365150BFd8",
      "txHash": "0x94666c6a0b826a05e7f09bc80f47e00d1d39397b12b3977dc65dfb6192e5a70b",
      "kind": "uups"
    },
    {
      "address": "0xFDf56CF6d743a92D9196806b9028Ac3dBCE61f87",
      "txHash": "0xba82b83377c7c86bd42bb3f1b3bca5d27a01da08827cb60d05e56c328b0051a7",
      "kind": "uups"
    }
  ],
  "impls": {
    "951cbb7c1808d3032813889eeb58e2c21a89f0456ee270897408e21ff30dbdff": {
      "address": "0x159f28F598b5C5340D6A902D34eB373D30499660",
      "txHash": "0x0bbc68acaffee3d076726b7f6c8cc7448e8b6e6afbeca3c13800d4f5f620459c",
      "layout": {
        "storage": [
          {
            "label": "_initialized",
            "offset": 0,
            "slot": "0",
            "type": "t_uint8",
            "contract": "Initializable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62",
            "retypedFrom": "bool"
          },
          {
            "label": "_initializing",
            "offset": 1,
            "slot": "0",
            "type": "t_bool",
            "contract": "Initializable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "1",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ContextUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "51",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ERC165Upgradeable",
            "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
          },
          {
            "label": "_roles",
            "offset": 0,
            "slot": "101",
            "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
            "contract": "AccessControlUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "102",
            "type": "t_array(t_uint256)49_storage",
            "contract": "AccessControlUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:247"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "151",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ERC1967UpgradeUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "201",
            "type": "t_array(t_uint256)50_storage",
            "contract": "UUPSUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:107"
          },
          {
            "label": "_balances",
            "offset": 0,
            "slot": "251",
            "type": "t_mapping(t_address,t_uint256)",
            "contract": "UsdPlusToken",
            "src": "contracts/UsdPlusToken.sol:18"
          },
          {
            "label": "_allowances",
            "offset": 0,
            "slot": "252",
            "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))",
            "contract": "UsdPlusToken",
            "src": "contracts/UsdPlusToken.sol:20"
          },
          {
            "label": "_totalSupply",
            "offset": 0,
            "slot": "253",
            "type": "t_uint256",
            "contract": "UsdPlusToken",
            "src": "contracts/UsdPlusToken.sol:22"
          },
          {
            "label": "_name",
            "offset": 0,
            "slot": "254",
            "type": "t_string_storage",
            "contract": "UsdPlusToken",
            "src": "contracts/UsdPlusToken.sol:24"
          },
          {
            "label": "_symbol",
            "offset": 0,
            "slot": "255",
            "type": "t_string_storage",
            "contract": "UsdPlusToken",
            "src": "contracts/UsdPlusToken.sol:25"
          },
          {
            "label": "_totalMint",
            "offset": 0,
            "slot": "256",
            "type": "t_uint256",
            "contract": "UsdPlusToken",
            "src": "contracts/UsdPlusToken.sol:32"
          },
          {
            "label": "_totalBurn",
            "offset": 0,
            "slot": "257",
            "type": "t_uint256",
            "contract": "UsdPlusToken",
            "src": "contracts/UsdPlusToken.sol:33"
          },
          {
            "label": "liquidityIndexChangeTime",
            "offset": 0,
            "slot": "258",
            "type": "t_uint256",
            "contract": "UsdPlusToken",
            "src": "contracts/UsdPlusToken.sol:35"
          },
          {
            "label": "liquidityIndex",
            "offset": 0,
            "slot": "259",
            "type": "t_uint256",
            "contract": "UsdPlusToken",
            "src": "contracts/UsdPlusToken.sol:36"
          },
          {
            "label": "liquidityIndexDenominator",
            "offset": 0,
            "slot": "260",
            "type": "t_uint256",
            "contract": "UsdPlusToken",
            "src": "contracts/UsdPlusToken.sol:37"
          },
          {
            "label": "_owners",
            "offset": 0,
            "slot": "261",
            "type": "t_struct(AddressSet)2098_storage",
            "contract": "UsdPlusToken",
            "src": "contracts/UsdPlusToken.sol:39"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "263",
            "type": "t_array(t_uint256)50_storage",
            "contract": "UsdPlusToken",
            "src": "contracts/UsdPlusToken.sol:41"
          },
          {
            "label": "exchange",
            "offset": 0,
            "slot": "313",
            "type": "t_address",
            "contract": "UsdPlusToken",
            "src": "contracts/UsdPlusToken.sol:43"
          }
        ],
        "types": {
          "t_address": {
            "label": "address",
            "numberOfBytes": "20"
          },
          "t_array(t_bytes32)dyn_storage": {
            "label": "bytes32[]",
            "numberOfBytes": "32"
          },
          "t_array(t_uint256)49_storage": {
            "label": "uint256[49]",
            "numberOfBytes": "1568"
          },
          "t_array(t_uint256)50_storage": {
            "label": "uint256[50]",
            "numberOfBytes": "1600"
          },
          "t_bool": {
            "label": "bool",
            "numberOfBytes": "1"
          },
          "t_bytes32": {
            "label": "bytes32",
            "numberOfBytes": "32"
          },
          "t_mapping(t_address,t_bool)": {
            "label": "mapping(address => bool)",
            "numberOfBytes": "32"
          },
          "t_mapping(t_address,t_mapping(t_address,t_uint256))": {
            "label": "mapping(address => mapping(address => uint256))",
            "numberOfBytes": "32"
          },
          "t_mapping(t_address,t_uint256)": {
            "label": "mapping(address => uint256)",
            "numberOfBytes": "32"
          },
          "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
            "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
            "numberOfBytes": "32"
          },
          "t_mapping(t_bytes32,t_uint256)": {
            "label": "mapping(bytes32 => uint256)",
            "numberOfBytes": "32"
          },
          "t_string_storage": {
            "label": "string",
            "numberOfBytes": "32"
          },
          "t_struct(AddressSet)2098_storage": {
            "label": "struct EnumerableSet.AddressSet",
            "members": [
              {
                "label": "_inner",
                "type": "t_struct(Set)1797_storage",
                "offset": 0,
                "slot": "0"
              }
            ],
            "numberOfBytes": "64"
          },
          "t_struct(RoleData)34_storage": {
            "label": "struct AccessControlUpgradeable.RoleData",
            "members": [
              {
                "label": "members",
                "type": "t_mapping(t_address,t_bool)",
                "offset": 0,
                "slot": "0"
              },
              {
                "label": "adminRole",
                "type": "t_bytes32",
                "offset": 0,
                "slot": "1"
              }
            ],
            "numberOfBytes": "64"
          },
          "t_struct(Set)1797_storage": {
            "label": "struct EnumerableSet.Set",
            "members": [
              {
                "label": "_values",
                "type": "t_array(t_bytes32)dyn_storage",
                "offset": 0,
                "slot": "0"
              },
              {
                "label": "_indexes",
                "type": "t_mapping(t_bytes32,t_uint256)",
                "offset": 0,
                "slot": "1"
              }
            ],
            "numberOfBytes": "64"
          },
          "t_uint256": {
            "label": "uint256",
            "numberOfBytes": "32"
          },
          "t_uint8": {
            "label": "uint8",
            "numberOfBytes": "1"
          }
        }
      }
    },
    "e1de76dba6585b9ca678698debf0d8b55ab897922bca4526a90f733f00b715d5": {
      "address": "0xB79DD08EA68A908A97220C76d19A6aA9cBDE4376",
      "txHash": "0x65606b6a3080577d474660c970c0c08bada2eb469347b69e871470a2caa3945f",
      "layout": {
        "storage": [
          {
            "label": "_initialized",
            "offset": 0,
            "slot": "0",
            "type": "t_uint8",
            "contract": "Initializable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62",
            "retypedFrom": "bool"
          },
          {
            "label": "_initializing",
            "offset": 1,
            "slot": "0",
            "type": "t_bool",
            "contract": "Initializable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "1",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ContextUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "51",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ERC165Upgradeable",
            "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
          },
          {
            "label": "_roles",
            "offset": 0,
            "slot": "101",
            "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
            "contract": "AccessControlUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "102",
            "type": "t_array(t_uint256)49_storage",
            "contract": "AccessControlUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:247"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "151",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ERC1967UpgradeUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "201",
            "type": "t_array(t_uint256)50_storage",
            "contract": "UUPSUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:107"
          },
          {
            "label": "_paused",
            "offset": 0,
            "slot": "251",
            "type": "t_bool",
            "contract": "PausableUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "252",
            "type": "t_array(t_uint256)49_storage",
            "contract": "PausableUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:102"
          },
          {
            "label": "usdPlus",
            "offset": 0,
            "slot": "301",
            "type": "t_contract(UsdPlusToken)9050",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:22"
          },
          {
            "label": "usdc",
            "offset": 0,
            "slot": "302",
            "type": "t_contract(IERC20)3455",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:23"
          },
          {
            "label": "portfolioManager",
            "offset": 0,
            "slot": "303",
            "type": "t_contract(IPortfolioManager)9218",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:25"
          },
          {
            "label": "mark2market",
            "offset": 0,
            "slot": "304",
            "type": "t_contract(IMark2Market)9146",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:26"
          },
          {
            "label": "buyFee",
            "offset": 0,
            "slot": "305",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:28"
          },
          {
            "label": "buyFeeDenominator",
            "offset": 0,
            "slot": "306",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:29"
          },
          {
            "label": "redeemFee",
            "offset": 0,
            "slot": "307",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:31"
          },
          {
            "label": "redeemFeeDenominator",
            "offset": 0,
            "slot": "308",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:32"
          },
          {
            "label": "nextPayoutTime",
            "offset": 0,
            "slot": "309",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:35"
          },
          {
            "label": "payoutPeriod",
            "offset": 0,
            "slot": "310",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:38"
          },
          {
            "label": "payoutTimeRange",
            "offset": 0,
            "slot": "311",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:45"
          },
          {
            "label": "payoutListener",
            "offset": 0,
            "slot": "312",
            "type": "t_contract(IPayoutListener)9152",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:47"
          }
        ],
        "types": {
          "t_address": {
            "label": "address",
            "numberOfBytes": "20"
          },
          "t_array(t_uint256)49_storage": {
            "label": "uint256[49]",
            "numberOfBytes": "1568"
          },
          "t_array(t_uint256)50_storage": {
            "label": "uint256[50]",
            "numberOfBytes": "1600"
          },
          "t_bool": {
            "label": "bool",
            "numberOfBytes": "1"
          },
          "t_bytes32": {
            "label": "bytes32",
            "numberOfBytes": "32"
          },
          "t_contract(IERC20)3455": {
            "label": "contract IERC20",
            "numberOfBytes": "20"
          },
          "t_contract(IMark2Market)9146": {
            "label": "contract IMark2Market",
            "numberOfBytes": "20"
          },
          "t_contract(IPayoutListener)9152": {
            "label": "contract IPayoutListener",
            "numberOfBytes": "20"
          },
          "t_contract(IPortfolioManager)9218": {
            "label": "contract IPortfolioManager",
            "numberOfBytes": "20"
          },
          "t_contract(UsdPlusToken)9050": {
            "label": "contract UsdPlusToken",
            "numberOfBytes": "20"
          },
          "t_mapping(t_address,t_bool)": {
            "label": "mapping(address => bool)",
            "numberOfBytes": "32"
          },
          "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
            "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
            "numberOfBytes": "32"
          },
          "t_struct(RoleData)34_storage": {
            "label": "struct AccessControlUpgradeable.RoleData",
            "members": [
              {
                "label": "members",
                "type": "t_mapping(t_address,t_bool)",
                "offset": 0,
                "slot": "0"
              },
              {
                "label": "adminRole",
                "type": "t_bytes32",
                "offset": 0,
                "slot": "1"
              }
            ],
            "numberOfBytes": "64"
          },
          "t_uint256": {
            "label": "uint256",
            "numberOfBytes": "32"
          },
          "t_uint8": {
            "label": "uint8",
            "numberOfBytes": "1"
          }
        }
      }
    },
    "54594956f6f93578920b5fd86802a391650563a2aed3b56d73adfdae4efdf179": {
      "address": "0x7cb1B38591021309C64f451859d79312d8Ca2789",
      "txHash": "0xda67597a6dc0aa3daaa21fdf5850ed8c6451a87235c650f514eef863d7d9c1a4",
      "layout": {
        "storage": [
          {
            "label": "_initialized",
            "offset": 0,
            "slot": "0",
            "type": "t_uint8",
            "contract": "Initializable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62",
            "retypedFrom": "bool"
          },
          {
            "label": "_initializing",
            "offset": 1,
            "slot": "0",
            "type": "t_bool",
            "contract": "Initializable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "1",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ContextUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "51",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ERC165Upgradeable",
            "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
          },
          {
            "label": "_roles",
            "offset": 0,
            "slot": "101",
            "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
            "contract": "AccessControlUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "102",
            "type": "t_array(t_uint256)49_storage",
            "contract": "AccessControlUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:247"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "151",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ERC1967UpgradeUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "201",
            "type": "t_array(t_uint256)50_storage",
            "contract": "UUPSUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:107"
          },
          {
            "label": "portfolioManager",
            "offset": 0,
            "slot": "251",
            "type": "t_contract(IPortfolioManager)9218",
            "contract": "Mark2Market",
            "src": "contracts/Mark2Market.sol:19"
          }
        ],
        "types": {
          "t_address": {
            "label": "address",
            "numberOfBytes": "20"
          },
          "t_array(t_uint256)49_storage": {
            "label": "uint256[49]",
            "numberOfBytes": "1568"
          },
          "t_array(t_uint256)50_storage": {
            "label": "uint256[50]",
            "numberOfBytes": "1600"
          },
          "t_bool": {
            "label": "bool",
            "numberOfBytes": "1"
          },
          "t_bytes32": {
            "label": "bytes32",
            "numberOfBytes": "32"
          },
          "t_contract(IPortfolioManager)9218": {
            "label": "contract IPortfolioManager",
            "numberOfBytes": "20"
          },
          "t_mapping(t_address,t_bool)": {
            "label": "mapping(address => bool)",
            "numberOfBytes": "32"
          },
          "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
            "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
            "numberOfBytes": "32"
          },
          "t_struct(RoleData)34_storage": {
            "label": "struct AccessControlUpgradeable.RoleData",
            "members": [
              {
                "label": "members",
                "type": "t_mapping(t_address,t_bool)",
                "offset": 0,
                "slot": "0"
              },
              {
                "label": "adminRole",
                "type": "t_bytes32",
                "offset": 0,
                "slot": "1"
              }
            ],
            "numberOfBytes": "64"
          },
          "t_uint256": {
            "label": "uint256",
            "numberOfBytes": "32"
          },
          "t_uint8": {
            "label": "uint8",
            "numberOfBytes": "1"
          }
        }
      }
    },
    "24fd0072875ce563720cd0e05b7e93dfc751a357ebce748f780df13230182e7b": {
      "address": "0x1F4947Cd5A5c058DD5EA6Fd1CCd5c311aDa9E6Fb",
      "txHash": "0x34f701c50fb0896bf959f48d5d1384a4e76f2ad1e0659a453929a96be3da371f",
      "layout": {
        "storage": [
          {
            "label": "_initialized",
            "offset": 0,
            "slot": "0",
            "type": "t_uint8",
            "contract": "Initializable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62",
            "retypedFrom": "bool"
          },
          {
            "label": "_initializing",
            "offset": 1,
            "slot": "0",
            "type": "t_bool",
            "contract": "Initializable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "1",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ContextUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "51",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ERC165Upgradeable",
            "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
          },
          {
            "label": "_roles",
            "offset": 0,
            "slot": "101",
            "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
            "contract": "AccessControlUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "102",
            "type": "t_array(t_uint256)49_storage",
            "contract": "AccessControlUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:247"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "151",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ERC1967UpgradeUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "201",
            "type": "t_array(t_uint256)50_storage",
            "contract": "UUPSUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:107"
          },
          {
            "label": "exchanger",
            "offset": 0,
            "slot": "251",
            "type": "t_address",
            "contract": "PortfolioManager",
            "src": "contracts/PortfolioManager.sol:22"
          },
          {
            "label": "usdc",
            "offset": 0,
            "slot": "252",
            "type": "t_contract(IERC20)1761",
            "contract": "PortfolioManager",
            "src": "contracts/PortfolioManager.sol:23"
          },
          {
            "label": "strategyWeightPositions",
            "offset": 0,
            "slot": "253",
            "type": "t_mapping(t_address,t_uint256)",
            "contract": "PortfolioManager",
            "src": "contracts/PortfolioManager.sol:24"
          },
          {
            "label": "strategyWeights",
            "offset": 0,
            "slot": "254",
            "type": "t_array(t_struct(StrategyWeight)3288_storage)dyn_storage",
            "contract": "PortfolioManager",
            "src": "contracts/PortfolioManager.sol:25"
          },
          {
            "label": "cashStrategy",
            "offset": 0,
            "slot": "255",
            "type": "t_contract(IStrategy)3406",
            "contract": "PortfolioManager",
            "src": "contracts/PortfolioManager.sol:26"
          }
        ],
        "types": {
          "t_address": {
            "label": "address",
            "numberOfBytes": "20"
          },
          "t_array(t_struct(StrategyWeight)3288_storage)dyn_storage": {
            "label": "struct IPortfolioManager.StrategyWeight[]",
            "numberOfBytes": "32"
          },
          "t_array(t_uint256)49_storage": {
            "label": "uint256[49]",
            "numberOfBytes": "1568"
          },
          "t_array(t_uint256)50_storage": {
            "label": "uint256[50]",
            "numberOfBytes": "1600"
          },
          "t_bool": {
            "label": "bool",
            "numberOfBytes": "1"
          },
          "t_bytes32": {
            "label": "bytes32",
            "numberOfBytes": "32"
          },
          "t_contract(IERC20)1761": {
            "label": "contract IERC20",
            "numberOfBytes": "20"
          },
          "t_contract(IStrategy)3406": {
            "label": "contract IStrategy",
            "numberOfBytes": "20"
          },
          "t_mapping(t_address,t_bool)": {
            "label": "mapping(address => bool)",
            "numberOfBytes": "32"
          },
          "t_mapping(t_address,t_uint256)": {
            "label": "mapping(address => uint256)",
            "numberOfBytes": "32"
          },
          "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
            "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
            "numberOfBytes": "32"
          },
          "t_struct(RoleData)34_storage": {
            "label": "struct AccessControlUpgradeable.RoleData",
            "members": [
              {
                "label": "members",
                "type": "t_mapping(t_address,t_bool)",
                "offset": 0,
                "slot": "0"
              },
              {
                "label": "adminRole",
                "type": "t_bytes32",
                "offset": 0,
                "slot": "1"
              }
            ],
            "numberOfBytes": "64"
          },
          "t_struct(StrategyWeight)3288_storage": {
            "label": "struct IPortfolioManager.StrategyWeight",
            "members": [
              {
                "label": "strategy",
                "type": "t_address",
                "offset": 0,
                "slot": "0"
              },
              {
                "label": "minWeight",
                "type": "t_uint256",
                "offset": 0,
                "slot": "1"
              },
              {
                "label": "targetWeight",
                "type": "t_uint256",
                "offset": 0,
                "slot": "2"
              },
              {
                "label": "maxWeight",
                "type": "t_uint256",
                "offset": 0,
                "slot": "3"
              },
              {
                "label": "enabled",
                "type": "t_bool",
                "offset": 0,
                "slot": "4"
              },
              {
                "label": "enabledReward",
                "type": "t_bool",
                "offset": 1,
                "slot": "4"
              }
            ],
            "numberOfBytes": "160"
          },
          "t_uint256": {
            "label": "uint256",
            "numberOfBytes": "32"
          },
          "t_uint8": {
            "label": "uint8",
            "numberOfBytes": "1"
          }
        }
      }
    },
    "860fa4b6029004768c732497e9126fcf58a9e93be2d82b1c6b5b17dc997fc372": {
      "address": "0x9BD68DF6617bcFf5Ee475554c08b511E09c33bbd",
      "txHash": "0x4323c9140715f82c46d2dcf2acaa1d9d4c6e875f9a505c0677343c67a24aff5a",
      "layout": {
        "storage": [
          {
            "label": "_initialized",
            "offset": 0,
            "slot": "0",
            "type": "t_uint8",
            "contract": "Initializable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62",
            "retypedFrom": "bool"
          },
          {
            "label": "_initializing",
            "offset": 1,
            "slot": "0",
            "type": "t_bool",
            "contract": "Initializable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "1",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ContextUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "51",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ERC165Upgradeable",
            "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
          },
          {
            "label": "_roles",
            "offset": 0,
            "slot": "101",
            "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
            "contract": "AccessControlUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "102",
            "type": "t_array(t_uint256)49_storage",
            "contract": "AccessControlUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:247"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "151",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ERC1967UpgradeUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "201",
            "type": "t_array(t_uint256)50_storage",
            "contract": "UUPSUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:107"
          },
          {
            "label": "exchange",
            "offset": 0,
            "slot": "251",
            "type": "t_address",
            "contract": "PayoutListener",
            "src": "contracts/PayoutListener.sol:16"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "252",
            "type": "t_array(t_uint256)50_storage",
            "contract": "PayoutListener",
            "src": "contracts/PayoutListener.sol:60"
          },
          {
            "label": "qsSyncPools",
            "offset": 0,
            "slot": "302",
            "type": "t_array(t_address)dyn_storage",
            "contract": "AvalanchePayoutListener",
            "src": "contracts/payoutlisteners/AvalanchePayoutListener.sol:14"
          }
        ],
        "types": {
          "t_address": {
            "label": "address",
            "numberOfBytes": "20"
          },
          "t_array(t_address)dyn_storage": {
            "label": "address[]",
            "numberOfBytes": "32"
          },
          "t_array(t_uint256)49_storage": {
            "label": "uint256[49]",
            "numberOfBytes": "1568"
          },
          "t_array(t_uint256)50_storage": {
            "label": "uint256[50]",
            "numberOfBytes": "1600"
          },
          "t_bool": {
            "label": "bool",
            "numberOfBytes": "1"
          },
          "t_bytes32": {
            "label": "bytes32",
            "numberOfBytes": "32"
          },
          "t_mapping(t_address,t_bool)": {
            "label": "mapping(address => bool)",
            "numberOfBytes": "32"
          },
          "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
            "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
            "numberOfBytes": "32"
          },
          "t_struct(RoleData)34_storage": {
            "label": "struct AccessControlUpgradeable.RoleData",
            "members": [
              {
                "label": "members",
                "type": "t_mapping(t_address,t_bool)",
                "offset": 0,
                "slot": "0"
              },
              {
                "label": "adminRole",
                "type": "t_bytes32",
                "offset": 0,
                "slot": "1"
              }
            ],
            "numberOfBytes": "64"
          },
          "t_uint256": {
            "label": "uint256",
            "numberOfBytes": "32"
          },
          "t_uint8": {
            "label": "uint8",
            "numberOfBytes": "1"
          }
        }
      }
    },
    "1a81b3cd0fcbf8617b5d6734e3254e82f83157b90bd60eb7318ed2bcea789b1f": {
      "address": "0xde13EbA3109336E43533CbCA0F3817928F40734E",
      "txHash": "0x2da520074d811cb83f1bf5b8953641f1ed6c0e84149099324ecb2b1c368857ae",
      "layout": {
        "storage": [
          {
            "label": "_initialized",
            "offset": 0,
            "slot": "0",
            "type": "t_uint8",
            "contract": "Initializable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62",
            "retypedFrom": "bool"
          },
          {
            "label": "_initializing",
            "offset": 1,
            "slot": "0",
            "type": "t_bool",
            "contract": "Initializable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "1",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ContextUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "51",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ERC165Upgradeable",
            "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
          },
          {
            "label": "_roles",
            "offset": 0,
            "slot": "101",
            "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
            "contract": "AccessControlUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "102",
            "type": "t_array(t_uint256)49_storage",
            "contract": "AccessControlUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:247"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "151",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ERC1967UpgradeUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "201",
            "type": "t_array(t_uint256)50_storage",
            "contract": "UUPSUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:107"
          },
          {
            "label": "_paused",
            "offset": 0,
            "slot": "251",
            "type": "t_bool",
            "contract": "PausableUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "252",
            "type": "t_array(t_uint256)49_storage",
            "contract": "PausableUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:102"
          },
          {
            "label": "usdPlus",
            "offset": 0,
            "slot": "301",
            "type": "t_contract(UsdPlusToken)8825",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:22"
          },
          {
            "label": "usdc",
            "offset": 0,
            "slot": "302",
            "type": "t_contract(IERC20)3455",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:23"
          },
          {
            "label": "portfolioManager",
            "offset": 0,
            "slot": "303",
            "type": "t_contract(IPortfolioManager)8924",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:25"
          },
          {
            "label": "mark2market",
            "offset": 0,
            "slot": "304",
            "type": "t_contract(IMark2Market)8852",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:26"
          },
          {
            "label": "buyFee",
            "offset": 0,
            "slot": "305",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:28"
          },
          {
            "label": "buyFeeDenominator",
            "offset": 0,
            "slot": "306",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:29"
          },
          {
            "label": "redeemFee",
            "offset": 0,
            "slot": "307",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:31"
          },
          {
            "label": "redeemFeeDenominator",
            "offset": 0,
            "slot": "308",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:32"
          },
          {
            "label": "nextPayoutTime",
            "offset": 0,
            "slot": "309",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:35"
          },
          {
            "label": "payoutPeriod",
            "offset": 0,
            "slot": "310",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:38"
          },
          {
            "label": "payoutTimeRange",
            "offset": 0,
            "slot": "311",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:45"
          },
          {
            "label": "payoutListener",
            "offset": 0,
            "slot": "312",
            "type": "t_contract(IPayoutListener)8858",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:47"
          },
          {
            "label": "lastBlockNumber",
            "offset": 0,
            "slot": "313",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:50"
          },
          {
            "label": "abroadMin",
            "offset": 0,
            "slot": "314",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:52"
          },
          {
            "label": "abroadMax",
            "offset": 0,
            "slot": "315",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:53"
          }
        ],
        "types": {
          "t_address": {
            "label": "address",
            "numberOfBytes": "20"
          },
          "t_array(t_uint256)49_storage": {
            "label": "uint256[49]",
            "numberOfBytes": "1568"
          },
          "t_array(t_uint256)50_storage": {
            "label": "uint256[50]",
            "numberOfBytes": "1600"
          },
          "t_bool": {
            "label": "bool",
            "numberOfBytes": "1"
          },
          "t_bytes32": {
            "label": "bytes32",
            "numberOfBytes": "32"
          },
          "t_contract(IERC20)3455": {
            "label": "contract IERC20",
            "numberOfBytes": "20"
          },
          "t_contract(IMark2Market)8852": {
            "label": "contract IMark2Market",
            "numberOfBytes": "20"
          },
          "t_contract(IPayoutListener)8858": {
            "label": "contract IPayoutListener",
            "numberOfBytes": "20"
          },
          "t_contract(IPortfolioManager)8924": {
            "label": "contract IPortfolioManager",
            "numberOfBytes": "20"
          },
          "t_contract(UsdPlusToken)8825": {
            "label": "contract UsdPlusToken",
            "numberOfBytes": "20"
          },
          "t_mapping(t_address,t_bool)": {
            "label": "mapping(address => bool)",
            "numberOfBytes": "32"
          },
          "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
            "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
            "numberOfBytes": "32"
          },
          "t_struct(RoleData)34_storage": {
            "label": "struct AccessControlUpgradeable.RoleData",
            "members": [
              {
                "label": "members",
                "type": "t_mapping(t_address,t_bool)",
                "offset": 0,
                "slot": "0"
              },
              {
                "label": "adminRole",
                "type": "t_bytes32",
                "offset": 0,
                "slot": "1"
              }
            ],
            "numberOfBytes": "64"
          },
          "t_uint256": {
            "label": "uint256",
            "numberOfBytes": "32"
          },
          "t_uint8": {
            "label": "uint8",
            "numberOfBytes": "1"
          }
        }
      }
    },
    "f18c753da7a334ca2b22b91b3e1e14d4cf95fed05c3af3baace215e53c12b4a2": {
      "address": "0x096d989c4BE45Ff63a9873C1dfDCdcc477c51d6c",
      "txHash": "0x8d68dbd2040735948215212e1527c2e984b5077db62b056abdf4ce38f34de7b2",
      "layout": {
        "storage": [
          {
            "label": "_initialized",
            "offset": 0,
            "slot": "0",
            "type": "t_uint8",
            "contract": "Initializable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62",
            "retypedFrom": "bool"
          },
          {
            "label": "_initializing",
            "offset": 1,
            "slot": "0",
            "type": "t_bool",
            "contract": "Initializable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "1",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ContextUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "51",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ERC165Upgradeable",
            "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
          },
          {
            "label": "_roles",
            "offset": 0,
            "slot": "101",
            "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
            "contract": "AccessControlUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "102",
            "type": "t_array(t_uint256)49_storage",
            "contract": "AccessControlUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:247"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "151",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ERC1967UpgradeUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "201",
            "type": "t_array(t_uint256)50_storage",
            "contract": "UUPSUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:107"
          },
          {
            "label": "_paused",
            "offset": 0,
            "slot": "251",
            "type": "t_bool",
            "contract": "PausableUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "252",
            "type": "t_array(t_uint256)49_storage",
            "contract": "PausableUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:102"
          },
          {
            "label": "usdPlus",
            "offset": 0,
            "slot": "301",
            "type": "t_contract(UsdPlusToken)9066",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:25"
          },
          {
            "label": "usdc",
            "offset": 0,
            "slot": "302",
            "type": "t_contract(IERC20)3455",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:26"
          },
          {
            "label": "portfolioManager",
            "offset": 0,
            "slot": "303",
            "type": "t_contract(IPortfolioManager)9165",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:28"
          },
          {
            "label": "mark2market",
            "offset": 0,
            "slot": "304",
            "type": "t_contract(IMark2Market)9093",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:29"
          },
          {
            "label": "buyFee",
            "offset": 0,
            "slot": "305",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:31"
          },
          {
            "label": "buyFeeDenominator",
            "offset": 0,
            "slot": "306",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:32"
          },
          {
            "label": "redeemFee",
            "offset": 0,
            "slot": "307",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:34"
          },
          {
            "label": "redeemFeeDenominator",
            "offset": 0,
            "slot": "308",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:35"
          },
          {
            "label": "nextPayoutTime",
            "offset": 0,
            "slot": "309",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:38"
          },
          {
            "label": "payoutPeriod",
            "offset": 0,
            "slot": "310",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:41"
          },
          {
            "label": "payoutTimeRange",
            "offset": 0,
            "slot": "311",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:48"
          },
          {
            "label": "payoutListener",
            "offset": 0,
            "slot": "312",
            "type": "t_contract(IPayoutListener)9099",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:50"
          },
          {
            "label": "lastBlockNumber",
            "offset": 0,
            "slot": "313",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:53"
          },
          {
            "label": "abroadMin",
            "offset": 0,
            "slot": "314",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:55"
          },
          {
            "label": "abroadMax",
            "offset": 0,
            "slot": "315",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:56"
          }
        ],
        "types": {
          "t_address": {
            "label": "address",
            "numberOfBytes": "20"
          },
          "t_array(t_uint256)49_storage": {
            "label": "uint256[49]",
            "numberOfBytes": "1568"
          },
          "t_array(t_uint256)50_storage": {
            "label": "uint256[50]",
            "numberOfBytes": "1600"
          },
          "t_bool": {
            "label": "bool",
            "numberOfBytes": "1"
          },
          "t_bytes32": {
            "label": "bytes32",
            "numberOfBytes": "32"
          },
          "t_contract(IERC20)3455": {
            "label": "contract IERC20",
            "numberOfBytes": "20"
          },
          "t_contract(IMark2Market)9093": {
            "label": "contract IMark2Market",
            "numberOfBytes": "20"
          },
          "t_contract(IPayoutListener)9099": {
            "label": "contract IPayoutListener",
            "numberOfBytes": "20"
          },
          "t_contract(IPortfolioManager)9165": {
            "label": "contract IPortfolioManager",
            "numberOfBytes": "20"
          },
          "t_contract(UsdPlusToken)9066": {
            "label": "contract UsdPlusToken",
            "numberOfBytes": "20"
          },
          "t_mapping(t_address,t_bool)": {
            "label": "mapping(address => bool)",
            "numberOfBytes": "32"
          },
          "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
            "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
            "numberOfBytes": "32"
          },
          "t_struct(RoleData)34_storage": {
            "label": "struct AccessControlUpgradeable.RoleData",
            "members": [
              {
                "label": "members",
                "type": "t_mapping(t_address,t_bool)",
                "offset": 0,
                "slot": "0"
              },
              {
                "label": "adminRole",
                "type": "t_bytes32",
                "offset": 0,
                "slot": "1"
              }
            ],
            "numberOfBytes": "64"
          },
          "t_uint256": {
            "label": "uint256",
            "numberOfBytes": "32"
          },
          "t_uint8": {
            "label": "uint8",
            "numberOfBytes": "1"
          }
        }
      }
    },
    "3c1d67f90ff55d5168d7a25544d10fdd2280819b5137a3405c3613fcbb30c4b4": {
      "address": "0x579f00bFAf89a3dF06334B97C5f0d2b90AB667EA",
      "txHash": "0x9137682d084dcf957f34cdd2253a980a4bc67b7ef57909462187c4e3dd1ef55c",
      "layout": {
        "storage": [
          {
            "label": "_initialized",
            "offset": 0,
            "slot": "0",
            "type": "t_uint8",
            "contract": "Initializable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62",
            "retypedFrom": "bool"
          },
          {
            "label": "_initializing",
            "offset": 1,
            "slot": "0",
            "type": "t_bool",
            "contract": "Initializable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "1",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ContextUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "51",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ERC165Upgradeable",
            "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
          },
          {
            "label": "_roles",
            "offset": 0,
            "slot": "101",
            "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
            "contract": "AccessControlUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "102",
            "type": "t_array(t_uint256)49_storage",
            "contract": "AccessControlUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "151",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ERC1967UpgradeUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "201",
            "type": "t_array(t_uint256)50_storage",
            "contract": "UUPSUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:107"
          },
          {
            "label": "_balances",
            "offset": 0,
            "slot": "251",
            "type": "t_mapping(t_address,t_uint256)",
            "contract": "UsdPlusToken",
            "src": "contracts/UsdPlusToken.sol:18"
          },
          {
            "label": "_allowances",
            "offset": 0,
            "slot": "252",
            "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))",
            "contract": "UsdPlusToken",
            "src": "contracts/UsdPlusToken.sol:20"
          },
          {
            "label": "_totalSupply",
            "offset": 0,
            "slot": "253",
            "type": "t_uint256",
            "contract": "UsdPlusToken",
            "src": "contracts/UsdPlusToken.sol:22"
          },
          {
            "label": "_name",
            "offset": 0,
            "slot": "254",
            "type": "t_string_storage",
            "contract": "UsdPlusToken",
            "src": "contracts/UsdPlusToken.sol:24"
          },
          {
            "label": "_symbol",
            "offset": 0,
            "slot": "255",
            "type": "t_string_storage",
            "contract": "UsdPlusToken",
            "src": "contracts/UsdPlusToken.sol:25"
          },
          {
            "label": "_totalMint",
            "offset": 0,
            "slot": "256",
            "type": "t_uint256",
            "contract": "UsdPlusToken",
            "src": "contracts/UsdPlusToken.sol:32"
          },
          {
            "label": "_totalBurn",
            "offset": 0,
            "slot": "257",
            "type": "t_uint256",
            "contract": "UsdPlusToken",
            "src": "contracts/UsdPlusToken.sol:33"
          },
          {
            "label": "liquidityIndexChangeTime",
            "offset": 0,
            "slot": "258",
            "type": "t_uint256",
            "contract": "UsdPlusToken",
            "src": "contracts/UsdPlusToken.sol:35"
          },
          {
            "label": "liquidityIndex",
            "offset": 0,
            "slot": "259",
            "type": "t_uint256",
            "contract": "UsdPlusToken",
            "src": "contracts/UsdPlusToken.sol:36"
          },
          {
            "label": "liquidityIndexDenominator",
            "offset": 0,
            "slot": "260",
            "type": "t_uint256",
            "contract": "UsdPlusToken",
            "src": "contracts/UsdPlusToken.sol:37"
          },
          {
            "label": "_owners",
            "offset": 0,
            "slot": "261",
            "type": "t_struct(AddressSet)2130_storage",
            "contract": "UsdPlusToken",
            "src": "contracts/UsdPlusToken.sol:39"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "263",
            "type": "t_array(t_uint256)50_storage",
            "contract": "UsdPlusToken",
            "src": "contracts/UsdPlusToken.sol:41"
          },
          {
            "label": "exchange",
            "offset": 0,
            "slot": "313",
            "type": "t_address",
            "contract": "UsdPlusToken",
            "src": "contracts/UsdPlusToken.sol:43"
          }
        ],
        "types": {
          "t_address": {
            "label": "address",
            "numberOfBytes": "20"
          },
          "t_array(t_bytes32)dyn_storage": {
            "label": "bytes32[]",
            "numberOfBytes": "32"
          },
          "t_array(t_uint256)49_storage": {
            "label": "uint256[49]",
            "numberOfBytes": "1568"
          },
          "t_array(t_uint256)50_storage": {
            "label": "uint256[50]",
            "numberOfBytes": "1600"
          },
          "t_bool": {
            "label": "bool",
            "numberOfBytes": "1"
          },
          "t_bytes32": {
            "label": "bytes32",
            "numberOfBytes": "32"
          },
          "t_mapping(t_address,t_bool)": {
            "label": "mapping(address => bool)",
            "numberOfBytes": "32"
          },
          "t_mapping(t_address,t_mapping(t_address,t_uint256))": {
            "label": "mapping(address => mapping(address => uint256))",
            "numberOfBytes": "32"
          },
          "t_mapping(t_address,t_uint256)": {
            "label": "mapping(address => uint256)",
            "numberOfBytes": "32"
          },
          "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
            "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
            "numberOfBytes": "32"
          },
          "t_mapping(t_bytes32,t_uint256)": {
            "label": "mapping(bytes32 => uint256)",
            "numberOfBytes": "32"
          },
          "t_string_storage": {
            "label": "string",
            "numberOfBytes": "32"
          },
          "t_struct(AddressSet)2130_storage": {
            "label": "struct EnumerableSet.AddressSet",
            "members": [
              {
                "label": "_inner",
                "type": "t_struct(Set)1829_storage",
                "offset": 0,
                "slot": "0"
              }
            ],
            "numberOfBytes": "64"
          },
          "t_struct(RoleData)34_storage": {
            "label": "struct AccessControlUpgradeable.RoleData",
            "members": [
              {
                "label": "members",
                "type": "t_mapping(t_address,t_bool)",
                "offset": 0,
                "slot": "0"
              },
              {
                "label": "adminRole",
                "type": "t_bytes32",
                "offset": 0,
                "slot": "1"
              }
            ],
            "numberOfBytes": "64"
          },
          "t_struct(Set)1829_storage": {
            "label": "struct EnumerableSet.Set",
            "members": [
              {
                "label": "_values",
                "type": "t_array(t_bytes32)dyn_storage",
                "offset": 0,
                "slot": "0"
              },
              {
                "label": "_indexes",
                "type": "t_mapping(t_bytes32,t_uint256)",
                "offset": 0,
                "slot": "1"
              }
            ],
            "numberOfBytes": "64"
          },
          "t_uint256": {
            "label": "uint256",
            "numberOfBytes": "32"
          },
          "t_uint8": {
            "label": "uint8",
            "numberOfBytes": "1"
          }
        }
      }
    },
    "e75dc0fccc14ca690250c4e848ff324873161bb8551ec5b870bbd1bc4d72e369": {
      "address": "0x9Ca565fC6CBd46A7C05C14513Bb9935795607ca3",
      "txHash": "0x0bf62a95eeb641a5b290805d8c04b4567fa4f82a4223b5fbf549e288cf870d07",
      "layout": {
        "storage": [
          {
            "label": "_initialized",
            "offset": 0,
            "slot": "0",
            "type": "t_uint8",
            "contract": "Initializable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62",
            "retypedFrom": "bool"
          },
          {
            "label": "_initializing",
            "offset": 1,
            "slot": "0",
            "type": "t_bool",
            "contract": "Initializable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "1",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ContextUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "51",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ERC165Upgradeable",
            "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
          },
          {
            "label": "_roles",
            "offset": 0,
            "slot": "101",
            "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
            "contract": "AccessControlUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "102",
            "type": "t_array(t_uint256)49_storage",
            "contract": "AccessControlUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "151",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ERC1967UpgradeUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "201",
            "type": "t_array(t_uint256)50_storage",
            "contract": "UUPSUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:107"
          },
          {
            "label": "_paused",
            "offset": 0,
            "slot": "251",
            "type": "t_bool",
            "contract": "PausableUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "252",
            "type": "t_array(t_uint256)49_storage",
            "contract": "PausableUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116"
          },
          {
            "label": "usdPlus",
            "offset": 0,
            "slot": "301",
            "type": "t_contract(UsdPlusToken)5227",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:25"
          },
          {
            "label": "usdc",
            "offset": 0,
            "slot": "302",
            "type": "t_contract(IERC20)2023",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:26"
          },
          {
            "label": "portfolioManager",
            "offset": 0,
            "slot": "303",
            "type": "t_contract(IPortfolioManager)5326",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:28"
          },
          {
            "label": "mark2market",
            "offset": 0,
            "slot": "304",
            "type": "t_contract(IMark2Market)5254",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:29"
          },
          {
            "label": "buyFee",
            "offset": 0,
            "slot": "305",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:31"
          },
          {
            "label": "buyFeeDenominator",
            "offset": 0,
            "slot": "306",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:32"
          },
          {
            "label": "redeemFee",
            "offset": 0,
            "slot": "307",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:34"
          },
          {
            "label": "redeemFeeDenominator",
            "offset": 0,
            "slot": "308",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:35"
          },
          {
            "label": "nextPayoutTime",
            "offset": 0,
            "slot": "309",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:38"
          },
          {
            "label": "payoutPeriod",
            "offset": 0,
            "slot": "310",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:41"
          },
          {
            "label": "payoutTimeRange",
            "offset": 0,
            "slot": "311",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:48"
          },
          {
            "label": "payoutListener",
            "offset": 0,
            "slot": "312",
            "type": "t_contract(IPayoutListener)5260",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:50"
          },
          {
            "label": "lastBlockNumber",
            "offset": 0,
            "slot": "313",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:53"
          },
          {
            "label": "abroadMin",
            "offset": 0,
            "slot": "314",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:55"
          },
          {
            "label": "abroadMax",
            "offset": 0,
            "slot": "315",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:56"
          }
        ],
        "types": {
          "t_address": {
            "label": "address",
            "numberOfBytes": "20"
          },
          "t_array(t_uint256)49_storage": {
            "label": "uint256[49]",
            "numberOfBytes": "1568"
          },
          "t_array(t_uint256)50_storage": {
            "label": "uint256[50]",
            "numberOfBytes": "1600"
          },
          "t_bool": {
            "label": "bool",
            "numberOfBytes": "1"
          },
          "t_bytes32": {
            "label": "bytes32",
            "numberOfBytes": "32"
          },
          "t_contract(IERC20)2023": {
            "label": "contract IERC20",
            "numberOfBytes": "20"
          },
          "t_contract(IMark2Market)5254": {
            "label": "contract IMark2Market",
            "numberOfBytes": "20"
          },
          "t_contract(IPayoutListener)5260": {
            "label": "contract IPayoutListener",
            "numberOfBytes": "20"
          },
          "t_contract(IPortfolioManager)5326": {
            "label": "contract IPortfolioManager",
            "numberOfBytes": "20"
          },
          "t_contract(UsdPlusToken)5227": {
            "label": "contract UsdPlusToken",
            "numberOfBytes": "20"
          },
          "t_mapping(t_address,t_bool)": {
            "label": "mapping(address => bool)",
            "numberOfBytes": "32"
          },
          "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
            "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
            "numberOfBytes": "32"
          },
          "t_struct(RoleData)34_storage": {
            "label": "struct AccessControlUpgradeable.RoleData",
            "members": [
              {
                "label": "members",
                "type": "t_mapping(t_address,t_bool)",
                "offset": 0,
                "slot": "0"
              },
              {
                "label": "adminRole",
                "type": "t_bytes32",
                "offset": 0,
                "slot": "1"
              }
            ],
            "numberOfBytes": "64"
          },
          "t_uint256": {
            "label": "uint256",
            "numberOfBytes": "32"
          },
          "t_uint8": {
            "label": "uint8",
            "numberOfBytes": "1"
          }
        }
      }
    },
    "075fd97ffca828b5ae067c43e1a7c02e113219d20780e8a558e108f98882f1d5": {
      "address": "0x039D778af09e9B71A39f1Ba09609B529131090bC",
      "txHash": "0x9c4253375afd2063a7d710b64d30c2e221b5dc5b211c7cbf48579a145c36ec92",
      "layout": {
        "storage": [
          {
            "label": "_initialized",
            "offset": 0,
            "slot": "0",
            "type": "t_uint8",
            "contract": "Initializable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62",
            "retypedFrom": "bool"
          },
          {
            "label": "_initializing",
            "offset": 1,
            "slot": "0",
            "type": "t_bool",
            "contract": "Initializable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "1",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ContextUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "51",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ERC165Upgradeable",
            "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
          },
          {
            "label": "_roles",
            "offset": 0,
            "slot": "101",
            "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
            "contract": "AccessControlUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "102",
            "type": "t_array(t_uint256)49_storage",
            "contract": "AccessControlUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "151",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ERC1967UpgradeUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "201",
            "type": "t_array(t_uint256)50_storage",
            "contract": "UUPSUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:107"
          },
          {
            "label": "exchanger",
            "offset": 0,
            "slot": "251",
            "type": "t_address",
            "contract": "PortfolioManager",
            "src": "contracts/PortfolioManager.sol:25"
          },
          {
            "label": "asset",
            "offset": 0,
            "slot": "252",
            "type": "t_contract(IERC20)1793",
            "contract": "PortfolioManager",
            "src": "contracts/PortfolioManager.sol:26"
          },
          {
            "label": "strategyWeightPositions",
            "offset": 0,
            "slot": "253",
            "type": "t_mapping(t_address,t_uint256)",
            "contract": "PortfolioManager",
            "src": "contracts/PortfolioManager.sol:27"
          },
          {
            "label": "strategyWeights",
            "offset": 0,
            "slot": "254",
            "type": "t_array(t_struct(StrategyWeight)3691_storage)dyn_storage",
            "contract": "PortfolioManager",
            "src": "contracts/PortfolioManager.sol:28"
          },
          {
            "label": "cashStrategy",
            "offset": 0,
            "slot": "255",
            "type": "t_contract(IStrategy)3806",
            "contract": "PortfolioManager",
            "src": "contracts/PortfolioManager.sol:29"
          },
          {
            "label": "m2m",
            "offset": 0,
            "slot": "256",
            "type": "t_contract(IMark2Market)3668",
            "contract": "PortfolioManager",
            "src": "contracts/PortfolioManager.sol:30"
          }
        ],
        "types": {
          "t_address": {
            "label": "address",
            "numberOfBytes": "20"
          },
          "t_array(t_struct(StrategyWeight)3691_storage)dyn_storage": {
            "label": "struct IPortfolioManager.StrategyWeight[]",
            "numberOfBytes": "32"
          },
          "t_array(t_uint256)49_storage": {
            "label": "uint256[49]",
            "numberOfBytes": "1568"
          },
          "t_array(t_uint256)50_storage": {
            "label": "uint256[50]",
            "numberOfBytes": "1600"
          },
          "t_bool": {
            "label": "bool",
            "numberOfBytes": "1"
          },
          "t_bytes32": {
            "label": "bytes32",
            "numberOfBytes": "32"
          },
          "t_contract(IERC20)1793": {
            "label": "contract IERC20",
            "numberOfBytes": "20"
          },
          "t_contract(IMark2Market)3668": {
            "label": "contract IMark2Market",
            "numberOfBytes": "20"
          },
          "t_contract(IStrategy)3806": {
            "label": "contract IStrategy",
            "numberOfBytes": "20"
          },
          "t_mapping(t_address,t_bool)": {
            "label": "mapping(address => bool)",
            "numberOfBytes": "32"
          },
          "t_mapping(t_address,t_uint256)": {
            "label": "mapping(address => uint256)",
            "numberOfBytes": "32"
          },
          "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
            "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
            "numberOfBytes": "32"
          },
          "t_struct(RoleData)34_storage": {
            "label": "struct AccessControlUpgradeable.RoleData",
            "members": [
              {
                "label": "members",
                "type": "t_mapping(t_address,t_bool)",
                "offset": 0,
                "slot": "0"
              },
              {
                "label": "adminRole",
                "type": "t_bytes32",
                "offset": 0,
                "slot": "1"
              }
            ],
            "numberOfBytes": "64"
          },
          "t_struct(StrategyWeight)3691_storage": {
            "label": "struct IPortfolioManager.StrategyWeight",
            "members": [
              {
                "label": "strategy",
                "type": "t_address",
                "offset": 0,
                "slot": "0"
              },
              {
                "label": "minWeight",
                "type": "t_uint256",
                "offset": 0,
                "slot": "1"
              },
              {
                "label": "targetWeight",
                "type": "t_uint256",
                "offset": 0,
                "slot": "2"
              },
              {
                "label": "maxWeight",
                "type": "t_uint256",
                "offset": 0,
                "slot": "3"
              },
              {
                "label": "enabled",
                "type": "t_bool",
                "offset": 0,
                "slot": "4"
              },
              {
                "label": "enabledReward",
                "type": "t_bool",
                "offset": 1,
                "slot": "4"
              }
            ],
            "numberOfBytes": "160"
          },
          "t_uint256": {
            "label": "uint256",
            "numberOfBytes": "32"
          },
          "t_uint8": {
            "label": "uint8",
            "numberOfBytes": "1"
          }
        }
      }
    },
    "9bf3949aadecf006a914827efb245ddba4e4e9277a11bc5329a94d9739866eba": {
      "address": "0x684Ae6a8006A1d07aCeFE8Bc8138eB68d39195c7",
      "txHash": "0x8713a12c62ef7998d2c03fbbe2ae0733235742a197399beea2473372c23e0860",
      "layout": {
        "solcVersion": "0.8.6",
        "storage": [
          {
            "label": "_initialized",
            "offset": 0,
            "slot": "0",
            "type": "t_uint8",
            "contract": "Initializable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62",
            "retypedFrom": "bool"
          },
          {
            "label": "_initializing",
            "offset": 1,
            "slot": "0",
            "type": "t_bool",
            "contract": "Initializable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "1",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ContextUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "51",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ERC165Upgradeable",
            "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
          },
          {
            "label": "_roles",
            "offset": 0,
            "slot": "101",
            "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
            "contract": "AccessControlUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "102",
            "type": "t_array(t_uint256)49_storage",
            "contract": "AccessControlUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "151",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ERC1967UpgradeUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "201",
            "type": "t_array(t_uint256)50_storage",
            "contract": "UUPSUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:107"
          },
          {
            "label": "exchange",
            "offset": 0,
            "slot": "251",
            "type": "t_address",
            "contract": "PayoutListener",
            "src": "contracts/PayoutListener.sol:16"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "252",
            "type": "t_array(t_uint256)50_storage",
            "contract": "PayoutListener",
            "src": "contracts/PayoutListener.sol:60"
          },
          {
            "label": "qsSyncPools",
            "offset": 0,
            "slot": "302",
            "type": "t_array(t_address)dyn_storage",
            "contract": "AvalanchePayoutListener",
            "src": "contracts/payoutlisteners/AvalanchePayoutListener.sol:15"
          },
          {
            "label": "swapsicleSkimPools",
            "offset": 0,
            "slot": "303",
            "type": "t_array(t_address)dyn_storage",
            "contract": "AvalanchePayoutListener",
            "src": "contracts/payoutlisteners/AvalanchePayoutListener.sol:17"
          },
          {
            "label": "swapsicleDepositWallet",
            "offset": 0,
            "slot": "304",
            "type": "t_address",
            "contract": "AvalanchePayoutListener",
            "src": "contracts/payoutlisteners/AvalanchePayoutListener.sol:18"
          },
          {
            "label": "usdPlus",
            "offset": 0,
            "slot": "305",
            "type": "t_contract(IERC20)3596",
            "contract": "AvalanchePayoutListener",
            "src": "contracts/payoutlisteners/AvalanchePayoutListener.sol:20"
          }
        ],
        "types": {
          "t_address": {
            "label": "address",
            "numberOfBytes": "20"
          },
          "t_array(t_address)dyn_storage": {
            "label": "address[]",
            "numberOfBytes": "32"
          },
          "t_array(t_uint256)49_storage": {
            "label": "uint256[49]",
            "numberOfBytes": "1568"
          },
          "t_array(t_uint256)50_storage": {
            "label": "uint256[50]",
            "numberOfBytes": "1600"
          },
          "t_bool": {
            "label": "bool",
            "numberOfBytes": "1"
          },
          "t_bytes32": {
            "label": "bytes32",
            "numberOfBytes": "32"
          },
          "t_contract(IERC20)3596": {
            "label": "contract IERC20",
            "numberOfBytes": "20"
          },
          "t_mapping(t_address,t_bool)": {
            "label": "mapping(address => bool)",
            "numberOfBytes": "32"
          },
          "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
            "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
            "numberOfBytes": "32"
          },
          "t_struct(RoleData)34_storage": {
            "label": "struct AccessControlUpgradeable.RoleData",
            "members": [
              {
                "label": "members",
                "type": "t_mapping(t_address,t_bool)",
                "offset": 0,
                "slot": "0"
              },
              {
                "label": "adminRole",
                "type": "t_bytes32",
                "offset": 0,
                "slot": "1"
              }
            ],
            "numberOfBytes": "64"
          },
          "t_uint256": {
            "label": "uint256",
            "numberOfBytes": "32"
          },
          "t_uint8": {
            "label": "uint8",
            "numberOfBytes": "1"
          }
        }
      }
    },
    "fae46db0c423be9dfd3b1a557a3dfa9a22e55e10ce7e29185975cbe07bf58985": {
      "address": "0x7dc48fec48cfd5448a54915AE0B1c30A3CE57502",
      "txHash": "0x36d597714cbcf1d678d1582456b330428b61a777b620ce7f2fb9b9229494a7ff",
      "layout": {
        "solcVersion": "0.8.6",
        "storage": [
          {
            "label": "_initialized",
            "offset": 0,
            "slot": "0",
            "type": "t_uint8",
            "contract": "Initializable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62",
            "retypedFrom": "bool"
          },
          {
            "label": "_initializing",
            "offset": 1,
            "slot": "0",
            "type": "t_bool",
            "contract": "Initializable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "1",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ContextUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "51",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ERC165Upgradeable",
            "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
          },
          {
            "label": "_roles",
            "offset": 0,
            "slot": "101",
            "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
            "contract": "AccessControlUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "102",
            "type": "t_array(t_uint256)49_storage",
            "contract": "AccessControlUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "151",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ERC1967UpgradeUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "201",
            "type": "t_array(t_uint256)50_storage",
            "contract": "UUPSUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:107"
          },
          {
            "label": "_paused",
            "offset": 0,
            "slot": "251",
            "type": "t_bool",
            "contract": "PausableUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:29"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "252",
            "type": "t_array(t_uint256)49_storage",
            "contract": "PausableUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol:116"
          },
          {
            "label": "usdPlus",
            "offset": 0,
            "slot": "301",
            "type": "t_contract(UsdPlusToken)5345",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:25"
          },
          {
            "label": "usdc",
            "offset": 0,
            "slot": "302",
            "type": "t_contract(IERC20)2023",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:26"
          },
          {
            "label": "portfolioManager",
            "offset": 0,
            "slot": "303",
            "type": "t_contract(IPortfolioManager)5441",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:28"
          },
          {
            "label": "mark2market",
            "offset": 0,
            "slot": "304",
            "type": "t_contract(IMark2Market)5372",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:29"
          },
          {
            "label": "buyFee",
            "offset": 0,
            "slot": "305",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:31"
          },
          {
            "label": "buyFeeDenominator",
            "offset": 0,
            "slot": "306",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:32"
          },
          {
            "label": "redeemFee",
            "offset": 0,
            "slot": "307",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:34"
          },
          {
            "label": "redeemFeeDenominator",
            "offset": 0,
            "slot": "308",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:35"
          },
          {
            "label": "nextPayoutTime",
            "offset": 0,
            "slot": "309",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:38"
          },
          {
            "label": "payoutPeriod",
            "offset": 0,
            "slot": "310",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:41"
          },
          {
            "label": "payoutTimeRange",
            "offset": 0,
            "slot": "311",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:48"
          },
          {
            "label": "payoutListener",
            "offset": 0,
            "slot": "312",
            "type": "t_contract(IPayoutListener)5378",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:50"
          },
          {
            "label": "lastBlockNumber",
            "offset": 0,
            "slot": "313",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:53"
          },
          {
            "label": "abroadMin",
            "offset": 0,
            "slot": "314",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:55"
          },
          {
            "label": "abroadMax",
            "offset": 0,
            "slot": "315",
            "type": "t_uint256",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:56"
          },
          {
            "label": "insurance",
            "offset": 0,
            "slot": "316",
            "type": "t_address",
            "contract": "Exchange",
            "src": "contracts/Exchange.sol:58"
          }
        ],
        "types": {
          "t_address": {
            "label": "address",
            "numberOfBytes": "20"
          },
          "t_array(t_uint256)49_storage": {
            "label": "uint256[49]",
            "numberOfBytes": "1568"
          },
          "t_array(t_uint256)50_storage": {
            "label": "uint256[50]",
            "numberOfBytes": "1600"
          },
          "t_bool": {
            "label": "bool",
            "numberOfBytes": "1"
          },
          "t_bytes32": {
            "label": "bytes32",
            "numberOfBytes": "32"
          },
          "t_contract(IERC20)2023": {
            "label": "contract IERC20",
            "numberOfBytes": "20"
          },
          "t_contract(IMark2Market)5372": {
            "label": "contract IMark2Market",
            "numberOfBytes": "20"
          },
          "t_contract(IPayoutListener)5378": {
            "label": "contract IPayoutListener",
            "numberOfBytes": "20"
          },
          "t_contract(IPortfolioManager)5441": {
            "label": "contract IPortfolioManager",
            "numberOfBytes": "20"
          },
          "t_contract(UsdPlusToken)5345": {
            "label": "contract UsdPlusToken",
            "numberOfBytes": "20"
          },
          "t_mapping(t_address,t_bool)": {
            "label": "mapping(address => bool)",
            "numberOfBytes": "32"
          },
          "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
            "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
            "numberOfBytes": "32"
          },
          "t_struct(RoleData)34_storage": {
            "label": "struct AccessControlUpgradeable.RoleData",
            "members": [
              {
                "label": "members",
                "type": "t_mapping(t_address,t_bool)",
                "offset": 0,
                "slot": "0"
              },
              {
                "label": "adminRole",
                "type": "t_bytes32",
                "offset": 0,
                "slot": "1"
              }
            ],
            "numberOfBytes": "64"
          },
          "t_uint256": {
            "label": "uint256",
            "numberOfBytes": "32"
          },
          "t_uint8": {
            "label": "uint8",
            "numberOfBytes": "1"
          }
        }
      }
    },
    "276beca4bae6170ca29c84c6140d86f7d656c26be707ac966454292b9af1b37e": {
      "address": "0xb25716Cdb5513D884943f9f1D8b7ee987d3D839B",
      "txHash": "0x66e5e832c143c50c9586bed72c20723e8460f9b9efec2e29ba4b325f0bf3b17e",
      "layout": {
        "solcVersion": "0.8.6",
        "storage": [
          {
            "label": "_initialized",
            "offset": 0,
            "slot": "0",
            "type": "t_uint8",
            "contract": "Initializable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62",
            "retypedFrom": "bool"
          },
          {
            "label": "_initializing",
            "offset": 1,
            "slot": "0",
            "type": "t_bool",
            "contract": "Initializable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "1",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ContextUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "51",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ERC165Upgradeable",
            "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41"
          },
          {
            "label": "_roles",
            "offset": 0,
            "slot": "101",
            "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)",
            "contract": "AccessControlUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "102",
            "type": "t_array(t_uint256)49_storage",
            "contract": "AccessControlUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "151",
            "type": "t_array(t_uint256)50_storage",
            "contract": "ERC1967UpgradeUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "201",
            "type": "t_array(t_uint256)50_storage",
            "contract": "UUPSUpgradeable",
            "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:107"
          },
          {
            "label": "exchange",
            "offset": 0,
            "slot": "251",
            "type": "t_address",
            "contract": "PayoutListener",
            "src": "contracts/PayoutListener.sol:16"
          },
          {
            "label": "__gap",
            "offset": 0,
            "slot": "252",
            "type": "t_array(t_uint256)50_storage",
            "contract": "PayoutListener",
            "src": "contracts/PayoutListener.sol:60"
          },
          {
            "label": "qsSyncPools",
            "offset": 0,
            "slot": "302",
            "type": "t_array(t_address)dyn_storage",
            "contract": "AvalanchePayoutListener",
            "src": "contracts/payoutlisteners/AvalanchePayoutListener.sol:15"
          },
          {
            "label": "swapsicleSkimPools",
            "offset": 0,
            "slot": "303",
            "type": "t_array(t_address)dyn_storage",
            "contract": "AvalanchePayoutListener",
            "src": "contracts/payoutlisteners/AvalanchePayoutListener.sol:17"
          },
          {
            "label": "swapsicleDepositWallet",
            "offset": 0,
            "slot": "304",
            "type": "t_address",
            "contract": "AvalanchePayoutListener",
            "src": "contracts/payoutlisteners/AvalanchePayoutListener.sol:18"
          },
          {
            "label": "usdPlus",
            "offset": 0,
            "slot": "305",
            "type": "t_contract(IERC20)3596",
            "contract": "AvalanchePayoutListener",
            "src": "contracts/payoutlisteners/AvalanchePayoutListener.sol:20"
          }
        ],
        "types": {
          "t_address": {
            "label": "address",
            "numberOfBytes": "20"
          },
          "t_array(t_address)dyn_storage": {
            "label": "address[]",
            "numberOfBytes": "32"
          },
          "t_array(t_uint256)49_storage": {
            "label": "uint256[49]",
            "numberOfBytes": "1568"
          },
          "t_array(t_uint256)50_storage": {
            "label": "uint256[50]",
            "numberOfBytes": "1600"
          },
          "t_bool": {
            "label": "bool",
            "numberOfBytes": "1"
          },
          "t_bytes32": {
            "label": "bytes32",
            "numberOfBytes": "32"
          },
          "t_contract(IERC20)3596": {
            "label": "contract IERC20",
            "numberOfBytes": "20"
          },
          "t_mapping(t_address,t_bool)": {
            "label": "mapping(address => bool)",
            "numberOfBytes": "32"
          },
          "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": {
            "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
            "numberOfBytes": "32"
          },
          "t_struct(RoleData)34_storage": {
            "label": "struct AccessControlUpgradeable.RoleData",
            "members": [
              {
                "label": "members",
                "type": "t_mapping(t_address,t_bool)",
                "offset": 0,
                "slot": "0"
              },
              {
                "label": "adminRole",
                "type": "t_bytes32",
                "offset": 0,
                "slot": "1"
              }
            ],
            "numberOfBytes": "64"
          },
          "t_uint256": {
            "label": "uint256",
            "numberOfBytes": "32"
          },
          "t_uint8": {
            "label": "uint8",
            "numberOfBytes": "1"
          }
        }
      }
    }
  }
}
