{
  "_format": "hh-sol-artifact-1",
  "contractName": "ERC1155FacetMock",
  "sourceName": "contracts/mocks/token/ERC1155/facets/ERC1155FacetMock.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": [],
      "name": "__msgData",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "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": "0x60a034606d57601f6115f038819003918201601f19168301916001600160401b03831184841017607257808492602094604052833981010312606d57516001600160a01b0381168103606d5760805260405161156790816100898239608051818181610fe801526114020152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b60003560e01c8062fdd58e14610c735780632eb2c2d61461089c57806331e66e1e146108195780634e1273f41461065b578063a22cb46514610530578063c34106c8146103f6578063e985e9c5146103425763f242432a1461007357600080fd5b3461033d5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033d576100aa610ce1565b6100b2610d04565b604435906064359260843567ffffffffffffffff811161033d576100da903690600401610d58565b927f5ccf5846fa27a68fafc8e588671a68f5e67c2f9b56af4263806a4d71735e861293610105610fd1565b73ffffffffffffffffffffffffffffffffffffffff83169586156103135761012e82878361110c565b156102c95773ffffffffffffffffffffffffffffffffffffffff916101578a8a878a879661118c565b169416918583867fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62604080518c81528d6020820152a43b61019457005b6020926101a2913691610f54565b926101f860405194859384937ff23a6e610000000000000000000000000000000000000000000000000000000085526004850152602484015287604484015288606484015260a0608484015260a483019061138c565b03816000865af19081156102bd577ff23a6e6100000000000000000000000000000000000000000000000000000000917fffffffff000000000000000000000000000000000000000000000000000000009160009161028e575b50160361025b57005b7f40f39d380000000000000000000000000000000000000000000000000000000060005260045260245260445260646000fd5b6102b0915060203d6020116102b6575b6102a88183610e80565b810190611354565b38610252565b503d61029e565b6040513d6000823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff8681847f05bbb9c400000000000000000000000000000000000000000000000000000000600052166004521660245260446000fd5b7fb5e890150000000000000000000000000000000000000000000000000000000060005260046000fd5b600080fd5b3461033d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033d57610379610ce1565b73ffffffffffffffffffffffffffffffffffffffff610396610d04565b91166000527f5ccf5846fa27a68fafc8e588671a68f5e67c2f9b56af4263806a4d71735e861360205273ffffffffffffffffffffffffffffffffffffffff60406000209116600052602052602060ff604060002054166040519015158152f35b3461033d5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033d5761042d610fd1565b73ffffffffffffffffffffffffffffffffffffffff807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354169116908103610503577fd9b67a26000000000000000000000000000000000000000000000000000000006000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d6020527f55f2baa086bcadb68563d14bf0ae4964705cc6bc8fd476a834dc8cb4e83cc92a80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b3461033d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033d57610567610ce1565b6024359081151580920361033d5773ffffffffffffffffffffffffffffffffffffffff80610593610fd1565b1691169181831461062d5760207f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3191836000527f5ccf5846fa27a68fafc8e588671a68f5e67c2f9b56af4263806a4d71735e86138252604060002085600052825260406000207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff8316179055604051908152a3005b507ffb0fdf610000000000000000000000000000000000000000000000000000000060005260045260246000fd5b3461033d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033d5760043567ffffffffffffffff811161033d576106aa903690600401610d27565b9060243567ffffffffffffffff811161033d576106cb903690600401610d27565b7f5ccf5846fa27a68fafc8e588671a68f5e67c2f9b56af4263806a4d71735e8612908085036107ef576106fd85610ef0565b9461070b6040519687610e80565b8086527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061073882610ef0565b0136602088013760005b818110610763576040516020808252819061075f9082018a610d86565b0390f35b61076e818388610e33565b3573ffffffffffffffffffffffffffffffffffffffff8116810361033d576107a39061079b838689610e33565b359086610dba565b9087518110156107c05760019160208260051b8a01015201610742565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f658253360000000000000000000000000000000000000000000000000000000060005260046000fd5b3461033d5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033d5760406108526113eb565b91907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8484519586946020865281602087015286860137600085828601015201168101030190f35b3461033d5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033d576108d3610ce1565b6108db610d04565b60443567ffffffffffffffff811161033d576108fb903690600401610d27565b929060643567ffffffffffffffff811161033d5761091d903690600401610d27565b9360843567ffffffffffffffff811161033d5761093e903690600401610d58565b9390917f5ccf5846fa27a68fafc8e588671a68f5e67c2f9b56af4263806a4d71735e86129561096b610fd1565b73ffffffffffffffffffffffffffffffffffffffff831697881561031357898b036107ef5761099b82848361110c565b15610c295760005b8b8110610bfa575050928992888a8897947f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb73ffffffffffffffffffffffffffffffffffffffff809b99169a8b9216988993610a1f60405192839260408452610a118d60408601908d610e43565b918483036020860152610e43565b0390a43b610a2957005b602094610a3e610a4692610a4e953691610f08565b993691610f08565b953691610f54565b92610afe60405194859384937fbc197c810000000000000000000000000000000000000000000000000000000085526004850152602484015260a06044840152610ace610a9e60a485018b610d86565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc85820301606486015288610d86565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc84830301608485015261138c565b03816000875af19081156102bd577fbc197c8100000000000000000000000000000000000000000000000000000000917fffffffff0000000000000000000000000000000000000000000000000000000091600091610bdb575b501603610b6157005b610bd790610ba76040519485947fc287817e0000000000000000000000000000000000000000000000000000000086526004860152606060248601526064850190610d86565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc848303016044850152610d86565b0390fd5b610bf4915060203d6020116102b6576102a88183610e80565b86610b58565b80610c238c610c198f94610c11816001978d610e33565b35928d610e33565b359088888761118c565b016109a3565b73ffffffffffffffffffffffffffffffffffffffff8381847f05bbb9c400000000000000000000000000000000000000000000000000000000600052166004521660245260446000fd5b3461033d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033d576020610cd9610caf610ce1565b602435907f5ccf5846fa27a68fafc8e588671a68f5e67c2f9b56af4263806a4d71735e8612610dba565b604051908152f35b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361033d57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361033d57565b9181601f8401121561033d5782359167ffffffffffffffff831161033d576020808501948460051b01011161033d57565b9181601f8401121561033d5782359167ffffffffffffffff831161033d576020838186019501011161033d57565b906020808351928381520192019060005b818110610da45750505090565b8251845260209384019390920191600101610d97565b909173ffffffffffffffffffffffffffffffffffffffff831615610e095760005260205273ffffffffffffffffffffffffffffffffffffffff6040600020911660005260205260406000205490565b7fca2434a50000000000000000000000000000000000000000000000000000000060005260046000fd5b91908110156107c05760051b0190565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161033d5760209260051b809284830137010190565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610ec157604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff8111610ec15760051b60200190565b929190610f1481610ef0565b93610f226040519586610e80565b602085838152019160051b810192831161033d57905b828210610f4457505050565b8135815260209182019101610f38565b92919267ffffffffffffffff8211610ec15760405191610f9c60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610e80565b82948184528183011161033d578281602093846000960137010152565b9081602091031261033d5751801515810361033d5790565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001680156110fd573233148015611102575b6110fd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c9080331490811561105c575b5061105957503390565b90565b6040517f019a202800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201523360248201523060448201529150602090829060649082905afa9081156102bd576000916110ce575b503861104f565b6110f0915060203d6020116110f6575b6110e88183610e80565b810190610fb9565b386110c7565b503d6110de565b503390565b5060183610611018565b73ffffffffffffffffffffffffffffffffffffffff8083169084161492918315611137575b50505090565b600192935073ffffffffffffffffffffffffffffffffffffffff166000520160205273ffffffffffffffffffffffffffffffffffffffff6040600020911660005260205260ff60406000205416388080611131565b9192908461119c575b5050505050565b8160005282602052604060002073ffffffffffffffffffffffffffffffffffffffff82166000526020526040600020549085820391808310156112f8575073ffffffffffffffffffffffffffffffffffffffff851673ffffffffffffffffffffffffffffffffffffffff821603611214575b50611195565b8260005283602052604060002073ffffffffffffffffffffffffffffffffffffffff861660005260205260406000205495808701968088111561129a57505060009283526020938452604080842073ffffffffffffffffffffffffffffffffffffffff92831685528086528185209390935594168252909152205538808080808061120e565b6040517f42fb00bc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff881660048201526024810186905260448101919091526064810191909152608490fd5b6040517f03dee4c500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92909216600483015260248201849052604482015260648101869052608490fd5b9081602091031261033d57517fffffffff000000000000000000000000000000000000000000000000000000008116810361033d5790565b919082519283825260005b8481106113d65750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b80602080928401015182828601015201611397565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016801561151f573233148015611527575b61151f5780331490811561147e575b5061144d576000903690565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36019036821161033d5760009190565b6040517f019a20280000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c60048201523360248201523060448201529150602090829060649082905afa9081156102bd57600091611500575b5038611441565b611519915060203d6020116110f6576110e88183610e80565b386114f9565b506000903690565b506018361061143256fea2646970667358221220b1f1b51cf83265e856d6d5274c6c3d79cc70f6e618c3bfa1f1c0608f066173f964736f6c634300081e0033",
  "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c8062fdd58e14610c735780632eb2c2d61461089c57806331e66e1e146108195780634e1273f41461065b578063a22cb46514610530578063c34106c8146103f6578063e985e9c5146103425763f242432a1461007357600080fd5b3461033d5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033d576100aa610ce1565b6100b2610d04565b604435906064359260843567ffffffffffffffff811161033d576100da903690600401610d58565b927f5ccf5846fa27a68fafc8e588671a68f5e67c2f9b56af4263806a4d71735e861293610105610fd1565b73ffffffffffffffffffffffffffffffffffffffff83169586156103135761012e82878361110c565b156102c95773ffffffffffffffffffffffffffffffffffffffff916101578a8a878a879661118c565b169416918583867fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62604080518c81528d6020820152a43b61019457005b6020926101a2913691610f54565b926101f860405194859384937ff23a6e610000000000000000000000000000000000000000000000000000000085526004850152602484015287604484015288606484015260a0608484015260a483019061138c565b03816000865af19081156102bd577ff23a6e6100000000000000000000000000000000000000000000000000000000917fffffffff000000000000000000000000000000000000000000000000000000009160009161028e575b50160361025b57005b7f40f39d380000000000000000000000000000000000000000000000000000000060005260045260245260445260646000fd5b6102b0915060203d6020116102b6575b6102a88183610e80565b810190611354565b38610252565b503d61029e565b6040513d6000823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff8681847f05bbb9c400000000000000000000000000000000000000000000000000000000600052166004521660245260446000fd5b7fb5e890150000000000000000000000000000000000000000000000000000000060005260046000fd5b600080fd5b3461033d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033d57610379610ce1565b73ffffffffffffffffffffffffffffffffffffffff610396610d04565b91166000527f5ccf5846fa27a68fafc8e588671a68f5e67c2f9b56af4263806a4d71735e861360205273ffffffffffffffffffffffffffffffffffffffff60406000209116600052602052602060ff604060002054166040519015158152f35b3461033d5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033d5761042d610fd1565b73ffffffffffffffffffffffffffffffffffffffff807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354169116908103610503577fd9b67a26000000000000000000000000000000000000000000000000000000006000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d6020527f55f2baa086bcadb68563d14bf0ae4964705cc6bc8fd476a834dc8cb4e83cc92a80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b3461033d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033d57610567610ce1565b6024359081151580920361033d5773ffffffffffffffffffffffffffffffffffffffff80610593610fd1565b1691169181831461062d5760207f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3191836000527f5ccf5846fa27a68fafc8e588671a68f5e67c2f9b56af4263806a4d71735e86138252604060002085600052825260406000207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff8316179055604051908152a3005b507ffb0fdf610000000000000000000000000000000000000000000000000000000060005260045260246000fd5b3461033d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033d5760043567ffffffffffffffff811161033d576106aa903690600401610d27565b9060243567ffffffffffffffff811161033d576106cb903690600401610d27565b7f5ccf5846fa27a68fafc8e588671a68f5e67c2f9b56af4263806a4d71735e8612908085036107ef576106fd85610ef0565b9461070b6040519687610e80565b8086527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061073882610ef0565b0136602088013760005b818110610763576040516020808252819061075f9082018a610d86565b0390f35b61076e818388610e33565b3573ffffffffffffffffffffffffffffffffffffffff8116810361033d576107a39061079b838689610e33565b359086610dba565b9087518110156107c05760019160208260051b8a01015201610742565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f658253360000000000000000000000000000000000000000000000000000000060005260046000fd5b3461033d5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033d5760406108526113eb565b91907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8484519586946020865281602087015286860137600085828601015201168101030190f35b3461033d5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033d576108d3610ce1565b6108db610d04565b60443567ffffffffffffffff811161033d576108fb903690600401610d27565b929060643567ffffffffffffffff811161033d5761091d903690600401610d27565b9360843567ffffffffffffffff811161033d5761093e903690600401610d58565b9390917f5ccf5846fa27a68fafc8e588671a68f5e67c2f9b56af4263806a4d71735e86129561096b610fd1565b73ffffffffffffffffffffffffffffffffffffffff831697881561031357898b036107ef5761099b82848361110c565b15610c295760005b8b8110610bfa575050928992888a8897947f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb73ffffffffffffffffffffffffffffffffffffffff809b99169a8b9216988993610a1f60405192839260408452610a118d60408601908d610e43565b918483036020860152610e43565b0390a43b610a2957005b602094610a3e610a4692610a4e953691610f08565b993691610f08565b953691610f54565b92610afe60405194859384937fbc197c810000000000000000000000000000000000000000000000000000000085526004850152602484015260a06044840152610ace610a9e60a485018b610d86565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc85820301606486015288610d86565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc84830301608485015261138c565b03816000875af19081156102bd577fbc197c8100000000000000000000000000000000000000000000000000000000917fffffffff0000000000000000000000000000000000000000000000000000000091600091610bdb575b501603610b6157005b610bd790610ba76040519485947fc287817e0000000000000000000000000000000000000000000000000000000086526004860152606060248601526064850190610d86565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc848303016044850152610d86565b0390fd5b610bf4915060203d6020116102b6576102a88183610e80565b86610b58565b80610c238c610c198f94610c11816001978d610e33565b35928d610e33565b359088888761118c565b016109a3565b73ffffffffffffffffffffffffffffffffffffffff8381847f05bbb9c400000000000000000000000000000000000000000000000000000000600052166004521660245260446000fd5b3461033d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033d576020610cd9610caf610ce1565b602435907f5ccf5846fa27a68fafc8e588671a68f5e67c2f9b56af4263806a4d71735e8612610dba565b604051908152f35b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361033d57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361033d57565b9181601f8401121561033d5782359167ffffffffffffffff831161033d576020808501948460051b01011161033d57565b9181601f8401121561033d5782359167ffffffffffffffff831161033d576020838186019501011161033d57565b906020808351928381520192019060005b818110610da45750505090565b8251845260209384019390920191600101610d97565b909173ffffffffffffffffffffffffffffffffffffffff831615610e095760005260205273ffffffffffffffffffffffffffffffffffffffff6040600020911660005260205260406000205490565b7fca2434a50000000000000000000000000000000000000000000000000000000060005260046000fd5b91908110156107c05760051b0190565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161033d5760209260051b809284830137010190565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610ec157604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff8111610ec15760051b60200190565b929190610f1481610ef0565b93610f226040519586610e80565b602085838152019160051b810192831161033d57905b828210610f4457505050565b8135815260209182019101610f38565b92919267ffffffffffffffff8211610ec15760405191610f9c60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610e80565b82948184528183011161033d578281602093846000960137010152565b9081602091031261033d5751801515810361033d5790565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001680156110fd573233148015611102575b6110fd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c9080331490811561105c575b5061105957503390565b90565b6040517f019a202800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201523360248201523060448201529150602090829060649082905afa9081156102bd576000916110ce575b503861104f565b6110f0915060203d6020116110f6575b6110e88183610e80565b810190610fb9565b386110c7565b503d6110de565b503390565b5060183610611018565b73ffffffffffffffffffffffffffffffffffffffff8083169084161492918315611137575b50505090565b600192935073ffffffffffffffffffffffffffffffffffffffff166000520160205273ffffffffffffffffffffffffffffffffffffffff6040600020911660005260205260ff60406000205416388080611131565b9192908461119c575b5050505050565b8160005282602052604060002073ffffffffffffffffffffffffffffffffffffffff82166000526020526040600020549085820391808310156112f8575073ffffffffffffffffffffffffffffffffffffffff851673ffffffffffffffffffffffffffffffffffffffff821603611214575b50611195565b8260005283602052604060002073ffffffffffffffffffffffffffffffffffffffff861660005260205260406000205495808701968088111561129a57505060009283526020938452604080842073ffffffffffffffffffffffffffffffffffffffff92831685528086528185209390935594168252909152205538808080808061120e565b6040517f42fb00bc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff881660048201526024810186905260448101919091526064810191909152608490fd5b6040517f03dee4c500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92909216600483015260248201849052604482015260648101869052608490fd5b9081602091031261033d57517fffffffff000000000000000000000000000000000000000000000000000000008116810361033d5790565b919082519283825260005b8481106113d65750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b80602080928401015182828601015201611397565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016801561151f573233148015611527575b61151f5780331490811561147e575b5061144d576000903690565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36019036821161033d5760009190565b6040517f019a20280000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c60048201523360248201523060448201529150602090829060649082905afa9081156102bd57600091611500575b5038611441565b611519915060203d6020116110f6576110e88183610e80565b386114f9565b506000903690565b506018361061143256fea2646970667358221220b1f1b51cf83265e856d6d5274c6c3d79cc70f6e618c3bfa1f1c0608f066173f964736f6c634300081e0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
