@zoralabs/openzeppelin-contracts-upgradeable
Version:
Secure Smart Contract library for Solidity
265 lines (264 loc) • 26.9 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "RefundEscrowUpgradeable",
"sourceName": "contracts/utils/escrow/RefundEscrowUpgradeable.sol",
"abi": [
{
"inputs": [],
"name": "ADDRESS_INSUFFICIENT_BALANCE",
"type": "error"
},
{
"inputs": [],
"name": "ADDRESS_UNABLE_TO_SEND_VALUE",
"type": "error"
},
{
"inputs": [],
"name": "INITIALIZABLE_CONTRACT_ALREADY_INITIALIZED",
"type": "error"
},
{
"inputs": [],
"name": "INITIALIZABLE_CONTRACT_IS_NOT_INITIALIZING",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "payee",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "weiAmount",
"type": "uint256"
}
],
"name": "Deposited",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint8",
"name": "version",
"type": "uint8"
}
],
"name": "Initialized",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [],
"name": "RefundsClosed",
"type": "event"
},
{
"anonymous": false,
"inputs": [],
"name": "RefundsEnabled",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "payee",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "weiAmount",
"type": "uint256"
}
],
"name": "Withdrawn",
"type": "event"
},
{
"inputs": [],
"name": "beneficiary",
"outputs": [
{
"internalType": "address payable",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "beneficiaryWithdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "close",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "refundee",
"type": "address"
}
],
"name": "deposit",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "payee",
"type": "address"
}
],
"name": "depositsOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "enableRefunds",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "state",
"outputs": [
{
"internalType": "enum RefundEscrowUpgradeable.State",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address payable",
"name": "payee",
"type": "address"
}
],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "withdrawalAllowed",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b506114d5806100206000396000f3fe6080604052600436106100d25760003560e01c80638c52dc411161007f578063c19d93fb11610059578063c19d93fb14610206578063e3a9db1a14610231578063f2fde38b1461026e578063f340fa0114610297576100d2565b80638c52dc41146101ad5780638da5cb5b146101c45780639af6549a146101ef576100d2565b8063685ca194116100b0578063685ca19414610142578063715018a61461017f5780638129fc1c14610196576100d2565b806338af3eed146100d757806343d726d61461010257806351cff8d914610119575b600080fd5b3480156100e357600080fd5b506100ec6102b3565b6040516100f99190610d74565b60405180910390f35b34801561010e57600080fd5b506101176102dd565b005b34801561012557600080fd5b50610140600480360381019061013b9190610dc0565b6103ac565b005b34801561014e57600080fd5b5061016960048036038101906101649190610e2b565b610400565b6040516101769190610e73565b60405180910390f35b34801561018b57600080fd5b50610194610438565b005b3480156101a257600080fd5b506101ab61044c565b005b3480156101b957600080fd5b506101c2610584565b005b3480156101d057600080fd5b506101d9610653565b6040516101e69190610e9d565b60405180910390f35b3480156101fb57600080fd5b5061020461067d565b005b34801561021257600080fd5b5061021b61071c565b6040516102289190610f2f565b60405180910390f35b34801561023d57600080fd5b5061025860048036038101906102539190610e2b565b610733565b6040516102659190610f63565b60405180910390f35b34801561027a57600080fd5b5061029560048036038101906102909190610e2b565b61077c565b005b6102b160048036038101906102ac9190610e2b565b6107ff565b005b600060c960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6102e5610879565b600060028111156102f9576102f8610eb8565b5b61030161071c565b600281111561031357610312610eb8565b5b14610353576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034a90611001565b60405180910390fd5b600260c960006101000a81548160ff0219169083600281111561037957610378610eb8565b5b02179055507f088672c3a6e342f7cd94a65ba63b79df24a8973927b4d05d803c44bbf787d12f60405160405180910390a1565b6103b581610400565b6103f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103eb90611093565b60405180910390fd5b6103fd816108f7565b50565b60006001600281111561041657610415610eb8565b5b61041e61071c565b60028111156104305761042f610eb8565b5b149050919050565b610440610879565b61044a6000610a03565b565b60008060019054906101000a900460ff1615905080158061047f575060008060009054906101000a900460ff1660ff1614155b80156104ac575061048f30610ac9565b806104ab5750600160008054906101000a900460ff1660ff1614155b5b156104e3576040517f7ab8448200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610520576001600060016101000a81548160ff0219169083151502179055505b610528610aec565b80156105815760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860016040516105789190611105565b60405180910390a15b50565b61058c610879565b600060028111156105a05761059f610eb8565b5b6105a861071c565b60028111156105ba576105b9610eb8565b5b146105fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f190611192565b60405180910390fd5b600160c960006101000a81548160ff021916908360028111156106205761061f610eb8565b5b02179055507f599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b8960405160405180910390a1565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6002808111156106905761068f610eb8565b5b61069861071c565b60028111156106aa576106a9610eb8565b5b146106ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e190611224565b60405180910390fd5b61071a476106f66102b3565b73ffffffffffffffffffffffffffffffffffffffff16610b3c90919063ffffffff16565b565b600060c960009054906101000a900460ff16905090565b6000606560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610784610879565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036107f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ea906112b6565b60405180910390fd5b6107fc81610a03565b50565b6000600281111561081357610812610eb8565b5b61081b61071c565b600281111561082d5761082c610eb8565b5b1461086d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086490611348565b60405180910390fd5b61087681610c1e565b50565b610881610cd3565b73ffffffffffffffffffffffffffffffffffffffff1661089f610653565b73ffffffffffffffffffffffffffffffffffffffff16146108f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ec906113b4565b60405180910390fd5b565b6108ff610879565b6000606560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000606560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109b1818373ffffffffffffffffffffffffffffffffffffffff16610b3c90919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040516109f79190610f63565b60405180910390a25050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff16610b32576040517f96bfb10000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b3a610cdb565b565b80471115610b76576040517f9fbd983c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1682604051610b9c90611405565b60006040518083038185875af1925050503d8060008114610bd9576040519150601f19603f3d011682016040523d82523d6000602084013e610bde565b606091505b5050905080610c19576040517f549b67fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b610c26610879565b600034905080606560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c7a9190611449565b925050819055508173ffffffffffffffffffffffffffffffffffffffff167f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c482604051610cc79190610f63565b60405180910390a25050565b600033905090565b600060019054906101000a900460ff16610d21576040517f96bfb10000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d31610d2c610cd3565b610a03565b565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d5e82610d33565b9050919050565b610d6e81610d53565b82525050565b6000602082019050610d896000830184610d65565b92915050565b600080fd5b610d9d81610d53565b8114610da857600080fd5b50565b600081359050610dba81610d94565b92915050565b600060208284031215610dd657610dd5610d8f565b5b6000610de484828501610dab565b91505092915050565b6000610df882610d33565b9050919050565b610e0881610ded565b8114610e1357600080fd5b50565b600081359050610e2581610dff565b92915050565b600060208284031215610e4157610e40610d8f565b5b6000610e4f84828501610e16565b91505092915050565b60008115159050919050565b610e6d81610e58565b82525050565b6000602082019050610e886000830184610e64565b92915050565b610e9781610ded565b82525050565b6000602082019050610eb26000830184610e8e565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610ef857610ef7610eb8565b5b50565b6000819050610f0982610ee7565b919050565b6000610f1982610efb565b9050919050565b610f2981610f0e565b82525050565b6000602082019050610f446000830184610f20565b92915050565b6000819050919050565b610f5d81610f4a565b82525050565b6000602082019050610f786000830184610f54565b92915050565b600082825260208201905092915050565b7f526566756e64457363726f773a2063616e206f6e6c7920636c6f73652077686960008201527f6c65206163746976650000000000000000000000000000000000000000000000602082015250565b6000610feb602983610f7e565b9150610ff682610f8f565b604082019050919050565b6000602082019050818103600083015261101a81610fde565b9050919050565b7f436f6e646974696f6e616c457363726f773a207061796565206973206e6f742060008201527f616c6c6f77656420746f20776974686472617700000000000000000000000000602082015250565b600061107d603383610f7e565b915061108882611021565b604082019050919050565b600060208201905081810360008301526110ac81611070565b9050919050565b6000819050919050565b600060ff82169050919050565b6000819050919050565b60006110ef6110ea6110e5846110b3565b6110ca565b6110bd565b9050919050565b6110ff816110d4565b82525050565b600060208201905061111a60008301846110f6565b92915050565b7f526566756e64457363726f773a2063616e206f6e6c7920656e61626c6520726560008201527f66756e6473207768696c65206163746976650000000000000000000000000000602082015250565b600061117c603283610f7e565b915061118782611120565b604082019050919050565b600060208201905081810360008301526111ab8161116f565b9050919050565b7f526566756e64457363726f773a2062656e65666963696172792063616e206f6e60008201527f6c79207769746864726177207768696c6520636c6f7365640000000000000000602082015250565b600061120e603883610f7e565b9150611219826111b2565b604082019050919050565b6000602082019050818103600083015261123d81611201565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006112a0602683610f7e565b91506112ab82611244565b604082019050919050565b600060208201905081810360008301526112cf81611293565b9050919050565b7f526566756e64457363726f773a2063616e206f6e6c79206465706f736974207760008201527f68696c6520616374697665000000000000000000000000000000000000000000602082015250565b6000611332602b83610f7e565b915061133d826112d6565b604082019050919050565b6000602082019050818103600083015261136181611325565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061139e602083610f7e565b91506113a982611368565b602082019050919050565b600060208201905081810360008301526113cd81611391565b9050919050565b600081905092915050565b50565b60006113ef6000836113d4565b91506113fa826113df565b600082019050919050565b6000611410826113e2565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061145482610f4a565b915061145f83610f4a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156114945761149361141a565b5b82820190509291505056fea2646970667358221220ed9acdaded6c75418363e7ed1f42861ceeb0a687595594b1f6c567518436125964736f6c634300080d0033",
"deployedBytecode": "0x6080604052600436106100d25760003560e01c80638c52dc411161007f578063c19d93fb11610059578063c19d93fb14610206578063e3a9db1a14610231578063f2fde38b1461026e578063f340fa0114610297576100d2565b80638c52dc41146101ad5780638da5cb5b146101c45780639af6549a146101ef576100d2565b8063685ca194116100b0578063685ca19414610142578063715018a61461017f5780638129fc1c14610196576100d2565b806338af3eed146100d757806343d726d61461010257806351cff8d914610119575b600080fd5b3480156100e357600080fd5b506100ec6102b3565b6040516100f99190610d74565b60405180910390f35b34801561010e57600080fd5b506101176102dd565b005b34801561012557600080fd5b50610140600480360381019061013b9190610dc0565b6103ac565b005b34801561014e57600080fd5b5061016960048036038101906101649190610e2b565b610400565b6040516101769190610e73565b60405180910390f35b34801561018b57600080fd5b50610194610438565b005b3480156101a257600080fd5b506101ab61044c565b005b3480156101b957600080fd5b506101c2610584565b005b3480156101d057600080fd5b506101d9610653565b6040516101e69190610e9d565b60405180910390f35b3480156101fb57600080fd5b5061020461067d565b005b34801561021257600080fd5b5061021b61071c565b6040516102289190610f2f565b60405180910390f35b34801561023d57600080fd5b5061025860048036038101906102539190610e2b565b610733565b6040516102659190610f63565b60405180910390f35b34801561027a57600080fd5b5061029560048036038101906102909190610e2b565b61077c565b005b6102b160048036038101906102ac9190610e2b565b6107ff565b005b600060c960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6102e5610879565b600060028111156102f9576102f8610eb8565b5b61030161071c565b600281111561031357610312610eb8565b5b14610353576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034a90611001565b60405180910390fd5b600260c960006101000a81548160ff0219169083600281111561037957610378610eb8565b5b02179055507f088672c3a6e342f7cd94a65ba63b79df24a8973927b4d05d803c44bbf787d12f60405160405180910390a1565b6103b581610400565b6103f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103eb90611093565b60405180910390fd5b6103fd816108f7565b50565b60006001600281111561041657610415610eb8565b5b61041e61071c565b60028111156104305761042f610eb8565b5b149050919050565b610440610879565b61044a6000610a03565b565b60008060019054906101000a900460ff1615905080158061047f575060008060009054906101000a900460ff1660ff1614155b80156104ac575061048f30610ac9565b806104ab5750600160008054906101000a900460ff1660ff1614155b5b156104e3576040517f7ab8448200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610520576001600060016101000a81548160ff0219169083151502179055505b610528610aec565b80156105815760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860016040516105789190611105565b60405180910390a15b50565b61058c610879565b600060028111156105a05761059f610eb8565b5b6105a861071c565b60028111156105ba576105b9610eb8565b5b146105fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f190611192565b60405180910390fd5b600160c960006101000a81548160ff021916908360028111156106205761061f610eb8565b5b02179055507f599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b8960405160405180910390a1565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6002808111156106905761068f610eb8565b5b61069861071c565b60028111156106aa576106a9610eb8565b5b146106ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e190611224565b60405180910390fd5b61071a476106f66102b3565b73ffffffffffffffffffffffffffffffffffffffff16610b3c90919063ffffffff16565b565b600060c960009054906101000a900460ff16905090565b6000606560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610784610879565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036107f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ea906112b6565b60405180910390fd5b6107fc81610a03565b50565b6000600281111561081357610812610eb8565b5b61081b61071c565b600281111561082d5761082c610eb8565b5b1461086d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086490611348565b60405180910390fd5b61087681610c1e565b50565b610881610cd3565b73ffffffffffffffffffffffffffffffffffffffff1661089f610653565b73ffffffffffffffffffffffffffffffffffffffff16146108f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ec906113b4565b60405180910390fd5b565b6108ff610879565b6000606560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000606560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109b1818373ffffffffffffffffffffffffffffffffffffffff16610b3c90919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040516109f79190610f63565b60405180910390a25050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff16610b32576040517f96bfb10000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b3a610cdb565b565b80471115610b76576040517f9fbd983c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1682604051610b9c90611405565b60006040518083038185875af1925050503d8060008114610bd9576040519150601f19603f3d011682016040523d82523d6000602084013e610bde565b606091505b5050905080610c19576040517f549b67fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b610c26610879565b600034905080606560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c7a9190611449565b925050819055508173ffffffffffffffffffffffffffffffffffffffff167f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c482604051610cc79190610f63565b60405180910390a25050565b600033905090565b600060019054906101000a900460ff16610d21576040517f96bfb10000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d31610d2c610cd3565b610a03565b565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d5e82610d33565b9050919050565b610d6e81610d53565b82525050565b6000602082019050610d896000830184610d65565b92915050565b600080fd5b610d9d81610d53565b8114610da857600080fd5b50565b600081359050610dba81610d94565b92915050565b600060208284031215610dd657610dd5610d8f565b5b6000610de484828501610dab565b91505092915050565b6000610df882610d33565b9050919050565b610e0881610ded565b8114610e1357600080fd5b50565b600081359050610e2581610dff565b92915050565b600060208284031215610e4157610e40610d8f565b5b6000610e4f84828501610e16565b91505092915050565b60008115159050919050565b610e6d81610e58565b82525050565b6000602082019050610e886000830184610e64565b92915050565b610e9781610ded565b82525050565b6000602082019050610eb26000830184610e8e565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610ef857610ef7610eb8565b5b50565b6000819050610f0982610ee7565b919050565b6000610f1982610efb565b9050919050565b610f2981610f0e565b82525050565b6000602082019050610f446000830184610f20565b92915050565b6000819050919050565b610f5d81610f4a565b82525050565b6000602082019050610f786000830184610f54565b92915050565b600082825260208201905092915050565b7f526566756e64457363726f773a2063616e206f6e6c7920636c6f73652077686960008201527f6c65206163746976650000000000000000000000000000000000000000000000602082015250565b6000610feb602983610f7e565b9150610ff682610f8f565b604082019050919050565b6000602082019050818103600083015261101a81610fde565b9050919050565b7f436f6e646974696f6e616c457363726f773a207061796565206973206e6f742060008201527f616c6c6f77656420746f20776974686472617700000000000000000000000000602082015250565b600061107d603383610f7e565b915061108882611021565b604082019050919050565b600060208201905081810360008301526110ac81611070565b9050919050565b6000819050919050565b600060ff82169050919050565b6000819050919050565b60006110ef6110ea6110e5846110b3565b6110ca565b6110bd565b9050919050565b6110ff816110d4565b82525050565b600060208201905061111a60008301846110f6565b92915050565b7f526566756e64457363726f773a2063616e206f6e6c7920656e61626c6520726560008201527f66756e6473207768696c65206163746976650000000000000000000000000000602082015250565b600061117c603283610f7e565b915061118782611120565b604082019050919050565b600060208201905081810360008301526111ab8161116f565b9050919050565b7f526566756e64457363726f773a2062656e65666963696172792063616e206f6e60008201527f6c79207769746864726177207768696c6520636c6f7365640000000000000000602082015250565b600061120e603883610f7e565b9150611219826111b2565b604082019050919050565b6000602082019050818103600083015261123d81611201565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006112a0602683610f7e565b91506112ab82611244565b604082019050919050565b600060208201905081810360008301526112cf81611293565b9050919050565b7f526566756e64457363726f773a2063616e206f6e6c79206465706f736974207760008201527f68696c6520616374697665000000000000000000000000000000000000000000602082015250565b6000611332602b83610f7e565b915061133d826112d6565b604082019050919050565b6000602082019050818103600083015261136181611325565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061139e602083610f7e565b91506113a982611368565b602082019050919050565b600060208201905081810360008301526113cd81611391565b9050919050565b600081905092915050565b50565b60006113ef6000836113d4565b91506113fa826113df565b600082019050919050565b6000611410826113e2565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061145482610f4a565b915061145f83610f4a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156114945761149361141a565b5b82820190509291505056fea2646970667358221220ed9acdaded6c75418363e7ed1f42861ceeb0a687595594b1f6c567518436125964736f6c634300080d0033",
"linkReferences": {},
"deployedLinkReferences": {}
}