[ { "inputs": [ { "internalType": "string", "name": "baseURI_", "type": "string" }, { "internalType": "address", "name": "_layerZeroEndpoint", "type": "address" } ], "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": false, "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "indexed": false, "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }, { "indexed": false, "internalType": "uint64", "name": "_nonce", "type": "uint64" }, { "indexed": false, "internalType": "bytes", "name": "_payload", "type": "bytes" } ], "name": "MessageFailed", "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": [ { "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": [], "name": "_owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "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": [], "name": "donateForDevelop", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_chainId", "type": "uint16" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "estimateFeesView", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "", "type": "uint16" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "failedMessages", "outputs": [ { "internalType": "uint256", "name": "payloadLength", "type": "uint256" }, { "internalType": "bytes32", "name": "payloadHash", "type": "bytes32" } ], "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": "uint16", "name": "_srcChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }, { "internalType": "uint64", "name": "_nonce", "type": "uint64" }, { "internalType": "bytes", "name": "_payload", "type": "bytes" } ], "name": "lzReceive", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "numTokens", "type": "uint8" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }, { "internalType": "uint64", "name": "_nonce", "type": "uint64" }, { "internalType": "bytes", "name": "_payload", "type": "bytes" } ], "name": "onLzReceive", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": "bool", "name": "_state", "type": "bool" } ], "name": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }, { "internalType": "uint64", "name": "_nonce", "type": "uint64" }, { "internalType": "bytes", "name": "_payload", "type": "bytes" } ], "name": "retryMessage", "outputs": [], "stateMutability": "payable", "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": "string", "name": "URI", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newVal", "type": "uint256" } ], "name": "setGasForDestinationLzReceive", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_chainId", "type": "uint16" }, { "internalType": "bytes", "name": "_trustedRemote", "type": "bytes" } ], "name": "setTrustedRemote", "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" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_chainId", "type": "uint16" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "traverseChains", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "name": "trustedRemoteLookup", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amt", "type": "uint256" } ], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040526001600a60006101000a81548160ff0219169083151502179055506000600b55610ec0600e5561131a600f556002601055620557306011553480156200004957600080fd5b50604051620056e4380380620056e483398181016040528101906200006f9190620003e3565b6040518060400160405280600c81526020017f526169642050726f6a65637400000000000000000000000000000000000000008152506040518060400160405280600481526020017f5241494400000000000000000000000000000000000000000000000000000000815250620000fb620000ef620001d260201b60201c565b620001da60201b60201c565b8160019080519060200190620001139291906200029e565b5080600290805190602001906200012c9291906200029e565b50505033600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600d9080519060200190620001c99291906200029e565b5050506200061b565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620002ac9062000512565b90600052602060002090601f016020900481019282620002d057600085556200031c565b82601f10620002eb57805160ff19168380011785556200031c565b828001600101855582156200031c579182015b828111156200031b578251825591602001919060010190620002fe565b5b5090506200032b91906200032f565b5090565b5b808211156200034a57600081600090555060010162000330565b5090565b6000620003656200035f8462000472565b62000449565b905082815260208101848484011115620003845762000383620005e1565b5b62000391848285620004dc565b509392505050565b600081519050620003aa8162000601565b92915050565b600082601f830112620003c857620003c7620005dc565b5b8151620003da8482602086016200034e565b91505092915050565b60008060408385031215620003fd57620003fc620005eb565b5b600083015167ffffffffffffffff8111156200041e576200041d620005e6565b5b6200042c85828601620003b0565b92505060206200043f8582860162000399565b9150509250929050565b60006200045562000468565b905062000463828262000548565b919050565b6000604051905090565b600067ffffffffffffffff82111562000490576200048f620005ad565b5b6200049b82620005f0565b9050602081019050919050565b6000620004b582620004bc565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60005b83811015620004fc578082015181840152602081019050620004df565b838111156200050c576000848401525b50505050565b600060028204905060018216806200052b57607f821691505b602082108114156200054257620005416200057e565b5b50919050565b6200055382620005f0565b810181811067ffffffffffffffff82111715620005755762000574620005ad565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b6200060c81620004a8565b81146200061857600080fd5b50565b6150b9806200062b6000396000f3fe6080604052600436106101e25760003560e01c8063715018a611610102578063b2bdfa7b11610095578063d1deba1f11610064578063d1deba1f146106c3578063e985e9c5146106df578063eb8d72b71461071c578063f2fde38b14610745576101e2565b8063b2bdfa7b14610616578063b88d4fde14610641578063c87b56dd1461066a578063cf89fa03146106a7576101e2565b80638ee74912116100d15780638ee749121461055b578063943fb8721461059957806395d89b41146105c2578063a22cb465146105ed576101e2565b8063715018a6146104d25780637533d788146104e957806377e05b3d146105265780638da5cb5b14610530576101e2565b80632e1a7d4d1161017a5780635c975abb116101495780635c975abb146104115780636352211e1461043c5780636ecd23061461047957806370a0823114610495576101e2565b80632e1a7d4d1461035957806342842e0e1461038257806355f804b3146103ab5780635b30d081146103d4576101e2565b8063081812fc116101b6578063081812fc146102a1578063095ea7b3146102de5780631c37a8221461030757806323b872dd14610330576101e2565b80621d3567146101e757806301ffc9a71461021057806302329a291461024d57806306fdde0314610276575b600080fd5b3480156101f357600080fd5b5061020e60048036038101906102099190613505565b61076e565b005b34801561021c57600080fd5b50610237600480360381019061023291906132c2565b6109b0565b6040516102449190613e55565b60405180910390f35b34801561025957600080fd5b50610274600480360381019061026f9190613295565b610a92565b005b34801561028257600080fd5b5061028b610b2b565b6040516102989190613e92565b60405180910390f35b3480156102ad57600080fd5b506102c860048036038101906102c391906135e4565b610bbd565b6040516102d59190613dc5565b60405180910390f35b3480156102ea57600080fd5b5061030560048036038101906103009190613255565b610c42565b005b34801561031357600080fd5b5061032e60048036038101906103299190613505565b610d5a565b005b34801561033c57600080fd5b506103576004803603810190610352919061313f565b610dda565b005b34801561036557600080fd5b50610380600480360381019061037b91906135e4565b610e3a565b005b34801561038e57600080fd5b506103a960048036038101906103a4919061313f565b610f88565b005b3480156103b757600080fd5b506103d260048036038101906103cd919061331c565b610fa8565b005b3480156103e057600080fd5b506103fb60048036038101906103f691906135a4565b61103e565b6040516104089190614373565b60405180910390f35b34801561041d57600080fd5b50610426611158565b6040516104339190613e55565b60405180910390f35b34801561044857600080fd5b50610463600480360381019061045e91906135e4565b61116b565b6040516104709190613dc5565b60405180910390f35b610493600480360381019061048e9190613651565b61121d565b005b3480156104a157600080fd5b506104bc60048036038101906104b79190613092565b61136a565b6040516104c99190614373565b60405180910390f35b3480156104de57600080fd5b506104e7611422565b005b3480156104f557600080fd5b50610510600480360381019061050b9190613365565b6114aa565b60405161051d9190613e70565b60405180910390f35b61052e61154a565b005b34801561053c57600080fd5b5061054561154c565b6040516105529190613dc5565b60405180910390f35b34801561056757600080fd5b50610582600480360381019061057d91906133f2565b611575565b60405161059092919061438e565b60405180910390f35b3480156105a557600080fd5b506105c060048036038101906105bb91906135e4565b6115c9565b005b3480156105ce57600080fd5b506105d761164f565b6040516105e49190613e92565b60405180910390f35b3480156105f957600080fd5b50610614600480360381019061060f9190613215565b6116e1565b005b34801561062257600080fd5b5061062b6116f7565b6040516106389190613dc5565b60405180910390f35b34801561064d57600080fd5b5061066860048036038101906106639190613192565b61171d565b005b34801561067657600080fd5b50610691600480360381019061068c91906135e4565b61177f565b60405161069e9190613e92565b60405180910390f35b6106c160048036038101906106bc91906135a4565b611826565b005b6106dd60048036038101906106d89190613461565b611b33565b005b3480156106eb57600080fd5b50610706600480360381019061070191906130ff565b611cd3565b6040516107139190613e55565b60405180910390f35b34801561072857600080fd5b50610743600480360381019061073e9190613392565b611d67565b005b34801561075157600080fd5b5061076c60048036038101906107679190613092565b611e13565b005b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107c857600080fd5b600960008561ffff1661ffff16815260200190815260200160002080546107ee9061465d565b905083511480156108345750600960008561ffff1661ffff1681526020019081526020016000206040516108229190613d3e565b60405180910390208380519060200120145b610873576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086a906140d4565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff16631c37a822858585856040518563ffffffff1660e01b81526004016108b294939291906142aa565b600060405180830381600087803b1580156108cc57600080fd5b505af19250505080156108dd575060015b6109a9576040518060400160405280825181526020018280519060200120815250600860008661ffff1661ffff168152602001908152602001600020846040516109279190613d27565b908152602001604051809103902060008467ffffffffffffffff16815260200190815260200160002060008201518160000155602082015181600101559050507fe6f254030bcb01ffd20558175c13fcaed6d1520be7becee4c961b65f79243b0d8484848460405161099c94939291906142aa565b60405180910390a16109aa565b5b50505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610a7b57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610a8b5750610a8a82611f0b565b5b9050919050565b610a9a611f75565b73ffffffffffffffffffffffffffffffffffffffff16610ab861154c565b73ffffffffffffffffffffffffffffffffffffffff1614610b0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b05906140b4565b60405180910390fd5b80600a60006101000a81548160ff02191690831515021790555050565b606060018054610b3a9061465d565b80601f0160208091040260200160405190810160405280929190818152602001828054610b669061465d565b8015610bb35780601f10610b8857610100808354040283529160200191610bb3565b820191906000526020600020905b815481529060010190602001808311610b9657829003601f168201915b5050505050905090565b6000610bc882611f7d565b610c07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfe90614094565b60405180910390fd5b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610c4d8261116b565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610cbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb590614174565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610cdd611f75565b73ffffffffffffffffffffffffffffffffffffffff161480610d0c5750610d0b81610d06611f75565b611cd3565b5b610d4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4290613ff4565b60405180910390fd5b610d558383611fe9565b505050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610dc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbf90614054565b60405180910390fd5b610dd4848484846120a2565b50505050565b610deb610de5611f75565b826120e9565b610e2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2190614194565b60405180910390fd5b610e358383836121c7565b505050565b610e42611f75565b73ffffffffffffffffffffffffffffffffffffffff16610e6061154c565b73ffffffffffffffffffffffffffffffffffffffff1614610eb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ead906140b4565b60405180910390fd5b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051610efe90613d84565b60006040518083038185875af1925050503d8060008114610f3b576040519150601f19603f3d011682016040523d82523d6000602084013e610f40565b606091505b5050905080610f84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7b906141b4565b60405180910390fd5b5050565b610fa38383836040518060200160405280600081525061171d565b505050565b610fb0611f75565b73ffffffffffffffffffffffffffffffffffffffff16610fce61154c565b73ffffffffffffffffffffffffffffffffffffffff1614611024576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101b906140b4565b60405180910390fd5b80600d908051906020019061103a929190612d61565b5050565b6000803383604051602001611054929190613e2c565b6040516020818303038152906040529050600060019050600081601154604051602001611082929190613d99565b60405160208183030381529060405290506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340a7bb108830876000876040518663ffffffff1660e01b81526004016110f99594939291906141f4565b604080518083038186803b15801561111057600080fd5b505afa158015611124573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111489190613611565b5090508094505050505092915050565b600a60009054906101000a900460ff1681565b6000806003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611214576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120b90614034565b60405180910390fd5b80915050919050565b600a60009054906101000a900460ff161561126d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126490613eb4565b60405180910390fd5b6010548160ff1611156112b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ac906140f4565b60405180910390fd5b600f548160ff16600e546112c991906144a1565b111561130a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130190614154565b60405180910390fd5b6000600190505b8160ff1681116113665761133933600e6000815461132e906146c0565b919050819055612423565b6001600b600082825461134c91906144a1565b92505081905550808061135e906146c0565b915050611311565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d290614014565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61142a611f75565b73ffffffffffffffffffffffffffffffffffffffff1661144861154c565b73ffffffffffffffffffffffffffffffffffffffff161461149e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611495906140b4565b60405180910390fd5b6114a86000612441565b565b600960205280600052604060002060009150905080546114c99061465d565b80601f01602080910402602001604051908101604052809291908181526020018280546114f59061465d565b80156115425780601f1061151757610100808354040283529160200191611542565b820191906000526020600020905b81548152906001019060200180831161152557829003601f168201915b505050505081565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60086020528260005260406000208280516020810182018051848252602083016020850120818352809550505050505060205280600052604060002060009250925050508060000154908060010154905082565b6115d1611f75565b73ffffffffffffffffffffffffffffffffffffffff166115ef61154c565b73ffffffffffffffffffffffffffffffffffffffff1614611645576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163c906140b4565b60405180910390fd5b8060118190555050565b60606002805461165e9061465d565b80601f016020809104026020016040519081016040528092919081815260200182805461168a9061465d565b80156116d75780601f106116ac576101008083540402835291602001916116d7565b820191906000526020600020905b8154815290600101906020018083116116ba57829003601f168201915b5050505050905090565b6116f36116ec611f75565b8383612505565b5050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61172e611728611f75565b836120e9565b61176d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176490614194565b60405180910390fd5b61177984848484612672565b50505050565b606061178a82611f7d565b6117c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c090614134565b60405180910390fd5b60006117d36126ce565b905060008151116117f3576040518060200160405280600081525061181e565b806117fd84612760565b60405160200161180e929190613d55565b6040516020818303038152906040525b915050919050565b61182f8161116b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461189c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189390613f94565b60405180910390fd5b6000600960008461ffff1661ffff16815260200190815260200160002080546118c49061465d565b905011611906576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fd90613f54565b60405180910390fd5b61190f816128c1565b60003382604051602001611924929190613e2c565b6040516020818303038152906040529050600060019050600081601154604051602001611952929190613d99565b60405160208183030381529060405290506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340a7bb108730876000876040518663ffffffff1660e01b81526004016119c99594939291906141f4565b604080518083038186803b1580156119e057600080fd5b505afa1580156119f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a189190613611565b50905080341015611a5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5590613fd4565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c58031003488600960008b61ffff1661ffff16815260200190815260200160002088336000896040518863ffffffff1660e01b8152600401611adf969594939291906142fd565b6000604051808303818588803b158015611af857600080fd5b505af1158015611b0c573d6000803e3d6000fd5b50505050506001600b6000828254611b249190614528565b92505081905550505050505050565b6000600860008761ffff1661ffff16815260200190815260200160002085604051611b5e9190613d27565b908152602001604051809103902060008567ffffffffffffffff16815260200190815260200160002090506000801b81600101541415611bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bca906141d4565b60405180910390fd5b806000015483839050148015611c03575080600101548383604051611bf9929190613d0e565b6040518091039020145b611c42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3990613f74565b60405180910390fd5b600081600001819055506000801b81600101819055503073ffffffffffffffffffffffffffffffffffffffff16631c37a82287878787876040518663ffffffff1660e01b8152600401611c99959493929190614255565b600060405180830381600087803b158015611cb357600080fd5b505af1158015611cc7573d6000803e3d6000fd5b50505050505050505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611d6f611f75565b73ffffffffffffffffffffffffffffffffffffffff16611d8d61154c565b73ffffffffffffffffffffffffffffffffffffffff1614611de3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dda906140b4565b60405180910390fd5b8181600960008661ffff1661ffff1681526020019081526020016000209190611e0d929190612de7565b50505050565b611e1b611f75565b73ffffffffffffffffffffffffffffffffffffffff16611e3961154c565b73ffffffffffffffffffffffffffffffffffffffff1614611e8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e86906140b4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611eff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef690613ef4565b60405180910390fd5b611f0881612441565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b60008073ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661205c8361116b565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080828060200190518101906120b991906130bf565b915091506120c78282612423565b6001600b60008282546120da91906144a1565b92505081905550505050505050565b60006120f482611f7d565b612133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212a90613fb4565b60405180910390fd5b600061213e8361116b565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806121ad57508373ffffffffffffffffffffffffffffffffffffffff1661219584610bbd565b73ffffffffffffffffffffffffffffffffffffffff16145b806121be57506121bd8185611cd3565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166121e78261116b565b73ffffffffffffffffffffffffffffffffffffffff161461223d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223490614114565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156122ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a490613f14565b60405180910390fd5b6122b88383836129d2565b6122c3600082611fe9565b6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546123139190614528565b925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461236a91906144a1565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b61243d8282604051806020016040528060008152506129d7565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612574576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256b90613f34565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516126659190613e55565b60405180910390a3505050565b61267d8484846121c7565b61268984848484612a32565b6126c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126bf90613ed4565b60405180910390fd5b50505050565b6060600d80546126dd9061465d565b80601f01602080910402602001604051908101604052809291908181526020018280546127099061465d565b80156127565780601f1061272b57610100808354040283529160200191612756565b820191906000526020600020905b81548152906001019060200180831161273957829003601f168201915b5050505050905090565b606060008214156127a8576040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090506128bc565b600082905060005b600082146127da5780806127c3906146c0565b915050600a826127d391906144f7565b91506127b0565b60008167ffffffffffffffff8111156127f6576127f5614812565b5b6040519080825280601f01601f1916602001820160405280156128285781602001600182028036833780820191505090505b5090505b600085146128b5576001826128419190614528565b9150600a856128509190614725565b603061285c91906144a1565b60f81b818381518110612872576128716147e3565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856128ae91906144f7565b945061282c565b8093505050505b919050565b60006128cc8261116b565b90506128da816000846129d2565b6128e5600083611fe9565b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546129359190614528565b925050819055506003600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b505050565b6129e18383612bc9565b6129ee6000848484612a32565b612a2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a2490613ed4565b60405180910390fd5b505050565b6000612a538473ffffffffffffffffffffffffffffffffffffffff16612d4e565b15612bbc578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612a7c611f75565b8786866040518563ffffffff1660e01b8152600401612a9e9493929190613de0565b602060405180830381600087803b158015612ab857600080fd5b505af1925050508015612ae957506040513d601f19601f82011682018060405250810190612ae691906132ef565b60015b612b6c573d8060008114612b19576040519150601f19603f3d011682016040523d82523d6000602084013e612b1e565b606091505b50600081511415612b64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b5b90613ed4565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612bc1565b600190505b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612c39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c3090614074565b60405180910390fd5b612c45600083836129d2565b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612c9591906144a1565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600080823b905060008111915050919050565b828054612d6d9061465d565b90600052602060002090601f016020900481019282612d8f5760008555612dd6565b82601f10612da857805160ff1916838001178555612dd6565b82800160010185558215612dd6579182015b82811115612dd5578251825591602001919060010190612dba565b5b509050612de39190612e6d565b5090565b828054612df39061465d565b90600052602060002090601f016020900481019282612e155760008555612e5c565b82601f10612e2e57803560ff1916838001178555612e5c565b82800160010185558215612e5c579182015b82811115612e5b578235825591602001919060010190612e40565b5b509050612e699190612e6d565b5090565b5b80821115612e86576000816000905550600101612e6e565b5090565b6000612e9d612e98846143dc565b6143b7565b905082815260208101848484011115612eb957612eb8614850565b5b612ec484828561461b565b509392505050565b6000612edf612eda8461440d565b6143b7565b905082815260208101848484011115612efb57612efa614850565b5b612f0684828561461b565b509392505050565b600081359050612f1d81614fcb565b92915050565b600081519050612f3281614fe2565b92915050565b600081359050612f4781614ff9565b92915050565b600081359050612f5c81615010565b92915050565b600081519050612f7181615010565b92915050565b60008083601f840112612f8d57612f8c614846565b5b8235905067ffffffffffffffff811115612faa57612fa9614841565b5b602083019150836001820283011115612fc657612fc561484b565b5b9250929050565b600082601f830112612fe257612fe1614846565b5b8135612ff2848260208601612e8a565b91505092915050565b600082601f8301126130105761300f614846565b5b8135613020848260208601612ecc565b91505092915050565b60008135905061303881615027565b92915050565b60008135905061304d8161503e565b92915050565b6000815190506130628161503e565b92915050565b60008135905061307781615055565b92915050565b60008135905061308c8161506c565b92915050565b6000602082840312156130a8576130a761485a565b5b60006130b684828501612f0e565b91505092915050565b600080604083850312156130d6576130d561485a565b5b60006130e485828601612f23565b92505060206130f585828601613053565b9150509250929050565b600080604083850312156131165761311561485a565b5b600061312485828601612f0e565b925050602061313585828601612f0e565b9150509250929050565b6000806000606084860312156131585761315761485a565b5b600061316686828701612f0e565b935050602061317786828701612f0e565b92505060406131888682870161303e565b9150509250925092565b600080600080608085870312156131ac576131ab61485a565b5b60006131ba87828801612f0e565b94505060206131cb87828801612f0e565b93505060406131dc8782880161303e565b925050606085013567ffffffffffffffff8111156131fd576131fc614855565b5b61320987828801612fcd565b91505092959194509250565b6000806040838503121561322c5761322b61485a565b5b600061323a85828601612f0e565b925050602061324b85828601612f38565b9150509250929050565b6000806040838503121561326c5761326b61485a565b5b600061327a85828601612f0e565b925050602061328b8582860161303e565b9150509250929050565b6000602082840312156132ab576132aa61485a565b5b60006132b984828501612f38565b91505092915050565b6000602082840312156132d8576132d761485a565b5b60006132e684828501612f4d565b91505092915050565b6000602082840312156133055761330461485a565b5b600061331384828501612f62565b91505092915050565b6000602082840312156133325761333161485a565b5b600082013567ffffffffffffffff8111156133505761334f614855565b5b61335c84828501612ffb565b91505092915050565b60006020828403121561337b5761337a61485a565b5b600061338984828501613029565b91505092915050565b6000806000604084860312156133ab576133aa61485a565b5b60006133b986828701613029565b935050602084013567ffffffffffffffff8111156133da576133d9614855565b5b6133e686828701612f77565b92509250509250925092565b60008060006060848603121561340b5761340a61485a565b5b600061341986828701613029565b935050602084013567ffffffffffffffff81111561343a57613439614855565b5b61344686828701612fcd565b92505060406134578682870161303e565b9150509250925092565b60008060008060006080868803121561347d5761347c61485a565b5b600061348b88828901613029565b955050602086013567ffffffffffffffff8111156134ac576134ab614855565b5b6134b888828901612fcd565b94505060406134c988828901613068565b935050606086013567ffffffffffffffff8111156134ea576134e9614855565b5b6134f688828901612f77565b92509250509295509295909350565b6000806000806080858703121561351f5761351e61485a565b5b600061352d87828801613029565b945050602085013567ffffffffffffffff81111561354e5761354d614855565b5b61355a87828801612fcd565b935050604061356b87828801613068565b925050606085013567ffffffffffffffff81111561358c5761358b614855565b5b61359887828801612fcd565b91505092959194509250565b600080604083850312156135bb576135ba61485a565b5b60006135c985828601613029565b92505060206135da8582860161303e565b9150509250929050565b6000602082840312156135fa576135f961485a565b5b60006136088482850161303e565b91505092915050565b600080604083850312156136285761362761485a565b5b600061363685828601613053565b925050602061364785828601613053565b9150509250929050565b6000602082840312156136675761366661485a565b5b60006136758482850161307d565b91505092915050565b6136878161456e565b82525050565b6136968161455c565b82525050565b6136a581614580565b82525050565b6136b48161458c565b82525050565b60006136c68385614469565b93506136d383858461461b565b6136dc8361485f565b840190509392505050565b60006136f3838561447a565b935061370083858461461b565b82840190509392505050565b600061371782614453565b6137218185614469565b935061373181856020860161462a565b61373a8161485f565b840191505092915050565b600061375082614453565b61375a818561447a565b935061376a81856020860161462a565b80840191505092915050565b600081546137838161465d565b61378d8186614469565b945060018216600081146137a857600181146137ba576137ed565b60ff19831686526020860193506137ed565b6137c38561443e565b60005b838110156137e5578154818901526001820191506020810190506137c6565b808801955050505b50505092915050565b600081546138038161465d565b61380d818661447a565b9450600182166000811461382857600181146138395761386c565b60ff1983168652818601935061386c565b6138428561443e565b60005b8381101561386457815481890152600182019150602081019050613845565b838801955050505b50505092915050565b60006138808261445e565b61388a8185614485565b935061389a81856020860161462a565b6138a38161485f565b840191505092915050565b60006138b98261445e565b6138c38185614496565b93506138d381856020860161462a565b80840191505092915050565b60006138ec601883614485565b91506138f78261487d565b602082019050919050565b600061390f603283614485565b915061391a826148a6565b604082019050919050565b6000613932602683614485565b915061393d826148f5565b604082019050919050565b6000613955602483614485565b915061396082614944565b604082019050919050565b6000613978601983614485565b915061398382614993565b602082019050919050565b600061399b602e83614485565b91506139a6826149bc565b604082019050919050565b60006139be601a83614485565b91506139c982614a0b565b602082019050919050565b60006139e1602283614485565b91506139ec82614a34565b604082019050919050565b6000613a04602c83614485565b9150613a0f82614a83565b604082019050919050565b6000613a27604983614485565b9150613a3282614ad2565b606082019050919050565b6000613a4a603883614485565b9150613a5582614b47565b604082019050919050565b6000613a6d602a83614485565b9150613a7882614b96565b604082019050919050565b6000613a90602983614485565b9150613a9b82614be5565b604082019050919050565b6000613ab3602b83614485565b9150613abe82614c34565b604082019050919050565b6000613ad6602083614485565b9150613ae182614c83565b602082019050919050565b6000613af9602c83614485565b9150613b0482614cac565b604082019050919050565b6000613b1c600583614496565b9150613b2782614cfb565b600582019050919050565b6000613b3f602083614485565b9150613b4a82614d24565b602082019050919050565b6000613b62603483614485565b9150613b6d82614d4d565b604082019050919050565b6000613b85602a83614485565b9150613b9082614d9c565b604082019050919050565b6000613ba8602983614485565b9150613bb382614deb565b604082019050919050565b6000613bcb602f83614485565b9150613bd682614e3a565b604082019050919050565b6000613bee601983614485565b9150613bf982614e89565b602082019050919050565b6000613c11602183614485565b9150613c1c82614eb2565b604082019050919050565b6000613c3460008361447a565b9150613c3f82614f01565b600082019050919050565b6000613c57603183614485565b9150613c6282614f04565b604082019050919050565b6000613c7a601e83614485565b9150613c8582614f53565b602082019050919050565b6000613c9d602683614485565b9150613ca882614f7c565b604082019050919050565b613cbc816145c2565b82525050565b613cd3613cce826145c2565b614709565b82525050565b613ce2816145f0565b82525050565b613cf9613cf4826145f0565b61471b565b82525050565b613d08816145fa565b82525050565b6000613d1b8284866136e7565b91508190509392505050565b6000613d338284613745565b915081905092915050565b6000613d4a82846137f6565b915081905092915050565b6000613d6182856138ae565b9150613d6d82846138ae565b9150613d7882613b0f565b91508190509392505050565b6000613d8f82613c27565b9150819050919050565b6000613da58285613cc2565b600282019150613db58284613ce8565b6020820191508190509392505050565b6000602082019050613dda600083018461368d565b92915050565b6000608082019050613df5600083018761368d565b613e02602083018661368d565b613e0f6040830185613cd9565b8181036060830152613e21818461370c565b905095945050505050565b6000604082019050613e41600083018561368d565b613e4e6020830184613cd9565b9392505050565b6000602082019050613e6a600083018461369c565b92915050565b60006020820190508181036000830152613e8a818461370c565b905092915050565b60006020820190508181036000830152613eac8184613875565b905092915050565b60006020820190508181036000830152613ecd816138df565b9050919050565b60006020820190508181036000830152613eed81613902565b9050919050565b60006020820190508181036000830152613f0d81613925565b9050919050565b60006020820190508181036000830152613f2d81613948565b9050919050565b60006020820190508181036000830152613f4d8161396b565b9050919050565b60006020820190508181036000830152613f6d8161398e565b9050919050565b60006020820190508181036000830152613f8d816139b1565b9050919050565b60006020820190508181036000830152613fad816139d4565b9050919050565b60006020820190508181036000830152613fcd816139f7565b9050919050565b60006020820190508181036000830152613fed81613a1a565b9050919050565b6000602082019050818103600083015261400d81613a3d565b9050919050565b6000602082019050818103600083015261402d81613a60565b9050919050565b6000602082019050818103600083015261404d81613a83565b9050919050565b6000602082019050818103600083015261406d81613aa6565b9050919050565b6000602082019050818103600083015261408d81613ac9565b9050919050565b600060208201905081810360008301526140ad81613aec565b9050919050565b600060208201905081810360008301526140cd81613b32565b9050919050565b600060208201905081810360008301526140ed81613b55565b9050919050565b6000602082019050818103600083015261410d81613b78565b9050919050565b6000602082019050818103600083015261412d81613b9b565b9050919050565b6000602082019050818103600083015261414d81613bbe565b9050919050565b6000602082019050818103600083015261416d81613be1565b9050919050565b6000602082019050818103600083015261418d81613c04565b9050919050565b600060208201905081810360008301526141ad81613c4a565b9050919050565b600060208201905081810360008301526141cd81613c6d565b9050919050565b600060208201905081810360008301526141ed81613c90565b9050919050565b600060a0820190506142096000830188613cb3565b614216602083018761368d565b8181036040830152614228818661370c565b9050614237606083018561369c565b8181036080830152614249818461370c565b90509695505050505050565b600060808201905061426a6000830188613cb3565b818103602083015261427c818761370c565b905061428b6040830186613cff565b818103606083015261429e8184866136ba565b90509695505050505050565b60006080820190506142bf6000830187613cb3565b81810360208301526142d1818661370c565b90506142e06040830185613cff565b81810360608301526142f2818461370c565b905095945050505050565b600060c0820190506143126000830189613cb3565b81810360208301526143248188613776565b90508181036040830152614338818761370c565b9050614347606083018661367e565b614354608083018561368d565b81810360a0830152614366818461370c565b9050979650505050505050565b60006020820190506143886000830184613cd9565b92915050565b60006040820190506143a36000830185613cd9565b6143b060208301846136ab565b9392505050565b60006143c16143d2565b90506143cd828261468f565b919050565b6000604051905090565b600067ffffffffffffffff8211156143f7576143f6614812565b5b6144008261485f565b9050602081019050919050565b600067ffffffffffffffff82111561442857614427614812565b5b6144318261485f565b9050602081019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b60006144ac826145f0565b91506144b7836145f0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156144ec576144eb614756565b5b828201905092915050565b6000614502826145f0565b915061450d836145f0565b92508261451d5761451c614785565b5b828204905092915050565b6000614533826145f0565b915061453e836145f0565b92508282101561455157614550614756565b5b828203905092915050565b6000614567826145d0565b9050919050565b6000614579826145d0565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b8381101561464857808201518184015260208101905061462d565b83811115614657576000848401525b50505050565b6000600282049050600182168061467557607f821691505b60208210811415614689576146886147b4565b5b50919050565b6146988261485f565b810181811067ffffffffffffffff821117156146b7576146b6614812565b5b80604052505050565b60006146cb826145f0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156146fe576146fd614756565b5b600182019050919050565b600061471482614870565b9050919050565b6000819050919050565b6000614730826145f0565b915061473b836145f0565b92508261474b5761474a614785565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160f01b9050919050565b7f53616c6520686173206e6f742073746172746564207965740000000000000000600082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f5468697320636861696e2069732063757272656e746c7920756e617661696c6160008201527f626c6520666f722074726176656c000000000000000000000000000000000000602082015250565b7f4c617965725a65726f3a20696e76616c6964207061796c6f6164000000000000600082015250565b7f596f75206d757374206f776e2074686520746f6b656e20746f2074726176657260008201527f7365000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f524149443a206d73672e76616c7565206e6f7420656e6f75676820746f20636f60008201527f766572206d6573736167654665652e2053656e642067617320666f72206d657360208201527f7361676520666565730000000000000000000000000000000000000000000000604082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f4e6f6e626c6f636b696e6752656365697665723a2063616c6c6572206d75737460008201527f206265204272696467652e000000000000000000000000000000000000000000602082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4e6f6e626c6f636b696e6752656365697665723a20696e76616c696420736f7560008201527f7263652073656e64696e6720636f6e7472616374000000000000000000000000602082015250565b7f524149443a204d6178206d696e7420616d6f756e74207065722073657373696f60008201527f6e20657863656564656400000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f524149443a204d696e74206578636565647320737570706c7900000000000000600082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b50565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f524149443a204661696c656420746f2077697468647261772045746865720000600082015250565b7f4e6f6e626c6f636b696e6752656365697665723a206e6f2073746f726564206d60008201527f6573736167650000000000000000000000000000000000000000000000000000602082015250565b614fd48161455c565b8114614fdf57600080fd5b50565b614feb8161456e565b8114614ff657600080fd5b50565b61500281614580565b811461500d57600080fd5b50565b61501981614596565b811461502457600080fd5b50565b615030816145c2565b811461503b57600080fd5b50565b615047816145f0565b811461505257600080fd5b50565b61505e816145fa565b811461506957600080fd5b50565b6150758161460e565b811461508057600080fd5b5056fea2646970667358221220a777f0f22b7309d9f04929bc49e557a2f39e59c7c5b3d76559528e0b2c05446164736f6c6343000807003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000003c2269811836af69497e5f486a85d7316753cf620000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d66556634485244465a4a71626865754e504b76764570593743366633667a6137585a544c4650745253504c362f00000000000000000000