[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_account", "type": "address" } ], "name": "Blacklisted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "claimableAddress", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "claimsCount", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "claimer", "type": "address" } ], "name": "Claim", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Frozen", "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": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_account", "type": "address" } ], "name": "UnBlacklisted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unfrozen", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_addr", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "balance", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "name": "blacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "claimableAddress", "type": "address" } ], "name": "claim", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "freeze", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "claimableAddress", "type": "address" } ], "name": "getCurrentClaimData", "outputs": [ { "components": [ { "internalType": "uint256", "name": "nextUnlockTime", "type": "uint256" }, { "internalType": "uint256", "name": "claimAmount", "type": "uint256" }, { "internalType": "uint256", "name": "claimCount", "type": "uint256" } ], "internalType": "struct FINS.ClaimInfo", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getCurrentTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[8]", "name": "claimers", "type": "address[8]" } ], "name": "init", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "name": "isBlacklisted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "blacklister", "type": "address" } ], "name": "isBlacklister", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "freezer", "type": "address" } ], "name": "isFreezer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isFrozen", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "blacklister", "type": "address" } ], "name": "setBlacklister", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "freezer", "type": "address" } ], "name": "setFreezer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "name": "unBlacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "unfreeze", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "oldBlacklister", "type": "address" }, { "internalType": "address", "name": "blacklister", "type": "address" } ], "name": "updateBlacklister", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "oldClaimer", "type": "address" }, { "internalType": "address", "name": "claimer", "type": "address" } ], "name": "updateClaimer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "oldFreezer", "type": "address" }, { "internalType": "address", "name": "freezer", "type": "address" } ], "name": "updateFreezer", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040526000601060006101000a81548160ff0219169083151502179055503480156200002c57600080fd5b506200004d62000041620001b060201b60201c565b620001b860201b60201c565b60008060146101000a81548160ff021916908315150217905550600060048190555060006008819055506000620000896200027c60201b60201c565b905060008160ff16600a6200009f919062000390565b6305f5e100620000b09190620004cd565b905080600c8190555080600a6000620000ce620001b060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506040518060400160405280600781526020017f616c7446494e5300000000000000000000000000000000000000000000000000815250600d90805190602001906200015992919062000285565b506040518060400160405280600581526020017f4146494e53000000000000000000000000000000000000000000000000000000815250600e9080519060200190620001a792919062000285565b505050620005d9565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006012905090565b828054620002939062000538565b90600052602060002090601f016020900481019282620002b7576000855562000303565b82601f10620002d257805160ff191683800117855562000303565b8280016001018555821562000303579182015b8281111562000302578251825591602001919060010190620002e5565b5b50905062000312919062000316565b5090565b5b808211156200033157600081600090555060010162000317565b5090565b6000808291508390505b600185111562000387578086048111156200035f576200035e6200056e565b5b60018516156200036f5780820291505b80810290506200037f85620005cc565b94506200033f565b94509492505050565b60006200039d826200052e565b9150620003aa836200052e565b9250620003d97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620003e1565b905092915050565b600082620003f35760019050620004c6565b81620004035760009050620004c6565b81600181146200041c576002811462000427576200045d565b6001915050620004c6565b60ff8411156200043c576200043b6200056e565b5b8360020a9150848211156200045657620004556200056e565b5b50620004c6565b5060208310610133831016604e8410600b8410161715620004975782820a9050838111156200049157620004906200056e565b5b620004c6565b620004a6848484600162000335565b92509050818404811115620004c057620004bf6200056e565b5b81810290505b9392505050565b6000620004da826200052e565b9150620004e7836200052e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200052357620005226200056e565b5b828202905092915050565b6000819050919050565b600060028204905060018216806200055157607f821691505b602082108114156200056857620005676200059d565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b615c9d80620005e96000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80636a28f00011610104578063aa01e286116100a2578063f2fde38b11610071578063f2fde38b1461057d578063f9f92be414610599578063fe575a87146105b5578063fef72927146105e5576101da565b8063aa01e286146104e5578063aa57539114610501578063b66cd56c1461051d578063dd62ed3e1461054d576101da565b8063893d20e8116100de578063893d20e81461044957806395d89b4114610467578063a457c2d714610485578063a9059cbb146104b5576101da565b80636a28f000146103df5780636c65fd6a146103e957806370a0823114610419576101da565b806323b872dd1161017c578063313ce5671161014b578063313ce5671461036957806333eeb1471461038757806339509351146103a557806362a5af3b146103d5576101da565b806323b872dd146102cf57806329cb924d146102ff5780632c341fe71461031d57806330c1fd9914610339576101da565b806318160ddd116101b857806318160ddd146102495780631a895266146102675780631db38e32146102835780631e83409a1461029f576101da565b806306fdde03146101df578063095ea7b3146101fd5780630f7715471461022d575b600080fd5b6101e7610601565b6040516101f49190614b85565b60405180910390f35b6102176004803603810190610212919061445e565b610693565b6040516102249190614b6a565b60405180910390f35b6102476004803603810190610242919061439e565b610824565b005b610251610a97565b60405161025e91906150c2565b60405180910390f35b610281600480360381019061027c919061439e565b610aa1565b005b61029d600480360381019061029891906143cb565b610b8e565b005b6102b960048036038101906102b4919061439e565b61103f565b6040516102c69190614b6a565b60405180910390f35b6102e960048036038101906102e4919061440b565b61140c565b6040516102f69190614b6a565b60405180910390f35b6103076115a2565b60405161031491906150c2565b60405180910390f35b6103376004803603810190610332919061439e565b6115aa565b005b610353600480360381019061034e919061439e565b61181d565b60405161036091906150a7565b60405180910390f35b610371611894565b60405161037e91906150dd565b60405180910390f35b61038f61189d565b60405161039c9190614b6a565b60405180910390f35b6103bf60048036038101906103ba919061445e565b6118b3565b6040516103cc9190614b6a565b60405180910390f35b6103dd611acb565b005b6103e7611bbd565b005b61040360048036038101906103fe919061439e565b611cad565b6040516104109190614b6a565b60405180910390f35b610433600480360381019061042e919061439e565b611e61565b60405161044091906150c2565b60405180910390f35b610451611eaa565b60405161045e9190614b0a565b60405180910390f35b61046f611ed3565b60405161047c9190614b85565b60405180910390f35b61049f600480360381019061049a919061445e565b611f65565b6040516104ac9190614b6a565b60405180910390f35b6104cf60048036038101906104ca919061445e565b6121bd565b6040516104dc9190614b6a565b60405180910390f35b6104ff60048036038101906104fa91906143cb565b61234e565b005b61051b6004803603810190610516919061449e565b6127fd565b005b6105376004803603810190610532919061439e565b6134e7565b6040516105449190614b6a565b60405180910390f35b610567600480360381019061056291906143cb565b61369c565b60405161057491906150c2565b60405180910390f35b6105976004803603810190610592919061439e565b613723565b005b6105b360048036038101906105ae919061439e565b61381b565b005b6105cf60048036038101906105ca919061439e565b613908565b6040516105dc9190614b6a565b60405180910390f35b6105ff60048036038101906105fa91906143cb565b61395e565b005b6060600d80546106109061543c565b80601f016020809104026020016040519081016040528092919081815260200182805461063c9061543c565b80156106895780601f1061065e57610100808354040283529160200191610689565b820191906000526020600020905b81548152906001019060200180831161066c57829003601f168201915b5050505050905090565b600061069d61189d565b156106dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d490614d07565b60405180910390fd5b6106e5613d30565b600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610772576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076990614fc7565b60405180910390fd5b83600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610800576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f790614fc7565b60405180910390fd5b600061080a613d30565b9050610817818787613d38565b6001935050505092915050565b61082c613d30565b73ffffffffffffffffffffffffffffffffffffffff1661084a611eaa565b73ffffffffffffffffffffffffffffffffffffffff16146108a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089790614be7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610910576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090790614fe7565b60405180910390fd5b600360085410610955576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094c90614ba7565b60405180910390fd5b60006008541115610a265760005b600854811015610a24576005816003811061098157610980615546565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0890614e67565b60405180910390fd5b8080610a1c9061549f565b915050610963565b505b80600560085460038110610a3d57610a3c615546565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060086000815480929190610a8f9061549f565b919050555050565b6000600c54905090565b610ab1610aac613d30565b6134e7565b610af0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae790615027565b60405180910390fd5b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f117e3210bb9aa7d9baff172026820255c6f6c30ba8999d1c2fd88e2848137c4e60405160405180910390a250565b610b96613d30565b73ffffffffffffffffffffffffffffffffffffffff16610bb4611eaa565b73ffffffffffffffffffffffffffffffffffffffff1614610c0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0190614be7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7190614c87565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce190614e47565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5090614f47565b60405180910390fd5b610d62816134e7565b15610da2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9990614c47565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff166005600060038110610dd057610dcf615546565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610e6c57816005600060038110610e2457610e23615546565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050610ffa565b8273ffffffffffffffffffffffffffffffffffffffff166005600160038110610e9857610e97615546565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610f3457816005600160038110610eec57610eeb615546565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050610ff9565b8273ffffffffffffffffffffffffffffffffffffffff166005600260038110610f6057610f5f615546565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610ff857816005600260038110610fb457610fb3615546565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190505b5b5b8061103a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103190614f67565b60405180910390fd5b505050565b600061104961189d565b15611089576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108090614d07565b60405180910390fd5b81600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611117576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110e90614fc7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117e90614bc7565b60405180910390fd5b6000600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180606001604052908160008201548152602001600182015481526020016002820154815250509050600081604001511161123a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123190614f07565b60405180910390fd5b60006112446115a2565b905060008083600001519050828110611292576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128990614dc7565b60405180910390fd5b5b828110156112bf5781806112a69061549f565b92505062278d00816112b8919061515f565b9050611293565b60008211611302576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f990614c27565b60405180910390fd5b836040015182111561131657836040015191505b8084600001818152505081846040018181516113329190615380565b9150818152505083600f60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000155602082015181600101556040820151816002015590505060008460200151836113ac9190615326565b90506113b9308983613f03565b7fb6fe5ce185a3773d47e919f57c7edfd102c91cb7833b2be405c4de89d9980fd78882856113e5613d30565b6040516113f59493929190614b25565b60405180910390a160019650505050505050919050565b600061141661189d565b15611456576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144d90614d07565b60405180910390fd5b83600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156114e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114db90614fc7565b60405180910390fd5b83600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611572576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156990614fc7565b60405180910390fd5b600061157c613d30565b9050611589878287614171565b611594878787613f03565b600193505050509392505050565b600042905090565b6115b2613d30565b73ffffffffffffffffffffffffffffffffffffffff166115d0611eaa565b73ffffffffffffffffffffffffffffffffffffffff1614611626576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161d90614be7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611696576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168d90614d27565b60405180910390fd5b6003600454106116db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d290614cc7565b60405180910390fd5b600060045411156117ac5760005b6004548110156117aa576001816003811061170757611706615546565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178e90614da7565b60405180910390fd5b80806117a29061549f565b9150506116e9565b505b806001600454600381106117c3576117c2615546565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460008154809291906118159061549f565b919050555050565b6118256142c1565b600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180606001604052908160008201548152602001600182015481526020016002820154815250509050919050565b60006012905090565b60008060149054906101000a900460ff16905090565b60006118bd61189d565b156118fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f490614d07565b60405180910390fd5b611905613d30565b600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611992576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198990614fc7565b60405180910390fd5b83600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611a20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1790614fc7565b60405180910390fd5b6000611a2a613d30565b9050611abe818787600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ab9919061515f565b613d38565b6001935050505092915050565b611adb611ad6613d30565b611cad565b611b1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1190614d47565b60405180910390fd5b611b2261189d565b15611b62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5990614d07565b60405180910390fd5b6001600060146101000a81548160ff0219169083151502179055507f8a5c4736a33c7b7f29a2c34ea9ff9608afc5718d56f6fd6dcbd2d3711a1a4913611ba6613d30565b604051611bb39190614b0a565b60405180910390a1565b611bcd611bc8613d30565b611cad565b611c0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0390614d47565b60405180910390fd5b611c1461189d565b611c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4a90614fa7565b60405180910390fd5b60008060146101000a81548160ff0219169083151502179055507f4feb53e305297ab8fb8f3420c95ea04737addc254a7270d8fc4605d2b9c61dba611c96613d30565b604051611ca39190614b0a565b60405180910390a1565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1590614ea7565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166001600060038110611d4a57611d49615546565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480611dee57508173ffffffffffffffffffffffffffffffffffffffff1660018060038110611db457611db3615546565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b80611e5a57508173ffffffffffffffffffffffffffffffffffffffff166001600260038110611e2057611e1f615546565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b9050919050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600e8054611ee29061543c565b80601f0160208091040260200160405190810160405280929190818152602001828054611f0e9061543c565b8015611f5b5780601f10611f3057610100808354040283529160200191611f5b565b820191906000526020600020905b815481529060010190602001808311611f3e57829003601f168201915b5050505050905090565b6000611f6f61189d565b15611faf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa690614d07565b60405180910390fd5b611fb7613d30565b600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612044576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203b90614fc7565b60405180910390fd5b83600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156120d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c990614fc7565b60405180910390fd5b60006120dc613d30565b90506000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050858110156121a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219990614de7565b60405180910390fd5b6121af8288888403613d38565b600194505050505092915050565b60006121c761189d565b15612207576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121fe90614d07565b60405180910390fd5b61220f613d30565b600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561229c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229390614fc7565b60405180910390fd5b83600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561232a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232190614fc7565b60405180910390fd5b6000612334613d30565b9050612341818787613f03565b6001935050505092915050565b612356613d30565b73ffffffffffffffffffffffffffffffffffffffff16612374611eaa565b73ffffffffffffffffffffffffffffffffffffffff16146123ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123c190614be7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561243a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161243190614ee7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156124aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124a190614d27565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612519576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251090614f27565b60405180910390fd5b61252281611cad565b15612562576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161255990615067565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1660016000600381106125905761258f615546565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561262c578160016000600381106125e4576125e3615546565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190506127b8565b8273ffffffffffffffffffffffffffffffffffffffff166001806003811061265757612656615546565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156126f25781600180600381106126aa576126a9615546565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190506127b7565b8273ffffffffffffffffffffffffffffffffffffffff16600160026003811061271e5761271d615546565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156127b65781600160026003811061277257612771615546565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190505b5b5b806127f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127ef90614e07565b60405180910390fd5b505050565b612805613d30565b73ffffffffffffffffffffffffffffffffffffffff16612823611eaa565b73ffffffffffffffffffffffffffffffffffffffff1614612879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161287090614be7565b60405180910390fd5b601060009054906101000a900460ff16156128c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128c090614c67565b60405180910390fd5b60006128d36115a2565b9050600062ed4e00826128e6919061515f565b905060006040518060600160405280838152602001612903611894565b60ff16600a6129129190615208565b6207a1206129209190615326565b81526020016012815250600f60008660006008811061294257612941615546565b5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010155604082015181600201559050506012600f6000866000600881106129bc576129bb615546565b5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154612a099190615326565b81612a14919061515f565b90506040518060600160405280838152602001612a2f611894565b60ff16600a612a3e9190615208565b62124f80612a4c9190615326565b81526020016012815250600f600086600160088110612a6e57612a6d615546565b5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010155604082015181600201559050506012600f600086600160088110612ae857612ae7615546565b5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154612b359190615326565b81612b40919061515f565b90506040518060600160405280838152602001612b5b611894565b60ff16600a612b6a9190615208565b6209eb10612b789190615326565b81526020016012815250600f600086600260088110612b9a57612b99615546565b5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010155604082015181600201559050506012600f600086600260088110612c1457612c13615546565b5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154612c619190615326565b81612c6c919061515f565b90506040518060600160405280848152602001612c87611894565b60ff16600a612c969190615208565b62028b0a612ca49190615326565b81526020016006815250600f600086600360088110612cc657612cc5615546565b5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010155604082015181600201559050506006600f600086600360088110612d4057612d3f615546565b5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154612d8d9190615326565b81612d98919061515f565b90506040518060600160405280838152602001612db3611894565b60ff16600a612dc29190615208565b620f4240612dd09190615326565b81526020016012815250600f600086600460088110612df257612df1615546565b5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010155604082015181600201559050506012600f600086600460088110612e6c57612e6b615546565b5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154612eb99190615326565b81612ec4919061515f565b90506040518060600160405280838152602001612edf611894565b60ff16600a612eee9190615208565b62043d11612efc9190615326565b81526020016012815250600f600086600560088110612f1e57612f1d615546565b5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010155604082015181600201559050506012600f600086600560088110612f9857612f97615546565b5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154612fe59190615326565b81612ff0919061515f565b9050604051806060016040528083815260200161300b611894565b60ff16600a61301a9190615208565b6201b2076130289190615326565b81526020016012815250600f60008660066008811061304a57613049615546565b5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010155604082015181600201559050506012600f6000866006600881106130c4576130c3615546565b5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101546131119190615326565b8161311c919061515f565b90506040518060600160405280838152602001613137611894565b60ff16600a6131469190615208565b621458556131549190615326565b81526020016012815250600f60008660076008811061317657613175615546565b5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010155604082015181600201559050506012600f6000866007600881106131f0576131ef615546565b5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015461323d9190615326565b81613248919061515f565b905061325c613255611eaa565b3083613f03565b6132aa613267611eaa565b8560006008811061327b5761327a615546565b5b6020020151613288611894565b60ff16600a6132979190615208565b620f42406132a59190615326565b613f03565b6132f86132b5611eaa565b856001600881106132c9576132c8615546565b5b60200201516132d6611894565b60ff16600a6132e59190615208565b62249f006132f39190615326565b613f03565b613346613303611eaa565b8560026008811061331757613316615546565b5b6020020151613324611894565b60ff16600a6133339190615208565b6213d6206133419190615326565b613f03565b613394613351611eaa565b8560036008811061336557613364615546565b5b6020020151613372611894565b60ff16600a6133819190615208565b620f424461338f9190615326565b613f03565b6133e261339f611eaa565b856004600881106133b3576133b2615546565b5b60200201516133c0611894565b60ff16600a6133cf9190615208565b621e84806133dd9190615326565b613f03565b61342e6133ed611eaa565b8560056008811061340157613400615546565b5b602002015161340e611894565b60ff16600a61341d9190615208565b600e6134299190615326565b613f03565b61347a613439611eaa565b8560066008811061344d5761344c615546565b5b602002015161345a611894565b60ff16600a6134699190615208565b60026134759190615326565b613f03565b6134c6613485611eaa565b8560076008811061349957613498615546565b5b60200201516134a6611894565b60ff16600a6134b59190615208565b60066134c19190615326565b613f03565b6001601060006101000a81548160ff02191690831515021790555050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613558576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161354f90614fe7565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600560006003811061358457613583615546565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061362957508173ffffffffffffffffffffffffffffffffffffffff1660056001600381106135ef576135ee615546565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b8061369557508173ffffffffffffffffffffffffffffffffffffffff16600560026003811061365b5761365a615546565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b9050919050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61372b613d30565b73ffffffffffffffffffffffffffffffffffffffff16613749611eaa565b73ffffffffffffffffffffffffffffffffffffffff161461379f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161379690614be7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561380f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161380690614ec7565b60405180910390fd5b613818816141fd565b50565b61382b613826613d30565b6134e7565b61386a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161386190615027565b60405180910390fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85560405160405180910390a250565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b613966613d30565b73ffffffffffffffffffffffffffffffffffffffff16613984611eaa565b73ffffffffffffffffffffffffffffffffffffffff16146139da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139d190614be7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613a4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a4190614d67565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415613aba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613ab190614e87565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613b29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b2090614f87565b60405180910390fd5b6000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015411613bae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613ba590614ca7565b60405180910390fd5b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015414613c33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613c2a90615087565b60405180910390fd5b600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015481600001556001820154816001015560028201548160020155905050600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000808201600090556001820160009055600282016000905550505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613da8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613d9f90614d87565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613e18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613e0f90614c07565b60405180910390fd5b80600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051613ef691906150c2565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613f73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613f6a90615047565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613fe3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613fda90615007565b60405180910390fd5b6000600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561406a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161406190614e27565b60405180910390fd5b818103600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546140ff919061515f565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161416391906150c2565b60405180910390a350505050565b600061417d848461369c565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146141f757818110156141e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016141e090614ce7565b60405180910390fd5b6141f68484848403613d38565b5b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60405180606001604052806000815260200160008152602001600081525090565b60006142f56142f08461511d565b6150f8565b9050808285602086028201111561430f5761430e6155a9565b5b60005b8581101561433f57816143258882614349565b845260208401935060208301925050600181019050614312565b5050509392505050565b60008135905061435881615c39565b92915050565b600082601f830112614373576143726155a4565b5b60086143808482856142e2565b91505092915050565b60008135905061439881615c50565b92915050565b6000602082840312156143b4576143b36155ae565b5b60006143c284828501614349565b91505092915050565b600080604083850312156143e2576143e16155ae565b5b60006143f085828601614349565b925050602061440185828601614349565b9150509250929050565b600080600060608486031215614424576144236155ae565b5b600061443286828701614349565b935050602061444386828701614349565b925050604061445486828701614389565b9150509250925092565b60008060408385031215614475576144746155ae565b5b600061448385828601614349565b925050602061449485828601614389565b9150509250929050565b600061010082840312156144b5576144b46155ae565b5b60006144c38482850161435e565b91505092915050565b6144d5816153b4565b82525050565b6144e4816153c6565b82525050565b60006144f582615143565b6144ff818561514e565b935061450f818560208601615409565b614518816155b3565b840191505092915050565b600061453060198361514e565b915061453b826155d1565b602082019050919050565b6000614553601d8361514e565b915061455e826155fa565b602082019050919050565b600061457660178361514e565b915061458182615623565b602082019050919050565b6000614599601b8361514e565b91506145a48261564c565b602082019050919050565b60006145bc60108361514e565b91506145c782615675565b602082019050919050565b60006145df601e8361514e565b91506145ea8261569e565b602082019050919050565b600061460260188361514e565b915061460d826156c7565b602082019050919050565b6000614625601b8361514e565b9150614630826156f0565b602082019050919050565b600061464860158361514e565b915061465382615719565b602082019050919050565b600061466b60158361514e565b915061467682615742565b602082019050919050565b600061468e60168361514e565b91506146998261576b565b602082019050919050565b60006146b160118361514e565b91506146bc82615794565b602082019050919050565b60006146d4601f8361514e565b91506146df826157bd565b602082019050919050565b60006146f760198361514e565b9150614702826157e6565b602082019050919050565b600061471a60178361514e565b91506147258261580f565b602082019050919050565b600061473d601d8361514e565b915061474882615838565b602082019050919050565b6000614760601b8361514e565b915061476b82615861565b602082019050919050565b600061478360108361514e565b915061478e8261588a565b602082019050919050565b60006147a6601e8361514e565b91506147b1826158b3565b602082019050919050565b60006147c960158361514e565b91506147d4826158dc565b602082019050919050565b60006147ec601f8361514e565b91506147f782615905565b602082019050919050565b600061480f601b8361514e565b915061481a8261592e565b602082019050919050565b6000614832601f8361514e565b915061483d82615957565b602082019050919050565b600061485560178361514e565b915061486082615980565b602082019050919050565b6000614878601b8361514e565b9150614883826159a9565b602082019050919050565b600061489b601d8361514e565b91506148a6826159d2565b602082019050919050565b60006148be601f8361514e565b91506148c9826159fb565b602082019050919050565b60006148e1600c8361514e565b91506148ec82615a24565b602082019050919050565b6000614904601b8361514e565b915061490f82615a4d565b602082019050919050565b6000614927601f8361514e565b915061493282615a76565b602082019050919050565b600061494a60198361514e565b915061495582615a9f565b602082019050919050565b600061496d601b8361514e565b915061497882615ac8565b602082019050919050565b600061499060158361514e565b915061499b82615af1565b602082019050919050565b60006149b360168361514e565b91506149be82615b1a565b602082019050919050565b60006149d6601f8361514e565b91506149e182615b43565b602082019050919050565b60006149f9601c8361514e565b9150614a0482615b6c565b602082019050919050565b6000614a1c601d8361514e565b9150614a2782615b95565b602082019050919050565b6000614a3f601e8361514e565b9150614a4a82615bbe565b602082019050919050565b6000614a62601a8361514e565b9150614a6d82615be7565b602082019050919050565b6000614a8560178361514e565b9150614a9082615c10565b602082019050919050565b606082016000820151614ab16000850182614add565b506020820151614ac46020850182614add565b506040820151614ad76040850182614add565b50505050565b614ae6816153f2565b82525050565b614af5816153f2565b82525050565b614b04816153fc565b82525050565b6000602082019050614b1f60008301846144cc565b92915050565b6000608082019050614b3a60008301876144cc565b614b476020830186614aec565b614b546040830185614aec565b614b6160608301846144cc565b95945050505050565b6000602082019050614b7f60008301846144db565b92915050565b60006020820190508181036000830152614b9f81846144ea565b905092915050565b60006020820190508181036000830152614bc081614523565b9050919050565b60006020820190508181036000830152614be081614546565b9050919050565b60006020820190508181036000830152614c0081614569565b9050919050565b60006020820190508181036000830152614c208161458c565b9050919050565b60006020820190508181036000830152614c40816145af565b9050919050565b60006020820190508181036000830152614c60816145d2565b9050919050565b60006020820190508181036000830152614c80816145f5565b9050919050565b60006020820190508181036000830152614ca081614618565b9050919050565b60006020820190508181036000830152614cc08161463b565b9050919050565b60006020820190508181036000830152614ce08161465e565b9050919050565b60006020820190508181036000830152614d0081614681565b9050919050565b60006020820190508181036000830152614d20816146a4565b9050919050565b60006020820190508181036000830152614d40816146c7565b9050919050565b60006020820190508181036000830152614d60816146ea565b9050919050565b60006020820190508181036000830152614d808161470d565b9050919050565b60006020820190508181036000830152614da081614730565b9050919050565b60006020820190508181036000830152614dc081614753565b9050919050565b60006020820190508181036000830152614de081614776565b9050919050565b60006020820190508181036000830152614e0081614799565b9050919050565b60006020820190508181036000830152614e20816147bc565b9050919050565b60006020820190508181036000830152614e40816147df565b9050919050565b60006020820190508181036000830152614e6081614802565b9050919050565b60006020820190508181036000830152614e8081614825565b9050919050565b60006020820190508181036000830152614ea081614848565b9050919050565b60006020820190508181036000830152614ec08161486b565b9050919050565b60006020820190508181036000830152614ee08161488e565b9050919050565b60006020820190508181036000830152614f00816148b1565b9050919050565b60006020820190508181036000830152614f20816148d4565b9050919050565b60006020820190508181036000830152614f40816148f7565b9050919050565b60006020820190508181036000830152614f608161491a565b9050919050565b60006020820190508181036000830152614f808161493d565b9050919050565b60006020820190508181036000830152614fa081614960565b9050919050565b60006020820190508181036000830152614fc081614983565b9050919050565b60006020820190508181036000830152614fe0816149a6565b9050919050565b60006020820190508181036000830152615000816149c9565b9050919050565b60006020820190508181036000830152615020816149ec565b9050919050565b6000602082019050818103600083015261504081614a0f565b9050919050565b6000602082019050818103600083015261506081614a32565b9050919050565b6000602082019050818103600083015261508081614a55565b9050919050565b600060208201905081810360008301526150a081614a78565b9050919050565b60006060820190506150bc6000830184614a9b565b92915050565b60006020820190506150d76000830184614aec565b92915050565b60006020820190506150f26000830184614afb565b92915050565b6000615102615113565b905061510e828261546e565b919050565b6000604051905090565b600067ffffffffffffffff82111561513857615137615575565b5b602082029050919050565b600081519050919050565b600082825260208201905092915050565b600061516a826153f2565b9150615175836153f2565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156151aa576151a96154e8565b5b828201905092915050565b6000808291508390505b60018511156151ff578086048111156151db576151da6154e8565b5b60018516156151ea5780820291505b80810290506151f8856155c4565b94506151bf565b94509492505050565b6000615213826153f2565b915061521e836153f2565b925061524b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484615253565b905092915050565b600082615263576001905061531f565b81615271576000905061531f565b81600181146152875760028114615291576152c0565b600191505061531f565b60ff8411156152a3576152a26154e8565b5b8360020a9150848211156152ba576152b96154e8565b5b5061531f565b5060208310610133831016604e8410600b84101617156152f55782820a9050838111156152f0576152ef6154e8565b5b61531f565b61530284848460016151b5565b92509050818404811115615319576153186154e8565b5b81810290505b9392505050565b6000615331826153f2565b915061533c836153f2565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615375576153746154e8565b5b828202905092915050565b600061538b826153f2565b9150615396836153f2565b9250828210156153a9576153a86154e8565b5b828203905092915050565b60006153bf826153d2565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561542757808201518184015260208101905061540c565b83811115615436576000848401525b50505050565b6000600282049050600182168061545457607f821691505b6020821081141561546857615467615517565b5b50919050565b615477826155b3565b810181811067ffffffffffffffff8211171561549657615495615575565b5b80604052505050565b60006154aa826153f2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156154dd576154dc6154e8565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f426c61636b6c697374657220636f756e74207265616368656400000000000000600082015250565b7f436c61696d61626c65206164647265737320697320746865207a65726f000000600082015250565b7f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000600082015250565b7f417070726f766520746f20746865207a65726f20616464726573730000000000600082015250565b7f4e6f7468696e6720746f20636c61696d00000000000000000000000000000000600082015250565b7f4e657720626c61636b6c697374657220697320616c7265616479207365740000600082015250565b7f43616e206f6e6c792062652063616c6c6564206f6e6365210000000000000000600082015250565b7f4f6c6420626c61636b6c697374657220697320746865207a65726f0000000000600082015250565b7f4f6c6420636c61696d6572206e6f7420666f756e640000000000000000000000600082015250565b7f467265657a657220636f756e7420726561636865640000000000000000000000600082015250565b7f496e73756666696369656e7420616c6c6f77616e636500000000000000000000600082015250565b7f467265657a61626c653a2066726f7a656e000000000000000000000000000000600082015250565b7f4e657720667265657a657220697320746865207a65726f206164647265737300600082015250565b7f43616c6c6572206973206e6f742074686520667265657a657200000000000000600082015250565b7f4f6c6420636c61696d657220697320746865207a65726f000000000000000000600082015250565b7f417070726f76652066726f6d20746865207a65726f2061646472657373000000600082015250565b7f5468697320667265657a657220697320616c7265616479207365740000000000600082015250565b7f43616e6e6f7420636c61696d2079657400000000000000000000000000000000600082015250565b7f44656372656173656420616c6c6f77616e63652062656c6f77207a65726f0000600082015250565b7f4f6c6420667265657a6572206e6f7420666f756e640000000000000000000000600082015250565b7f5472616e7366657220616d6f756e7420657863656564732062616c616e636500600082015250565b7f4e657720626c61636b6c697374657220697320746865207a65726f0000000000600082015250565b7f5468697320626c61636b6c697374657220697320616c72656164792073657400600082015250565b7f4e657720636c61696d657220697320746865207a65726f000000000000000000600082015250565b7f467265657a657220697320746865207a65726f20616464726573730000000000600082015250565b7f4e6577206f776e657220697320746865207a65726f2061646472657373000000600082015250565b7f4f6c6420667265657a657220697320746865207a65726f206164647265737300600082015250565b7f43616e6e6f7420636c61696d0000000000000000000000000000000000000000600082015250565b7f4f6c6420616e64206e657720667265657a65722069732073616d650000000000600082015250565b7f4f6c6420616e64206e657720626c61636b6c69737465722069732073616d6500600082015250565b7f4f6c6420626c61636b6c6973746572206e6f7420666f756e6400000000000000600082015250565b7f4f6c6420616e64206e657720636c61696d65722069732073616d650000000000600082015250565b7f467265657a61626c653a206e6f742066726f7a656e0000000000000000000000600082015250565b7f4164647265737320697320626c61636b6c697374656400000000000000000000600082015250565b7f426c61636b6c697374657220697320746865207a65726f206164647265737300600082015250565b7f5472616e7366657220746f20746865207a65726f206164647265737300000000600082015250565b7f43616c6c6572206973206e6f742074686520626c61636b6c6973746572000000600082015250565b7f5472616e736665722066726f6d20746865207a65726f20616464726573730000600082015250565b7f4e657720667265657a657220697320616c726561647920736574000000000000600082015250565b7f4e657720636c61696d657220616c726561647920736574000000000000000000600082015250565b615c42816153b4565b8114615c4d57600080fd5b50565b615c59816153f2565b8114615c6457600080fd5b5056fea2646970667358221220a9f6ee6521ca75eef727b6bf40cc5437d2e7b3752cc49c1b4833b74169c5350264736f6c63430008070033