{
  "_format": "hh-sol-artifact-1",
  "contractName": "Redeemer",
  "sourceName": "contracts/utils/Redeemer.sol",
  "abi": [
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "contract ContributionReward",
          "name": "_contributionReward",
          "type": "address"
        },
        {
          "internalType": "contract GenesisProtocol",
          "name": "_genesisProtocol",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "internalType": "contract Avatar",
          "name": "_avatar",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_beneficiary",
          "type": "address"
        }
      ],
      "name": "redeem",
      "outputs": [
        {
          "internalType": "uint256[3]",
          "name": "gpRewards",
          "type": "uint256[3]"
        },
        {
          "internalType": "uint256[2]",
          "name": "gpDaoBountyReward",
          "type": "uint256[2]"
        },
        {
          "internalType": "bool",
          "name": "executed",
          "type": "bool"
        },
        {
          "internalType": "uint256",
          "name": "winningVote",
          "type": "uint256"
        },
        {
          "internalType": "int256",
          "name": "crReputationReward",
          "type": "int256"
        },
        {
          "internalType": "uint256",
          "name": "crNativeTokenReward",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "crEthReward",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "crExternalTokenReward",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "contract ContributionRewardExt",
          "name": "_contributionRewardExt",
          "type": "address"
        },
        {
          "internalType": "contract GenesisProtocol",
          "name": "_genesisProtocol",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_beneficiary",
          "type": "address"
        }
      ],
      "name": "redeemFromCRExt",
      "outputs": [
        {
          "internalType": "uint256[3]",
          "name": "gpRewards",
          "type": "uint256[3]"
        },
        {
          "internalType": "uint256[2]",
          "name": "gpDaoBountyReward",
          "type": "uint256[2]"
        },
        {
          "internalType": "bool",
          "name": "executed",
          "type": "bool"
        },
        {
          "internalType": "uint256",
          "name": "winningVote",
          "type": "uint256"
        },
        {
          "internalType": "int256",
          "name": "crReputationReward",
          "type": "int256"
        },
        {
          "internalType": "uint256",
          "name": "crNativeTokenReward",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "crEthReward",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "crExternalTokenReward",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "contract GenericScheme",
          "name": "_genericScheme",
          "type": "address"
        },
        {
          "internalType": "contract GenesisProtocol",
          "name": "_genesisProtocol",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_beneficiary",
          "type": "address"
        }
      ],
      "name": "redeemGenericScheme",
      "outputs": [
        {
          "internalType": "uint256[3]",
          "name": "gpRewards",
          "type": "uint256[3]"
        },
        {
          "internalType": "uint256[2]",
          "name": "gpDaoBountyReward",
          "type": "uint256[2]"
        },
        {
          "internalType": "bool",
          "name": "executed",
          "type": "bool"
        },
        {
          "internalType": "uint256",
          "name": "winningVote",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "contract GenericSchemeMultiCall",
          "name": "_genericSchemeMultiCall",
          "type": "address"
        },
        {
          "internalType": "contract GenesisProtocol",
          "name": "_genesisProtocol",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_beneficiary",
          "type": "address"
        }
      ],
      "name": "redeemGenericSchemeMultiCall",
      "outputs": [
        {
          "internalType": "uint256[3]",
          "name": "gpRewards",
          "type": "uint256[3]"
        },
        {
          "internalType": "uint256[2]",
          "name": "gpDaoBountyReward",
          "type": "uint256[2]"
        },
        {
          "internalType": "bool",
          "name": "executed",
          "type": "bool"
        },
        {
          "internalType": "uint256",
          "name": "winningVote",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b5061140f806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632a900e951461005157806354ca023f1461011f578063735940aa146101655780637838883814610217575b600080fd5b61008d6004803603608081101561006757600080fd5b506001600160a01b03813581169160208101358216916040820135916060013516610253565b6040518089606080838360005b838110156100b257818101518382015260200161009a565b5050505090500188600260200280838360005b838110156100dd5781810151838201526020016100c5565b50505050905001871515151581526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390f35b61008d600480360360a081101561013557600080fd5b506001600160a01b0381358116916020810135821691604082013591606081013582169160809091013516610325565b6101a16004803603608081101561017b57600080fd5b506001600160a01b03813581169160208101358216916040820135916060013516610416565b6040518085606080838360005b838110156101c65781810151838201526020016101ae565b5050505090500184600260200280838360005b838110156101f15781810151838201526020016101d9565b505050509050018315151515815260200182815260200194505050505060405180910390f35b6101a16004803603608081101561022d57600080fd5b506001600160a01b03813581169160208101358216916040820135916060013516610537565b61025b61135f565b61026361137d565b60008060008060008060006102798c8c8c6106f6565b939c50919a509850965090508015610315578c6001600160a01b031663cbba1f5a8c6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156102cf57600080fd5b505afa1580156102e3573d6000803e3d6000fd5b505050506040513d60208110156102f957600080fd5b5051156103155761030a8d8c610aa3565b929750909550935091505b5094995094995094999196509450565b61032d61135f565b61033561137d565b600080600080600080600061034b8d8d8c6106f6565b939c50919a5098509650905080156104055760008e6001600160a01b0316633a256daa8e8e6040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b031681526020019250505060206040518083038186803b1580156103bd57600080fd5b505afa1580156103d1573d6000803e3d6000fd5b505050506040513d60208110156103e757600080fd5b50511115610405576103fa8e8d8d610e85565b929750909550935091505b50959b50959b939950955095509550565b61041e61135f565b61042661137d565b60008060006104368888886106f6565b60408051631976ad8960e11b8152600481018e90528151969b5094995092975090955093506000926001600160a01b038d16926332ed5b12926024808301939192829003018186803b15801561048b57600080fd5b505afa15801561049f573d6000803e3d6000fd5b505050506040513d60408110156104b557600080fd5b506020015190508180156104c65750805b1561052a57896001600160a01b031663e751f271896040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561051157600080fd5b505af1158015610525573d6000803e3d6000fd5b505050505b5050945094509450949050565b61053f61135f565b61054761137d565b60008060006105578888886106f6565b6040805163d8145e2d60e01b8152600481018e90529051959a50939850919650945092506000916001600160a01b038c169163d8145e2d9160248083019286929190829003018186803b1580156105ad57600080fd5b505afa1580156105c1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260808110156105ea57600080fd5b810190808051604051939291908464010000000082111561060a57600080fd5b90830190602082018581111561061f57600080fd5b825164010000000081118282018810171561063957600080fd5b82525081516020918201929091019080838360005b8381101561066657818101518382015260200161064e565b50505050905090810190601f1680156106935780820380516001836020036101000a031916815260200191505b5060405260600151935084925050811590506104c65750801561052a57896001600160a01b031663e751f271896040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561051157600080fd5b6106fe61135f565b61070661137d565b600080600080886001600160a01b03166361d585da896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561075057600080fd5b505afa158015610764573d6000803e3d6000fd5b505050506040513d602081101561077a57600080fd5b50519050600381600681111561078c57fe5b14806107a3575060048160068111156107a157fe5b145b806107b9575060058160068111156107b757fe5b145b806107cf575060068160068111156107cd57fe5b145b1561084957886001600160a01b031663e751f271896040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561081a57600080fd5b505af115801561082e573d6000803e3d6000fd5b505050506040513d602081101561084457600080fd5b505193505b886001600160a01b03166361d585da896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561088d57600080fd5b505afa1580156108a1573d6000803e3d6000fd5b505050506040513d60208110156108b757600080fd5b5051905060028160068111156108c957fe5b14806108e0575060018160068111156108de57fe5b145b15610a9757886001600160a01b031663cc3bf9e989896040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050606060405180830381600087803b15801561094557600080fd5b505af1158015610959573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250606081101561097e57600080fd5b509550600281600681111561098f57fe5b1415610a205760408051636359036b60e01b8152600481018a90526001600160a01b0389811660248301528251908c1692636359036b92604480820193918290030181600087803b1580156109e357600080fd5b505af11580156109f7573d6000803e3d6000fd5b505050506040513d6040811015610a0d57600080fd5b5080516020918201519187019190915285525b886001600160a01b0316633c133818896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610a6457600080fd5b505afa158015610a78573d6000803e3d6000fd5b505050506040513d6020811015610a8e57600080fd5b50519250600191505b50939792965093509350565b600080600080610ab161139b565b600180825260208083019190915260408051639f874c9960e01b81526004810189905290516000926001600160a01b038b1692639f874c999260248083019392829003018186803b158015610b0557600080fd5b505afa158015610b19573d6000803e3d6000fd5b505050506040513d6020811015610b2f57600080fd5b505160408051632938bd2f60e11b8152600481018a905290519192506000916001600160a01b038b16916352717a5e916024808301926020929190829003018186803b158015610b7e57600080fd5b505afa158015610b92573d6000803e3d6000fd5b505050506040513d6020811015610ba857600080fd5b505160408051637e078b5560e01b8152600481018b905290519192506000916001600160a01b038c1691637e078b55916024808301926020929190829003018186803b158015610bf757600080fd5b505afa158015610c0b573d6000803e3d6000fd5b505050506040513d6020811015610c2157600080fd5b50519050821580610c9f5750828a6001600160a01b0316635aef7de66040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6757600080fd5b505afa158015610c7b573d6000803e3d6000fd5b505050506040513d6020811015610c9157600080fd5b50516001600160a01b031631105b15610cb05760006040850152610cb8565b600160408501525b811580610da8575081816001600160a01b03166370a082318c6001600160a01b0316635aef7de66040518163ffffffff1660e01b815260040160206040518083038186803b158015610d0957600080fd5b505afa158015610d1d573d6000803e3d6000fd5b505050506040513d6020811015610d3357600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152516024808301926020929190829003018186803b158015610d7a57600080fd5b505afa158015610d8e573d6000803e3d6000fd5b505050506040513d6020811015610da457600080fd5b5051105b15610db95760006060850152610dc1565b600160608501525b604051633a0284ff60e01b8152600481018a81526001600160a01b038c1691633a0284ff918c9188919060240182608080838360005b83811015610e0f578181015183820152602001610df7565b5050505090500192505050608060405180830381600087803b158015610e3457600080fd5b505af1158015610e48573d6000803e3d6000fd5b505050506040513d6080811015610e5e57600080fd5b50805160208201516040830151606090930151919d909c50919a5098509650505050505050565b600080600080610e9361139b565b60018082526020808301919091526040805163e074ee5560e01b8152600481018a90526001600160a01b038981166024830152600260448301529151600093928c169263e074ee559260648082019391829003018186803b158015610ef757600080fd5b505afa158015610f0b573d6000803e3d6000fd5b505050506040513d6020811015610f2157600080fd5b505160408051636046f71d60e01b8152600481018b90526001600160a01b038a811660248301529151929350600092918c1691636046f71d91604480820192602092909190829003018186803b158015610f7a57600080fd5b505afa158015610f8e573d6000803e3d6000fd5b505050506040513d6020811015610fa457600080fd5b505160408051631c3a571360e01b8152600481018c90526001600160a01b038b811660248301529151929350600092918d1691631c3a571391604480820192602092909190829003018186803b158015610ffd57600080fd5b505afa158015611011573d6000803e3d6000fd5b505050506040513d602081101561102757600080fd5b505160408051637b85ddcd60e11b8152600481018d90526001600160a01b038c811660248301529151929350600092918e169163f70bbb9a91604480820192602092909190829003018186803b15801561108057600080fd5b505afa158015611094573d6000803e3d6000fd5b505050506040513d60208110156110aa57600080fd5b505190506110be848463ffffffff6112fd16565b92508215806110d65750828a6001600160a01b031631105b156110e757600060408601526110ef565b600160408601525b6040805163e074ee5560e01b8152600481018d90526001600160a01b038c81166024830152600360448301529151918e169163e074ee5591606480820192602092909190829003018186803b15801561114757600080fd5b505afa15801561115b573d6000803e3d6000fd5b505050506040513d602081101561117157600080fd5b50519350611185848363ffffffff6112fd16565b9150811580611214575081816001600160a01b03166370a082318c6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156111e657600080fd5b505afa1580156111fa573d6000803e3d6000fd5b505050506040513d602081101561121057600080fd5b5051105b15611225576000606086015261122d565b600160608601525b604051636ac5f84d60e11b8152600481018c81526001600160a01b038c811660248401528e169163d58bf09a918e918e918a9160440182608080838360005b8381101561128457818101518382015260200161126c565b505050509050019350505050608060405180830381600087803b1580156112aa57600080fd5b505af11580156112be573d6000803e3d6000fd5b505050506040513d60808110156112d457600080fd5b50805160208201516040830151606090930151919f909e50919c509a5098505050505050505050565b60008261130c57506000611359565b8282028284828161131957fe5b04146113565760405162461bcd60e51b81526004018080602001828103825260218152602001806113ba6021913960400191505060405180910390fd5b90505b92915050565b60405180606001604052806003906020820280388339509192915050565b60405180604001604052806002906020820280388339509192915050565b6040518060800160405280600490602082028038833950919291505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a723158209eea35f03694bc95abe823f7a9c94685a334f5b64c42fb621599b0f26aa59a8564736f6c63430005110032",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80632a900e951461005157806354ca023f1461011f578063735940aa146101655780637838883814610217575b600080fd5b61008d6004803603608081101561006757600080fd5b506001600160a01b03813581169160208101358216916040820135916060013516610253565b6040518089606080838360005b838110156100b257818101518382015260200161009a565b5050505090500188600260200280838360005b838110156100dd5781810151838201526020016100c5565b50505050905001871515151581526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390f35b61008d600480360360a081101561013557600080fd5b506001600160a01b0381358116916020810135821691604082013591606081013582169160809091013516610325565b6101a16004803603608081101561017b57600080fd5b506001600160a01b03813581169160208101358216916040820135916060013516610416565b6040518085606080838360005b838110156101c65781810151838201526020016101ae565b5050505090500184600260200280838360005b838110156101f15781810151838201526020016101d9565b505050509050018315151515815260200182815260200194505050505060405180910390f35b6101a16004803603608081101561022d57600080fd5b506001600160a01b03813581169160208101358216916040820135916060013516610537565b61025b61135f565b61026361137d565b60008060008060008060006102798c8c8c6106f6565b939c50919a509850965090508015610315578c6001600160a01b031663cbba1f5a8c6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156102cf57600080fd5b505afa1580156102e3573d6000803e3d6000fd5b505050506040513d60208110156102f957600080fd5b5051156103155761030a8d8c610aa3565b929750909550935091505b5094995094995094999196509450565b61032d61135f565b61033561137d565b600080600080600080600061034b8d8d8c6106f6565b939c50919a5098509650905080156104055760008e6001600160a01b0316633a256daa8e8e6040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b031681526020019250505060206040518083038186803b1580156103bd57600080fd5b505afa1580156103d1573d6000803e3d6000fd5b505050506040513d60208110156103e757600080fd5b50511115610405576103fa8e8d8d610e85565b929750909550935091505b50959b50959b939950955095509550565b61041e61135f565b61042661137d565b60008060006104368888886106f6565b60408051631976ad8960e11b8152600481018e90528151969b5094995092975090955093506000926001600160a01b038d16926332ed5b12926024808301939192829003018186803b15801561048b57600080fd5b505afa15801561049f573d6000803e3d6000fd5b505050506040513d60408110156104b557600080fd5b506020015190508180156104c65750805b1561052a57896001600160a01b031663e751f271896040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561051157600080fd5b505af1158015610525573d6000803e3d6000fd5b505050505b5050945094509450949050565b61053f61135f565b61054761137d565b60008060006105578888886106f6565b6040805163d8145e2d60e01b8152600481018e90529051959a50939850919650945092506000916001600160a01b038c169163d8145e2d9160248083019286929190829003018186803b1580156105ad57600080fd5b505afa1580156105c1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260808110156105ea57600080fd5b810190808051604051939291908464010000000082111561060a57600080fd5b90830190602082018581111561061f57600080fd5b825164010000000081118282018810171561063957600080fd5b82525081516020918201929091019080838360005b8381101561066657818101518382015260200161064e565b50505050905090810190601f1680156106935780820380516001836020036101000a031916815260200191505b5060405260600151935084925050811590506104c65750801561052a57896001600160a01b031663e751f271896040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561051157600080fd5b6106fe61135f565b61070661137d565b600080600080886001600160a01b03166361d585da896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561075057600080fd5b505afa158015610764573d6000803e3d6000fd5b505050506040513d602081101561077a57600080fd5b50519050600381600681111561078c57fe5b14806107a3575060048160068111156107a157fe5b145b806107b9575060058160068111156107b757fe5b145b806107cf575060068160068111156107cd57fe5b145b1561084957886001600160a01b031663e751f271896040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561081a57600080fd5b505af115801561082e573d6000803e3d6000fd5b505050506040513d602081101561084457600080fd5b505193505b886001600160a01b03166361d585da896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561088d57600080fd5b505afa1580156108a1573d6000803e3d6000fd5b505050506040513d60208110156108b757600080fd5b5051905060028160068111156108c957fe5b14806108e0575060018160068111156108de57fe5b145b15610a9757886001600160a01b031663cc3bf9e989896040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050606060405180830381600087803b15801561094557600080fd5b505af1158015610959573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250606081101561097e57600080fd5b509550600281600681111561098f57fe5b1415610a205760408051636359036b60e01b8152600481018a90526001600160a01b0389811660248301528251908c1692636359036b92604480820193918290030181600087803b1580156109e357600080fd5b505af11580156109f7573d6000803e3d6000fd5b505050506040513d6040811015610a0d57600080fd5b5080516020918201519187019190915285525b886001600160a01b0316633c133818896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610a6457600080fd5b505afa158015610a78573d6000803e3d6000fd5b505050506040513d6020811015610a8e57600080fd5b50519250600191505b50939792965093509350565b600080600080610ab161139b565b600180825260208083019190915260408051639f874c9960e01b81526004810189905290516000926001600160a01b038b1692639f874c999260248083019392829003018186803b158015610b0557600080fd5b505afa158015610b19573d6000803e3d6000fd5b505050506040513d6020811015610b2f57600080fd5b505160408051632938bd2f60e11b8152600481018a905290519192506000916001600160a01b038b16916352717a5e916024808301926020929190829003018186803b158015610b7e57600080fd5b505afa158015610b92573d6000803e3d6000fd5b505050506040513d6020811015610ba857600080fd5b505160408051637e078b5560e01b8152600481018b905290519192506000916001600160a01b038c1691637e078b55916024808301926020929190829003018186803b158015610bf757600080fd5b505afa158015610c0b573d6000803e3d6000fd5b505050506040513d6020811015610c2157600080fd5b50519050821580610c9f5750828a6001600160a01b0316635aef7de66040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6757600080fd5b505afa158015610c7b573d6000803e3d6000fd5b505050506040513d6020811015610c9157600080fd5b50516001600160a01b031631105b15610cb05760006040850152610cb8565b600160408501525b811580610da8575081816001600160a01b03166370a082318c6001600160a01b0316635aef7de66040518163ffffffff1660e01b815260040160206040518083038186803b158015610d0957600080fd5b505afa158015610d1d573d6000803e3d6000fd5b505050506040513d6020811015610d3357600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152516024808301926020929190829003018186803b158015610d7a57600080fd5b505afa158015610d8e573d6000803e3d6000fd5b505050506040513d6020811015610da457600080fd5b5051105b15610db95760006060850152610dc1565b600160608501525b604051633a0284ff60e01b8152600481018a81526001600160a01b038c1691633a0284ff918c9188919060240182608080838360005b83811015610e0f578181015183820152602001610df7565b5050505090500192505050608060405180830381600087803b158015610e3457600080fd5b505af1158015610e48573d6000803e3d6000fd5b505050506040513d6080811015610e5e57600080fd5b50805160208201516040830151606090930151919d909c50919a5098509650505050505050565b600080600080610e9361139b565b60018082526020808301919091526040805163e074ee5560e01b8152600481018a90526001600160a01b038981166024830152600260448301529151600093928c169263e074ee559260648082019391829003018186803b158015610ef757600080fd5b505afa158015610f0b573d6000803e3d6000fd5b505050506040513d6020811015610f2157600080fd5b505160408051636046f71d60e01b8152600481018b90526001600160a01b038a811660248301529151929350600092918c1691636046f71d91604480820192602092909190829003018186803b158015610f7a57600080fd5b505afa158015610f8e573d6000803e3d6000fd5b505050506040513d6020811015610fa457600080fd5b505160408051631c3a571360e01b8152600481018c90526001600160a01b038b811660248301529151929350600092918d1691631c3a571391604480820192602092909190829003018186803b158015610ffd57600080fd5b505afa158015611011573d6000803e3d6000fd5b505050506040513d602081101561102757600080fd5b505160408051637b85ddcd60e11b8152600481018d90526001600160a01b038c811660248301529151929350600092918e169163f70bbb9a91604480820192602092909190829003018186803b15801561108057600080fd5b505afa158015611094573d6000803e3d6000fd5b505050506040513d60208110156110aa57600080fd5b505190506110be848463ffffffff6112fd16565b92508215806110d65750828a6001600160a01b031631105b156110e757600060408601526110ef565b600160408601525b6040805163e074ee5560e01b8152600481018d90526001600160a01b038c81166024830152600360448301529151918e169163e074ee5591606480820192602092909190829003018186803b15801561114757600080fd5b505afa15801561115b573d6000803e3d6000fd5b505050506040513d602081101561117157600080fd5b50519350611185848363ffffffff6112fd16565b9150811580611214575081816001600160a01b03166370a082318c6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156111e657600080fd5b505afa1580156111fa573d6000803e3d6000fd5b505050506040513d602081101561121057600080fd5b5051105b15611225576000606086015261122d565b600160608601525b604051636ac5f84d60e11b8152600481018c81526001600160a01b038c811660248401528e169163d58bf09a918e918e918a9160440182608080838360005b8381101561128457818101518382015260200161126c565b505050509050019350505050608060405180830381600087803b1580156112aa57600080fd5b505af11580156112be573d6000803e3d6000fd5b505050506040513d60808110156112d457600080fd5b50805160208201516040830151606090930151919f909e50919c509a5098505050505050505050565b60008261130c57506000611359565b8282028284828161131957fe5b04146113565760405162461bcd60e51b81526004018080602001828103825260218152602001806113ba6021913960400191505060405180910390fd5b90505b92915050565b60405180606001604052806003906020820280388339509192915050565b60405180604001604052806002906020820280388339509192915050565b6040518060800160405280600490602082028038833950919291505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a723158209eea35f03694bc95abe823f7a9c94685a334f5b64c42fb621599b0f26aa59a8564736f6c63430005110032",
  "linkReferences": {},
  "deployedLinkReferences": {}
}