{
  "_format": "hh-sol-artifact-1",
  "contractName": "DiamondCutFacet",
  "sourceName": "contracts/diamond/facets/DiamondCutFacet.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IForwarderRegistry",
          "name": "forwarderRegistry",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "facet",
          "type": "address"
        }
      ],
      "name": "EmptyFacet",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "target",
          "type": "address"
        }
      ],
      "name": "EmptyInitCallData",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "facet",
          "type": "address"
        },
        {
          "internalType": "bytes4",
          "name": "selector",
          "type": "bytes4"
        }
      ],
      "name": "FunctionAlreadyPresent",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "selector",
          "type": "bytes4"
        }
      ],
      "name": "FunctionNotFound",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "IllegalInterfaceId",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "InitCallReverted",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "selector",
          "type": "bytes4"
        }
      ],
      "name": "ModifyingImmutableFunction",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "facet",
          "type": "address"
        }
      ],
      "name": "NonContractFacet",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "target",
          "type": "address"
        }
      ],
      "name": "NonContractInitCallTarget",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "NotProxyAdmin",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "facet",
          "type": "address"
        }
      ],
      "name": "RemovingWithNonZeroAddressFacet",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "facet",
          "type": "address"
        },
        {
          "internalType": "bytes4",
          "name": "selector",
          "type": "bytes4"
        }
      ],
      "name": "ReplacingFunctionByItself",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ZeroAddressTargetInitCallButNonEmptyData",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "facet",
              "type": "address"
            },
            {
              "internalType": "enum FacetCutAction",
              "name": "action",
              "type": "uint8"
            },
            {
              "internalType": "bytes4[]",
              "name": "selectors",
              "type": "bytes4[]"
            }
          ],
          "indexed": false,
          "internalType": "struct FacetCut[]",
          "name": "cuts",
          "type": "tuple[]"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "DiamondCut",
      "type": "event"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "facet",
              "type": "address"
            },
            {
              "internalType": "enum FacetCutAction",
              "name": "action",
              "type": "uint8"
            },
            {
              "internalType": "bytes4[]",
              "name": "selectors",
              "type": "bytes4[]"
            }
          ],
          "internalType": "struct FacetCut[]",
          "name": "cuts",
          "type": "tuple[]"
        },
        {
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "diamondCut",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "facet",
              "type": "address"
            },
            {
              "internalType": "enum FacetCutAction",
              "name": "action",
              "type": "uint8"
            },
            {
              "internalType": "bytes4[]",
              "name": "selectors",
              "type": "bytes4[]"
            }
          ],
          "internalType": "struct FacetCut[]",
          "name": "cuts",
          "type": "tuple[]"
        },
        {
          "components": [
            {
              "internalType": "address",
              "name": "target",
              "type": "address"
            },
            {
              "internalType": "bytes",
              "name": "data",
              "type": "bytes"
            }
          ],
          "internalType": "struct Initialization[]",
          "name": "initializations",
          "type": "tuple[]"
        }
      ],
      "name": "diamondCut",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "initDiamondCutStorage",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60a034606657601f611a3b38819003918201601f19168301916001600160401b03831184841017606b57808492602094604052833981010312606657516001600160a01b03811681036066576080526040516119b990816100828239608051816107a00152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b60003560e01c80631f931c1c1461004757806395bce666146100425763b2afc5b51461003d57600080fd5b61028b565b610167565b346100ed5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ed5760043567ffffffffffffffff81116100ed576100969036906004016100f2565b61009e610123565b916044359267ffffffffffffffff84116100ed57366023850112156100ed5783600401359267ffffffffffffffff84116100ed5736602485870101116100ed5760246100eb95019261067f565b005b600080fd5b9181601f840112156100ed5782359167ffffffffffffffff83116100ed576020808501948460051b0101116100ed57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100ed57565b359073ffffffffffffffffffffffffffffffffffffffff821682036100ed57565b346100ed5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ed576101c87fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036101c2610789565b906108c9565b7fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d6020527fa97fd99fc2a6dc4003b726ec29f9c219e331fc037417240f076ebbefa713ce97805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681179092557fb2afc5b5000000000000000000000000000000000000000000000000000000006000527f468a201417dcc5a2c1967626f0705f2af2d7250be82f5af6c5ba8215df80ac7280549091169091179055005b346100ed5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ed5760043567ffffffffffffffff81116100ed576102da9036906004016100f2565b906024359167ffffffffffffffff83116100ed576102ff6103579336906004016100f2565b93909261032e7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036101c2610789565b7f65d27473a5b05206737961f69a3b7a55316862d7a6ef82b3f5455fe92fab43e29236916104d9565b90610361846104c1565b9261036f6040519485610480565b848452602084019460051b8101903682116100ed5780955b828710610399576100eb868686610af9565b863567ffffffffffffffff81116100ed578201906040823603126100ed57604051916103c483610443565b6103cd81610146565b835260208101359067ffffffffffffffff82116100ed57019036601f830112156100ed57602092610405849336908581359101610648565b83820152815201960195610387565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761045f57604052565b610414565b6060810190811067ffffffffffffffff82111761045f57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761045f57604052565b67ffffffffffffffff811161045f5760051b60200190565b929190926104e6846104c1565b936104f46040519586610480565b602085828152019060051b8201918383116100ed5780915b83831061051a575050505050565b823567ffffffffffffffff81116100ed5782016060818703126100ed576040519061054482610464565b61054d81610146565b8252602081013560038110156100ed57602083015260408101359067ffffffffffffffff82116100ed570186601f820112156100ed57803561058e816104c1565b9161059c6040519384610480565b81835260208084019260051b820101908982116100ed57602001915b8183106105d557505050604082015281526020928301920161050c565b82357fffffffff00000000000000000000000000000000000000000000000000000000811681036100ed578152602092830192016105b8565b67ffffffffffffffff811161045f57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926106548261060e565b916106626040519384610480565b8294818452818301116100ed578281602093846000960137010152565b91610760916107197f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb6739661071361070961074c98976106e07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036101c2610789565b7f65d27473a5b05206737961f69a3b7a55316862d7a6ef82b3f5455fe92fab43e29536916104d9565b9687923691610648565b92610baa565b6107238183610dc8565b73ffffffffffffffffffffffffffffffffffffffff604051958695606087526060870190610953565b921660208501528382036040850152610a57565b0390a1565b908160209103126100ed575180151581036100ed5790565b6040513d6000823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001680156108ba5732331480156108bf575b6108ba577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90803314908115610814575b5061081157503390565b90565b6040517f019a202800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201523360248201523060448201529150602090829060649082905afa9081156108b557600091610886575b5038610807565b6108a8915060203d6020116108ae575b6108a08183610480565b810190610765565b3861087f565b503d610896565b61077d565b503390565b50601836106107d0565b5473ffffffffffffffffffffffffffffffffffffffff918216911681036108ed5750565b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b6003111561092457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9080602083519182815201916020808360051b8301019401926000915b83831061097f57505050505090565b90919293947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08282030183528551606082019073ffffffffffffffffffffffffffffffffffffffff8151168352602081015190600382101561092457604060809160209384870152015193606060408201528451809452019201906000905b808210610a1d5750505060208060019297019301930191939290610970565b9091926020806001927fffffffff0000000000000000000000000000000000000000000000000000000087511681520194019201906109fe565b919082519283825260005b848110610aa15750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b80602080928401015182828601015201610a62565b8051821015610aca5760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b81610b0691939293610baa565b80519060005b828110610b67575050507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb673906020610b4f60405192606084526060840190610953565b600082840152600083820391826040860152520190a1565b80610ba473ffffffffffffffffffffffffffffffffffffffff610b8c60019486610ab6565b5151166020610b9b8487610ab6565b51015190610dc8565b01610b0c565b6001810190610bc5610bbe835461ffff1690565b61ffff1690565b918260009460078516610d42575b80516000915b818310610c4d575050508303610c1b575b5060078216610bf857505050565b6002610c07610c189360031c90565b910190600052602052604060002090565b55565b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff841617905538610bea565b909195610c5a8783610ab6565b519060408201515115610cdb576020820151610c758161091a565b610c7e8161091a565b80610c9e575090600198610c9292886116ea565b9790965b019190610bd9565b80610cae6001929a94939a61091a565b03610cc55790610cc060019288611473565b610c96565b600198610cd3929888610f1e565b979096610c96565b610d3e610cfc835173ffffffffffffffffffffffffffffffffffffffff1690565b7fb39ad1bb0000000000000000000000000000000000000000000000000000000060005273ffffffffffffffffffffffffffffffffffffffff16600452602490565b6000fd5b9450610d64610d518560031c90565b6002850190600052602052604060002090565b5494610bd3565b3d15610d96573d90610d7c8261060e565b91610d8a6040519384610480565b82523d6000602084013e565b606090565b60409073ffffffffffffffffffffffffffffffffffffffff61081194931681528160208201520190610a57565b9073ffffffffffffffffffffffffffffffffffffffff821680610e195750905051610def57565b7fe694fd800000000000000000000000000000000000000000000000000000000060005260046000fd5b815115610eda573003610e90575b600080825160208401855af490610e3c610d6b565b9115610e4757505050565b8151928315610e57575050602001fd5b610e8c6040519283927fe83ddca500000000000000000000000000000000000000000000000000000000845260048401610d9b565b0390fd5b813b610e27577fdf3b7fa90000000000000000000000000000000000000000000000000000000060005273ffffffffffffffffffffffffffffffffffffffff821660045260246000fd5b7ff2a214000000000000000000000000000000000000000000000000000000000060005273ffffffffffffffffffffffffffffffffffffffff831660045260246000fd5b9091610f3e845173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff811661143057506007610f668460031c90565b9316946000935b6040860151805186101561141957610f8886610fae92610ab6565b517fffffffff000000000000000000000000000000000000000000000000000000001690565b92610fe58486907fffffffff0000000000000000000000000000000000000000000000000000000016600052602052604060002090565b549761106b61105261104c611026888a907fffffffff0000000000000000000000000000000000000000000000000000000016600052602052604060002090565b547fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001690565b60601c90565b73ffffffffffffffffffffffffffffffffffffffff1690565b156113c957306110b061105261104c611026898b907fffffffff0000000000000000000000000000000000000000000000000000000016600052602052604060002090565b14611379578161134b5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01936110f6856002860190600052602052604060002090565b54926007975b60006111b86111358761110f8d60051b90565b1b7fffffffff000000000000000000000000000000000000000000000000000000001690565b937fffffffff00000000000000000000000000000000000000000000000000000000851694897fffffffff000000000000000000000000000000000000000000000000000000008316870361129c575b9050907fffffffff0000000000000000000000000000000000000000000000000000000016600052602052604060002090565b556111d460076111cc61ffff841660031c90565b921660051b90565b81881461126957906112339160028801937fffffffff0000000000000000000000000000000000000000000000000000000061121a848790600052602052604060002090565b5491831c921c1916179290600052602052604060002090565b555b8615611245575b60010193610f6d565b91506000611260856002860190600052602052604060002090565b5560009161123c565b9294917fffffffff000000000000000000000000000000000000000000000000000000009150831c921c19161791611235565b6113006112db6110268461134394907fffffffff0000000000000000000000000000000000000000000000000000000016600052602052604060002090565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001690565b6bffffffffffffffffffffffff871617918b907fffffffff0000000000000000000000000000000000000000000000000000000016600052602052604060002090565b553889611185565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01979195909390916110fc565b7fc792bbba000000000000000000000000000000000000000000000000000000006000527fffffffff00000000000000000000000000000000000000000000000000000000851660045260246000fd5b7f5416eb98000000000000000000000000000000000000000000000000000000006000527fffffffff00000000000000000000000000000000000000000000000000000000851660045260246000fd5b5091959350935061142b915060031b90565b179190565b7f91a5e1a30000000000000000000000000000000000000000000000000000000060005273ffffffffffffffffffffffffffffffffffffffff1660045260246000fd5b815173ffffffffffffffffffffffffffffffffffffffff1691823b156116a657604001908151519160009073ffffffffffffffffffffffffffffffffffffffff8516907fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008660601b16925b8581106114ee5750505050505050565b6114fc610f88828451610ab6565b6115328187907fffffffff0000000000000000000000000000000000000000000000000000000016600052602052604060002090565b548060601c80156116565730811461160657851461159c5790611595866bffffffffffffffffffffffff6001959416179188907fffffffff0000000000000000000000000000000000000000000000000000000016600052602052604060002090565b55016114de565b7f73d5d7970000000000000000000000000000000000000000000000000000000060005273ffffffffffffffffffffffffffffffffffffffff89166004527fffffffff00000000000000000000000000000000000000000000000000000000821660245260446000fd5b7fc792bbba000000000000000000000000000000000000000000000000000000006000527fffffffff00000000000000000000000000000000000000000000000000000000831660045260246000fd5b7f5416eb98000000000000000000000000000000000000000000000000000000006000527fffffffff00000000000000000000000000000000000000000000000000000000831660045260246000fd5b7f32185e020000000000000000000000000000000000000000000000000000000060005273ffffffffffffffffffffffffffffffffffffffff831660045260246000fd5b8351929493919273ffffffffffffffffffffffffffffffffffffffff16308114158061197a575b6119375750906040810191825151906000935b8285106117345750505050509190565b9091929394611747610f88878451610ab6565b9761178461104c6110268b87907fffffffff0000000000000000000000000000000000000000000000000000000016600052602052604060002090565b73ffffffffffffffffffffffffffffffffffffffff81166118ce575060e090827fffffffffffffffffffffffffffffffffffffffff00000000000000000000000061180e6117e68a5173ffffffffffffffffffffffffffffffffffffffff1690565b60601b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001690565b16176118468b87907fffffffff0000000000000000000000000000000000000000000000000000000016600052602052604060002090565b557fffffffff000000000000000000000000000000000000000000000000000000006118756007851660051b90565b9a168a1c907fffffffff000000000000000000000000000000000000000000000000000000008b1c19161798146118b7575b6001809101950193929190611724565b966118c5610d518960031c90565b556000966118a7565b7fbe33d1360000000000000000000000000000000000000000000000000000000060005273ffffffffffffffffffffffffffffffffffffffff166004527fffffffff00000000000000000000000000000000000000000000000000000000891660245260446000fd5b7f32185e020000000000000000000000000000000000000000000000000000000060005273ffffffffffffffffffffffffffffffffffffffff1660045260246000fd5b50803b1561171156fea264697066735822122031622bfe0380e62812491a937d3f47f8ff2f78cd3f6b17aa78e489d6efa7e49464736f6c634300081e0033",
  "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c80631f931c1c1461004757806395bce666146100425763b2afc5b51461003d57600080fd5b61028b565b610167565b346100ed5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ed5760043567ffffffffffffffff81116100ed576100969036906004016100f2565b61009e610123565b916044359267ffffffffffffffff84116100ed57366023850112156100ed5783600401359267ffffffffffffffff84116100ed5736602485870101116100ed5760246100eb95019261067f565b005b600080fd5b9181601f840112156100ed5782359167ffffffffffffffff83116100ed576020808501948460051b0101116100ed57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100ed57565b359073ffffffffffffffffffffffffffffffffffffffff821682036100ed57565b346100ed5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ed576101c87fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036101c2610789565b906108c9565b7fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d6020527fa97fd99fc2a6dc4003b726ec29f9c219e331fc037417240f076ebbefa713ce97805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681179092557fb2afc5b5000000000000000000000000000000000000000000000000000000006000527f468a201417dcc5a2c1967626f0705f2af2d7250be82f5af6c5ba8215df80ac7280549091169091179055005b346100ed5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ed5760043567ffffffffffffffff81116100ed576102da9036906004016100f2565b906024359167ffffffffffffffff83116100ed576102ff6103579336906004016100f2565b93909261032e7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036101c2610789565b7f65d27473a5b05206737961f69a3b7a55316862d7a6ef82b3f5455fe92fab43e29236916104d9565b90610361846104c1565b9261036f6040519485610480565b848452602084019460051b8101903682116100ed5780955b828710610399576100eb868686610af9565b863567ffffffffffffffff81116100ed578201906040823603126100ed57604051916103c483610443565b6103cd81610146565b835260208101359067ffffffffffffffff82116100ed57019036601f830112156100ed57602092610405849336908581359101610648565b83820152815201960195610387565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761045f57604052565b610414565b6060810190811067ffffffffffffffff82111761045f57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761045f57604052565b67ffffffffffffffff811161045f5760051b60200190565b929190926104e6846104c1565b936104f46040519586610480565b602085828152019060051b8201918383116100ed5780915b83831061051a575050505050565b823567ffffffffffffffff81116100ed5782016060818703126100ed576040519061054482610464565b61054d81610146565b8252602081013560038110156100ed57602083015260408101359067ffffffffffffffff82116100ed570186601f820112156100ed57803561058e816104c1565b9161059c6040519384610480565b81835260208084019260051b820101908982116100ed57602001915b8183106105d557505050604082015281526020928301920161050c565b82357fffffffff00000000000000000000000000000000000000000000000000000000811681036100ed578152602092830192016105b8565b67ffffffffffffffff811161045f57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926106548261060e565b916106626040519384610480565b8294818452818301116100ed578281602093846000960137010152565b91610760916107197f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb6739661071361070961074c98976106e07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036101c2610789565b7f65d27473a5b05206737961f69a3b7a55316862d7a6ef82b3f5455fe92fab43e29536916104d9565b9687923691610648565b92610baa565b6107238183610dc8565b73ffffffffffffffffffffffffffffffffffffffff604051958695606087526060870190610953565b921660208501528382036040850152610a57565b0390a1565b908160209103126100ed575180151581036100ed5790565b6040513d6000823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001680156108ba5732331480156108bf575b6108ba577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90803314908115610814575b5061081157503390565b90565b6040517f019a202800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201523360248201523060448201529150602090829060649082905afa9081156108b557600091610886575b5038610807565b6108a8915060203d6020116108ae575b6108a08183610480565b810190610765565b3861087f565b503d610896565b61077d565b503390565b50601836106107d0565b5473ffffffffffffffffffffffffffffffffffffffff918216911681036108ed5750565b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b6003111561092457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9080602083519182815201916020808360051b8301019401926000915b83831061097f57505050505090565b90919293947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08282030183528551606082019073ffffffffffffffffffffffffffffffffffffffff8151168352602081015190600382101561092457604060809160209384870152015193606060408201528451809452019201906000905b808210610a1d5750505060208060019297019301930191939290610970565b9091926020806001927fffffffff0000000000000000000000000000000000000000000000000000000087511681520194019201906109fe565b919082519283825260005b848110610aa15750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b80602080928401015182828601015201610a62565b8051821015610aca5760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b81610b0691939293610baa565b80519060005b828110610b67575050507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb673906020610b4f60405192606084526060840190610953565b600082840152600083820391826040860152520190a1565b80610ba473ffffffffffffffffffffffffffffffffffffffff610b8c60019486610ab6565b5151166020610b9b8487610ab6565b51015190610dc8565b01610b0c565b6001810190610bc5610bbe835461ffff1690565b61ffff1690565b918260009460078516610d42575b80516000915b818310610c4d575050508303610c1b575b5060078216610bf857505050565b6002610c07610c189360031c90565b910190600052602052604060002090565b55565b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff841617905538610bea565b909195610c5a8783610ab6565b519060408201515115610cdb576020820151610c758161091a565b610c7e8161091a565b80610c9e575090600198610c9292886116ea565b9790965b019190610bd9565b80610cae6001929a94939a61091a565b03610cc55790610cc060019288611473565b610c96565b600198610cd3929888610f1e565b979096610c96565b610d3e610cfc835173ffffffffffffffffffffffffffffffffffffffff1690565b7fb39ad1bb0000000000000000000000000000000000000000000000000000000060005273ffffffffffffffffffffffffffffffffffffffff16600452602490565b6000fd5b9450610d64610d518560031c90565b6002850190600052602052604060002090565b5494610bd3565b3d15610d96573d90610d7c8261060e565b91610d8a6040519384610480565b82523d6000602084013e565b606090565b60409073ffffffffffffffffffffffffffffffffffffffff61081194931681528160208201520190610a57565b9073ffffffffffffffffffffffffffffffffffffffff821680610e195750905051610def57565b7fe694fd800000000000000000000000000000000000000000000000000000000060005260046000fd5b815115610eda573003610e90575b600080825160208401855af490610e3c610d6b565b9115610e4757505050565b8151928315610e57575050602001fd5b610e8c6040519283927fe83ddca500000000000000000000000000000000000000000000000000000000845260048401610d9b565b0390fd5b813b610e27577fdf3b7fa90000000000000000000000000000000000000000000000000000000060005273ffffffffffffffffffffffffffffffffffffffff821660045260246000fd5b7ff2a214000000000000000000000000000000000000000000000000000000000060005273ffffffffffffffffffffffffffffffffffffffff831660045260246000fd5b9091610f3e845173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff811661143057506007610f668460031c90565b9316946000935b6040860151805186101561141957610f8886610fae92610ab6565b517fffffffff000000000000000000000000000000000000000000000000000000001690565b92610fe58486907fffffffff0000000000000000000000000000000000000000000000000000000016600052602052604060002090565b549761106b61105261104c611026888a907fffffffff0000000000000000000000000000000000000000000000000000000016600052602052604060002090565b547fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001690565b60601c90565b73ffffffffffffffffffffffffffffffffffffffff1690565b156113c957306110b061105261104c611026898b907fffffffff0000000000000000000000000000000000000000000000000000000016600052602052604060002090565b14611379578161134b5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01936110f6856002860190600052602052604060002090565b54926007975b60006111b86111358761110f8d60051b90565b1b7fffffffff000000000000000000000000000000000000000000000000000000001690565b937fffffffff00000000000000000000000000000000000000000000000000000000851694897fffffffff000000000000000000000000000000000000000000000000000000008316870361129c575b9050907fffffffff0000000000000000000000000000000000000000000000000000000016600052602052604060002090565b556111d460076111cc61ffff841660031c90565b921660051b90565b81881461126957906112339160028801937fffffffff0000000000000000000000000000000000000000000000000000000061121a848790600052602052604060002090565b5491831c921c1916179290600052602052604060002090565b555b8615611245575b60010193610f6d565b91506000611260856002860190600052602052604060002090565b5560009161123c565b9294917fffffffff000000000000000000000000000000000000000000000000000000009150831c921c19161791611235565b6113006112db6110268461134394907fffffffff0000000000000000000000000000000000000000000000000000000016600052602052604060002090565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001690565b6bffffffffffffffffffffffff871617918b907fffffffff0000000000000000000000000000000000000000000000000000000016600052602052604060002090565b553889611185565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01979195909390916110fc565b7fc792bbba000000000000000000000000000000000000000000000000000000006000527fffffffff00000000000000000000000000000000000000000000000000000000851660045260246000fd5b7f5416eb98000000000000000000000000000000000000000000000000000000006000527fffffffff00000000000000000000000000000000000000000000000000000000851660045260246000fd5b5091959350935061142b915060031b90565b179190565b7f91a5e1a30000000000000000000000000000000000000000000000000000000060005273ffffffffffffffffffffffffffffffffffffffff1660045260246000fd5b815173ffffffffffffffffffffffffffffffffffffffff1691823b156116a657604001908151519160009073ffffffffffffffffffffffffffffffffffffffff8516907fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008660601b16925b8581106114ee5750505050505050565b6114fc610f88828451610ab6565b6115328187907fffffffff0000000000000000000000000000000000000000000000000000000016600052602052604060002090565b548060601c80156116565730811461160657851461159c5790611595866bffffffffffffffffffffffff6001959416179188907fffffffff0000000000000000000000000000000000000000000000000000000016600052602052604060002090565b55016114de565b7f73d5d7970000000000000000000000000000000000000000000000000000000060005273ffffffffffffffffffffffffffffffffffffffff89166004527fffffffff00000000000000000000000000000000000000000000000000000000821660245260446000fd5b7fc792bbba000000000000000000000000000000000000000000000000000000006000527fffffffff00000000000000000000000000000000000000000000000000000000831660045260246000fd5b7f5416eb98000000000000000000000000000000000000000000000000000000006000527fffffffff00000000000000000000000000000000000000000000000000000000831660045260246000fd5b7f32185e020000000000000000000000000000000000000000000000000000000060005273ffffffffffffffffffffffffffffffffffffffff831660045260246000fd5b8351929493919273ffffffffffffffffffffffffffffffffffffffff16308114158061197a575b6119375750906040810191825151906000935b8285106117345750505050509190565b9091929394611747610f88878451610ab6565b9761178461104c6110268b87907fffffffff0000000000000000000000000000000000000000000000000000000016600052602052604060002090565b73ffffffffffffffffffffffffffffffffffffffff81166118ce575060e090827fffffffffffffffffffffffffffffffffffffffff00000000000000000000000061180e6117e68a5173ffffffffffffffffffffffffffffffffffffffff1690565b60601b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001690565b16176118468b87907fffffffff0000000000000000000000000000000000000000000000000000000016600052602052604060002090565b557fffffffff000000000000000000000000000000000000000000000000000000006118756007851660051b90565b9a168a1c907fffffffff000000000000000000000000000000000000000000000000000000008b1c19161798146118b7575b6001809101950193929190611724565b966118c5610d518960031c90565b556000966118a7565b7fbe33d1360000000000000000000000000000000000000000000000000000000060005273ffffffffffffffffffffffffffffffffffffffff166004527fffffffff00000000000000000000000000000000000000000000000000000000891660245260446000fd5b7f32185e020000000000000000000000000000000000000000000000000000000060005273ffffffffffffffffffffffffffffffffffffffff1660045260246000fd5b50803b1561171156fea264697066735822122031622bfe0380e62812491a937d3f47f8ff2f78cd3f6b17aa78e489d6efa7e49464736f6c634300081e0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
