{
  "_format": "hh-sol-artifact-1",
  "contractName": "CCIPDVNAdapterFeeLib",
  "sourceName": "contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapterFeeLib.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "uint32",
          "name": "eid",
          "type": "uint32"
        }
      ],
      "name": "CCIPDVNAdapter_EidNotSupported",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "CCIPDVNAdapter_OptionsUnsupported",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "components": [
            {
              "internalType": "uint32",
              "name": "dstEid",
              "type": "uint32"
            },
            {
              "internalType": "uint128",
              "name": "floorMarginUSD",
              "type": "uint128"
            }
          ],
          "indexed": false,
          "internalType": "struct ICCIPDVNAdapterFeeLib.DstConfigParam[]",
          "name": "params",
          "type": "tuple[]"
        }
      ],
      "name": "DstConfigSet",
      "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"
    },
    {
      "inputs": [
        {
          "internalType": "uint32",
          "name": "dstEid",
          "type": "uint32"
        }
      ],
      "name": "dstConfig",
      "outputs": [
        {
          "internalType": "uint128",
          "name": "floorMarginUSD",
          "type": "uint128"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "uint32",
              "name": "dstEid",
              "type": "uint32"
            },
            {
              "internalType": "uint64",
              "name": "confirmations",
              "type": "uint64"
            },
            {
              "internalType": "address",
              "name": "sender",
              "type": "address"
            },
            {
              "internalType": "uint16",
              "name": "defaultMultiplierBps",
              "type": "uint16"
            }
          ],
          "internalType": "struct ICCIPDVNAdapterFeeLib.Param",
          "name": "_params",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "uint64",
              "name": "chainSelector",
              "type": "uint64"
            },
            {
              "internalType": "uint16",
              "name": "multiplierBps",
              "type": "uint16"
            },
            {
              "internalType": "bytes",
              "name": "peer",
              "type": "bytes"
            },
            {
              "internalType": "uint256",
              "name": "gas",
              "type": "uint256"
            }
          ],
          "internalType": "struct ICCIPDVNAdapter.DstConfig",
          "name": "_dstConfig",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "bytes",
              "name": "receiver",
              "type": "bytes"
            },
            {
              "internalType": "bytes",
              "name": "data",
              "type": "bytes"
            },
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "token",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "internalType": "struct Client.EVMTokenAmount[]",
              "name": "tokenAmounts",
              "type": "tuple[]"
            },
            {
              "internalType": "address",
              "name": "feeToken",
              "type": "address"
            },
            {
              "internalType": "bytes",
              "name": "extraArgs",
              "type": "bytes"
            }
          ],
          "internalType": "struct Client.EVM2AnyMessage",
          "name": "_message",
          "type": "tuple"
        },
        {
          "internalType": "bytes",
          "name": "_options",
          "type": "bytes"
        },
        {
          "internalType": "contract IRouterClient",
          "name": "_router",
          "type": "address"
        }
      ],
      "name": "getFee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "totalFee",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "uint32",
              "name": "dstEid",
              "type": "uint32"
            },
            {
              "internalType": "uint64",
              "name": "confirmations",
              "type": "uint64"
            },
            {
              "internalType": "address",
              "name": "sender",
              "type": "address"
            },
            {
              "internalType": "uint16",
              "name": "defaultMultiplierBps",
              "type": "uint16"
            }
          ],
          "internalType": "struct ICCIPDVNAdapterFeeLib.Param",
          "name": "_params",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "uint64",
              "name": "chainSelector",
              "type": "uint64"
            },
            {
              "internalType": "uint16",
              "name": "multiplierBps",
              "type": "uint16"
            },
            {
              "internalType": "bytes",
              "name": "peer",
              "type": "bytes"
            },
            {
              "internalType": "uint256",
              "name": "gas",
              "type": "uint256"
            }
          ],
          "internalType": "struct ICCIPDVNAdapter.DstConfig",
          "name": "_dstConfig",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "bytes",
              "name": "receiver",
              "type": "bytes"
            },
            {
              "internalType": "bytes",
              "name": "data",
              "type": "bytes"
            },
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "token",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "internalType": "struct Client.EVMTokenAmount[]",
              "name": "tokenAmounts",
              "type": "tuple[]"
            },
            {
              "internalType": "address",
              "name": "feeToken",
              "type": "address"
            },
            {
              "internalType": "bytes",
              "name": "extraArgs",
              "type": "bytes"
            }
          ],
          "internalType": "struct Client.EVM2AnyMessage",
          "name": "_message",
          "type": "tuple"
        },
        {
          "internalType": "bytes",
          "name": "_options",
          "type": "bytes"
        },
        {
          "internalType": "contract IRouterClient",
          "name": "_router",
          "type": "address"
        }
      ],
      "name": "getFeeOnSend",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "ccipFee",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "totalFee",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "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": [
        {
          "components": [
            {
              "internalType": "uint32",
              "name": "dstEid",
              "type": "uint32"
            },
            {
              "internalType": "uint128",
              "name": "floorMarginUSD",
              "type": "uint128"
            }
          ],
          "internalType": "struct ICCIPDVNAdapterFeeLib.DstConfigParam[]",
          "name": "_param",
          "type": "tuple[]"
        }
      ],
      "name": "setDstConfig",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50611100806100206000396000f3fe60806040526004361061007b5760003560e01c80638da5cb5b1161004e5780638da5cb5b146100f95780639e9449651461012e578063cbe56fcc1461018e578063f2fde38b146101bc57600080fd5b806334378d4814610080578063715018a6146100a25780637e034df8146100b75780638129fc1c146100e4575b600080fd5b34801561008c57600080fd5b506100a061009b366004610ab8565b6101dc565b005b3480156100ae57600080fd5b506100a06102e7565b6100ca6100c5366004610b77565b6102fb565b604080519283526020830191909152015b60405180910390f35b3480156100f057600080fd5b506100a061044f565b34801561010557600080fd5b5060335460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100db565b34801561013a57600080fd5b5061016d610149366004610c71565b6065602052600090815260409020546fffffffffffffffffffffffffffffffff1681565b6040516fffffffffffffffffffffffffffffffff90911681526020016100db565b34801561019a57600080fd5b506101ae6101a9366004610b77565b610683565b6040519081526020016100db565b3480156101c857600080fd5b506100a06101d7366004610c93565b610794565b6101e461084b565b60005b818110156102a9573683838381811061020257610202610cb0565b905060400201905060405180602001604052808260200160208101906102289190610cff565b6fffffffffffffffffffffffffffffffff1690526065600061024d6020850185610c71565b63ffffffff1681526020810191909152604001600020905181547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff909116179055506001016101e7565b507ff7b6cda39b1452736c50bab7ae8d79d01c5ce740d844f51fe6e1c9a2b5dd43d382826040516102db929190610d1a565b60405180910390a15050565b6102ef61084b565b6102f960006108cc565b565b6000808660600135600003610357576103176020890189610c71565b6040517fe234d76600000000000000000000000000000000000000000000000000000000815263ffffffff90911660048201526024015b60405180910390fd5b831561038f576040517f053c215b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166320487ded6103b860208a018a610d87565b886040518363ffffffff1660e01b81526004016103d6929190610ec5565b602060405180830381865afa1580156103f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610417919061100e565b915061044261042c6040890160208a01611027565b61043c60808b0160608c01611027565b84610943565b9050965096945050505050565b60006104797fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff81166104d25773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103556104f4565b3373ffffffffffffffffffffffffffffffffffffffff8216146104f457600080fd5b600054610100900460ff16158080156105145750600054600160ff909116105b8061052e5750303b15801561052e575060005460ff166001145b6105ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161034e565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561061857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61062061097e565b801561067f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016102db565b5050565b6000856060013560000361069e576103176020880188610c71565b82156106d6576040517f053c215b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166320487ded6106ff6020890189610d87565b876040518363ffffffff1660e01b815260040161071d929190610ec5565b602060405180830381865afa15801561073a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075e919061100e565b90506107896107736040880160208901611027565b61078360808a0160608b01611027565b83610943565b979650505050505050565b61079c61084b565b73ffffffffffffffffffffffffffffffffffffffff811661083f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161034e565b610848816108cc565b50565b60335473ffffffffffffffffffffffffffffffffffffffff1633146102f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161034e565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008061ffff8516156109565784610958565b835b61ffff16905061271061096b828561104b565b610975919061108f565b95945050505050565b600054610100900460ff16610a15576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161034e565b6102f9600054610100900460ff16610aaf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161034e565b6102f9336108cc565b60008060208385031215610acb57600080fd5b823567ffffffffffffffff80821115610ae357600080fd5b818501915085601f830112610af757600080fd5b813581811115610b0657600080fd5b8660208260061b8501011115610b1b57600080fd5b60209290920196919550909350505050565b600060808284031215610b3f57600080fd5b50919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461084857600080fd5b8035610b7281610b45565b919050565b6000806000806000806101008789031215610b9157600080fd5b610b9b8888610b2d565b9550608087013567ffffffffffffffff80821115610bb857600080fd5b610bc48a838b01610b2d565b965060a0890135915080821115610bda57600080fd5b9088019060a0828b031215610bee57600080fd5b90945060c08801359080821115610c0457600080fd5b818901915089601f830112610c1857600080fd5b813581811115610c2757600080fd5b8a6020828501011115610c3957600080fd5b602083019550809450505050610c5160e08801610b67565b90509295509295509295565b803563ffffffff81168114610b7257600080fd5b600060208284031215610c8357600080fd5b610c8c82610c5d565b9392505050565b600060208284031215610ca557600080fd5b8135610c8c81610b45565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80356fffffffffffffffffffffffffffffffff81168114610b7257600080fd5b600060208284031215610d1157600080fd5b610c8c82610cdf565b6020808252818101839052600090604080840186845b87811015610d7a5763ffffffff610d4683610c5d565b1683526fffffffffffffffffffffffffffffffff610d65868401610cdf565b16838601529183019190830190600101610d30565b5090979650505050505050565b600060208284031215610d9957600080fd5b813567ffffffffffffffff81168114610c8c57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610de657600080fd5b830160208101925035905067ffffffffffffffff811115610e0657600080fd5b803603821315610e1557600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b8183526000602080850194508260005b85811015610eba578135610e8881610b45565b73ffffffffffffffffffffffffffffffffffffffff168752818301358388015260409687019690910190600101610e75565b509495945050505050565b600067ffffffffffffffff808516835260406020840152610ee68485610db1565b60a06040860152610efb60e086018284610e1c565b915050610f0b6020860186610db1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080878503016060880152610f41848385610e1c565b9350604088013592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1883603018312610f7a57600080fd5b60209288019283019235915084821115610f9357600080fd5b8160061b3603831315610fa557600080fd5b80878503016080880152610fba848385610e65565b9450610fc860608901610b67565b73ffffffffffffffffffffffffffffffffffffffff811660a08901529350610ff36080890189610db1565b94509250808786030160c08801525050610789838383610e1c565b60006020828403121561102057600080fd5b5051919050565b60006020828403121561103957600080fd5b813561ffff81168114610c8c57600080fd5b8082028115828204841417611089577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b6000826110c5577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea264697066735822122002e3c03822ce1eda610862edb9652c1b4f4bfc6c274298a76bb4fb0621a1082964736f6c63430008160033",
  "deployedBytecode": "0x60806040526004361061007b5760003560e01c80638da5cb5b1161004e5780638da5cb5b146100f95780639e9449651461012e578063cbe56fcc1461018e578063f2fde38b146101bc57600080fd5b806334378d4814610080578063715018a6146100a25780637e034df8146100b75780638129fc1c146100e4575b600080fd5b34801561008c57600080fd5b506100a061009b366004610ab8565b6101dc565b005b3480156100ae57600080fd5b506100a06102e7565b6100ca6100c5366004610b77565b6102fb565b604080519283526020830191909152015b60405180910390f35b3480156100f057600080fd5b506100a061044f565b34801561010557600080fd5b5060335460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100db565b34801561013a57600080fd5b5061016d610149366004610c71565b6065602052600090815260409020546fffffffffffffffffffffffffffffffff1681565b6040516fffffffffffffffffffffffffffffffff90911681526020016100db565b34801561019a57600080fd5b506101ae6101a9366004610b77565b610683565b6040519081526020016100db565b3480156101c857600080fd5b506100a06101d7366004610c93565b610794565b6101e461084b565b60005b818110156102a9573683838381811061020257610202610cb0565b905060400201905060405180602001604052808260200160208101906102289190610cff565b6fffffffffffffffffffffffffffffffff1690526065600061024d6020850185610c71565b63ffffffff1681526020810191909152604001600020905181547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff909116179055506001016101e7565b507ff7b6cda39b1452736c50bab7ae8d79d01c5ce740d844f51fe6e1c9a2b5dd43d382826040516102db929190610d1a565b60405180910390a15050565b6102ef61084b565b6102f960006108cc565b565b6000808660600135600003610357576103176020890189610c71565b6040517fe234d76600000000000000000000000000000000000000000000000000000000815263ffffffff90911660048201526024015b60405180910390fd5b831561038f576040517f053c215b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166320487ded6103b860208a018a610d87565b886040518363ffffffff1660e01b81526004016103d6929190610ec5565b602060405180830381865afa1580156103f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610417919061100e565b915061044261042c6040890160208a01611027565b61043c60808b0160608c01611027565b84610943565b9050965096945050505050565b60006104797fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff81166104d25773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103556104f4565b3373ffffffffffffffffffffffffffffffffffffffff8216146104f457600080fd5b600054610100900460ff16158080156105145750600054600160ff909116105b8061052e5750303b15801561052e575060005460ff166001145b6105ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161034e565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561061857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61062061097e565b801561067f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016102db565b5050565b6000856060013560000361069e576103176020880188610c71565b82156106d6576040517f053c215b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166320487ded6106ff6020890189610d87565b876040518363ffffffff1660e01b815260040161071d929190610ec5565b602060405180830381865afa15801561073a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075e919061100e565b90506107896107736040880160208901611027565b61078360808a0160608b01611027565b83610943565b979650505050505050565b61079c61084b565b73ffffffffffffffffffffffffffffffffffffffff811661083f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161034e565b610848816108cc565b50565b60335473ffffffffffffffffffffffffffffffffffffffff1633146102f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161034e565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008061ffff8516156109565784610958565b835b61ffff16905061271061096b828561104b565b610975919061108f565b95945050505050565b600054610100900460ff16610a15576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161034e565b6102f9600054610100900460ff16610aaf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161034e565b6102f9336108cc565b60008060208385031215610acb57600080fd5b823567ffffffffffffffff80821115610ae357600080fd5b818501915085601f830112610af757600080fd5b813581811115610b0657600080fd5b8660208260061b8501011115610b1b57600080fd5b60209290920196919550909350505050565b600060808284031215610b3f57600080fd5b50919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461084857600080fd5b8035610b7281610b45565b919050565b6000806000806000806101008789031215610b9157600080fd5b610b9b8888610b2d565b9550608087013567ffffffffffffffff80821115610bb857600080fd5b610bc48a838b01610b2d565b965060a0890135915080821115610bda57600080fd5b9088019060a0828b031215610bee57600080fd5b90945060c08801359080821115610c0457600080fd5b818901915089601f830112610c1857600080fd5b813581811115610c2757600080fd5b8a6020828501011115610c3957600080fd5b602083019550809450505050610c5160e08801610b67565b90509295509295509295565b803563ffffffff81168114610b7257600080fd5b600060208284031215610c8357600080fd5b610c8c82610c5d565b9392505050565b600060208284031215610ca557600080fd5b8135610c8c81610b45565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80356fffffffffffffffffffffffffffffffff81168114610b7257600080fd5b600060208284031215610d1157600080fd5b610c8c82610cdf565b6020808252818101839052600090604080840186845b87811015610d7a5763ffffffff610d4683610c5d565b1683526fffffffffffffffffffffffffffffffff610d65868401610cdf565b16838601529183019190830190600101610d30565b5090979650505050505050565b600060208284031215610d9957600080fd5b813567ffffffffffffffff81168114610c8c57600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610de657600080fd5b830160208101925035905067ffffffffffffffff811115610e0657600080fd5b803603821315610e1557600080fd5b9250929050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b8183526000602080850194508260005b85811015610eba578135610e8881610b45565b73ffffffffffffffffffffffffffffffffffffffff168752818301358388015260409687019690910190600101610e75565b509495945050505050565b600067ffffffffffffffff808516835260406020840152610ee68485610db1565b60a06040860152610efb60e086018284610e1c565b915050610f0b6020860186610db1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080878503016060880152610f41848385610e1c565b9350604088013592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1883603018312610f7a57600080fd5b60209288019283019235915084821115610f9357600080fd5b8160061b3603831315610fa557600080fd5b80878503016080880152610fba848385610e65565b9450610fc860608901610b67565b73ffffffffffffffffffffffffffffffffffffffff811660a08901529350610ff36080890189610db1565b94509250808786030160c08801525050610789838383610e1c565b60006020828403121561102057600080fd5b5051919050565b60006020828403121561103957600080fd5b813561ffff81168114610c8c57600080fd5b8082028115828204841417611089577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b6000826110c5577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea264697066735822122002e3c03822ce1eda610862edb9652c1b4f4bfc6c274298a76bb4fb0621a1082964736f6c63430008160033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
