[ { "inputs": [ { "internalType": "address", "name": "_traits", "type": "address" }, { "internalType": "address", "name": "_wl", "type": "address" }, { "internalType": "address", "name": "_daoAddress", "type": "address" }, { "internalType": "address", "name": "_teamAddress", "type": "address" }, { "internalType": "uint256", "name": "_mintStartTime", "type": "uint256" }, { "internalType": "uint256", "name": "_startprice", "type": "uint256" }, { "internalType": "uint256", "name": "_endprice", "type": "uint256" }, { "internalType": "uint256", "name": "_gen0Tokens", "type": "uint256" }, { "internalType": "uint256", "name": "_maxMintPerAddress", "type": "uint256" } ], "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": "address", "name": "", "type": "address" } ], "name": "ControllerAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "", "type": "address" } ], "name": "ControllerRemoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOperator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOperator", "type": "address" } ], "name": "OperatorTransferred", "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": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Paused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "components": [ { "internalType": "bool", "name": "isPrey", "type": "bool" }, { "internalType": "uint8", "name": "environment", "type": "uint8" }, { "internalType": "uint8", "name": "body", "type": "uint8" }, { "internalType": "uint8", "name": "armor", "type": "uint8" }, { "internalType": "uint8", "name": "helmet", "type": "uint8" }, { "internalType": "uint8", "name": "shoes", "type": "uint8" }, { "internalType": "uint8", "name": "shield", "type": "uint8" }, { "internalType": "uint8", "name": "weapon", "type": "uint8" }, { "internalType": "uint8", "name": "item", "type": "uint8" }, { "internalType": "uint8", "name": "alphaIndex", "type": "uint8" }, { "internalType": "uint64", "name": "generation", "type": "uint64" }, { "internalType": "uint8", "name": "agility", "type": "uint8" }, { "internalType": "uint8", "name": "charisma", "type": "uint8" }, { "internalType": "uint8", "name": "damage", "type": "uint8" }, { "internalType": "uint8", "name": "defense", "type": "uint8" }, { "internalType": "uint8", "name": "dexterity", "type": "uint8" }, { "internalType": "uint8", "name": "health", "type": "uint8" }, { "internalType": "uint8", "name": "intelligence", "type": "uint8" }, { "internalType": "uint8", "name": "luck", "type": "uint8" }, { "internalType": "uint8", "name": "strength", "type": "uint8" } ], "indexed": false, "internalType": "struct IPreyPredator.PreyPredator", "name": "traits", "type": "tuple" } ], "name": "TokenTraitsUpdated", "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" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "inputs": [], "name": "GEN0_TOKENS", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_MINT_PER_ADDRESS", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_PER_MINT", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINT_PRICE_END", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINT_PRICE_START", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINT_STEAL_CHANCE", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "PREDATOR_MINT_CHANCE", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "REVEAL_DELAY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ROYALTY_FEE", "outputs": [ { "internalType": "uint96", "name": "", "type": "uint96" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "controller", "type": "address" } ], "name": "addController", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" } ], "name": "addToBlacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "aliases", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "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": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "currentGeneration", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "daoAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "entropy", "outputs": [ { "internalType": "contract IEntropy", "name": "", "type": "address" } ], "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": "uint8", "name": "generation", "type": "uint8" } ], "name": "getGenTokens", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "getMintPrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getTokenTraits", "outputs": [ { "components": [ { "internalType": "bool", "name": "isPrey", "type": "bool" }, { "internalType": "uint8", "name": "environment", "type": "uint8" }, { "internalType": "uint8", "name": "body", "type": "uint8" }, { "internalType": "uint8", "name": "armor", "type": "uint8" }, { "internalType": "uint8", "name": "helmet", "type": "uint8" }, { "internalType": "uint8", "name": "shoes", "type": "uint8" }, { "internalType": "uint8", "name": "shield", "type": "uint8" }, { "internalType": "uint8", "name": "weapon", "type": "uint8" }, { "internalType": "uint8", "name": "item", "type": "uint8" }, { "internalType": "uint8", "name": "alphaIndex", "type": "uint8" }, { "internalType": "uint64", "name": "generation", "type": "uint64" }, { "internalType": "uint8", "name": "agility", "type": "uint8" }, { "internalType": "uint8", "name": "charisma", "type": "uint8" }, { "internalType": "uint8", "name": "damage", "type": "uint8" }, { "internalType": "uint8", "name": "defense", "type": "uint8" }, { "internalType": "uint8", "name": "dexterity", "type": "uint8" }, { "internalType": "uint8", "name": "health", "type": "uint8" }, { "internalType": "uint8", "name": "intelligence", "type": "uint8" }, { "internalType": "uint8", "name": "luck", "type": "uint8" }, { "internalType": "uint8", "name": "strength", "type": "uint8" } ], "internalType": "struct IPreyPredator.PreyPredator", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "increaseGeneration", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isBlacklisted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isOperator", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "mintBlock", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mintGen0", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "price", "type": "uint256" }, { "internalType": "uint256", "name": "generation", "type": "uint256" }, { "internalType": "bool", "name": "stealing", "type": "bool" } ], "name": "mintGeneric", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "mintStartTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "price", "type": "uint256" } ], "name": "mintUnderpeg", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "minted", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "mintedPerAddress", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "mintedPerGen", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "mintedPrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "operator", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "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": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pool", "outputs": [ { "internalType": "contract IPool", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pool2", "outputs": [ { "internalType": "contract IPool", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "rarities", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "controller", "type": "address" } ], "name": "removeController", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" } ], "name": "removeFromBlacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "generation", "type": "uint256" } ], "name": "reserve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "_salePrice", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_adr", "type": "address" } ], "name": "setDaoAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_entropy", "type": "address" } ], "name": "setEntropy", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "setGen0Mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "_mintStealChance", "type": "uint8" } ], "name": "setMintStealChance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_paused", "type": "bool" } ], "name": "setPaused", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_pool", "type": "address" } ], "name": "setPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_pool", "type": "address" } ], "name": "setPool2", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "_mintChance", "type": "uint8" } ], "name": "setPredatorMintChance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_addr", "type": "address" }, { "internalType": "uint96", "name": "_fee", "type": "uint96" } ], "name": "setRoyalty", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_adr", "type": "address" } ], "name": "setTeamAddress", "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": [], "name": "teamAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "traits", "outputs": [ { "internalType": "contract ITraits", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "traitsRevealed", "outputs": [ { "internalType": "bool", "name": "revealed", "type": "bool" } ], "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": "newOperator_", "type": "address" } ], "name": "transferOperator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "components": [ { "internalType": "bool", "name": "isPrey", "type": "bool" }, { "internalType": "uint8", "name": "environment", "type": "uint8" }, { "internalType": "uint8", "name": "body", "type": "uint8" }, { "internalType": "uint8", "name": "armor", "type": "uint8" }, { "internalType": "uint8", "name": "helmet", "type": "uint8" }, { "internalType": "uint8", "name": "shoes", "type": "uint8" }, { "internalType": "uint8", "name": "shield", "type": "uint8" }, { "internalType": "uint8", "name": "weapon", "type": "uint8" }, { "internalType": "uint8", "name": "item", "type": "uint8" }, { "internalType": "uint8", "name": "alphaIndex", "type": "uint8" }, { "internalType": "uint64", "name": "generation", "type": "uint64" }, { "internalType": "uint8", "name": "agility", "type": "uint8" }, { "internalType": "uint8", "name": "charisma", "type": "uint8" }, { "internalType": "uint8", "name": "damage", "type": "uint8" }, { "internalType": "uint8", "name": "defense", "type": "uint8" }, { "internalType": "uint8", "name": "dexterity", "type": "uint8" }, { "internalType": "uint8", "name": "health", "type": "uint8" }, { "internalType": "uint8", "name": "intelligence", "type": "uint8" }, { "internalType": "uint8", "name": "luck", "type": "uint8" }, { "internalType": "uint8", "name": "strength", "type": "uint8" } ], "internalType": "struct IPreyPredator.PreyPredator", "name": "_newTraits", "type": "tuple" } ], "name": "updateTokenTraits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "whitelist", "outputs": [ { "internalType": "contract IWhitelist", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "whitelistClaimed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60a060405260128054610a0a61ffff199091161790556005608052601680546001600160601b03191660091790553480156200003a57600080fd5b5060405162006c6c38038062006c6c8339810160408190526200005d916200108a565b6040805180820182526011815270476c61646961746f722046696e616e636560781b60208083019182528351808501909452600784526611d3105113919560ca1b908401528151919291620000b59160029162000e18565b508051620000cb90600390602084019062000e18565b505050620000e8620000e262000cc160201b60201c565b62000cc5565b600d80546001600160a01b031916339081179091556040516000907f74da04524d50c64947f5dd5381ef1a4dca5cba8ed1d816243f9e48aa0b5617ed908290a36010805460ff19169055604980546001600160a01b038b81166001600160a01b031992831617909255604b80548b84169216919091179055601b869055600c546200018091166016546001600160601b031662000d17565b6011819055601483905560138490556015829055604c80546001600160a01b038981166001600160a01b031992831617909255604d8054928916929091169190911790556040805160e08101825260f6815260e460208201526101009181019190915260f1606082015260fd6080820152603660a0820152602460c08201526200020f90602190600762000ea7565b506040805160e081018252600280825260036020830152918101829052600460608201526080810191909152600060a0820152600160c08201526200025990603490600762000f52565b5060408051610140810182526066815260b36020820152610100918101829052603360608201819052601a6080830181905260a0830182905260c0830181905260e0830191909152918101829052610120810191909152620002c090602290600a62000ea7565b50604080516101408101825260018082526002602083018190529282018390526000606083018190526080830182905260a0830184905260c0830181905260e08301919091526101008201929092526101208101919091526200032890603590600a62000f52565b506040805160c081018252610100815260cd602082015260149181019190915260b86060820152605c6080820152600f60a08201526200036d90602390600662000ea7565b506040805160c081018252600080825260208201819052918101829052606081019190915260016080820152600260a0820152620003b090603690600662000f52565b506040805160e081018252610100815260d2602082015260549181019190915260f1606082015260fb6080820152606c60a0820152601260c0820152620003fc90602490600762000ea7565b506040805160e081018252600080825260036020830152918101829052606081018290526080810191909152600160a0820152600260c08201526200044690603790600762000f52565b506040805160e081018252610100815260d2602082015260549181019190915260f1606082015260fb6080820152606c60a0820152601260c08201526200049290602590600762000ea7565b506040805160e081018252600080825260036020830152918101829052606081018290526080810191909152600160a0820152600260c0820152620004dc90603890600762000f52565b506040805160e08101825260b38152610100602082015260c891810191909152608a606082015260fb6080820152606c60a0820152601260c08201526200052890602690600762000ea7565b506040805160e0810182526001808252602082018190529181018290526002606082018190526080820152600360a082015260c08101919091526200057290603990600762000f52565b506040805160c081018252610100815260cd602082015260159181019190915260b86060820152605c6080820152600f60a0820152620005b790602790600662000ea7565b506040805160c081018252600080825260208201819052918101829052606081019190915260016080820152600260a0820152620005fa90603a90600662000f52565b506040805161012081018252610100808252608b6020830181905292820192909252608a606082018190526080820181905260a08201819052609f60c083015260e0820152602e918101919091526200065890602890600962000ea7565b506040805161012081018252600080825260208201819052600692820192909252606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152620006b590603b90600962000f52565b50604080516020810190915260ff8152620006d590602990600162000feb565b50604080516020810190915260008152620006f590603c90600162000f52565b506040805161018081018252610100808252609a6020830181905260b89383019390935260608201839052608082019290925260f660a0820181905260c0820152600060e082018190529181018290526101208101829052610140810191909152601f6101608201526200076e90602b90600c62000ea7565b5060408051610180810182526000808252602082018190529181018290526002606082018190526080820183905260a0820181905260c0820183905260e0820152610100810182905261012081018290526101408101829052610160810191909152620007e090603e90600c62000f52565b50604080516101a08101825261010080825260dc602083015260d292820192909252608f60608201819052608082015260c860a0820181905260c0820152608560e082018190529181018290526101208101919091526043610140820181905261016082015260426101808201526200085e90602c90600d62000ea7565b50604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a08101829052600160c08201819052600260e0830152600361010083015260046101208301526101408201839052610160820152610180810191909152620008d890603f90600d62000f52565b50604080516020810190915260ff8152620008f890602d90600162000feb565b506040805160208101825260008152620009159190600162000f52565b50604080516020810190915260ff81526200093590602e90600162000feb565b506040805160208101909152600081526200095590604190600162000f52565b50604080516020810190915260ff81526200097590602f90600162000feb565b506040805160208101909152600081526200099590604290600162000f52565b50604080516020810190915260ff8152620009b590603090600162000feb565b50604080516020810190915260008152620009d590604390600162000f52565b506040805160a081018252610100808252609a60208301529181019190915260666060820152601a608082015262000a1290603190600562000ea7565b506040805160a08101825260008082526020820181905260029282019290925260608101919091526001608082015262000a5190604490600562000f52565b50604080516101e081018252610100808252608d602083015260a6928201839052604d606083018190526080830184905260a0830193909352609a60c0830181905260e083018190529082018190526101208201526099610140820152607361016082015261018081019190915260276101a082015260266101c082015262000adf90603290600f62000ea7565b50604080516101e081018252600080825260208201819052918101829052606081018290526080810182905260a08101829052600160c08201819052600260e083015260046101008301526005610120830152610140820183905261016082015261018081018290526101a081018290526101c081019190915262000b6990604590600f62000f52565b506040805160a081018252610100808252609a60208301529181019190915260666060820152601a608082015262000ba690603390600562000ea7565b506040805160a08101825260008082526020820181905260029282019290925260608101919091526001608082015262000be590604690600562000f52565b5060005b601381101562000cb1576034816013811062000c095762000c0962001118565b01546021826013811062000c215762000c2162001118565b01541462000c9c5760405162461bcd60e51b815260206004820152603660248201527f52617269746965732720616e6420616c696173657327206c656e67746820646f60448201527f206e6f74206d617463682065766572797768657265210000000000000000000060648201526084015b60405180910390fd5b8062000ca8816200112e565b91505062000be9565b5050505050505050505062001195565b3390565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6127106001600160601b038216111562000d875760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b606482015260840162000c93565b6001600160a01b03821662000ddf5760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c696420726563656976657200000000000000604482015260640162000c93565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600055565b82805462000e269062001158565b90600052602060002090601f01602090048101928262000e4a576000855562000e95565b82601f1062000e6557805160ff191683800117855562000e95565b8280016001018555821562000e95579182015b8281111562000e9557825182559160200191906001019062000e78565b5062000ea392915062001056565b5090565b82805482825590600052602060002090600f0160109004810192821562000e955791602002820160005b8382111562000f1357835183826101000a81548161ffff021916908361ffff160217905550926020019260020160208160010104928301926001030262000ed1565b801562000f435782816101000a81549061ffff021916905560020160208160010104928301926001030262000f13565b505062000ea392915062001056565b82805482825590600052602060002090601f0160209004810192821562000e955791602002820160005b8382111562000fbc57835183826101000a81548160ff021916908360ff160217905550926020019260010160208160000104928301926001030262000f7c565b801562000f435782816101000a81549060ff021916905560010160208160000104928301926001030262000fbc565b82805482825590600052602060002090600f0160109004810192821562000e955791602002820160005b8382111562000f1357835183826101000a81548161ffff021916908360ff160217905550926020019260020160208160010104928301926001030262001015565b5b8082111562000ea3576000815560010162001057565b80516001600160a01b03811681146200108557600080fd5b919050565b60008060008060008060008060006101208a8c031215620010aa57600080fd5b620010b58a6200106d565b9850620010c560208b016200106d565b9750620010d560408b016200106d565b9650620010e560608b016200106d565b955060808a0151945060a08a0151935060c08a0151925060e08a015191506101008a015190509295985092959850929598565b634e487b7160e01b600052603260045260246000fd5b60006000198214156200115157634e487b7160e01b600052601160045260246000fd5b5060010190565b600181811c908216806200116d57607f821691505b602082108114156200118f57634e487b7160e01b600052602260045260246000fd5b50919050565b608051615a9f620011cd60003960008181610bee0152818161292401528181612d2e01528181612df301526134a90152615a9f6000f3fe6080604052600436106104525760003560e01c80636352211e1161023f578063a7bc4e3011610139578063d445b978116100b6578063e985e9c51161007a578063e985e9c514610ddb578063f2fde38b14610dfb578063f6a74ed714610e1b578063fb9025e814610e3b578063fe575a8714610e5b57600080fd5b8063d445b97814610d24578063d82e833e14610d51578063db4bec4414610d6b578063e1fc334f14610d9b578063e6b5a17414610dbb57600080fd5b8063b8f31742116100fd578063b8f3174214610c8f578063b941d3e014610caf578063c3f2a96c14610ccf578063c87b56dd14610ce4578063cc24c80014610d0457600080fd5b8063a7bc4e3014610bdc578063a7fc7a0714610c10578063ac0397be14610c30578063b59ee46d14610c4f578063b88d4fde14610c6f57600080fd5b80638ddb428a116101c757806394e568471161018b57806394e5684714610b4457806395d89b4114610b715780639980a3bc14610b865780639a3cac6a14610b9c578063a22cb46514610bbc57600080fd5b80638ddb428a14610ab45780638f2fc60b14610ace578063931e2e4914610aee578063935eb35f14610b0457806393e59dc114610b2457600080fd5b8063715018a61161020e578063715018a614610a2b5780637f604dcf14610a4057806383cec18f14610a6057806389daf79914610a765780638da5cb5b14610a9657600080fd5b80636352211e146109ab5780636690864e146109cb57806367c92e7e146109eb57806370a0823114610a0b57600080fd5b806333df4b2c116103505780634c62b7a2116102d8578063571bbf1d1161029c578063571bbf1d146109105780635999ebdd146109265780635b706838146109465780635c975abb14610973578063602e73051461098b57600080fd5b80634c62b7a2146108535780634f02c420146108735780634f6ccce7146108b2578063559e775b146108d2578063570ca735146108f257600080fd5b806342842e0e1161031f57806342842e0e146107b357806342966c68146107d35780634437152a146107f35780634456eda21461081357806347ce07cc1461083357600080fd5b806333df4b2c1461072357806336838391146107565780633acd6cb2146107885780633ccfd60b1461079e57600080fd5b806318160ddd116103de57806329605e77116103a257806329605e77146106595780632a55205a146106795780632f745c59146106b857806332bef484146106d8578063335477fc146106eb57600080fd5b806318160ddd146105c45780631c75f085146105d95780632131c68c146105f957806323b872dd14610619578063244282211461063957600080fd5b8063095ea7b311610425578063095ea7b31461052157806309d42b30146105435780630a975db61461055857806316c38b3c1461058457806316f0115b146105a457600080fd5b806301ffc9a71461045757806305cb01f71461048c57806306fdde03146104c7578063081812fc146104e9575b600080fd5b34801561046357600080fd5b50610477610472366004614d49565b610e94565b60405190151581526020015b60405180910390f35b34801561049857600080fd5b506104b96104a7366004614d66565b60176020526000908152604090205481565b604051908152602001610483565b3480156104d357600080fd5b506104dc610ea5565b6040516104839190614dd7565b3480156104f557600080fd5b50610509610504366004614d66565b610f37565b6040516001600160a01b039091168152602001610483565b34801561052d57600080fd5b5061054161053c366004614dff565b610f5e565b005b34801561054f57600080fd5b506104b9601e81565b34801561056457600080fd5b506104b9610573366004614d66565b602080526000908152604090205481565b34801561059057600080fd5b5061054161059f366004614e44565b611079565b3480156105b057600080fd5b50604754610509906001600160a01b031681565b3480156105d057600080fd5b50600a546104b9565b3480156105e557600080fd5b50604d54610509906001600160a01b031681565b34801561060557600080fd5b50604c54610509906001600160a01b031681565b34801561062557600080fd5b50610541610634366004614e61565b61109a565b34801561064557600080fd5b50610541610654366004614ea2565b611131565b34801561066557600080fd5b50610541610674366004614ec4565b61124e565b34801561068557600080fd5b50610699610694366004614ea2565b61125f565b604080516001600160a01b039093168352602083019190915201610483565b3480156106c457600080fd5b506104b96106d3366004614dff565b61130b565b6105416106e6366004614d66565b6113a1565b3480156106f757600080fd5b5060165461070b906001600160601b031681565b6040516001600160601b039091168152602001610483565b34801561072f57600080fd5b5061074361073e366004614ea2565b6116da565b60405161ffff9091168152602001610483565b34801561076257600080fd5b50610776610771366004614ea2565b611724565b60405160ff9091168152602001610483565b34801561079457600080fd5b506104b960115481565b3480156107aa57600080fd5b5061054161176a565b3480156107bf57600080fd5b506105416107ce366004614e61565b6117ab565b3480156107df57600080fd5b506105416107ee366004614d66565b6117c6565b3480156107ff57600080fd5b5061054161080e366004614ec4565b6117f4565b34801561081f57600080fd5b50600d546001600160a01b03163314610477565b34801561083f57600080fd5b50604a54610509906001600160a01b031681565b34801561085f57600080fd5b506104b961086e366004614ef2565b611820565b34801561087f57600080fd5b5060165461089a90600160601b90046001600160401b031681565b6040516001600160401b039091168152602001610483565b3480156108be57600080fd5b506104b96108cd366004614d66565b611841565b3480156108de57600080fd5b506104b96108ed366004614d66565b6118d4565b3480156108fe57600080fd5b50600d546001600160a01b0316610509565b34801561091c57600080fd5b506104b960135481565b34801561093257600080fd5b50610541610941366004614f0d565b611926565b34801561095257600080fd5b506104b9610961366004614d66565b601f6020526000908152604090205481565b34801561097f57600080fd5b5060105460ff16610477565b34801561099757600080fd5b506105416109a6366004614fe9565b6119b6565b3480156109b757600080fd5b506105096109c6366004614d66565b61245b565b3480156109d757600080fd5b506105416109e6366004614ec4565b6124bb565b3480156109f757600080fd5b50610541610a06366004615192565b6124e5565b348015610a1757600080fd5b506104b9610a26366004614ec4565b6125e1565b348015610a3757600080fd5b50610541612667565b348015610a4c57600080fd5b50610541610a5b366004614ef2565b61267b565b348015610a6c57600080fd5b506104b960145481565b348015610a8257600080fd5b50610541610a913660046151c7565b612699565b348015610aa257600080fd5b50600c546001600160a01b0316610509565b348015610ac057600080fd5b506019546107769060ff1681565b348015610ada57600080fd5b50610541610ae9366004615278565b61270a565b348015610afa57600080fd5b506104b9601b5481565b348015610b1057600080fd5b50610541610b1f3660046151c7565b61273c565b348015610b3057600080fd5b50604b54610509906001600160a01b031681565b348015610b5057600080fd5b50610b64610b5f366004614d66565b6127ad565b6040516104839190615406565b348015610b7d57600080fd5b506104dc612abb565b348015610b9257600080fd5b506104b960155481565b348015610ba857600080fd5b50610541610bb7366004614ec4565b612aca565b348015610bc857600080fd5b50610541610bd7366004615415565b612af4565b348015610be857600080fd5b506104b97f000000000000000000000000000000000000000000000000000000000000000081565b348015610c1c57600080fd5b50610541610c2b366004614ec4565b612aff565b348015610c3c57600080fd5b5060125461077690610100900460ff1681565b348015610c5b57600080fd5b50610541610c6a366004614ec4565b612b10565b348015610c7b57600080fd5b50610541610c8a36600461546a565b612b3a565b348015610c9b57600080fd5b50610541610caa366004614ef2565b612b72565b348015610cbb57600080fd5b50604854610509906001600160a01b031681565b348015610cdb57600080fd5b50610541612b96565b348015610cf057600080fd5b506104dc610cff366004614d66565b612c0e565b348015610d1057600080fd5b50610541610d1f366004614ec4565b612da2565b348015610d3057600080fd5b506104b9610d3f366004614ec4565b60186020526000908152604090205481565b348015610d5d57600080fd5b506012546107769060ff1681565b348015610d7757600080fd5b50610477610d86366004614ec4565b601c6020526000908152604090205460ff1681565b348015610da757600080fd5b50604954610509906001600160a01b031681565b348015610dc757600080fd5b50610477610dd6366004614d66565b612dce565b348015610de757600080fd5b50610477610df6366004615518565b612e30565b348015610e0757600080fd5b50610541610e16366004614ec4565b612efa565b348015610e2757600080fd5b50610541610e36366004614ec4565b612f70565b348015610e4757600080fd5b50610541610e56366004614d66565b612f81565b348015610e6757600080fd5b50610477610e76366004614ec4565b6001600160a01b03166000908152600f602052604090205460ff1690565b6000610e9f82612ff4565b92915050565b606060028054610eb490615546565b80601f0160208091040260200160405190810160405280929190818152602001828054610ee090615546565b8015610f2d5780601f10610f0257610100808354040283529160200191610f2d565b820191906000526020600020905b815481529060010190602001808311610f1057829003601f168201915b5050505050905090565b6000610f4282612fff565b506000908152600660205260409020546001600160a01b031690565b6000610f698261245b565b9050806001600160a01b0316836001600160a01b03161415610fdc5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b0382161480610ff85750610ff88133612e30565b61106a5760405162461bcd60e51b815260206004820152603e60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c00006064820152608401610fd3565b611074838361305e565b505050565b6110816130cc565b80156110925761108f613126565b50565b61108f613180565b6047546001600160a01b0316336001600160a01b031614611126576110c0335b826131b9565b6111265760405162461bcd60e51b815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6044820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b6064820152608401610fd3565b611074838383613218565b6111396133bf565b6111416130cc565b6000821180156111525750601e8211155b6111945760405162461bcd60e51b8152602060048201526013602482015272125b9d985b1a59081b5a5b9d08185b5bdd5b9d606a1b6044820152606401610fd3565b601b544210156111e05760405162461bcd60e51b8152602060048201526017602482015276135a5b9d1a5b99c81b9bdd081cdd185c9d1959081e595d604a1b6044820152606401610fd3565b60195460ff1681111561122a5760405162461bcd60e51b815260206004820152601260248201527124b73b30b634b21033b2b732b930ba34b7b760711b6044820152606401610fd3565b61124a61123f600c546001600160a01b031690565b836000846000613405565b5050565b6112566130cc565b61108f81613653565b60008281526001602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b03169282019290925282916112d45750604080518082019091526000546001600160a01b0381168252600160a01b90046001600160601b031660208201525b6020810151600090612710906112f3906001600160601b031687615591565b6112fd91906155c6565b915196919550909350505050565b6000611316836125e1565b82106113785760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610fd3565b506001600160a01b03919091166000908152600860209081526040808320938352929052205490565b6113a96133bf565b601b5433904210156113f75760405162461bcd60e51b8152602060048201526017602482015276135a5b9d1a5b99c81b9bdd081cdd185c9d1959081e595d604a1b6044820152606401610fd3565b326001600160a01b0382161461143a5760405162461bcd60e51b81526020600482015260086024820152674f6e6c7920454f4160c01b6044820152606401610fd3565b601554600080526017602052600080516020615a4a833981519152546114619084906155da565b111561147f5760405162461bcd60e51b8152600401610fd3906155f2565b6011546001600160a01b0382166000908152601860205260409020546114a69084906155da565b11156115065760405162461bcd60e51b815260206004820152602960248201527f596f752063616e74206d696e742074686174206d75636820666f72207468697360448201526820616464726573732160b81b6064820152608401610fd3565b600061151183613717565b9050600a831015801561159c5750604b54604051633af32abf60e01b81526001600160a01b03848116600483015290911690633af32abf9060240160206040518083038186803b15801561156457600080fd5b505afa158015611578573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159c9190615644565b80156115c157506001600160a01b0382166000908152601c602052604090205460ff16155b156115ea576115d1600184615661565b6115db9082615591565b90506115e783826155c6565b90505b3481111561164a5760405162461bcd60e51b815260206004820152602760248201527f4e6f7420656e6f75676820616d6f756e742073656e742077697468207472616e60448201526639b0b1ba34b7b760c91b6064820152608401610fd3565b61165982846000806001613405565b80341115611674576116748261166f8334615661565b613863565b604c546001600160a01b0316158015906116985750604d546001600160a01b031615155b1561107457604c546116c4906001600160a01b031660646116ba476019615591565b61166f91906155c6565b604d54611074906001600160a01b031647613863565b602182601381106116ea57600080fd5b0181815481106116f957600080fd5b9060005260206000209060109182820401919006600202915091509054906101000a900461ffff1681565b6034826013811061173457600080fd5b01818154811061174357600080fd5b9060005260206000209060209182820401919006915091509054906101000a900460ff1681565b6117726130cc565b600c546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561108f573d6000803e3d6000fd5b61107483838360405180602001604052806000815250612b3a565b6117cf336110ba565b6117eb5760405162461bcd60e51b8152600401610fd390615678565b61108f8161397c565b6117fc6130cc565b604780546001600160a01b0319166001600160a01b03831617905561108f81613985565b600061182d82600a6156c6565b61183890605a6156ef565b60ff1692915050565b600061184c600a5490565b82106118af5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610fd3565b600a82815481106118c2576118c2615714565b90600052602060002001549050919050565b60155460008080526017602052600080516020615a4a833981519152549091906118ff9084906155da565b111561191d5760405162461bcd60e51b8152600401610fd3906155f2565b610e9f82613717565b61192e6133bf565b336000908152600e602052604090205460ff16806119565750600c546001600160a01b031633145b6119a25760405162461bcd60e51b815260206004820152601c60248201527f4f6e6c7920636f6e74726f6c6c6572732063616e20646f2074686174000000006044820152606401610fd3565b6119af8585858585613405565b5050505050565b6119be6133bf565b336000908152600e602052604090205460ff16806119e65750600c546001600160a01b031633145b611a325760405162461bcd60e51b815260206004820152601c60248201527f4f6e6c7920636f6e74726f6c6c6572732063616e20646f2074686174000000006044820152606401610fd3565b600082118015611a545750601654600160601b90046001600160401b03168211155b611aab5760405162461bcd60e51b815260206004820152602260248201527f5570646174655472616974733a20746f6b656e20646f6573206e6f74206578696044820152611cdd60f21b6064820152608401610fd3565b6000611ab682613a00565b6000818152601e6020526040902054909150801580611ad457508381145b611b465760405162461bcd60e51b815260206004820152603960248201527f5570646174655472616974733a20546f6b656e2077697468207468652064657360448201527f697265642074726169747320616c7265616479206578697374000000000000006064820152608401610fd3565b8251600090611b535750600a5b602084015160ff166034611b688360006155da565b60138110611b7857611b78615714565b015411611bd15760405162461bcd60e51b815260206004820152602160248201527f5570646174655472616974733a20496e76616c696420656e7669726f6e6d656e6044820152601d60fa1b6064820152608401610fd3565b604084015160ff166034611be68360016155da565b60138110611bf657611bf6615714565b015411611c455760405162461bcd60e51b815260206004820152601a60248201527f5570646174655472616974733a20496e76616c696420626f64790000000000006044820152606401610fd3565b606084015160ff166034611c5a8360026155da565b60138110611c6a57611c6a615714565b015411611cb95760405162461bcd60e51b815260206004820152601b60248201527f5570646174655472616974733a20496e76616c69642061726d6f7200000000006044820152606401610fd3565b608084015160ff166034611cce8360036155da565b60138110611cde57611cde615714565b015411611d2d5760405162461bcd60e51b815260206004820152601c60248201527f5570646174655472616974733a20496e76616c69642068656c6d6574000000006044820152606401610fd3565b60a084015160ff166034611d428360046155da565b60138110611d5257611d52615714565b015411611da15760405162461bcd60e51b815260206004820152601b60248201527f5570646174655472616974733a20496e76616c69642073686f657300000000006044820152606401610fd3565b60c084015160ff166034611db68360056155da565b60138110611dc657611dc6615714565b015411611e155760405162461bcd60e51b815260206004820152601c60248201527f5570646174655472616974733a20496e76616c696420736869656c64000000006044820152606401610fd3565b60e084015160ff166034611e2a8360066155da565b60138110611e3a57611e3a615714565b015411611e895760405162461bcd60e51b815260206004820152601c60248201527f5570646174655472616974733a20496e76616c696420776561706f6e000000006044820152606401610fd3565b61010084015160ff166034611e9f8360076155da565b60138110611eaf57611eaf615714565b015411611efe5760405162461bcd60e51b815260206004820152601a60248201527f5570646174655472616974733a20496e76616c6964206974656d0000000000006044820152606401610fd3565b61012084015160ff166034611f148360086155da565b60138110611f2457611f24615714565b015411611f735760405162461bcd60e51b815260206004820152601b60248201527f5570646174655472616974733a20496e76616c696420616c70686100000000006044820152606401610fd3565b6101408401516019546001600160401b0390911660ff9091161015611fda5760405162461bcd60e51b815260206004820181905260248201527f5570646174655472616974733a20496e76616c69642067656e65726174696f6e6044820152606401610fd3565b6000858152601d60209081526040808320815161028081018352905460ff808216151583526101008083048216958401959095526201000082048116938301939093526301000000810483166060830152640100000000810483166080830152650100000000008104831660a0830152600160301b8104831660c0830152600160381b8104831660e0830152600160401b8104831693820193909352600160481b830482166101208201526001600160401b03600160501b840416610140820152600160901b83048216610160820152600160981b83048216610180820152600160a01b830482166101a0820152600160a81b830482166101c0820152600160b01b830482166101e0820152600160b81b83048216610200820152600160c01b83048216610220820152600160c81b83048216610240820152600160d01b90920416610260820152601e919061212f90613a00565b81526020019081526020016000206000905583601d600087815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff16021790555060808201518160000160046101000a81548160ff021916908360ff16021790555060a08201518160000160056101000a81548160ff021916908360ff16021790555060c08201518160000160066101000a81548160ff021916908360ff16021790555060e08201518160000160076101000a81548160ff021916908360ff1602179055506101008201518160000160086101000a81548160ff021916908360ff1602179055506101208201518160000160096101000a81548160ff021916908360ff16021790555061014082015181600001600a6101000a8154816001600160401b0302191690836001600160401b031602179055506101608201518160000160126101000a81548160ff021916908360ff1602179055506101808201518160000160136101000a81548160ff021916908360ff1602179055506101a08201518160000160146101000a81548160ff021916908360ff1602179055506101c08201518160000160156101000a81548160ff021916908360ff1602179055506101e08201518160000160166101000a81548160ff021916908360ff1602179055506102008201518160000160176101000a81548160ff021916908360ff1602179055506102208201518160000160186101000a81548160ff021916908360ff1602179055506102408201518160000160196101000a81548160ff021916908360ff16021790555061026082015181600001601a6101000a81548160ff021916908360ff16021790555090505084601e6000858152602001908152602001600020819055507fa51d3ccb4be703dc88327902d55950235d0d2403df1668dc0111bf529560db8c858560405161244c92919061572a565b60405180910390a15050505050565b6000818152600460205260408120546001600160a01b031680610e9f5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610fd3565b6124c36130cc565b604d80546001600160a01b0319166001600160a01b0392909216919091179055565b6124ed6133bf565b600d546001600160a01b031633146125375760405162461bcd60e51b815260206004820152600d60248201526c3737903832b936b4b9b9b4b7b760991b6044820152606401610fd3565b6019546125469060ff16611820565b60195460ff166000908152601760205260409020546125669084906155da565b11156125ca5760405162461bcd60e51b815260206004820152602d60248201527f4d696e74206c6573732c20746865726520617265206e6f2074686973206d616e60448201526c1e481d1bdad95b9cc81b19599d609a1b6064820152608401610fd3565b6019546110749084908490849060ff166000613405565b60006001600160a01b03821661264b5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610fd3565b506001600160a01b031660009081526005602052604090205490565b61266f6130cc565b6126796000613a5e565b565b6126836130cc565b6012805460ff191660ff92909216919091179055565b6126a16130cc565b805160005b81811015611074576000600f60008584815181106126c6576126c6615714565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806127028161573f565b9150506126a6565b6127126130cc565b601680546bffffffffffffffffffffffff19166001600160601b03831617905561124a8282613ab0565b6127446130cc565b805160005b81811015611074576001600f600085848151811061276957612769615714565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806127a58161573f565b915050612749565b6127b5614c8f565b601a54821161290d57506000908152601d6020908152604091829020825161028081018452905460ff808216151583526101008083048216948401949094526201000082048116948301949094526301000000810484166060830152640100000000810484166080830152650100000000008104841660a0830152600160301b8104841660c0830152600160381b8104841660e0830152600160401b8104841692820192909252600160481b820483166101208201526001600160401b03600160501b830416610140820152600160901b82048316610160820152600160981b82048316610180820152600160a01b820483166101a0820152600160a81b820483166101c0820152600160b01b820483166101e0820152600160b81b82048316610200820152600160c01b82048316610220820152600160c81b82048316610240820152600160d01b90910490911661026082015290565b6000828152601f60205260409020544390612949907f0000000000000000000000000000000000000000000000000000000000000000906155da565b11156129675760405162461bcd60e51b8152600401610fd39061575a565b506000908152601d6020908152604091829020825161028081018452905460ff808216151583526101008083048216948401949094526201000082048116948301949094526301000000810484166060830152640100000000810484166080830152650100000000008104841660a0830152600160301b8104841660c0830152600160381b8104841660e0830152600160401b8104841692820192909252600160481b820483166101208201526001600160401b03600160501b830416610140820152600160901b82048316610160820152600160981b82048316610180820152600160a01b820483166101a0820152600160a81b820483166101c0820152600160b01b820483166101e0820152600160b81b82048316610200820152600160c01b82048316610220820152600160c81b82048316610240820152600160d01b90910490911661026082015290565b919050565b606060038054610eb490615546565b612ad26130cc565b604c80546001600160a01b0319166001600160a01b0392909216919091179055565b61124a338383613bad565b612b076130cc565b61108f81613985565b612b186130cc565b604a80546001600160a01b0319166001600160a01b0392909216919091179055565b612b4433836131b9565b612b605760405162461bcd60e51b8152600401610fd390615678565b612b6c84848484613c7c565b50505050565b612b7a6130cc565b6012805460ff9092166101000261ff0019909216919091179055565b600d546001600160a01b03163314612be05760405162461bcd60e51b815260206004820152600d60248201526c3737903832b936b4b9b9b4b7b760991b6044820152606401610fd3565b6019805460ff16906000612bf3836157a4565b91906101000a81548160ff021916908360ff16021790555050565b6000818152600460205260409020546060906001600160a01b0316612c8d5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610fd3565b601a548211612d175760495460405163c87b56dd60e01b8152600481018490526001600160a01b039091169063c87b56dd906024015b60006040518083038186803b158015612cdb57600080fd5b505afa158015612cef573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9f91908101906157c4565b6000828152601f60205260409020544390612d53907f0000000000000000000000000000000000000000000000000000000000000000906155da565b1115612d715760405162461bcd60e51b8152600401610fd39061575a565b60495460405163c87b56dd60e01b8152600481018490526001600160a01b039091169063c87b56dd90602401612cc3565b612daa6130cc565b604880546001600160a01b0319166001600160a01b03831617905561108f81613985565b6000601a5482111580612e1b57506000828152601f60205260409020544390612e18907f0000000000000000000000000000000000000000000000000000000000000000906155da565b11155b15612e2857506001919050565b506000919050565b6001600160a01b0381166000908152600f602052604081205460ff1615612ea75760405162461bcd60e51b815260206004820152602560248201527f507265795072656461746f723a206f70657261746f7220697320626c61636b6c6044820152641a5cdd195960da1b6064820152608401610fd3565b6001600160a01b0382166000908152600e602052604090205460ff1680612ef357506001600160a01b0380841660009081526007602090815260408083209386168352929052205460ff165b9392505050565b612f026130cc565b6001600160a01b038116612f675760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610fd3565b61108f81613a5e565b612f786130cc565b61108f81613caf565b612f896133bf565b612f916130cc565b600080526017602052600080516020615a4a83398151915254811015612fef5760405162461bcd60e51b8152602060048201526013602482015272416c7265616479206d696e746564206d6f726560681b6044820152606401610fd3565b601555565b6000610e9f82613d21565b6000818152600460205260409020546001600160a01b031661108f5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610fd3565b600081815260066020526040902080546001600160a01b0319166001600160a01b03841690811790915581906130938261245b565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600c546001600160a01b031633146126795760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610fd3565b61312e6133bf565b6010805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586131633390565b6040516001600160a01b03909116815260200160405180910390a1565b613188613d46565b6010805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33613163565b6000806131c58361245b565b9050806001600160a01b0316846001600160a01b031614806131ec57506131ec8185612e30565b806132105750836001600160a01b031661320584610f37565b6001600160a01b0316145b949350505050565b826001600160a01b031661322b8261245b565b6001600160a01b03161461328f5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610fd3565b6001600160a01b0382166132f15760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610fd3565b6132fc838383613d8f565b61330760008261305e565b6001600160a01b0383166000908152600560205260408120805460019290613330908490615661565b90915550506001600160a01b038216600090815260056020526040812080546001929061335e9084906155da565b909155505060008181526004602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60105460ff16156126795760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610fd3565b61340d6133bf565b60008411801561341e5750601e8411155b6134605760405162461bcd60e51b8152602060048201526013602482015272125b9d985b1a59081b5a5b9d08185b5bdd5b9d606a1b6044820152606401610fd3565b601654601a54600160601b9091046001600160401b03161180156134d15750601654600160601b90046001600160401b03166000908152601f602052604090205443906134ce907f0000000000000000000000000000000000000000000000000000000000000000906155da565b11155b156134ed57601654600160601b90046001600160401b0316601a555b6000805b858110156136275760168054600160601b90046001600160401b031690600c61351983615831565b82546101009290920a6001600160401b03818102199093169183160217909155604a5460165460405163b863bd3760e01b8152600160601b90910490921660048301526001600160a01b0316915063b863bd379060240160206040518083038186803b15801561358857600080fd5b505afa15801561359c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135c09190615858565b6016549092506135e290600160601b90046001600160401b0316838787613e86565b508683156135f6576135f383614255565b90505b601654613614908290600160601b90046001600160401b03166143fd565b508061361f8161573f565b9150506134f1565b50600083815260176020526040812080548792906136469084906155da565b9091555050505050505050565b6001600160a01b0381166136bf5760405162461bcd60e51b815260206004820152602d60248201527f6f70657261746f723a207a65726f206164647265737320676976656e20666f7260448201526c103732bb9037b832b930ba37b960991b6064820152608401610fd3565b6040516001600160a01b038216906000907f74da04524d50c64947f5dd5381ef1a4dca5cba8ed1d816243f9e48aa0b5617ed908290a3600d80546001600160a01b0319166001600160a01b0392909216919091179055565b600060016015546137289190615661565b600080526017602052600080516020615a4a83398151915254601554600291859182919061375890600190615661565b6137629190615661565b61376d9060016155da565b6137779190615661565b6013546137849190615591565b600080526017602052600080516020615a4a833981519152546001906137ab9088906155da565b6137b59190615661565b6014546137c29190615591565b6137cc91906155da565b600080526017602052600080516020615a4a833981519152546015546137f490600190615661565b6137fe9190615661565b60135461380b9190615591565b600080526017602052600080516020615a4a833981519152546014546138319190615591565b61383b91906155da565b61384591906155da565b61384f9190615591565b61385991906155c6565b610e9f91906155c6565b804710156138b35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610fd3565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114613900576040519150601f19603f3d011682016040523d82523d6000602084013e613905565b606091505b50509050806110745760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610fd3565b61108f8161441b565b6001600160a01b0381166000908152600e602052604090205460ff1661108f576001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f0a8bb31534c0ed46f380cb867bd5c803a189ced9a764e30b3a4991a9901d747491015b60405180910390a150565b80516020808301516040808501516060860151608087015160a088015160c089015160e08a01516101008b01516101208c0151975160009b613a469b909a999101615871565b604051602081830303815290604052610e9f90615910565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6127106001600160601b0382161115613b1e5760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b6064820152608401610fd3565b6001600160a01b038216613b745760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c6964207265636569766572000000000000006044820152606401610fd3565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600055565b816001600160a01b0316836001600160a01b03161415613c0f5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610fd3565b6001600160a01b03838116600081815260076020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b613c87848484613218565b613c9384848484614435565b612b6c5760405162461bcd60e51b8152600401610fd390615934565b6001600160a01b0381166000908152600e602052604090205460ff161561108f576001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f33d83959be2573f5453b12eb9d43b3499bc57d96bd2f067ba44803c859e8111391016139f5565b60006001600160e01b0319821663780e9d6360e01b1480610e9f5750610e9f8261453f565b60105460ff166126795760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610fd3565b6001600160a01b0383166000908152600f602052604090205460ff1615613e045760405162461bcd60e51b815260206004820152602360248201527f507265795072656461746f723a2073656e64657220697320626c61636b6c69736044820152621d195960ea1b6064820152608401610fd3565b6001600160a01b0382166000908152600f602052604090205460ff1615613e7b5760405162461bcd60e51b815260206004820152602560248201527f507265795072656461746f723a20726563656976657220697320626c61636b6c6044820152641a5cdd195960da1b6064820152608401610fd3565b61107483838361457f565b613e8e614c8f565b613e9784614637565b600086815260208052604081208590556001600160401b038416610140830152909150601e90613ec683613a00565b815260200190815260200160002054600014156141c35780601d600087815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a81548160ff021916908360ff16021790555060408201518160000160026101000a81548160ff021916908360ff16021790555060608201518160000160036101000a81548160ff021916908360ff16021790555060808201518160000160046101000a81548160ff021916908360ff16021790555060a08201518160000160056101000a81548160ff021916908360ff16021790555060c08201518160000160066101000a81548160ff021916908360ff16021790555060e08201518160000160076101000a81548160ff021916908360ff1602179055506101008201518160000160086101000a81548160ff021916908360ff1602179055506101208201518160000160096101000a81548160ff021916908360ff16021790555061014082015181600001600a6101000a8154816001600160401b0302191690836001600160401b031602179055506101608201518160000160126101000a81548160ff021916908360ff1602179055506101808201518160000160136101000a81548160ff021916908360ff1602179055506101a08201518160000160146101000a81548160ff021916908360ff1602179055506101c08201518160000160156101000a81548160ff021916908360ff1602179055506101e08201518160000160166101000a81548160ff021916908360ff1602179055506102008201518160000160176101000a81548160ff021916908360ff1602179055506102208201518160000160186101000a81548160ff021916908360ff1602179055506102408201518160000160196101000a81548160ff021916908360ff16021790555061026082015181600001601a6101000a81548160ff021916908360ff16021790555090505084601e60006141ad84613a00565b8152602081019190915260400160002055613210565b604a5460405163b863bd3760e01b81526004810186905261424c9187916001600160a01b039091169063b863bd379060240160206040518083038186803b15801561420d57600080fd5b505afa158015614221573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142459190615858565b8585613e86565b95945050505050565b600080601b546204029061426991906155da565b4210801561428157506047546001600160a01b031615155b1561430c57604754604051631f0927d160e21b8152609085901c60048201526001600160a01b0390911690637c249f449060240160206040518083038186803b1580156142cd57600080fd5b505afa1580156142e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143059190615986565b90506143bc565b601b5461431c90620402906155da565b421015801561433557506048546001600160a01b031615155b156143bc57604854604051631f0927d160e21b8152609085901c60048201526001600160a01b0390911690637c249f449060240160206040518083038186803b15801561438157600080fd5b505afa158015614395573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143b99190615986565b90505b601254610100900460ff166143d6606460f086901c6159a3565b106143e357339392505050565b6001600160a01b038116610e9f5733612ef3565b50919050565b61440782826147ab565b6000908152601f6020526040902043905550565b614424816147c5565b600090815260016020526040812055565b60006001600160a01b0384163b1561453757604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906144799033908990889088906004016159b7565b602060405180830381600087803b15801561449357600080fd5b505af19250505080156144c3575060408051601f3d908101601f191682019092526144c0918101906159f4565b60015b61451d573d8080156144f1576040519150601f19603f3d011682016040523d82523d6000602084013e6144f6565b606091505b5080516145155760405162461bcd60e51b8152600401610fd390615934565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050613210565b506001613210565b60006001600160e01b031982166380ac58cd60e01b148061457057506001600160e01b03198216635b5e139f60e01b145b80610e9f5750610e9f8261486c565b6001600160a01b0383166145da576145d581600a80546000838152600b60205260408120829055600182018355919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80155565b6145fd565b816001600160a01b0316836001600160a01b0316146145fd576145fd83826148a1565b6001600160a01b038216614614576110748161493e565b826001600160a01b0316826001600160a01b0316146110745761107482826149ed565b61463f614c8f565b60125460ff16614654606461ffff85166159a3565b101580825260009061466757600a61466a565b60005b60109390931c92905061468b61ffff84166146868360006156ef565b614a31565b60ff16602083015260109290921c916146ad61ffff84166146868360016156ef565b60ff16604083015260109290921c916146cf61ffff84166146868360026156ef565b60ff16606083015260109290921c916146f161ffff84166146868360036156ef565b60ff16608083015260109290921c9161471361ffff84166146868360046156ef565b60ff1660a083015260109290921c9161473561ffff84166146868360056156ef565b60ff1660c083015260109290921c9161475761ffff84166146868360066156ef565b60ff1660e083015260109290921c9161477961ffff84166146868360076156ef565b60ff1661010083015260109290921c9161479c61ffff84166146868360086156ef565b60ff1661012083015250919050565b61124a828260405180602001604052806000815250614b0e565b60006147d08261245b565b90506147de81600084613d8f565b6147e960008361305e565b6001600160a01b0381166000908152600560205260408120805460019290614812908490615661565b909155505060008281526004602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60006001600160e01b0319821663152a902d60e11b1480610e9f57506301ffc9a760e01b6001600160e01b0319831614610e9f565b600060016148ae846125e1565b6148b89190615661565b60008381526009602052604090205490915080821461490b576001600160a01b03841660009081526008602090815260408083208584528252808320548484528184208190558352600990915290208190555b5060009182526009602090815260408084208490556001600160a01b039094168352600881528383209183525290812055565b600a5460009061495090600190615661565b6000838152600b6020526040812054600a805493945090928490811061497857614978615714565b9060005260206000200154905080600a838154811061499957614999615714565b6000918252602080832090910192909255828152600b9091526040808220849055858252812055600a8054806149d1576149d1615a11565b6001900381819060005260206000200160009055905550505050565b60006149f8836125e1565b6001600160a01b039093166000908152600860209081526040808320868452825280832085905593825260099052919091209190915550565b60008060218360ff1660138110614a4a57614a4a615714565b0154614a569085615a27565b905060218360ff1660138110614a6e57614a6e615714565b018160ff1681548110614a8357614a83615714565b60009182526020909120601082040154600f9091166002026101000a900461ffff16600885901c60ff161015614aba579050610e9f565b60348360ff1660138110614ad057614ad0615714565b018160ff1681548110614ae557614ae5615714565b90600052602060002090602091828204019190069054906101000a900460ff1691505092915050565b614b188383614b41565b614b256000848484614435565b6110745760405162461bcd60e51b8152600401610fd390615934565b6001600160a01b038216614b975760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610fd3565b6000818152600460205260409020546001600160a01b031615614bfc5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610fd3565b614c0860008383613d8f565b6001600160a01b0382166000908152600560205260408120805460019290614c319084906155da565b909155505060008181526004602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6040805161028081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e0810182905261020081018290526102208101829052610240810182905261026081019190915290565b6001600160e01b03198116811461108f57600080fd5b600060208284031215614d5b57600080fd5b8135612ef381614d33565b600060208284031215614d7857600080fd5b5035919050565b60005b83811015614d9a578181015183820152602001614d82565b83811115612b6c5750506000910152565b60008151808452614dc3816020860160208601614d7f565b601f01601f19169290920160200192915050565b602081526000612ef36020830184614dab565b6001600160a01b038116811461108f57600080fd5b60008060408385031215614e1257600080fd5b8235614e1d81614dea565b946020939093013593505050565b801515811461108f57600080fd5b8035612ab681614e2b565b600060208284031215614e5657600080fd5b8135612ef381614e2b565b600080600060608486031215614e7657600080fd5b8335614e8181614dea565b92506020840135614e9181614dea565b929592945050506040919091013590565b60008060408385031215614eb557600080fd5b50508035926020909101359150565b600060208284031215614ed657600080fd5b8135612ef381614dea565b803560ff81168114612ab657600080fd5b600060208284031215614f0457600080fd5b612ef382614ee1565b600080600080600060a08688031215614f2557600080fd5b8535614f3081614dea565b94506020860135935060408601359250606086013591506080860135614f5581614e2b565b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b60405161028081016001600160401b0381118282101715614f9c57614f9c614f63565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614fca57614fca614f63565b604052919050565b80356001600160401b0381168114612ab657600080fd5b6000808284036102a0811215614ffe57600080fd5b8335925061028080601f198301121561501657600080fd5b61501e614f79565b915061502c60208601614e39565b825261503a60408601614ee1565b602083015261504b60608601614ee1565b604083015261505c60808601614ee1565b606083015261506d60a08601614ee1565b608083015261507e60c08601614ee1565b60a083015261508f60e08601614ee1565b60c08301526101006150a2818701614ee1565b60e08401526101206150b5818801614ee1565b8285015261014091506150c9828801614ee1565b908401526101606150db878201614fd2565b8285015261018091506150ef828801614ee1565b908401526101a0615101878201614ee1565b828501526101c09150615115828801614ee1565b908401526101e0615127878201614ee1565b82850152610200915061513b828801614ee1565b9084015261022061514d878201614ee1565b828501526102409150615161828801614ee1565b90840152610260615173878201614ee1565b82850152615182838801614ee1565b9084015250929590945092505050565b6000806000606084860312156151a757600080fd5b83356151b281614dea565b95602085013595506040909401359392505050565b600060208083850312156151da57600080fd5b82356001600160401b03808211156151f157600080fd5b818501915085601f83011261520557600080fd5b81358181111561521757615217614f63565b8060051b9150615228848301614fa2565b818152918301840191848101908884111561524257600080fd5b938501935b8385101561526c578435925061525c83614dea565b8282529385019390850190615247565b98975050505050505050565b6000806040838503121561528b57600080fd5b823561529681614dea565b915060208301356001600160601b03811681146152b257600080fd5b809150509250929050565b80511515825260208101516152d7602084018260ff169052565b5060408101516152ec604084018260ff169052565b506060810151615301606084018260ff169052565b506080810151615316608084018260ff169052565b5060a081015161532b60a084018260ff169052565b5060c081015161534060c084018260ff169052565b5060e081015161535560e084018260ff169052565b506101008181015160ff9081169184019190915261012080830151821690840152610140808301516001600160401b03169084015261016080830151821690840152610180808301518216908401526101a0808301518216908401526101c0808301518216908401526101e080830151821690840152610200808301518216908401526102208083015182169084015261024080830151821690840152610260808301519182168185015290612b6c565b6102808101610e9f82846152bd565b6000806040838503121561542857600080fd5b823561543381614dea565b915060208301356152b281614e2b565b60006001600160401b0382111561545c5761545c614f63565b50601f01601f191660200190565b6000806000806080858703121561548057600080fd5b843561548b81614dea565b9350602085013561549b81614dea565b92506040850135915060608501356001600160401b038111156154bd57600080fd5b8501601f810187136154ce57600080fd5b80356154e16154dc82615443565b614fa2565b8181528860208385010111156154f657600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b6000806040838503121561552b57600080fd5b823561553681614dea565b915060208301356152b281614dea565b600181811c9082168061555a57607f821691505b602082108114156143f757634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156155ab576155ab61557b565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826155d5576155d56155b0565b500490565b600082198211156155ed576155ed61557b565b500190565b60208082526032908201527f4d696e74206c6573732c20746865726520617265206e6f2074686973206d616e6040820152711e4819d95b8c081d1bdad95b9cc81b19599d60721b606082015260800190565b60006020828403121561565657600080fd5b8151612ef381614e2b565b6000828210156156735761567361557b565b500390565b6020808252602e908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526d1c881b9bdc88185c1c1c9bdd995960921b606082015260800190565b600060ff821660ff84168160ff04811182151516156156e7576156e761557b565b029392505050565b600060ff821660ff84168060ff0382111561570c5761570c61557b565b019392505050565b634e487b7160e01b600052603260045260246000fd5b8281526102a08101612ef360208301846152bd565b60006000198214156157535761575361557b565b5060010190565b6020808252602a908201527f547261697473206f66207468697320746f6b656e2063616e27742062652072656040820152691d99585b1959081e595d60b21b606082015260800190565b600060ff821660ff8114156157bb576157bb61557b565b60010192915050565b6000602082840312156157d657600080fd5b81516001600160401b038111156157ec57600080fd5b8201601f810184136157fd57600080fd5b805161580b6154dc82615443565b81815285602083850101111561582057600080fd5b61424c826020830160208601614d7f565b60006001600160401b038083168181141561584e5761584e61557b565b6001019392505050565b60006020828403121561586a57600080fd5b5051919050565b8a151560f890811b82526001600160f81b03198b821b811660018401528a821b8116600284015289821b8116600384015288821b8116600484015287821b8116600584015286821b811660068401529085901b16600782015260006158e5600883018560f81b6001600160f81b0319169052565b6158fe600983018460f81b6001600160f81b0319169052565b50600a019a9950505050505050505050565b805160208083015191908110156143f75760001960209190910360031b1b16919050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60006020828403121561599857600080fd5b8151612ef381614dea565b6000826159b2576159b26155b0565b500690565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906159ea90830184614dab565b9695505050505050565b600060208284031215615a0657600080fd5b8151612ef381614d33565b634e487b7160e01b600052603160045260246000fd5b600060ff831680615a3a57615a3a6155b0565b8060ff8416069150509291505056fed840e16649f6b9a295d95876f4633d3a6b10b55e8162971cf78afd886d5ec89ba2646970667358221220c6e82bca04d1d381bca2d16b37a89b9c4281be41caddd4e3de8f53f4d8bc7c8664736f6c63430008090033000000000000000000000000691c49b4d5531537fe00189c9eae92eb3e17a060000000000000000000000000b7ded448a165a8117bcf4899c4cfb4a255c0f69b000000000000000000000000608b0eba93eeaf69728150bd81c08d5ed1605afc000000000000000000000000d5dad79cd2b56f7fd8c0a4d4cc48a6325b8bbc6c0000000000000000000000000000000000000000000000000000000062eabea800000000000000000000000000000000000000000000000010a741a4627800000000000000000000000000000000000000000000000000001d24b2dfac52000000000000000000000000000000000000000000000000000000000000000015af0000000000000000000000000000000000000000000000000000000000000190