{
  "_format": "hh-sol-artifact-1",
  "contractName": "DebtCapManager",
  "sourceName": "contracts/Dependencies_v0_8/DebtCapManager.sol",
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "AddressZero",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "caller",
          "type": "address"
        }
      ],
      "name": "NotBorrowerOperations",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "caller",
          "type": "address"
        }
      ],
      "name": "NotRiskManagerOrOwner",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "collateral",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "debt",
          "type": "uint256"
        }
      ],
      "name": "CurrentDebtPerCollateralSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "collateral",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "debtCap",
          "type": "uint256"
        }
      ],
      "name": "DebtCapPerCollateralSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint8",
          "name": "version",
          "type": "uint8"
        }
      ],
      "name": "Initialized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "oldRiskManager",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "newRiskManager",
          "type": "address"
        }
      ],
      "name": "RiskManagerSet",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "VERSION",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "borrowerOperations",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "_collaterals",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "_debtIncreases",
          "type": "uint256[]"
        }
      ],
      "name": "checkDebtCapsPerCollateralsIncrease",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "totalDebt",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_totalDebtIncrease",
          "type": "uint256"
        },
        {
          "internalType": "address[]",
          "name": "_collaterals",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "_collateralWeights",
          "type": "uint256[]"
        }
      ],
      "name": "checkDebtCapsPerCollateralsIncreaseByWeight",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_collateral",
          "type": "address"
        }
      ],
      "name": "getCurrentDebtPerCollateral",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "currentDebt",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "_collaterals",
          "type": "address[]"
        }
      ],
      "name": "getCurrentDebtPerCollaterals",
      "outputs": [
        {
          "internalType": "uint256[]",
          "name": "currentDebts",
          "type": "uint256[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_collateral",
          "type": "address"
        }
      ],
      "name": "getDebtCapPerCollateral",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "debtCap",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "_collaterals",
          "type": "address[]"
        }
      ],
      "name": "getDebtCapPerCollaterals",
      "outputs": [
        {
          "internalType": "uint256[]",
          "name": "debtCaps",
          "type": "uint256[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "_collaterals",
          "type": "address[]"
        }
      ],
      "name": "getDebtInfoPerCollaterals",
      "outputs": [
        {
          "internalType": "uint256[]",
          "name": "currentDebts",
          "type": "uint256[]"
        },
        {
          "internalType": "uint256[]",
          "name": "debtCaps",
          "type": "uint256[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_riskManager",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_borrowerOperations",
          "type": "address"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "riskManager",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "_collaterals",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "_debts",
          "type": "uint256[]"
        }
      ],
      "name": "setCurrentDebtPerCollaterals",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "_collaterals",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "_debtCaps",
          "type": "uint256[]"
        }
      ],
      "name": "setDebtCapPerCollaterals",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_riskManager",
          "type": "address"
        }
      ],
      "name": "setRiskManager",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b5061001961001e565b6100dd565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146100db576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b611558806100ec6000396000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c8063715018a6116100b2578063af56849011610081578063f4a9e43511610066578063f4a9e43514610269578063f764b92d1461027c578063ffa1ad741461028f57600080fd5b8063af56849014610243578063f2fde38b1461025657600080fd5b8063715018a61461020457806377553ad41461020c5780638da5cb5b1461021f578063aa3f83951461023057600080fd5b8063485cc955116100ee578063485cc955146101b65780635836d073146101cb578063599ae275146101de57806362ca8460146101f157600080fd5b806325d5973c14610120578063356ced0f14610149578063464abe631461016a578063478426631461018b575b600080fd5b61013361012e366004611210565b6102d8565b6040516101409190611288565b60405180910390f35b61015c61015736600461129b565b6102ea565b604051908152602001610140565b61017d610178366004611210565b610375565b6040516101409291906112b6565b60665461019e906001600160a01b031681565b6040516001600160a01b039091168152602001610140565b6101c96101c43660046112e4565b61038b565b005b61015c6101d936600461129b565b61052a565b6101c96101ec366004611372565b6105a4565b6101c96101ff36600461129b565b6105dc565b6101c9610681565b60655461019e906001600160a01b031681565b6033546001600160a01b031661019e565b6101c961023e3660046113df565b610695565b61015c6102513660046113df565b610702565b6101c961026436600461129b565b610745565b6101c96102773660046113df565b6107d5565b61013361028a366004611210565b6107e7565b6102cb6040518060400160405280600581526020017f312e312e3000000000000000000000000000000000000000000000000000000081525081565b6040516101409190611443565b60606102e3826107f9565b9392505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061032357610323611491565b60200260200101906001600160a01b031690816001600160a01b031681525050600061034e826107f9565b5090508060008151811061036457610364611491565b602002602001015192505050919050565b606080610381836107f9565b9094909350915050565b600054610100900460ff16158080156103ab5750600054600160ff909116105b806103c55750303b1580156103c5575060005460ff166001145b61043c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b6000805460ff19166001179055801561045f576000805461ff0019166101001790555b6001600160a01b038216158061047c57506001600160a01b038316155b1561049a57604051639fabe1c160e01b815260040160405180910390fd5b6104a261098b565b606580546001600160a01b0380851673ffffffffffffffffffffffffffffffffffffffff199283161790925560668054928616929091169190911790558015610525576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061056357610563611491565b60200260200101906001600160a01b031690816001600160a01b031681525050600061058e826107f9565b9150508060008151811061036457610364611491565b6065546001600160a01b031633146105d1576040516319600a5d60e31b8152336004820152602401610433565b6105258383836109fe565b6105e4610ad3565b6001600160a01b03811661060b57604051639fabe1c160e01b815260040160405180910390fd5b606654604080516001600160a01b03928316815291831660208301527f7a649580169306b95cd3b937b7071584070debdbdb077bc824e661d4121fe192910160405180910390a16066805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b610689610ad3565b6106936000610b2d565b565b6066546001600160a01b031633148015906106bb57506033546001600160a01b03163314155b156106f4576040517fc72147b2000000000000000000000000000000000000000000000000000000008152336004820152602401610433565b6106fe8282610b8c565b5050565b6065546000906001600160a01b03163314610732576040516319600a5d60e31b8152336004820152602401610433565b61073c8383610ce5565b90505b92915050565b61074d610ad3565b6001600160a01b0381166107c95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610433565b6107d281610b2d565b50565b6107dd610ad3565b6106fe8282610db9565b60606107f2826107f9565b5092915050565b606080825167ffffffffffffffff81111561081657610816611117565b60405190808252806020026020018201604052801561083f578160200160208202803683370190505b509150825167ffffffffffffffff81111561085c5761085c611117565b604051908082528060200260200182016040528015610885578160200160208202803683370190505b5090507fefd5cb56ae57efd2363f40bdd1796a2380034abb7a7adf232f554a857d3ec40060005b8451811015610984578160010160008683815181106108cd576108cd611491565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205484828151811061090857610908611491565b60200260200101818152505081600001600086838151811061092c5761092c611491565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205483828151811061096757610967611491565b60209081029190910101528061097c816114bd565b9150506108ac565b5050915091565b600054610100900460ff166109f65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610433565b610693610f12565b8051825114610a4f5760405162461bcd60e51b815260206004820152601e60248201527f446562744361703a204172726179206c656e677468206d69736d6174636800006044820152606401610433565b60005b8251811015610acd576000670de0b6b3a7640000838381518110610a7857610a78611491565b602002602001015186610a8b91906114d6565b610a9591906114ed565b9050610aba848381518110610aac57610aac611491565b602002602001015182610f86565b5080610ac5816114bd565b915050610a52565b50505050565b6033546001600160a01b031633146106935760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610433565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8051825114610bdd5760405162461bcd60e51b815260206004820152601e60248201527f446562744361703a204172726179206c656e677468206d69736d6174636800006044820152606401610433565b7fefd5cb56ae57efd2363f40bdd1796a2380034abb7a7adf232f554a857d3ec40060005b8351811015610acd576000838281518110610c1e57610c1e611491565b60200260200101519050610c31816110bb565b80836001016000878581518110610c4a57610c4a611491565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550848281518110610c8857610c88611491565b60200260200101516001600160a01b03167f569e6c2079632fef480a66591795bb50b806f86d3b3e0510e2f841ec29a65b1082604051610cca91815260200190565b60405180910390a25080610cdd816114bd565b915050610c01565b60008151835114610d385760405162461bcd60e51b815260206004820152601e60248201527f446562744361703a204172726179206c656e677468206d69736d6174636800006044820152606401610433565b60005b83518110156107f257828181518110610d5657610d56611491565b602002602001015182610d69919061150f565b9150610da7848281518110610d8057610d80611491565b6020026020010151848381518110610d9a57610d9a611491565b6020026020010151610f86565b80610db1816114bd565b915050610d3b565b8051825114610e0a5760405162461bcd60e51b815260206004820152601e60248201527f446562744361703a204172726179206c656e677468206d69736d6174636800006044820152606401610433565b7fefd5cb56ae57efd2363f40bdd1796a2380034abb7a7adf232f554a857d3ec40060005b8351811015610acd576000838281518110610e4b57610e4b611491565b60200260200101519050610e5e816110bb565b80836000016000878581518110610e7757610e77611491565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550848281518110610eb557610eb5611491565b60200260200101516001600160a01b03167ff6b7a21227700c84993f1282b791cc8d177a38afc5f32b7144ec45fc9305c8c682604051610ef791815260200190565b60405180910390a25080610f0a816114bd565b915050610e2e565b600054610100900460ff16610f7d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610433565b61069333610b2d565b6001600160a01b03821660009081527fefd5cb56ae57efd2363f40bdd1796a2380034abb7a7adf232f554a857d3ec4016020526040812080547fefd5cb56ae57efd2363f40bdd1796a2380034abb7a7adf232f554a857d3ec40092849291610fef90849061150f565b90915550506001600160a01b03831660009081526020828152604080832054600185019092529091205411156110675760405162461bcd60e51b815260206004820152601960248201527f446562744361703a2044656274206361702072656163686564000000000000006044820152606401610433565b6001600160a01b03831660008181526001830160209081526040918290205491519182527f569e6c2079632fef480a66591795bb50b806f86d3b3e0510e2f841ec29a65b10910160405180910390a2505050565b6110c860026000196114ed565b8111156107d25760405162461bcd60e51b815260206004820152601c60248201527f446562744361703a2056616c75652065786365656473206c696d6974000000006044820152606401610433565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561115657611156611117565b604052919050565b600067ffffffffffffffff82111561117857611178611117565b5060051b60200190565b80356001600160a01b038116811461119957600080fd5b919050565b600082601f8301126111af57600080fd5b813560206111c46111bf8361115e565b61112d565b82815260059290921b840181019181810190868411156111e357600080fd5b8286015b84811015611205576111f881611182565b83529183019183016111e7565b509695505050505050565b60006020828403121561122257600080fd5b813567ffffffffffffffff81111561123957600080fd5b6112458482850161119e565b949350505050565b600081518084526020808501945080840160005b8381101561127d57815187529582019590820190600101611261565b509495945050505050565b60208152600061073c602083018461124d565b6000602082840312156112ad57600080fd5b61073c82611182565b6040815260006112c9604083018561124d565b82810360208401526112db818561124d565b95945050505050565b600080604083850312156112f757600080fd5b61130083611182565b915061130e60208401611182565b90509250929050565b600082601f83011261132857600080fd5b813560206113386111bf8361115e565b82815260059290921b8401810191818101908684111561135757600080fd5b8286015b84811015611205578035835291830191830161135b565b60008060006060848603121561138757600080fd5b83359250602084013567ffffffffffffffff808211156113a657600080fd5b6113b28783880161119e565b935060408601359150808211156113c857600080fd5b506113d586828701611317565b9150509250925092565b600080604083850312156113f257600080fd5b823567ffffffffffffffff8082111561140a57600080fd5b6114168683870161119e565b9350602085013591508082111561142c57600080fd5b5061143985828601611317565b9150509250929050565b600060208083528351808285015260005b8181101561147057858101830151858201604001528201611454565b506000604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016114cf576114cf6114a7565b5060010190565b808202811582820484141761073f5761073f6114a7565b60008261150a57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561073f5761073f6114a756fea2646970667358221220f6eb543259e1ac6e0d599d6f746ad0121bc60e1f199130640ad3fcd3f85984fe64736f6c63430008130033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061011b5760003560e01c8063715018a6116100b2578063af56849011610081578063f4a9e43511610066578063f4a9e43514610269578063f764b92d1461027c578063ffa1ad741461028f57600080fd5b8063af56849014610243578063f2fde38b1461025657600080fd5b8063715018a61461020457806377553ad41461020c5780638da5cb5b1461021f578063aa3f83951461023057600080fd5b8063485cc955116100ee578063485cc955146101b65780635836d073146101cb578063599ae275146101de57806362ca8460146101f157600080fd5b806325d5973c14610120578063356ced0f14610149578063464abe631461016a578063478426631461018b575b600080fd5b61013361012e366004611210565b6102d8565b6040516101409190611288565b60405180910390f35b61015c61015736600461129b565b6102ea565b604051908152602001610140565b61017d610178366004611210565b610375565b6040516101409291906112b6565b60665461019e906001600160a01b031681565b6040516001600160a01b039091168152602001610140565b6101c96101c43660046112e4565b61038b565b005b61015c6101d936600461129b565b61052a565b6101c96101ec366004611372565b6105a4565b6101c96101ff36600461129b565b6105dc565b6101c9610681565b60655461019e906001600160a01b031681565b6033546001600160a01b031661019e565b6101c961023e3660046113df565b610695565b61015c6102513660046113df565b610702565b6101c961026436600461129b565b610745565b6101c96102773660046113df565b6107d5565b61013361028a366004611210565b6107e7565b6102cb6040518060400160405280600581526020017f312e312e3000000000000000000000000000000000000000000000000000000081525081565b6040516101409190611443565b60606102e3826107f9565b9392505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061032357610323611491565b60200260200101906001600160a01b031690816001600160a01b031681525050600061034e826107f9565b5090508060008151811061036457610364611491565b602002602001015192505050919050565b606080610381836107f9565b9094909350915050565b600054610100900460ff16158080156103ab5750600054600160ff909116105b806103c55750303b1580156103c5575060005460ff166001145b61043c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b6000805460ff19166001179055801561045f576000805461ff0019166101001790555b6001600160a01b038216158061047c57506001600160a01b038316155b1561049a57604051639fabe1c160e01b815260040160405180910390fd5b6104a261098b565b606580546001600160a01b0380851673ffffffffffffffffffffffffffffffffffffffff199283161790925560668054928616929091169190911790558015610525576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061056357610563611491565b60200260200101906001600160a01b031690816001600160a01b031681525050600061058e826107f9565b9150508060008151811061036457610364611491565b6065546001600160a01b031633146105d1576040516319600a5d60e31b8152336004820152602401610433565b6105258383836109fe565b6105e4610ad3565b6001600160a01b03811661060b57604051639fabe1c160e01b815260040160405180910390fd5b606654604080516001600160a01b03928316815291831660208301527f7a649580169306b95cd3b937b7071584070debdbdb077bc824e661d4121fe192910160405180910390a16066805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b610689610ad3565b6106936000610b2d565b565b6066546001600160a01b031633148015906106bb57506033546001600160a01b03163314155b156106f4576040517fc72147b2000000000000000000000000000000000000000000000000000000008152336004820152602401610433565b6106fe8282610b8c565b5050565b6065546000906001600160a01b03163314610732576040516319600a5d60e31b8152336004820152602401610433565b61073c8383610ce5565b90505b92915050565b61074d610ad3565b6001600160a01b0381166107c95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610433565b6107d281610b2d565b50565b6107dd610ad3565b6106fe8282610db9565b60606107f2826107f9565b5092915050565b606080825167ffffffffffffffff81111561081657610816611117565b60405190808252806020026020018201604052801561083f578160200160208202803683370190505b509150825167ffffffffffffffff81111561085c5761085c611117565b604051908082528060200260200182016040528015610885578160200160208202803683370190505b5090507fefd5cb56ae57efd2363f40bdd1796a2380034abb7a7adf232f554a857d3ec40060005b8451811015610984578160010160008683815181106108cd576108cd611491565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205484828151811061090857610908611491565b60200260200101818152505081600001600086838151811061092c5761092c611491565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205483828151811061096757610967611491565b60209081029190910101528061097c816114bd565b9150506108ac565b5050915091565b600054610100900460ff166109f65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610433565b610693610f12565b8051825114610a4f5760405162461bcd60e51b815260206004820152601e60248201527f446562744361703a204172726179206c656e677468206d69736d6174636800006044820152606401610433565b60005b8251811015610acd576000670de0b6b3a7640000838381518110610a7857610a78611491565b602002602001015186610a8b91906114d6565b610a9591906114ed565b9050610aba848381518110610aac57610aac611491565b602002602001015182610f86565b5080610ac5816114bd565b915050610a52565b50505050565b6033546001600160a01b031633146106935760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610433565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8051825114610bdd5760405162461bcd60e51b815260206004820152601e60248201527f446562744361703a204172726179206c656e677468206d69736d6174636800006044820152606401610433565b7fefd5cb56ae57efd2363f40bdd1796a2380034abb7a7adf232f554a857d3ec40060005b8351811015610acd576000838281518110610c1e57610c1e611491565b60200260200101519050610c31816110bb565b80836001016000878581518110610c4a57610c4a611491565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550848281518110610c8857610c88611491565b60200260200101516001600160a01b03167f569e6c2079632fef480a66591795bb50b806f86d3b3e0510e2f841ec29a65b1082604051610cca91815260200190565b60405180910390a25080610cdd816114bd565b915050610c01565b60008151835114610d385760405162461bcd60e51b815260206004820152601e60248201527f446562744361703a204172726179206c656e677468206d69736d6174636800006044820152606401610433565b60005b83518110156107f257828181518110610d5657610d56611491565b602002602001015182610d69919061150f565b9150610da7848281518110610d8057610d80611491565b6020026020010151848381518110610d9a57610d9a611491565b6020026020010151610f86565b80610db1816114bd565b915050610d3b565b8051825114610e0a5760405162461bcd60e51b815260206004820152601e60248201527f446562744361703a204172726179206c656e677468206d69736d6174636800006044820152606401610433565b7fefd5cb56ae57efd2363f40bdd1796a2380034abb7a7adf232f554a857d3ec40060005b8351811015610acd576000838281518110610e4b57610e4b611491565b60200260200101519050610e5e816110bb565b80836000016000878581518110610e7757610e77611491565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550848281518110610eb557610eb5611491565b60200260200101516001600160a01b03167ff6b7a21227700c84993f1282b791cc8d177a38afc5f32b7144ec45fc9305c8c682604051610ef791815260200190565b60405180910390a25080610f0a816114bd565b915050610e2e565b600054610100900460ff16610f7d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610433565b61069333610b2d565b6001600160a01b03821660009081527fefd5cb56ae57efd2363f40bdd1796a2380034abb7a7adf232f554a857d3ec4016020526040812080547fefd5cb56ae57efd2363f40bdd1796a2380034abb7a7adf232f554a857d3ec40092849291610fef90849061150f565b90915550506001600160a01b03831660009081526020828152604080832054600185019092529091205411156110675760405162461bcd60e51b815260206004820152601960248201527f446562744361703a2044656274206361702072656163686564000000000000006044820152606401610433565b6001600160a01b03831660008181526001830160209081526040918290205491519182527f569e6c2079632fef480a66591795bb50b806f86d3b3e0510e2f841ec29a65b10910160405180910390a2505050565b6110c860026000196114ed565b8111156107d25760405162461bcd60e51b815260206004820152601c60248201527f446562744361703a2056616c75652065786365656473206c696d6974000000006044820152606401610433565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561115657611156611117565b604052919050565b600067ffffffffffffffff82111561117857611178611117565b5060051b60200190565b80356001600160a01b038116811461119957600080fd5b919050565b600082601f8301126111af57600080fd5b813560206111c46111bf8361115e565b61112d565b82815260059290921b840181019181810190868411156111e357600080fd5b8286015b84811015611205576111f881611182565b83529183019183016111e7565b509695505050505050565b60006020828403121561122257600080fd5b813567ffffffffffffffff81111561123957600080fd5b6112458482850161119e565b949350505050565b600081518084526020808501945080840160005b8381101561127d57815187529582019590820190600101611261565b509495945050505050565b60208152600061073c602083018461124d565b6000602082840312156112ad57600080fd5b61073c82611182565b6040815260006112c9604083018561124d565b82810360208401526112db818561124d565b95945050505050565b600080604083850312156112f757600080fd5b61130083611182565b915061130e60208401611182565b90509250929050565b600082601f83011261132857600080fd5b813560206113386111bf8361115e565b82815260059290921b8401810191818101908684111561135757600080fd5b8286015b84811015611205578035835291830191830161135b565b60008060006060848603121561138757600080fd5b83359250602084013567ffffffffffffffff808211156113a657600080fd5b6113b28783880161119e565b935060408601359150808211156113c857600080fd5b506113d586828701611317565b9150509250925092565b600080604083850312156113f257600080fd5b823567ffffffffffffffff8082111561140a57600080fd5b6114168683870161119e565b9350602085013591508082111561142c57600080fd5b5061143985828601611317565b9150509250929050565b600060208083528351808285015260005b8181101561147057858101830151858201604001528201611454565b506000604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016114cf576114cf6114a7565b5060010190565b808202811582820484141761073f5761073f6114a7565b60008261150a57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561073f5761073f6114a756fea2646970667358221220f6eb543259e1ac6e0d599d6f746ad0121bc60e1f199130640ad3fcd3f85984fe64736f6c63430008130033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
