{
  "_format": "hh-sol-artifact-1",
  "contractName": "InterchainGovernance",
  "sourceName": "contracts/governance/InterchainGovernance.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "gateway_",
          "type": "address"
        },
        {
          "internalType": "string",
          "name": "governanceChain_",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "governanceAddress_",
          "type": "string"
        },
        {
          "internalType": "uint256",
          "name": "minimumTimeDelay",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "ExecutionFailed",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InsufficientBalance",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidAddress",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidCommand",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "target",
          "type": "address"
        }
      ],
      "name": "InvalidContract",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidTarget",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidTimeLockHash",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NativeTransferFailed",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NotApprovedByGateway",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NotGovernance",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NotSelf",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "TimeLockAlreadyScheduled",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "TimeLockNotReady",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "TokenNotSupported",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "proposalHash",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "callData",
          "type": "bytes"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "eta",
          "type": "uint256"
        }
      ],
      "name": "ProposalCancelled",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "proposalHash",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "callData",
          "type": "bytes"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "timestamp",
          "type": "uint256"
        }
      ],
      "name": "ProposalExecuted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "proposalHash",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "callData",
          "type": "bytes"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "eta",
          "type": "uint256"
        }
      ],
      "name": "ProposalScheduled",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "commandId",
          "type": "bytes32"
        },
        {
          "internalType": "string",
          "name": "sourceChain",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "sourceAddress",
          "type": "string"
        },
        {
          "internalType": "bytes",
          "name": "payload",
          "type": "bytes"
        }
      ],
      "name": "execute",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "callData",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "nativeValue",
          "type": "uint256"
        }
      ],
      "name": "executeProposal",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "gateway",
      "outputs": [
        {
          "internalType": "contract IAxelarGateway",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "callData",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "nativeValue",
          "type": "uint256"
        }
      ],
      "name": "getProposalEta",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "hash",
          "type": "bytes32"
        }
      ],
      "name": "getTimeLock",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "governanceAddress",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "governanceAddressHash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "governanceChain",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "governanceChainHash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "minimumTimeLockDelay",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "recipient",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "withdraw",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "stateMutability": "payable",
      "type": "receive"
    }
  ],
  "bytecode": "0x6101006040523480156200001257600080fd5b50604051620016f6380380620016f6833981016040819052620000359162000199565b80846001600160a01b0381166200005f5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b031660805260a052825115806200007c57508151155b156200009b5760405163e6c4247b60e01b815260040160405180910390fd5b6000620000a98482620002ba565b506001620000b88382620002ba565b5050815160209283012060c052805191012060e0525062000386565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620000fc57600080fd5b81516001600160401b0380821115620001195762000119620000d4565b604051601f8301601f19908116603f01168101908282118183101715620001445762000144620000d4565b816040528381526020925086838588010111156200016157600080fd5b600091505b8382101562000185578582018301518183018401529082019062000166565b600093810190920192909252949350505050565b60008060008060808587031215620001b057600080fd5b84516001600160a01b0381168114620001c857600080fd5b60208601519094506001600160401b0380821115620001e657600080fd5b620001f488838901620000ea565b945060408701519150808211156200020b57600080fd5b506200021a87828801620000ea565b606096909601519497939650505050565b600181811c908216806200024057607f821691505b6020821081036200026157634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002b557600081815260208120601f850160051c81016020861015620002905750805b601f850160051c820191505b81811015620002b1578281556001016200029c565b5050505b505050565b81516001600160401b03811115620002d657620002d6620000d4565b620002ee81620002e784546200022b565b8462000267565b602080601f8311600181146200032657600084156200030d5750858301515b600019600386901b1c1916600185901b178555620002b1565b600085815260208120601f198616915b82811015620003575788860151825594840194600190910190840162000336565b5085821015620003765787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c05160e05161131b620003db60003960008181610198015261069901526000818161021601526106580152600081816101340152610cad01526000818160f301526102b9015261131b6000f3fe6080604052600436106100c05760003560e01c80637e68be8011610074578063c3e0ddce1161004e578063c3e0ddce14610238578063f3fef3a314610258578063fab832e91461027857600080fd5b80637e68be80146101dc578063bb77b021146101f1578063bbea95fc1461020457600080fd5b806349160658116100a557806349160658146101645780637001506914610186578063795053d3146101ba57600080fd5b8063116191b6146100cc57806315334a201461012257600080fd5b366100c757005b600080fd5b3480156100d857600080fd5b5060405173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020015b60405180910390f35b34801561012e57600080fd5b506101567f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610119565b34801561017057600080fd5b5061018461017f366004610e0d565b610298565b005b34801561019257600080fd5b506101567f000000000000000000000000000000000000000000000000000000000000000081565b3480156101c657600080fd5b506101cf6103af565b6040516101199190610f15565b3480156101e857600080fd5b506101cf61043d565b6101846101ff366004610f4a565b61044a565b34801561021057600080fd5b506101567f000000000000000000000000000000000000000000000000000000000000000081565b34801561024457600080fd5b50610156610253366004610f4a565b610501565b34801561026457600080fd5b50610184610273366004610fa6565b6105a0565b34801561028457600080fd5b50610156610293366004610fd2565b6105fd565b600082826040516102aa929190610feb565b604051809103902090506102db7f000000000000000000000000000000000000000000000000000000000000000090565b73ffffffffffffffffffffffffffffffffffffffff16635f6970c38989898989876040518763ffffffff1660e01b815260040161031d96959493929190611044565b6020604051808303816000875af115801561033c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103609190611085565b610396576040517f500c44b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103a588888888888888610652565b5050505050505050565b600180546103bc906110a7565b80601f01602080910402602001604051908101604052809291908181526020018280546103e8906110a7565b80156104355780601f1061040a57610100808354040283529160200191610435565b820191906000526020600020905b81548152906001019060200180831161041857829003601f168201915b505050505081565b600080546103bc906110a7565b600061048e8585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250610794915050565b9050610499816107ca565b428573ffffffffffffffffffffffffffffffffffffffff16827f75da59867bf5abe66d94fdeb60ac5a55f4801ea5128580a42d32cbd835ecfbb98787876040516104e5939291906110fa565b60405180910390a46104f9858585856108e3565b505050505050565b60006105976105488686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250889250610794915050565b604080517f672972c619ec56f688503695fad0be72db018ab34394c45adb4c8e5b29418cc760208083019190915281830193909352815180820383018152606090910190915280519101205490565b95945050505050565b3330146105d9576040517f29c3b7ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105f973ffffffffffffffffffffffffffffffffffffffff831682610a43565b5050565b604080517f672972c619ec56f688503695fad0be72db018ab34394c45adb4c8e5b29418cc760208083019190915281830184905282518083038401815260609092019092528051910120546000905b92915050565b858585857f00000000000000000000000000000000000000000000000000000000000000008484604051610687929190610feb565b60405180910390201415806106d357507f000000000000000000000000000000000000000000000000000000000000000082826040516106c8929190610feb565b604051809103902014155b1561070a576040517fb56f932c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008080808061071c8a8c018c61114d565b93985091965094509250905073ffffffffffffffffffffffffffffffffffffffff8416610775576040517f82d5d76a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107828585858585610a8d565b50505050505050505050505050505050565b60008383836040516020016107ab9392919061124a565b6040516020818303038152906040528051906020012090509392505050565b604080517f672972c619ec56f688503695fad0be72db018ab34394c45adb4c8e5b29418cc76020808301919091528183018490528251808303840181526060909201909252805191012054811580610820575080155b15610857576040517f0f40322b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80421015610891576040517f4019a5d300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080517f672972c619ec56f688503695fad0be72db018ab34394c45adb4c8e5b29418cc760208083019190915281830185905282518083038401815260609092019092528051910120600090555050565b60606109048573ffffffffffffffffffffffffffffffffffffffff16610b99565b610956576040517fec01648400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8616600482015260240160405180910390fd5b47821115610990576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168487876040516109bb929190610feb565b60006040518083038185875af1925050503d80600081146109f8576040519150601f19603f3d011682016040523d82523d6000602084013e6109fd565b606091505b509150915081610a39576040517facfdb44400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9695505050505050565b600080600080600085875af1905080610a88576040517ff4b3b1bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6000610a9a858585610794565b905085610b0557610aab8183610be9565b9150818573ffffffffffffffffffffffffffffffffffffffff16827fe30ae8e631edafb973a80848898efd2d198f99e515a4e26d8a24e95742d359918787604051610af7929190611289565b60405180910390a450610b92565b60018603610b6057610b1681610d35565b818573ffffffffffffffffffffffffffffffffffffffff16827fa154e9e339a72c35f5b279134b38ba1605aff3fc3919f5319d5a27943efb97718787604051610af7929190611289565b6040517f12f269e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff82163f8015801590610be257507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b6000828103610c24576040517f0f40322b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080517f672972c619ec56f688503695fad0be72db018ab34394c45adb4c8e5b29418cc7602080830191909152818301869052825180830384018152606090920190925280519101205415610ca6576040517f1a02d58400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610cd27f0000000000000000000000000000000000000000000000000000000000000000426112ab565b905080831015610ce0578092505b604080517f672972c619ec56f688503695fad0be72db018ab34394c45adb4c8e5b29418cc760208083019190915281830187905282518083038401815260609092019092528051910120839055509092915050565b6000819003610d70576040517f0f40322b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080517f672972c619ec56f688503695fad0be72db018ab34394c45adb4c8e5b29418cc7602080830191909152818301849052825180830384018152606090920190925280519101206000905550565b50565b60008083601f840112610dd657600080fd5b50813567ffffffffffffffff811115610dee57600080fd5b602083019150836020828501011115610e0657600080fd5b9250929050565b60008060008060008060006080888a031215610e2857600080fd5b87359650602088013567ffffffffffffffff80821115610e4757600080fd5b610e538b838c01610dc4565b909850965060408a0135915080821115610e6c57600080fd5b610e788b838c01610dc4565b909650945060608a0135915080821115610e9157600080fd5b50610e9e8a828b01610dc4565b989b979a50959850939692959293505050565b6000815180845260005b81811015610ed757602081850181015186830182015201610ebb565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610be26020830184610eb1565b73ffffffffffffffffffffffffffffffffffffffff81168114610dc157600080fd5b60008060008060608587031215610f6057600080fd5b8435610f6b81610f28565b9350602085013567ffffffffffffffff811115610f8757600080fd5b610f9387828801610dc4565b9598909750949560400135949350505050565b60008060408385031215610fb957600080fd5b8235610fc481610f28565b946020939093013593505050565b600060208284031215610fe457600080fd5b5035919050565b8183823760009101908152919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b86815260806020820152600061105e608083018789610ffb565b8281036040840152611071818688610ffb565b915050826060830152979650505050505050565b60006020828403121561109757600080fd5b81518015158114610be257600080fd5b600181811c908216806110bb57607f821691505b6020821081036110f4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60408152600061110e604083018587610ffb565b9050826020830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080600080600060a0868803121561116557600080fd5b85359450602086013561117781610f28565b9350604086013567ffffffffffffffff8082111561119457600080fd5b818801915088601f8301126111a857600080fd5b8135818111156111ba576111ba61111e565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156112005761120061111e565b816040528281528b602084870101111561121957600080fd5b8260208601602083013760009281016020019290925250969995985095966060810135965060800135949350505050565b73ffffffffffffffffffffffffffffffffffffffff841681526060602082015260006112796060830185610eb1565b9050826040830152949350505050565b60408152600061129c6040830185610eb1565b90508260208301529392505050565b8082018082111561064c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220d697176beae10202b08ede9a33f9d643b787c846080e11f288839df9fe804b4c64736f6c63430008130033",
  "deployedBytecode": "0x6080604052600436106100c05760003560e01c80637e68be8011610074578063c3e0ddce1161004e578063c3e0ddce14610238578063f3fef3a314610258578063fab832e91461027857600080fd5b80637e68be80146101dc578063bb77b021146101f1578063bbea95fc1461020457600080fd5b806349160658116100a557806349160658146101645780637001506914610186578063795053d3146101ba57600080fd5b8063116191b6146100cc57806315334a201461012257600080fd5b366100c757005b600080fd5b3480156100d857600080fd5b5060405173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020015b60405180910390f35b34801561012e57600080fd5b506101567f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610119565b34801561017057600080fd5b5061018461017f366004610e0d565b610298565b005b34801561019257600080fd5b506101567f000000000000000000000000000000000000000000000000000000000000000081565b3480156101c657600080fd5b506101cf6103af565b6040516101199190610f15565b3480156101e857600080fd5b506101cf61043d565b6101846101ff366004610f4a565b61044a565b34801561021057600080fd5b506101567f000000000000000000000000000000000000000000000000000000000000000081565b34801561024457600080fd5b50610156610253366004610f4a565b610501565b34801561026457600080fd5b50610184610273366004610fa6565b6105a0565b34801561028457600080fd5b50610156610293366004610fd2565b6105fd565b600082826040516102aa929190610feb565b604051809103902090506102db7f000000000000000000000000000000000000000000000000000000000000000090565b73ffffffffffffffffffffffffffffffffffffffff16635f6970c38989898989876040518763ffffffff1660e01b815260040161031d96959493929190611044565b6020604051808303816000875af115801561033c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103609190611085565b610396576040517f500c44b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103a588888888888888610652565b5050505050505050565b600180546103bc906110a7565b80601f01602080910402602001604051908101604052809291908181526020018280546103e8906110a7565b80156104355780601f1061040a57610100808354040283529160200191610435565b820191906000526020600020905b81548152906001019060200180831161041857829003601f168201915b505050505081565b600080546103bc906110a7565b600061048e8585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250610794915050565b9050610499816107ca565b428573ffffffffffffffffffffffffffffffffffffffff16827f75da59867bf5abe66d94fdeb60ac5a55f4801ea5128580a42d32cbd835ecfbb98787876040516104e5939291906110fa565b60405180910390a46104f9858585856108e3565b505050505050565b60006105976105488686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250889250610794915050565b604080517f672972c619ec56f688503695fad0be72db018ab34394c45adb4c8e5b29418cc760208083019190915281830193909352815180820383018152606090910190915280519101205490565b95945050505050565b3330146105d9576040517f29c3b7ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105f973ffffffffffffffffffffffffffffffffffffffff831682610a43565b5050565b604080517f672972c619ec56f688503695fad0be72db018ab34394c45adb4c8e5b29418cc760208083019190915281830184905282518083038401815260609092019092528051910120546000905b92915050565b858585857f00000000000000000000000000000000000000000000000000000000000000008484604051610687929190610feb565b60405180910390201415806106d357507f000000000000000000000000000000000000000000000000000000000000000082826040516106c8929190610feb565b604051809103902014155b1561070a576040517fb56f932c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008080808061071c8a8c018c61114d565b93985091965094509250905073ffffffffffffffffffffffffffffffffffffffff8416610775576040517f82d5d76a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107828585858585610a8d565b50505050505050505050505050505050565b60008383836040516020016107ab9392919061124a565b6040516020818303038152906040528051906020012090509392505050565b604080517f672972c619ec56f688503695fad0be72db018ab34394c45adb4c8e5b29418cc76020808301919091528183018490528251808303840181526060909201909252805191012054811580610820575080155b15610857576040517f0f40322b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80421015610891576040517f4019a5d300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080517f672972c619ec56f688503695fad0be72db018ab34394c45adb4c8e5b29418cc760208083019190915281830185905282518083038401815260609092019092528051910120600090555050565b60606109048573ffffffffffffffffffffffffffffffffffffffff16610b99565b610956576040517fec01648400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8616600482015260240160405180910390fd5b47821115610990576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168487876040516109bb929190610feb565b60006040518083038185875af1925050503d80600081146109f8576040519150601f19603f3d011682016040523d82523d6000602084013e6109fd565b606091505b509150915081610a39576040517facfdb44400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9695505050505050565b600080600080600085875af1905080610a88576040517ff4b3b1bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6000610a9a858585610794565b905085610b0557610aab8183610be9565b9150818573ffffffffffffffffffffffffffffffffffffffff16827fe30ae8e631edafb973a80848898efd2d198f99e515a4e26d8a24e95742d359918787604051610af7929190611289565b60405180910390a450610b92565b60018603610b6057610b1681610d35565b818573ffffffffffffffffffffffffffffffffffffffff16827fa154e9e339a72c35f5b279134b38ba1605aff3fc3919f5319d5a27943efb97718787604051610af7929190611289565b6040517f12f269e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff82163f8015801590610be257507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708114155b9392505050565b6000828103610c24576040517f0f40322b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080517f672972c619ec56f688503695fad0be72db018ab34394c45adb4c8e5b29418cc7602080830191909152818301869052825180830384018152606090920190925280519101205415610ca6576040517f1a02d58400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610cd27f0000000000000000000000000000000000000000000000000000000000000000426112ab565b905080831015610ce0578092505b604080517f672972c619ec56f688503695fad0be72db018ab34394c45adb4c8e5b29418cc760208083019190915281830187905282518083038401815260609092019092528051910120839055509092915050565b6000819003610d70576040517f0f40322b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080517f672972c619ec56f688503695fad0be72db018ab34394c45adb4c8e5b29418cc7602080830191909152818301849052825180830384018152606090920190925280519101206000905550565b50565b60008083601f840112610dd657600080fd5b50813567ffffffffffffffff811115610dee57600080fd5b602083019150836020828501011115610e0657600080fd5b9250929050565b60008060008060008060006080888a031215610e2857600080fd5b87359650602088013567ffffffffffffffff80821115610e4757600080fd5b610e538b838c01610dc4565b909850965060408a0135915080821115610e6c57600080fd5b610e788b838c01610dc4565b909650945060608a0135915080821115610e9157600080fd5b50610e9e8a828b01610dc4565b989b979a50959850939692959293505050565b6000815180845260005b81811015610ed757602081850181015186830182015201610ebb565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610be26020830184610eb1565b73ffffffffffffffffffffffffffffffffffffffff81168114610dc157600080fd5b60008060008060608587031215610f6057600080fd5b8435610f6b81610f28565b9350602085013567ffffffffffffffff811115610f8757600080fd5b610f9387828801610dc4565b9598909750949560400135949350505050565b60008060408385031215610fb957600080fd5b8235610fc481610f28565b946020939093013593505050565b600060208284031215610fe457600080fd5b5035919050565b8183823760009101908152919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b86815260806020820152600061105e608083018789610ffb565b8281036040840152611071818688610ffb565b915050826060830152979650505050505050565b60006020828403121561109757600080fd5b81518015158114610be257600080fd5b600181811c908216806110bb57607f821691505b6020821081036110f4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60408152600061110e604083018587610ffb565b9050826020830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080600080600060a0868803121561116557600080fd5b85359450602086013561117781610f28565b9350604086013567ffffffffffffffff8082111561119457600080fd5b818801915088601f8301126111a857600080fd5b8135818111156111ba576111ba61111e565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156112005761120061111e565b816040528281528b602084870101111561121957600080fd5b8260208601602083013760009281016020019290925250969995985095966060810135965060800135949350505050565b73ffffffffffffffffffffffffffffffffffffffff841681526060602082015260006112796060830185610eb1565b9050826040830152949350505050565b60408152600061129c6040830185610eb1565b90508260208301529392505050565b8082018082111561064c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220d697176beae10202b08ede9a33f9d643b787c846080e11f288839df9fe804b4c64736f6c63430008130033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
