{
  "_format": "hh-sol-artifact-1",
  "contractName": "ERC1155Facet",
  "sourceName": "contracts/token/ERC1155/facets/ERC1155Facet.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IForwarderRegistry",
          "name": "forwarderRegistry",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "ERC1155BalanceOfAddressZero",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "recipient",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "balance",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "ERC1155BalanceOverflow",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "balance",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "ERC1155InsufficientBalance",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "ERC1155NonApproved",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "recipient",
          "type": "address"
        },
        {
          "internalType": "uint256[]",
          "name": "ids",
          "type": "uint256[]"
        },
        {
          "internalType": "uint256[]",
          "name": "values",
          "type": "uint256[]"
        }
      ],
      "name": "ERC1155SafeBatchTransferRejected",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "recipient",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "ERC1155SafeTransferRejected",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "ERC1155SelfApprovalForAll",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ERC1155TransferToAddressZero",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "IllegalInterfaceId",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InconsistentArrayLengths",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "NotProxyAdmin",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "operator",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bool",
          "name": "approved",
          "type": "bool"
        }
      ],
      "name": "ApprovalForAll",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "operator",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256[]",
          "name": "ids",
          "type": "uint256[]"
        },
        {
          "indexed": false,
          "internalType": "uint256[]",
          "name": "values",
          "type": "uint256[]"
        }
      ],
      "name": "TransferBatch",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "operator",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "TransferSingle",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "balance",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "owners",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "ids",
          "type": "uint256[]"
        }
      ],
      "name": "balanceOfBatch",
      "outputs": [
        {
          "internalType": "uint256[]",
          "name": "balances",
          "type": "uint256[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "initERC1155Storage",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "operator",
          "type": "address"
        }
      ],
      "name": "isApprovedForAll",
      "outputs": [
        {
          "internalType": "bool",
          "name": "approvedForAll",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256[]",
          "name": "ids",
          "type": "uint256[]"
        },
        {
          "internalType": "uint256[]",
          "name": "values",
          "type": "uint256[]"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "safeBatchTransferFrom",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "id",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "safeTransferFrom",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "operator",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "approved",
          "type": "bool"
        }
      ],
      "name": "setApprovalForAll",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60a034606657601f6113f938819003918201601f19168301916001600160401b03831184841017606b57808492602094604052833981010312606657516001600160a01b03811681036066576080526040516113779081610082823960805181610f420152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b60003560e01c8062fdd58e14610be55780632eb2c2d61461080e5780634e1273f414610650578063a22cb46514610525578063c34106c8146103eb578063e985e9c5146103375763f242432a1461006857600080fd5b346103325760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103325761009f610c53565b6100a7610c76565b604435906064359260843567ffffffffffffffff8111610332576100cf903690600401610cca565b927f5ccf5846fa27a68fafc8e588671a68f5e67c2f9b56af4263806a4d71735e8612936100fa610f2b565b73ffffffffffffffffffffffffffffffffffffffff831695861561030857610123828783611062565b156102be5773ffffffffffffffffffffffffffffffffffffffff9161014c8a8a878a87966110e2565b169416918583867fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62604080518c81528d6020820152a43b61018957005b602092610197913691610ec6565b926101ed60405194859384937ff23a6e610000000000000000000000000000000000000000000000000000000085526004850152602484015287604484015288606484015260a0608484015260a48301906112e2565b03816000865af19081156102b2577ff23a6e6100000000000000000000000000000000000000000000000000000000917fffffffff0000000000000000000000000000000000000000000000000000000091600091610283575b50160361025057005b7f40f39d380000000000000000000000000000000000000000000000000000000060005260045260245260445260646000fd5b6102a5915060203d6020116102ab575b61029d8183610df2565b8101906112aa565b38610247565b503d610293565b6040513d6000823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff8681847f05bbb9c400000000000000000000000000000000000000000000000000000000600052166004521660245260446000fd5b7fb5e890150000000000000000000000000000000000000000000000000000000060005260046000fd5b600080fd5b346103325760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103325761036e610c53565b73ffffffffffffffffffffffffffffffffffffffff61038b610c76565b91166000527f5ccf5846fa27a68fafc8e588671a68f5e67c2f9b56af4263806a4d71735e861360205273ffffffffffffffffffffffffffffffffffffffff60406000209116600052602052602060ff604060002054166040519015158152f35b346103325760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033257610422610f2b565b73ffffffffffffffffffffffffffffffffffffffff807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103541691169081036104f8577fd9b67a26000000000000000000000000000000000000000000000000000000006000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d6020527f55f2baa086bcadb68563d14bf0ae4964705cc6bc8fd476a834dc8cb4e83cc92a80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b346103325760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103325761055c610c53565b602435908115158092036103325773ffffffffffffffffffffffffffffffffffffffff80610588610f2b565b169116918183146106225760207f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3191836000527f5ccf5846fa27a68fafc8e588671a68f5e67c2f9b56af4263806a4d71735e86138252604060002085600052825260406000207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff8316179055604051908152a3005b507ffb0fdf610000000000000000000000000000000000000000000000000000000060005260045260246000fd5b346103325760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103325760043567ffffffffffffffff81116103325761069f903690600401610c99565b9060243567ffffffffffffffff8111610332576106c0903690600401610c99565b7f5ccf5846fa27a68fafc8e588671a68f5e67c2f9b56af4263806a4d71735e8612908085036107e4576106f285610e62565b946107006040519687610df2565b8086527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061072d82610e62565b0136602088013760005b81811061075857604051602080825281906107549082018a610cf8565b0390f35b610763818388610da5565b3573ffffffffffffffffffffffffffffffffffffffff811681036103325761079890610790838689610da5565b359086610d2c565b9087518110156107b55760019160208260051b8a01015201610737565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f658253360000000000000000000000000000000000000000000000000000000060005260046000fd5b346103325760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033257610845610c53565b61084d610c76565b60443567ffffffffffffffff81116103325761086d903690600401610c99565b929060643567ffffffffffffffff81116103325761088f903690600401610c99565b9360843567ffffffffffffffff8111610332576108b0903690600401610cca565b9390917f5ccf5846fa27a68fafc8e588671a68f5e67c2f9b56af4263806a4d71735e8612956108dd610f2b565b73ffffffffffffffffffffffffffffffffffffffff831697881561030857898b036107e45761090d828483611062565b15610b9b5760005b8b8110610b6c575050928992888a8897947f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb73ffffffffffffffffffffffffffffffffffffffff809b99169a8b9216988993610991604051928392604084526109838d60408601908d610db5565b918483036020860152610db5565b0390a43b61099b57005b6020946109b06109b8926109c0953691610e7a565b993691610e7a565b953691610ec6565b92610a7060405194859384937fbc197c810000000000000000000000000000000000000000000000000000000085526004850152602484015260a06044840152610a40610a1060a485018b610cf8565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc85820301606486015288610cf8565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8483030160848501526112e2565b03816000875af19081156102b2577fbc197c8100000000000000000000000000000000000000000000000000000000917fffffffff0000000000000000000000000000000000000000000000000000000091600091610b4d575b501603610ad357005b610b4990610b196040519485947fc287817e0000000000000000000000000000000000000000000000000000000086526004860152606060248601526064850190610cf8565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc848303016044850152610cf8565b0390fd5b610b66915060203d6020116102ab5761029d8183610df2565b86610aca565b80610b958c610b8b8f94610b83816001978d610da5565b35928d610da5565b35908888876110e2565b01610915565b73ffffffffffffffffffffffffffffffffffffffff8381847f05bbb9c400000000000000000000000000000000000000000000000000000000600052166004521660245260446000fd5b346103325760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610332576020610c4b610c21610c53565b602435907f5ccf5846fa27a68fafc8e588671a68f5e67c2f9b56af4263806a4d71735e8612610d2c565b604051908152f35b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361033257565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361033257565b9181601f840112156103325782359167ffffffffffffffff8311610332576020808501948460051b01011161033257565b9181601f840112156103325782359167ffffffffffffffff8311610332576020838186019501011161033257565b906020808351928381520192019060005b818110610d165750505090565b8251845260209384019390920191600101610d09565b909173ffffffffffffffffffffffffffffffffffffffff831615610d7b5760005260205273ffffffffffffffffffffffffffffffffffffffff6040600020911660005260205260406000205490565b7fca2434a50000000000000000000000000000000000000000000000000000000060005260046000fd5b91908110156107b55760051b0190565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116103325760209260051b809284830137010190565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610e3357604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff8111610e335760051b60200190565b929190610e8681610e62565b93610e946040519586610df2565b602085838152019160051b810192831161033257905b828210610eb657505050565b8135815260209182019101610eaa565b92919267ffffffffffffffff8211610e335760405191610f0e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610df2565b829481845281830111610332578281602093846000960137010152565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015611053573233148015611058575b611053577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90803314908115610fb6575b50610fb357503390565b90565b60649150602090604051928380927f019a20280000000000000000000000000000000000000000000000000000000082528660048301523360248301523060448301525afa9081156102b257600091611011575b5038610fa9565b6020813d60201161104b575b8161102a60209383610df2565b81010312611047575190811515820361104457503861100a565b80fd5b5080fd5b3d915061101d565b503390565b5060183610610f72565b73ffffffffffffffffffffffffffffffffffffffff808316908416149291831561108d575b50505090565b600192935073ffffffffffffffffffffffffffffffffffffffff166000520160205273ffffffffffffffffffffffffffffffffffffffff6040600020911660005260205260ff60406000205416388080611087565b919290846110f2575b5050505050565b8160005282602052604060002073ffffffffffffffffffffffffffffffffffffffff821660005260205260406000205490858203918083101561124e575073ffffffffffffffffffffffffffffffffffffffff851673ffffffffffffffffffffffffffffffffffffffff82160361116a575b506110eb565b8260005283602052604060002073ffffffffffffffffffffffffffffffffffffffff86166000526020526040600020549580870196808811156111f057505060009283526020938452604080842073ffffffffffffffffffffffffffffffffffffffff928316855280865281852093909355941682529091522055388080808080611164565b6040517f42fb00bc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff881660048201526024810186905260448101919091526064810191909152608490fd5b6040517f03dee4c500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92909216600483015260248201849052604482015260648101869052608490fd5b9081602091031261033257517fffffffff00000000000000000000000000000000000000000000000000000000811681036103325790565b919082519283825260005b84811061132c5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b806020809284010151828286010152016112ed56fea26469706673582212207fc6efe08f53aa882156871998134e6189c2187487a12feeea5678b6b7f3a58964736f6c634300081e0033",
  "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c8062fdd58e14610be55780632eb2c2d61461080e5780634e1273f414610650578063a22cb46514610525578063c34106c8146103eb578063e985e9c5146103375763f242432a1461006857600080fd5b346103325760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103325761009f610c53565b6100a7610c76565b604435906064359260843567ffffffffffffffff8111610332576100cf903690600401610cca565b927f5ccf5846fa27a68fafc8e588671a68f5e67c2f9b56af4263806a4d71735e8612936100fa610f2b565b73ffffffffffffffffffffffffffffffffffffffff831695861561030857610123828783611062565b156102be5773ffffffffffffffffffffffffffffffffffffffff9161014c8a8a878a87966110e2565b169416918583867fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62604080518c81528d6020820152a43b61018957005b602092610197913691610ec6565b926101ed60405194859384937ff23a6e610000000000000000000000000000000000000000000000000000000085526004850152602484015287604484015288606484015260a0608484015260a48301906112e2565b03816000865af19081156102b2577ff23a6e6100000000000000000000000000000000000000000000000000000000917fffffffff0000000000000000000000000000000000000000000000000000000091600091610283575b50160361025057005b7f40f39d380000000000000000000000000000000000000000000000000000000060005260045260245260445260646000fd5b6102a5915060203d6020116102ab575b61029d8183610df2565b8101906112aa565b38610247565b503d610293565b6040513d6000823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff8681847f05bbb9c400000000000000000000000000000000000000000000000000000000600052166004521660245260446000fd5b7fb5e890150000000000000000000000000000000000000000000000000000000060005260046000fd5b600080fd5b346103325760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103325761036e610c53565b73ffffffffffffffffffffffffffffffffffffffff61038b610c76565b91166000527f5ccf5846fa27a68fafc8e588671a68f5e67c2f9b56af4263806a4d71735e861360205273ffffffffffffffffffffffffffffffffffffffff60406000209116600052602052602060ff604060002054166040519015158152f35b346103325760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033257610422610f2b565b73ffffffffffffffffffffffffffffffffffffffff807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103541691169081036104f8577fd9b67a26000000000000000000000000000000000000000000000000000000006000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d6020527f55f2baa086bcadb68563d14bf0ae4964705cc6bc8fd476a834dc8cb4e83cc92a80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b346103325760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103325761055c610c53565b602435908115158092036103325773ffffffffffffffffffffffffffffffffffffffff80610588610f2b565b169116918183146106225760207f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3191836000527f5ccf5846fa27a68fafc8e588671a68f5e67c2f9b56af4263806a4d71735e86138252604060002085600052825260406000207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff8316179055604051908152a3005b507ffb0fdf610000000000000000000000000000000000000000000000000000000060005260045260246000fd5b346103325760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103325760043567ffffffffffffffff81116103325761069f903690600401610c99565b9060243567ffffffffffffffff8111610332576106c0903690600401610c99565b7f5ccf5846fa27a68fafc8e588671a68f5e67c2f9b56af4263806a4d71735e8612908085036107e4576106f285610e62565b946107006040519687610df2565b8086527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061072d82610e62565b0136602088013760005b81811061075857604051602080825281906107549082018a610cf8565b0390f35b610763818388610da5565b3573ffffffffffffffffffffffffffffffffffffffff811681036103325761079890610790838689610da5565b359086610d2c565b9087518110156107b55760019160208260051b8a01015201610737565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f658253360000000000000000000000000000000000000000000000000000000060005260046000fd5b346103325760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033257610845610c53565b61084d610c76565b60443567ffffffffffffffff81116103325761086d903690600401610c99565b929060643567ffffffffffffffff81116103325761088f903690600401610c99565b9360843567ffffffffffffffff8111610332576108b0903690600401610cca565b9390917f5ccf5846fa27a68fafc8e588671a68f5e67c2f9b56af4263806a4d71735e8612956108dd610f2b565b73ffffffffffffffffffffffffffffffffffffffff831697881561030857898b036107e45761090d828483611062565b15610b9b5760005b8b8110610b6c575050928992888a8897947f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb73ffffffffffffffffffffffffffffffffffffffff809b99169a8b9216988993610991604051928392604084526109838d60408601908d610db5565b918483036020860152610db5565b0390a43b61099b57005b6020946109b06109b8926109c0953691610e7a565b993691610e7a565b953691610ec6565b92610a7060405194859384937fbc197c810000000000000000000000000000000000000000000000000000000085526004850152602484015260a06044840152610a40610a1060a485018b610cf8565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc85820301606486015288610cf8565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8483030160848501526112e2565b03816000875af19081156102b2577fbc197c8100000000000000000000000000000000000000000000000000000000917fffffffff0000000000000000000000000000000000000000000000000000000091600091610b4d575b501603610ad357005b610b4990610b196040519485947fc287817e0000000000000000000000000000000000000000000000000000000086526004860152606060248601526064850190610cf8565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc848303016044850152610cf8565b0390fd5b610b66915060203d6020116102ab5761029d8183610df2565b86610aca565b80610b958c610b8b8f94610b83816001978d610da5565b35928d610da5565b35908888876110e2565b01610915565b73ffffffffffffffffffffffffffffffffffffffff8381847f05bbb9c400000000000000000000000000000000000000000000000000000000600052166004521660245260446000fd5b346103325760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610332576020610c4b610c21610c53565b602435907f5ccf5846fa27a68fafc8e588671a68f5e67c2f9b56af4263806a4d71735e8612610d2c565b604051908152f35b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361033257565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361033257565b9181601f840112156103325782359167ffffffffffffffff8311610332576020808501948460051b01011161033257565b9181601f840112156103325782359167ffffffffffffffff8311610332576020838186019501011161033257565b906020808351928381520192019060005b818110610d165750505090565b8251845260209384019390920191600101610d09565b909173ffffffffffffffffffffffffffffffffffffffff831615610d7b5760005260205273ffffffffffffffffffffffffffffffffffffffff6040600020911660005260205260406000205490565b7fca2434a50000000000000000000000000000000000000000000000000000000060005260046000fd5b91908110156107b55760051b0190565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116103325760209260051b809284830137010190565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610e3357604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff8111610e335760051b60200190565b929190610e8681610e62565b93610e946040519586610df2565b602085838152019160051b810192831161033257905b828210610eb657505050565b8135815260209182019101610eaa565b92919267ffffffffffffffff8211610e335760405191610f0e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610df2565b829481845281830111610332578281602093846000960137010152565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015611053573233148015611058575b611053577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90803314908115610fb6575b50610fb357503390565b90565b60649150602090604051928380927f019a20280000000000000000000000000000000000000000000000000000000082528660048301523360248301523060448301525afa9081156102b257600091611011575b5038610fa9565b6020813d60201161104b575b8161102a60209383610df2565b81010312611047575190811515820361104457503861100a565b80fd5b5080fd5b3d915061101d565b503390565b5060183610610f72565b73ffffffffffffffffffffffffffffffffffffffff808316908416149291831561108d575b50505090565b600192935073ffffffffffffffffffffffffffffffffffffffff166000520160205273ffffffffffffffffffffffffffffffffffffffff6040600020911660005260205260ff60406000205416388080611087565b919290846110f2575b5050505050565b8160005282602052604060002073ffffffffffffffffffffffffffffffffffffffff821660005260205260406000205490858203918083101561124e575073ffffffffffffffffffffffffffffffffffffffff851673ffffffffffffffffffffffffffffffffffffffff82160361116a575b506110eb565b8260005283602052604060002073ffffffffffffffffffffffffffffffffffffffff86166000526020526040600020549580870196808811156111f057505060009283526020938452604080842073ffffffffffffffffffffffffffffffffffffffff928316855280865281852093909355941682529091522055388080808080611164565b6040517f42fb00bc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff881660048201526024810186905260448101919091526064810191909152608490fd5b6040517f03dee4c500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92909216600483015260248201849052604482015260648101869052608490fd5b9081602091031261033257517fffffffff00000000000000000000000000000000000000000000000000000000811681036103325790565b919082519283825260005b84811061132c5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b806020809284010151828286010152016112ed56fea26469706673582212207fc6efe08f53aa882156871998134e6189c2187487a12feeea5678b6b7f3a58964736f6c634300081e0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
