{
  "_format": "hh-sol-artifact-1",
  "contractName": "TestERC721",
  "sourceName": "contracts/test/L1ERC721Bridge.t.sol",
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "approved",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "Approval",
      "type": "event"
    },
    {
      "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": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "getApproved",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "operator",
          "type": "address"
        }
      ],
      "name": "isApprovedForAll",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "mint",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "ownerOf",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "safeTransferFrom",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokenId",
          "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"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "interfaceId",
          "type": "bytes4"
        }
      ],
      "name": "supportsInterface",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "symbol",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "tokenURI",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "transferFrom",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60806040523480156200001157600080fd5b506040518060400160405280600481526020016315195cdd60e21b815250604051806040016040528060038152602001621514d560ea1b81525081600090816200005c919062000119565b5060016200006b828262000119565b505050620001e5565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200009f57607f821691505b602082108103620000c057634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200011457600081815260208120601f850160051c81016020861015620000ef5750805b601f850160051c820191505b818110156200011057828155600101620000fb565b5050505b505050565b81516001600160401b0381111562000135576200013562000074565b6200014d816200014684546200008a565b84620000c6565b602080601f8311600181146200018557600084156200016c5750858301515b600019600386901b1c1916600185901b17855562000110565b600085815260208120601f198616915b82811015620001b65788860151825594840194600190910190840162000195565b5085821015620001d55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61195580620001f56000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101ee578063b88d4fde14610201578063c87b56dd14610214578063e985e9c51461022757600080fd5b80636352211e146101b257806370a08231146101c557806395d89b41146101e657600080fd5b8063095ea7b3116100c8578063095ea7b31461016457806323b872dd1461017957806340c10f191461018c57806342842e0e1461019f57600080fd5b806301ffc9a7146100ef57806306fdde0314610117578063081812fc1461012c575b600080fd5b6101026100fd366004611443565b610270565b60405190151581526020015b60405180910390f35b61011f610355565b60405161010e91906114d6565b61013f61013a3660046114e9565b6103e7565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010e565b61017761017236600461152b565b61041b565b005b610177610187366004611555565b6105ac565b61017761019a36600461152b565b61064d565b6101776101ad366004611555565b61065b565b61013f6101c03660046114e9565b610676565b6101d86101d3366004611591565b610702565b60405190815260200161010e565b61011f6107d0565b6101776101fc3660046115ac565b6107df565b61017761020f366004611617565b6107ea565b61011f6102223660046114e9565b610892565b610102610235366004611711565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061030357507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061034f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60606000805461036490611744565b80601f016020809104026020016040519081016040528092919081815260200182805461039090611744565b80156103dd5780601f106103b2576101008083540402835291602001916103dd565b820191906000526020600020905b8154815290600101906020018083116103c057829003601f168201915b5050505050905090565b60006103f282610906565b5060009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061042682610676565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036104e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061051157506105118133610235565b61059d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c000060648201526084016104df565b6105a78383610994565b505050565b6105b63382610a34565b610642576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206e6f7220617070726f76656400000000000000000000000000000000000060648201526084016104df565b6105a7838383610af4565b6106578282610d5b565b5050565b6105a7838383604051806020016040528060008152506107ea565b60008181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff168061034f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016104df565b600073ffffffffffffffffffffffffffffffffffffffff82166107a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016104df565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b60606001805461036490611744565b610657338383610f1d565b6107f43383610a34565b610880576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206e6f7220617070726f76656400000000000000000000000000000000000060648201526084016104df565b61088c8484848461104a565b50505050565b606061089d82610906565b60006108b460408051602081019091526000815290565b905060008151116108d457604051806020016040528060008152506108ff565b806108de846110ed565b6040516020016108ef929190611797565b6040516020818303038152906040525b9392505050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16610991576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016104df565b50565b600081815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906109ee82610676565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610a4083610676565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610aae575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b80610aec57508373ffffffffffffffffffffffffffffffffffffffff16610ad4846103e7565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16610b1482610676565b73ffffffffffffffffffffffffffffffffffffffff1614610bb7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016104df565b73ffffffffffffffffffffffffffffffffffffffff8216610c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016104df565b610c64600082610994565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600360205260408120805460019290610c9a9084906117f5565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000908152600360205260408120805460019290610cd590849061180c565b909155505060008181526002602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff86811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b73ffffffffffffffffffffffffffffffffffffffff8216610dd8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016104df565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615610e64576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104df565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600360205260408120805460019290610e9a90849061180c565b909155505060008181526002602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016104df565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611055848484610af4565b61106184848484611222565b61088c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b60608160000361113057505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b811561115a578061114481611824565b91506111539050600a8361188b565b9150611134565b60008167ffffffffffffffff811115611175576111756115e8565b6040519080825280601f01601f19166020018201604052801561119f576020820181803683370190505b5090505b8415610aec576111b46001836117f5565b91506111c1600a8661189f565b6111cc90603061180c565b60f81b8183815181106111e1576111e16118b3565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061121b600a8661188b565b94506111a3565b600073ffffffffffffffffffffffffffffffffffffffff84163b1561140a576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906112999033908990889088906004016118e2565b6020604051808303816000875af19250505080156112f2575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526112ef9181019061192b565b60015b6113bf573d808015611320576040519150601f19603f3d011682016040523d82523d6000602084013e611325565b606091505b5080516000036113b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610aec565b506001949350505050565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461099157600080fd5b60006020828403121561145557600080fd5b81356108ff81611415565b60005b8381101561147b578181015183820152602001611463565b8381111561088c5750506000910152565b600081518084526114a4816020860160208601611460565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006108ff602083018461148c565b6000602082840312156114fb57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461152657600080fd5b919050565b6000806040838503121561153e57600080fd5b61154783611502565b946020939093013593505050565b60008060006060848603121561156a57600080fd5b61157384611502565b925061158160208501611502565b9150604084013590509250925092565b6000602082840312156115a357600080fd5b6108ff82611502565b600080604083850312156115bf57600080fd5b6115c883611502565b9150602083013580151581146115dd57600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561162d57600080fd5b61163685611502565b935061164460208601611502565b925060408501359150606085013567ffffffffffffffff8082111561166857600080fd5b818701915087601f83011261167c57600080fd5b81358181111561168e5761168e6115e8565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156116d4576116d46115e8565b816040528281528a60208487010111156116ed57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561172457600080fd5b61172d83611502565b915061173b60208401611502565b90509250929050565b600181811c9082168061175857607f821691505b602082108103611791577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600083516117a9818460208801611460565b8351908301906117bd818360208801611460565b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015611807576118076117c6565b500390565b6000821982111561181f5761181f6117c6565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611855576118556117c6565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261189a5761189a61185c565b500490565b6000826118ae576118ae61185c565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152611921608083018461148c565b9695505050505050565b60006020828403121561193d57600080fd5b81516108ff8161141556fea164736f6c634300080f000a",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101ee578063b88d4fde14610201578063c87b56dd14610214578063e985e9c51461022757600080fd5b80636352211e146101b257806370a08231146101c557806395d89b41146101e657600080fd5b8063095ea7b3116100c8578063095ea7b31461016457806323b872dd1461017957806340c10f191461018c57806342842e0e1461019f57600080fd5b806301ffc9a7146100ef57806306fdde0314610117578063081812fc1461012c575b600080fd5b6101026100fd366004611443565b610270565b60405190151581526020015b60405180910390f35b61011f610355565b60405161010e91906114d6565b61013f61013a3660046114e9565b6103e7565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010e565b61017761017236600461152b565b61041b565b005b610177610187366004611555565b6105ac565b61017761019a36600461152b565b61064d565b6101776101ad366004611555565b61065b565b61013f6101c03660046114e9565b610676565b6101d86101d3366004611591565b610702565b60405190815260200161010e565b61011f6107d0565b6101776101fc3660046115ac565b6107df565b61017761020f366004611617565b6107ea565b61011f6102223660046114e9565b610892565b610102610235366004611711565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061030357507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061034f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60606000805461036490611744565b80601f016020809104026020016040519081016040528092919081815260200182805461039090611744565b80156103dd5780601f106103b2576101008083540402835291602001916103dd565b820191906000526020600020905b8154815290600101906020018083116103c057829003601f168201915b5050505050905090565b60006103f282610906565b5060009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061042682610676565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036104e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061051157506105118133610235565b61059d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c000060648201526084016104df565b6105a78383610994565b505050565b6105b63382610a34565b610642576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206e6f7220617070726f76656400000000000000000000000000000000000060648201526084016104df565b6105a7838383610af4565b6106578282610d5b565b5050565b6105a7838383604051806020016040528060008152506107ea565b60008181526002602052604081205473ffffffffffffffffffffffffffffffffffffffff168061034f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016104df565b600073ffffffffffffffffffffffffffffffffffffffff82166107a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016104df565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b60606001805461036490611744565b610657338383610f1d565b6107f43383610a34565b610880576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206e6f7220617070726f76656400000000000000000000000000000000000060648201526084016104df565b61088c8484848461104a565b50505050565b606061089d82610906565b60006108b460408051602081019091526000815290565b905060008151116108d457604051806020016040528060008152506108ff565b806108de846110ed565b6040516020016108ef929190611797565b6040516020818303038152906040525b9392505050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16610991576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016104df565b50565b600081815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906109ee82610676565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610a4083610676565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610aae575073ffffffffffffffffffffffffffffffffffffffff80821660009081526005602090815260408083209388168352929052205460ff165b80610aec57508373ffffffffffffffffffffffffffffffffffffffff16610ad4846103e7565b73ffffffffffffffffffffffffffffffffffffffff16145b949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16610b1482610676565b73ffffffffffffffffffffffffffffffffffffffff1614610bb7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016104df565b73ffffffffffffffffffffffffffffffffffffffff8216610c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016104df565b610c64600082610994565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600360205260408120805460019290610c9a9084906117f5565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000908152600360205260408120805460019290610cd590849061180c565b909155505060008181526002602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff86811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b73ffffffffffffffffffffffffffffffffffffffff8216610dd8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016104df565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1615610e64576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104df565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600360205260408120805460019290610e9a90849061180c565b909155505060008181526002602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016104df565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526005602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611055848484610af4565b61106184848484611222565b61088c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b60608160000361113057505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b811561115a578061114481611824565b91506111539050600a8361188b565b9150611134565b60008167ffffffffffffffff811115611175576111756115e8565b6040519080825280601f01601f19166020018201604052801561119f576020820181803683370190505b5090505b8415610aec576111b46001836117f5565b91506111c1600a8661189f565b6111cc90603061180c565b60f81b8183815181106111e1576111e16118b3565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061121b600a8661188b565b94506111a3565b600073ffffffffffffffffffffffffffffffffffffffff84163b1561140a576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906112999033908990889088906004016118e2565b6020604051808303816000875af19250505080156112f2575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526112ef9181019061192b565b60015b6113bf573d808015611320576040519150601f19603f3d011682016040523d82523d6000602084013e611325565b606091505b5080516000036113b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016104df565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610aec565b506001949350505050565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461099157600080fd5b60006020828403121561145557600080fd5b81356108ff81611415565b60005b8381101561147b578181015183820152602001611463565b8381111561088c5750506000910152565b600081518084526114a4816020860160208601611460565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006108ff602083018461148c565b6000602082840312156114fb57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461152657600080fd5b919050565b6000806040838503121561153e57600080fd5b61154783611502565b946020939093013593505050565b60008060006060848603121561156a57600080fd5b61157384611502565b925061158160208501611502565b9150604084013590509250925092565b6000602082840312156115a357600080fd5b6108ff82611502565b600080604083850312156115bf57600080fd5b6115c883611502565b9150602083013580151581146115dd57600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806080858703121561162d57600080fd5b61163685611502565b935061164460208601611502565b925060408501359150606085013567ffffffffffffffff8082111561166857600080fd5b818701915087601f83011261167c57600080fd5b81358181111561168e5761168e6115e8565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156116d4576116d46115e8565b816040528281528a60208487010111156116ed57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561172457600080fd5b61172d83611502565b915061173b60208401611502565b90509250929050565b600181811c9082168061175857607f821691505b602082108103611791577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600083516117a9818460208801611460565b8351908301906117bd818360208801611460565b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015611807576118076117c6565b500390565b6000821982111561181f5761181f6117c6565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611855576118556117c6565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261189a5761189a61185c565b500490565b6000826118ae576118ae61185c565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152611921608083018461148c565b9695505050505050565b60006020828403121561193d57600080fd5b81516108ff8161141556fea164736f6c634300080f000a",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
