[ { "inputs": [ { "internalType": "address", "name": "forwarderIrrevocable", "type": "address" } ], "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": "string", "name": "newBondHolderIndexed", "type": "string" }, { "indexed": false, "internalType": "string", "name": "newBondHolder", "type": "string" } ], "name": "BondHolder", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "string", "name": "reason", "type": "string" } ], "name": "Burn", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "string", "name": "newBusinessDayConventionIndexed", "type": "string" }, { "indexed": false, "internalType": "string", "name": "newBusinessDayConvention", "type": "string" } ], "name": "BusinessDayConvention", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "string", "name": "newCouponFrequencyIndexed", "type": "string" }, { "indexed": false, "internalType": "string", "name": "newCouponFrequency", "type": "string" } ], "name": "CouponFrequency", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "string", "name": "newDayCountConventionIndexed", "type": "string" }, { "indexed": false, "internalType": "string", "name": "newDayCountConvention", "type": "string" } ], "name": "DayCountConvention", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "newFlag", "type": "uint256" } ], "name": "Flag", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bool", "name": "newFlagDefault", "type": "bool" } ], "name": "FlagDefault", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bool", "name": "newFlagRedeemed", "type": "bool" } ], "name": "FlagRedeemed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "enforcer", "type": "address" }, { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "string", "name": "reasonIndexed", "type": "string" }, { "indexed": false, "internalType": "string", "name": "reason", "type": "string" } ], "name": "Freeze", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "string", "name": "newGuarantorIndexed", "type": "string" }, { "indexed": false, "internalType": "string", "name": "newGuarantor", "type": "string" } ], "name": "Guarantor", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "string", "name": "newInformationIndexed", "type": "string" }, { "indexed": false, "internalType": "string", "name": "newInformation", "type": "string" } ], "name": "Information", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "string", "name": "newInterestPaymentDateIndexed", "type": "string" }, { "indexed": false, "internalType": "string", "name": "newInterestPaymentDate", "type": "string" } ], "name": "InterestPaymentDate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newInterestRate", "type": "uint256" } ], "name": "InterestRate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "string", "name": "newInterestScheduleFormatIndexed", "type": "string" }, { "indexed": false, "internalType": "string", "name": "newInterestScheduleFormat", "type": "string" } ], "name": "InterestScheduleFormat", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "string", "name": "newIssuanceDateIndexed", "type": "string" }, { "indexed": false, "internalType": "string", "name": "newIssuanceDate", "type": "string" } ], "name": "IssuanceDate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "string", "name": "newMaturityDateIndexed", "type": "string" }, { "indexed": false, "internalType": "string", "name": "newMaturityDate", "type": "string" } ], "name": "MaturityDate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "beneficiary", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Mint", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newParValue", "type": "uint256" } ], "name": "ParValue", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Paused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "string", "name": "newPublicHolidaysCalendarIndexed", "type": "string" }, { "indexed": false, "internalType": "string", "name": "newPublicHolidaysCalendar", "type": "string" } ], "name": "PublicHolidaysCalendar", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "string", "name": "newRatingIndexed", "type": "string" }, { "indexed": false, "internalType": "string", "name": "newRating", "type": "string" } ], "name": "Rating", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } ], "name": "RoleAdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleRevoked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "contract IEIP1404Wrapper", "name": "newRuleEngine", "type": "address" } ], "name": "RuleEngine", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Spend", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "string", "name": "newTermIndexed", "type": "string" }, { "indexed": false, "internalType": "string", "name": "newTerm", "type": "string" } ], "name": "Term", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "string", "name": "newTokenIdIndexed", "type": "string" }, { "indexed": false, "internalType": "string", "name": "newTokenId", "type": "string" } ], "name": "TokenId", "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": "enforcer", "type": "address" }, { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "string", "name": "reasonIndexed", "type": "string" }, { "indexed": false, "internalType": "string", "name": "reason", "type": "string" } ], "name": "Unfreeze", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "inputs": [], "name": "BURNER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DEBT_CREDIT_EVENT_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DEBT_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ENFORCER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINTER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "PAUSER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "SNAPSHOOTER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "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": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "currentAllowance", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "creditEvents", "outputs": [ { "internalType": "bool", "name": "flagDefault", "type": "bool" }, { "internalType": "bool", "name": "flagRedeemed", "type": "bool" }, { "internalType": "string", "name": "rating", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "debt", "outputs": [ { "internalType": "uint256", "name": "interestRate", "type": "uint256" }, { "internalType": "uint256", "name": "parValue", "type": "uint256" }, { "internalType": "string", "name": "guarantor", "type": "string" }, { "internalType": "string", "name": "bondHolder", "type": "string" }, { "internalType": "string", "name": "maturityDate", "type": "string" }, { "internalType": "string", "name": "interestScheduleFormat", "type": "string" }, { "internalType": "string", "name": "interestPaymentDate", "type": "string" }, { "internalType": "string", "name": "dayCountConvention", "type": "string" }, { "internalType": "string", "name": "businessDayConvention", "type": "string" }, { "internalType": "string", "name": "publicHolidaysCalendar", "type": "string" }, { "internalType": "string", "name": "issuanceDate", "type": "string" }, { "internalType": "string", "name": "couponFrequency", "type": "string" } ], "stateMutability": "view", "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": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "detectTransferRestriction", "outputs": [ { "internalType": "uint8", "name": "code", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "flag", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "string", "name": "reason", "type": "string" } ], "name": "forceBurn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "string", "name": "reason", "type": "string" } ], "name": "freeze", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "frozen", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": [], "name": "information", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "admin", "type": "address" }, { "internalType": "string", "name": "nameIrrevocable", "type": "string" }, { "internalType": "string", "name": "symbolIrrevocable", "type": "string" }, { "internalType": "string", "name": "tokenId_", "type": "string" }, { "internalType": "string", "name": "terms_", "type": "string" }, { "internalType": "contract IEIP1404Wrapper", "name": "ruleEngine_", "type": "address" }, { "internalType": "string", "name": "information_", "type": "string" }, { "internalType": "uint256", "name": "flag_", "type": "uint256" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "forwarder", "type": "address" } ], "name": "isTrustedForwarder", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "kill", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "restrictionCode", "type": "uint8" } ], "name": "messageForTransferRestriction", "outputs": [ { "internalType": "string", "name": "message", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "ruleEngine", "outputs": [ { "internalType": "contract IEIP1404Wrapper", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "bondHolder_", "type": "string" } ], "name": "setBondHolder", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "businessDayConvention_", "type": "string" } ], "name": "setBusinessDayConvention", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "couponFrequency_", "type": "string" } ], "name": "setCouponFrequency", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "flagDefault_", "type": "bool" }, { "internalType": "bool", "name": "flagRedeemed_", "type": "bool" }, { "internalType": "string", "name": "rating_", "type": "string" } ], "name": "setCreditEvents", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "dayCountConvention_", "type": "string" } ], "name": "setDayCountConvention", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint256", "name": "interestRate", "type": "uint256" }, { "internalType": "uint256", "name": "parValue", "type": "uint256" }, { "internalType": "string", "name": "guarantor", "type": "string" }, { "internalType": "string", "name": "bondHolder", "type": "string" }, { "internalType": "string", "name": "maturityDate", "type": "string" }, { "internalType": "string", "name": "interestScheduleFormat", "type": "string" }, { "internalType": "string", "name": "interestPaymentDate", "type": "string" }, { "internalType": "string", "name": "dayCountConvention", "type": "string" }, { "internalType": "string", "name": "businessDayConvention", "type": "string" }, { "internalType": "string", "name": "publicHolidaysCalendar", "type": "string" }, { "internalType": "string", "name": "issuanceDate", "type": "string" }, { "internalType": "string", "name": "couponFrequency", "type": "string" } ], "internalType": "struct IDebtGlobal.DebtBase", "name": "debt_", "type": "tuple" } ], "name": "setDebt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "flag_", "type": "uint256" } ], "name": "setFlag", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "flagDefault_", "type": "bool" } ], "name": "setFlagDefault", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "flagRedeemed_", "type": "bool" } ], "name": "setFlagRedeemed", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "guarantor_", "type": "string" } ], "name": "setGuarantor", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "information_", "type": "string" } ], "name": "setInformation", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "interestPaymentDate_", "type": "string" } ], "name": "setInterestPaymentDate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "interestRate_", "type": "uint256" } ], "name": "setInterestRate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "interestScheduleFormat_", "type": "string" } ], "name": "setInterestScheduleFormat", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "issuanceDate_", "type": "string" } ], "name": "setIssuanceDate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "maturityDate_", "type": "string" } ], "name": "setMaturityDate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "parValue_", "type": "uint256" } ], "name": "setParValue", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "publicHolidaysCalendar_", "type": "string" } ], "name": "setPublicHolidaysCalendar", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "rating_", "type": "string" } ], "name": "setRating", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "contract IEIP1404Wrapper", "name": "ruleEngine_", "type": "address" } ], "name": "setRuleEngine", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "terms_", "type": "string" } ], "name": "setTerms", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "tokenId_", "type": "string" } ], "name": "setTokenId", "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": "terms", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenId", "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": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "string", "name": "reason", "type": "string" } ], "name": "unfreeze", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "unpause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "validateTransfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" } ]
60c0604052306080523480156200001557600080fd5b50604051620047e0380380620047e0833981016040819052620000389162000126565b6001600160a01b03811660a052610193805460ff191660011790556200005d62000064565b5062000158565b600054610100900460ff1615620000d15760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000124576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200013957600080fd5b81516001600160a01b03811681146200015157600080fd5b9392505050565b60805160a05161465b620001856000396000818161068b01526137d601526000612ebf015261465b6000f3fe608060405234801561001057600080fd5b50600436106104075760003560e01c80636439fd7511610220578063c6f5fa9e11610130578063d791f861116100b8578063dd62ed3e11610087578063dd62ed3e14610946578063e63ab1e914610959578063e8e386c014610980578063f47b774014610993578063fcf196b41461099b57600080fd5b8063d791f861146108fa578063d7ffbbaa1461090d578063d82c927a14610920578063dcfd616f1461093357600080fd5b8063d40c79f0116100ff578063d40c79f014610892578063d4ce1415146108a5578063d5025625146108b8578063d5391393146108c0578063d547741f146108e757600080fd5b8063c6f5fa9e14610844578063cc7c36fe14610857578063cdd899921461086c578063d05166501461087f57600080fd5b8063890eba68116101b3578063a457c2d711610182578063a457c2d7146107e3578063a4a0a301146107f6578063a9059cbb14610809578063b95854461461081c578063c6946a121461083157600080fd5b8063890eba68146107b657806391d14854146107c057806395d89b41146107d3578063a217fddf146107db57600080fd5b806375bf8fe7116101ef57806375bf8fe71461077557806378f86afc146107885780637f4ab1dd1461079b5780638456cb59146107ae57600080fd5b80636439fd75146106ff5780636b1dd54d1461072657806370a08231146107395780637352f2491461076257600080fd5b8063313ce5671161031b57806343581cff116102ae578063572b6c051161027d578063572b6c051461067b5780635c975abb146106bb5780635f84f302146106c65780635fb39a24146106d957806363783444146106ec57600080fd5b806343581cff1461062b5780634b73d1f51461063e57806350101d84146106515780635474dce91461066857600080fd5b80633f4f9067116102ea5780633f4f9067146105ea57806340c10f19146105fd57806341c0e1b514610610578063426a84931461061857600080fd5b8063313ce567146105a257806336568abe146105bc57806339509351146105cf5780633f4ba83a146105e257600080fd5b8063244b59e31161039e5780632787fac01161036d5780632787fac01461052f578063282c51f3146105425780632d141c64146105695780632e479e4f1461057c5780632f2ff15d1461058f57600080fd5b8063244b59e3146104be578063246b72ec146104d1578063248a9ca3146104f857806325d199331461051c57600080fd5b80630dca59c1116103da5780630dca59c11461047157806317d70f7c1461049157806318160ddd1461049957806323b872dd146104ab57600080fd5b806301ffc9a71461040c57806306fdde0314610434578063095ea7b3146104495780630bf131ca1461045c575b600080fd5b61041f61041a366004613a38565b6109c6565b60405190151581526020015b60405180910390f35b61043c6109fd565b60405161042b9190613ab2565b61041f610457366004613ae5565b610a8f565b61046f61046a366004613c00565b610ab1565b005b610479610b2e565b60405161042b9c9b9a99989796959493929190613c59565b61043c6110ca565b60cd545b60405190815260200161042b565b61041f6104b9366004613d44565b611159565b61046f6104cc366004613d85565b611170565b61049d7f809a0fc49fc0600540f1d39e23454e1f6f215bc7505fa22b17c154616570ddef81565b61049d610506366004613dba565b600090815261012f602052604090206001015490565b61046f61052a366004613d85565b6111e7565b61046f61053d366004613d85565b611252565b61049d7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a84881565b61046f610577366004613d85565b6112bd565b61046f61058a366004613d85565b611328565b61046f61059d366004613dd3565b611393565b6105aa6113be565b60405160ff909116815260200161042b565b61046f6105ca366004613dd3565b6113d2565b61041f6105dd366004613ae5565b611465565b61046f611491565b61041f6105f8366004613e03565b6114c6565b61046f61060b366004613ae5565b611504565b61046f611580565b61041f610626366004613e53565b6115b3565b61046f610639366004613e96565b611637565b61046f61064c366004613d85565b6116b7565b610659611722565b60405161042b93929190613eb3565b61046f610676366004613e96565b6117c8565b61041f610689366004613edf565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161490565b60665460ff1661041f565b61046f6106d4366004613dba565b611855565b61046f6106e7366004613d85565b6118ce565b61046f6106fa366004613d85565b611939565b61049d7f973ef39d76cc2c6090feab1c030bec6ab5db557f64df047a4c4f9b5953cf1df381565b61046f610734366004613efc565b6119a4565b61049d610747366004613edf565b6001600160a01b0316600090815260cb602052604090205490565b61046f610770366004613d85565b611ee2565b61041f610783366004613e03565b611f4d565b61046f610796366004613d85565b611f83565b61043c6107a93660046140db565b611fe1565b61046f612122565b61049d6101975481565b61041f6107ce366004613dd3565b612154565b61043c6121c8565b61049d600081565b61041f6107f1366004613ae5565b6121d7565b61046f610804366004613edf565b61225d565b61041f610817366004613ae5565b6122e0565b61049d6000805160206145e683398151915281565b61041f61083f366004613d44565b6122f8565b61046f610852366004613d85565b612354565b61049d60008051602061460683398151915281565b61046f61087a366004613dba565b6123bf565b61041f61088d366004613edf565b612430565b61046f6108a0366004613dba565b61244e565b6105aa6108b3366004613d44565b6124b0565b61043c612517565b61049d7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b61046f6108f5366004613dd3565b612525565b61046f6109083660046140f8565b61254b565b61046f61091b366004613d85565b61266c565b61046f61092e366004613d85565b6126ca565b61046f610941366004613d85565b612735565b61049d6109543660046141f5565b612793565b61049d7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b61046f61098e366004614223565b6127be565b61043c6128c6565b6033546109ae906001600160a01b031681565b6040516001600160a01b03909116815260200161042b565b60006001600160e01b03198216637965db0b60e01b14806109f757506301ffc9a760e01b6001600160e01b03198316145b92915050565b606060ce8054610a0c9061426f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a389061426f565b8015610a855780601f10610a5a57610100808354040283529160200191610a85565b820191906000526020600020905b815481529060010190602001808311610a6857829003601f168201915b5050505050905090565b600080610a9a6128d4565b9050610aa78185856128de565b5060019392505050565b7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a848610adb81612a02565b610ae58484612a13565b836001600160a01b03167f47e772fda56eb54ab211642ce5421882c49fc2b7033455982af14588ae4207ff8484604051610b209291906142a9565b60405180910390a250505050565b61035b805461035c5461035d805492939192610b499061426f565b80601f0160208091040260200160405190810160405280929190818152602001828054610b759061426f565b8015610bc25780601f10610b9757610100808354040283529160200191610bc2565b820191906000526020600020905b815481529060010190602001808311610ba557829003601f168201915b505050505090806003018054610bd79061426f565b80601f0160208091040260200160405190810160405280929190818152602001828054610c039061426f565b8015610c505780601f10610c2557610100808354040283529160200191610c50565b820191906000526020600020905b815481529060010190602001808311610c3357829003601f168201915b505050505090806004018054610c659061426f565b80601f0160208091040260200160405190810160405280929190818152602001828054610c919061426f565b8015610cde5780601f10610cb357610100808354040283529160200191610cde565b820191906000526020600020905b815481529060010190602001808311610cc157829003601f168201915b505050505090806005018054610cf39061426f565b80601f0160208091040260200160405190810160405280929190818152602001828054610d1f9061426f565b8015610d6c5780601f10610d4157610100808354040283529160200191610d6c565b820191906000526020600020905b815481529060010190602001808311610d4f57829003601f168201915b505050505090806006018054610d819061426f565b80601f0160208091040260200160405190810160405280929190818152602001828054610dad9061426f565b8015610dfa5780601f10610dcf57610100808354040283529160200191610dfa565b820191906000526020600020905b815481529060010190602001808311610ddd57829003601f168201915b505050505090806007018054610e0f9061426f565b80601f0160208091040260200160405190810160405280929190818152602001828054610e3b9061426f565b8015610e885780601f10610e5d57610100808354040283529160200191610e88565b820191906000526020600020905b815481529060010190602001808311610e6b57829003601f168201915b505050505090806008018054610e9d9061426f565b80601f0160208091040260200160405190810160405280929190818152602001828054610ec99061426f565b8015610f165780601f10610eeb57610100808354040283529160200191610f16565b820191906000526020600020905b815481529060010190602001808311610ef957829003601f168201915b505050505090806009018054610f2b9061426f565b80601f0160208091040260200160405190810160405280929190818152602001828054610f579061426f565b8015610fa45780601f10610f7957610100808354040283529160200191610fa4565b820191906000526020600020905b815481529060010190602001808311610f8757829003601f168201915b50505050509080600a018054610fb99061426f565b80601f0160208091040260200160405190810160405280929190818152602001828054610fe59061426f565b80156110325780601f1061100757610100808354040283529160200191611032565b820191906000526020600020905b81548152906001019060200180831161101557829003601f168201915b50505050509080600b0180546110479061426f565b80601f01602080910402602001604051908101604052809291908181526020018280546110739061426f565b80156110c05780601f10611095576101008083540402835291602001916110c0565b820191906000526020600020905b8154815290600101906020018083116110a357829003601f168201915b505050505090508c565b61019480546110d89061426f565b80601f01602080910402602001604051908101604052809291908181526020018280546111049061426f565b80156111515780601f1061112657610100808354040283529160200191611151565b820191906000526020600020905b81548152906001019060200180831161113457829003601f168201915b505050505081565b6000611166848484612b53565b90505b9392505050565b60008051602061460683398151915261118881612a02565b6103666111958382614310565b50816040516111a491906143d0565b60405180910390207f5c388aa54cd4074eb90383e6f01e9316ba4669faee4086cf48d639968fed5695836040516111db9190613ab2565b60405180910390a25050565b6000805160206146068339815191526111ff81612a02565b61036461120c8382614310565b508160405161121b91906143d0565b60405180910390207f2893cd7e7309055797bcc658887ad0a1de46b88ccca8260206bda3095071f5d6836040516111db9190613ab2565b60008051602061460683398151915261126a81612a02565b61035f6112778382614310565b508160405161128691906143d0565b60405180910390207f5792973abb7bb17fbf2dbe25beb5a013c89e174158629682a6bbd8e361a5cc73836040516111db9190613ab2565b6000805160206146068339815191526112d581612a02565b61035e6112e28382614310565b50816040516112f191906143d0565b60405180910390207f21c1b5695d200e071a117d8e2600f4b8739689c44c773aac9f1104f4ea1ee534836040516111db9190613ab2565b60008051602061460683398151915261134081612a02565b61036261134d8382614310565b508160405161135c91906143d0565b60405180910390207f4c6f61ef9cdfaa4e5c7780501c91c2d853bba8371b411d54972d6d76cc899a9d836040516111db9190613ab2565b600082815261012f60205260409020600101546113af81612a02565b6113b98383612bc5565b505050565b60006113cd6103285460ff1690565b905090565b6113da6128d4565b6001600160a01b0316816001600160a01b0316146114575760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6114618282612c4d565b5050565b6000806114706128d4565b9050610aa78185856114828589612793565b61148c9190614402565b6128de565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a6114bb81612a02565b6114c3612cd3565b50565b60007f973ef39d76cc2c6090feab1c030bec6ab5db557f64df047a4c4f9b5953cf1df36114f281612a02565b6114fc8484612d2b565b949350505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661152e81612a02565b6115388383612de8565b826001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858360405161157391815260200190565b60405180910390a2505050565b600061158b81612a02565b6101935460ff1680156115a0576115a0612eb5565b6115a86128d4565b6001600160a01b0316ff5b6000816115c76115c16128d4565b86612793565b146116225760405162461bcd60e51b815260206004820152602560248201527f434d5441543a2063757272656e7420616c6c6f77616e6365206973206e6f74206044820152641c9a59da1d60da1b606482015260840161144e565b61162c8484610a8f565b506001949350505050565b6000805160206145e683398151915261164f81612a02565b6103995460ff161515821515036116785760405162461bcd60e51b815260040161144e90614415565b610399805460ff19168315159081179091556040517fcfff80918b8a23ec550b0676cc4642c3a0d5f033cfa3ff8998dc8448a0cb7dbe90600090a25050565b6000805160206145e68339815191526116cf81612a02565b61039a6116dc8382614310565b50816040516116eb91906143d0565b60405180910390207f6070a6a09f06d4f10acb86427e58c98989b9d767a24cee548f108b583af5a898836040516111db9190613ab2565b610399805461039a805460ff80841694610100909404169291906117459061426f565b80601f01602080910402602001604051908101604052809291908181526020018280546117719061426f565b80156117be5780601f10611793576101008083540402835291602001916117be565b820191906000526020600020905b8154815290600101906020018083116117a157829003601f168201915b5050505050905083565b6000805160206145e68339815191526117e081612a02565b61039954610100900460ff1615158215150361180e5760405162461bcd60e51b815260040161144e90614415565b610399805461ff001916610100841515908102919091179091556040517f355218ef44c05df7b0087337f3d1e1923194a5f2f312d4faaa7d4c6083d2e65a90600090a25050565b60008051602061460683398151915261186d81612a02565b61035b548290036118905760405162461bcd60e51b815260040161144e90614415565b61035b8290556040518281527fddc6c807bd9e0d70db5e03f6296a4ebddff5eadec9da2f4dab0da5e4bbdaaa5f906020015b60405180910390a15050565b6000805160206146068339815191526118e681612a02565b61035d6118f38382614310565b508160405161190291906143d0565b60405180910390207f4daffcef1eeed35b202f86368def1684635c4568c1677447020127842e94cd5f836040516111db9190613ab2565b60008051602061460683398151915261195181612a02565b61036161195e8382614310565b508160405161196d91906143d0565b60405180910390207fd7a17e24227144fff67a7c30410d77a60b8bbe03fa820a096d5ec2ffb2205edc836040516111db9190613ab2565b6000805160206146068339815191526119bc81612a02565b6040805161018081018252835180825260208086015190830181905285840151938301849052606080870151908401526080808701519084015260a0808701519084015260c0808701519084015260e08087015190840152610100808701519084015261012080870151908401526101408087015190840152610160808701519084015261035b91825561035c55909161035d90611a5a9082614310565b5060608201516003820190611a6f9082614310565b5060808201516004820190611a849082614310565b5060a08201516005820190611a999082614310565b5060c08201516006820190611aae9082614310565b5060e08201516007820190611ac39082614310565b506101008201516008820190611ad99082614310565b506101208201516009820190611aef9082614310565b50610140820151600a820190611b059082614310565b50610160820151600b820190611b1b9082614310565b505082516040519081527fddc6c807bd9e0d70db5e03f6296a4ebddff5eadec9da2f4dab0da5e4bbdaaa5f915060200160405180910390a17f738d1b1065e9baa0c7947c9ccc0e22b1d470d8f6221bbff350d3b41f24646a7e8260200151604051611b8891815260200190565b60405180910390a18160400151604051611ba291906143d0565b60405180910390207f4daffcef1eeed35b202f86368def1684635c4568c1677447020127842e94cd5f8360400151604051611bdd9190613ab2565b60405180910390a28160600151604051611bf791906143d0565b60405180910390207f21c1b5695d200e071a117d8e2600f4b8739689c44c773aac9f1104f4ea1ee5348360600151604051611c329190613ab2565b60405180910390a28160800151604051611c4c91906143d0565b60405180910390207f5792973abb7bb17fbf2dbe25beb5a013c89e174158629682a6bbd8e361a5cc738360800151604051611c879190613ab2565b60405180910390a28160a00151604051611ca191906143d0565b60405180910390207f5430bb1fd10855ad38fe3c3bccfcab1a3f6f2797085cadc229e92e36c07d42cb8360a00151604051611cdc9190613ab2565b60405180910390a28160c00151604051611cf691906143d0565b60405180910390207fd7a17e24227144fff67a7c30410d77a60b8bbe03fa820a096d5ec2ffb2205edc8360c00151604051611d319190613ab2565b60405180910390a28160e00151604051611d4b91906143d0565b60405180910390207f4c6f61ef9cdfaa4e5c7780501c91c2d853bba8371b411d54972d6d76cc899a9d8360e00151604051611d869190613ab2565b60405180910390a2816101000151604051611da191906143d0565b60405180910390207f20188bddbb8ff3f7bfcdb154a4c599bce9dab8f620db24dd27442326212d9fd3836101000151604051611ddd9190613ab2565b60405180910390a2816101200151604051611df891906143d0565b60405180910390207f2893cd7e7309055797bcc658887ad0a1de46b88ccca8260206bda3095071f5d6836101200151604051611e349190613ab2565b60405180910390a2816101400151604051611e4f91906143d0565b60405180910390207f96a0bb02e7873bcbc9585de903b588438db3002fcded6d6e52295ef21a32b968836101400151604051611e8b9190613ab2565b60405180910390a2816101600151604051611ea691906143d0565b60405180910390207f5c388aa54cd4074eb90383e6f01e9316ba4669faee4086cf48d639968fed56958361016001516040516111db9190613ab2565b600080516020614606833981519152611efa81612a02565b610365611f078382614310565b5081604051611f1691906143d0565b60405180910390207f96a0bb02e7873bcbc9585de903b588438db3002fcded6d6e52295ef21a32b968836040516111db9190613ab2565b60007f973ef39d76cc2c6090feab1c030bec6ab5db557f64df047a4c4f9b5953cf1df3611f7981612a02565b6114fc8484612f45565b6000611f8e81612a02565b610195611f9b8382614310565b5081604051611faa91906143d0565b60405180910390207f8763f25a8d9538205dfcd4dc235a0f6bf9f0a6a01327e13524aaf39f954fa50f836040516111db9190613ab2565b606060ff821661201557505060408051808201909152600e81526d2737903932b9ba3934b1ba34b7b760911b602082015290565b60001960ff831601612051575050604080518082019091526014815273105b1b081d1c985b9cd9995c9cc81c185d5cd95960621b602082015290565b60011960ff83160161209657505060408051808201909152601a81527f54686520616464726573732046524f4d2069732066726f7a656e000000000000602082015290565b60021960ff8316016120db57505060408051808201909152601881527f546865206164647265737320544f2069732066726f7a656e0000000000000000602082015290565b6033546001600160a01b0316156120f5576109f782612fed565b505060408051808201909152600c81526b556e6b6e6f776e20636f646560a01b602082015290565b919050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a61214c81612a02565b6114c3613061565b6001600160a01b03811660009081527fe9104285c6851efcbc5e0e70440200efbdcab556a1c8784776780f8bb44f2931602052604081205460ff161561219c575060016109f7565b600083815261012f602090815260408083206001600160a01b038616845290915290205460ff16611169565b606060cf8054610a0c9061426f565b6000806121e26128d4565b905060006121f08286612793565b9050838110156122505760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161144e565b61162c82868684036128de565b600061226881612a02565b6033546001600160a01b038084169116036122955760405162461bcd60e51b815260040161144e90614415565b603380546001600160a01b0319166001600160a01b0384169081179091556040517f37213fe93a5aae50df0ef53f98b81c048e51b3ab2969309a103a647e44b6191890600090a25050565b6000806122eb6128d4565b9050610aa781858561309f565b600061230660665460ff1690565b80612315575061231584612430565b80612324575061232483612430565b1561233157506000611169565b6033546001600160a01b031615610aa75761234d848484613257565b9050611169565b60008051602061460683398151915261236c81612a02565b6103606123798382614310565b508160405161238891906143d0565b60405180910390207f5430bb1fd10855ad38fe3c3bccfcab1a3f6f2797085cadc229e92e36c07d42cb836040516111db9190613ab2565b6000805160206146068339815191526123d781612a02565b61035c548290036123fa5760405162461bcd60e51b815260040161144e90614415565b61035c8290556040518281527f738d1b1065e9baa0c7947c9ccc0e22b1d470d8f6221bbff350d3b41f24646a7e906020016118c2565b6001600160a01b031660009081526098602052604090205460ff1690565b600061245981612a02565b81610197540361247b5760405162461bcd60e51b815260040161144e90614415565b61019782905560405182907f7fd5fca7bc379fa5c0330db55f9b725ddbe03460514a6fa71918966f3848779f90600090a25050565b60006124be60665460ff1690565b156124ca57600161234d565b6124d384612430565b156124df57600261234d565b6124e883612430565b156124f457600361234d565b6033546001600160a01b0316156125105761234d8484846132d5565b600061234d565b61019580546110d89061426f565b600082815261012f602052604090206001015461254181612a02565b6113b98383612c4d565b600054610100900460ff161580801561256b5750600054600160ff909116105b806125855750303b158015612585575060005460ff166001145b6125e85760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161144e565b6000805460ff19166001179055801561260b576000805461ff0019166101001790555b61261b8989898989898989613353565b8015612661576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050505050565b600061267781612a02565b6101966126848382614310565b508160405161269391906143d0565b60405180910390207f62ecbd406143b0f9293af502fc172da71440b7821e18045e13c652c6841fff95836040516111db9190613ab2565b6000805160206146068339815191526126e281612a02565b6103636126ef8382614310565b50816040516126fe91906143d0565b60405180910390207f20188bddbb8ff3f7bfcdb154a4c599bce9dab8f620db24dd27442326212d9fd3836040516111db9190613ab2565b600061274081612a02565b61019461274d8382614310565b508160405161275c91906143d0565b60405180910390207f6403c68076c59949275ad9be2137a73c51043d7d6af6a38473047a0bc45df492836040516111db9190613ab2565b6001600160a01b03918216600090815260cc6020908152604080832093909416825291909152205490565b6000805160206145e68339815191526127d681612a02565b6040805160608101825285151580825285151560208301819052928201859052610399805461010090940261ff001990921661ffff19909416939093171782559061039a6128248582614310565b505060405185151591507fcfff80918b8a23ec550b0676cc4642c3a0d5f033cfa3ff8998dc8448a0cb7dbe90600090a2604051831515907f355218ef44c05df7b0087337f3d1e1923194a5f2f312d4faaa7d4c6083d2e65a90600090a28160405161288f91906143d0565b60405180910390207f6070a6a09f06d4f10acb86427e58c98989b9d767a24cee548f108b583af5a89883604051610b209190613ab2565b61019680546110d89061426f565b60006113cd61341e565b6001600160a01b0383166129405760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161144e565b6001600160a01b0382166129a15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161144e565b6001600160a01b03838116600081815260cc602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6114c381612a0e6128d4565b613428565b6001600160a01b038216612a735760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161144e565b612a7f82600083613481565b6001600160a01b038216600090815260cb602052604090205481811015612af35760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161144e565b6001600160a01b038316600081815260cb60209081526040808320868603905560cd80548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600080612b618585856134ee565b9050801561116657612b716128d4565b6001600160a01b0316856001600160a01b03167f7c2b9369bf4a6bd9745889c658ad00a4d57e280c4c80fa1c74db2a9e52c1363585604051612bb591815260200190565b60405180910390a3949350505050565b612bcf8282612154565b61146157600082815261012f602090815260408083206001600160a01b03851684529091529020805460ff19166001179055612c096128d4565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b612c578282612154565b1561146157600082815261012f602090815260408083206001600160a01b03851684529091529020805460ff19169055612c8f6128d4565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b612cdb613511565b6066805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa612d0e6128d4565b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b03821660009081526098602052604081205460ff1615612d54575060006109f7565b6001600160a01b03831660009081526098602052604090819020805460ff1916600117905551612d859083906143d0565b6040518091039020836001600160a01b0316612d9f6128d4565b6001600160a01b03167fe80aede59db0b770aef5e4bd04670759d38e64959d07a4343257a0a4f6b6d1ed85604051612dd79190613ab2565b60405180910390a450600192915050565b6001600160a01b038216612e3e5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161144e565b612e4a60008383613481565b8060cd6000828254612e5c9190614402565b90915550506001600160a01b038216600081815260cb60209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003612f435760405162461bcd60e51b815260206004820152602d60248201527f4469726563742063616c6c20746f2074686520696d706c656d656e746174696f60448201526c1b881b9bdd08185b1b1bddd959609a1b606482015260840161144e565b565b6001600160a01b03821660009081526098602052604081205460ff16612f6d575060006109f7565b6001600160a01b03831660009081526098602052604090819020805460ff1916905551612f9b9083906143d0565b6040518091039020836001600160a01b0316612fb56128d4565b6001600160a01b03167f7a52fdbc4f3e9f93670cd35b5b9c2d974791d25c5c04984336a80be3f7f42c3285604051612dd79190613ab2565b603354604051637f4ab1dd60e01b815260ff831660048201526060916001600160a01b031690637f4ab1dd90602401600060405180830381865afa158015613039573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109f79190810190614439565b61306961355a565b6066805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612d0e6128d4565b6001600160a01b0383166131035760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161144e565b6001600160a01b0382166131655760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161144e565b613170838383613481565b6001600160a01b038316600090815260cb6020526040902054818110156131e85760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161144e565b6001600160a01b03808516600081815260cb602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906132489086815260200190565b60405180910390a35b50505050565b60335460405163634a350960e11b81526001600160a01b038581166004830152848116602483015260448201849052600092169063c6946a1290606401602060405180830381865afa1580156132b1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116691906144a7565b60335460405163d4ce141560e01b81526001600160a01b038581166004830152848116602483015260448201849052600092169063d4ce141590606401602060405180830381865afa15801561332f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116691906144c4565b600054610100900460ff1661337a5760405162461bcd60e51b815260040161144e906144e1565b6133826135a0565b61338c87876135c7565b6133946135a0565b61339c6135a0565b6133a4613607565b6133ac6135a0565b6133b58361363a565b6133be886136ba565b6133c66135a0565b6133ce6135a0565b6133d66135a0565b6133e0600061373a565b6133e86135a0565b6133f06135a0565b6133f86135a0565b6134006135a0565b61340c85858484613778565b6134146135a0565b5050505050505050565b60006113cd6137d2565b6134328282612154565b6114615761343f81613816565b61344a836020613828565b60405160200161345b92919061452c565b60408051601f198184030181529082905262461bcd60e51b825261144e91600401613ab2565b61348c8383836122f8565b6113b95760405162461bcd60e51b815260206004820152602d60248201527f434d5441543a207472616e736665722072656a65637465642062792076616c6960448201526c646174696f6e206d6f64756c6560981b606482015260840161144e565b6000806134f96128d4565b90506135068582856139c4565b61162c85858561309f565b60665460ff16612f435760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161144e565b60665460ff1615612f435760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161144e565b600054610100900460ff16612f435760405162461bcd60e51b815260040161144e906144e1565b600054610100900460ff166135ee5760405162461bcd60e51b815260040161144e906144e1565b60ce6135fa8382614310565b5060cf6113b98282614310565b600054610100900460ff1661362e5760405162461bcd60e51b815260040161144e906144e1565b6066805460ff19169055565b600054610100900460ff166136615760405162461bcd60e51b815260040161144e906144e1565b6001600160a01b038116156114c357603380546001600160a01b0319166001600160a01b0383169081179091556040517f37213fe93a5aae50df0ef53f98b81c048e51b3ab2969309a103a647e44b6191890600090a250565b600054610100900460ff166136e15760405162461bcd60e51b815260040161144e906144e1565b6001600160a01b03811661372f5760405162461bcd60e51b81526020600482015260156024820152741059191c995cdcc80c081b9bdd08185b1b1bddd959605a1b604482015260640161144e565b6114c3600082612bc5565b600054610100900460ff166137615760405162461bcd60e51b815260040161144e906144e1565b610328805460ff191660ff92909216919091179055565b600054610100900460ff1661379f5760405162461bcd60e51b815260040161144e906144e1565b6101946137ac8582614310565b506101956137ba8482614310565b506101966137c88382614310565b5061019755505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303613811575060131936013560601c90565b503390565b60606109f76001600160a01b03831660145b606060006138378360026145a1565b613842906002614402565b67ffffffffffffffff81111561385a5761385a613b11565b6040519080825280601f01601f191660200182016040528015613884576020820181803683370190505b509050600360fc1b8160008151811061389f5761389f6145b8565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106138ce576138ce6145b8565b60200101906001600160f81b031916908160001a90535060006138f28460026145a1565b6138fd906001614402565b90505b6001811115613975576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110613931576139316145b8565b1a60f81b828281518110613947576139476145b8565b60200101906001600160f81b031916908160001a90535060049490941c9361396e816145ce565b9050613900565b5083156111695760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161144e565b60006139d08484612793565b905060001981146132515781811015613a2b5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161144e565b61325184848484036128de565b600060208284031215613a4a57600080fd5b81356001600160e01b03198116811461116957600080fd5b60005b83811015613a7d578181015183820152602001613a65565b50506000910152565b60008151808452613a9e816020860160208601613a62565b601f01601f19169290920160200192915050565b6020815260006111696020830184613a86565b6001600160a01b03811681146114c357600080fd5b803561211d81613ac5565b60008060408385031215613af857600080fd5b8235613b0381613ac5565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051610180810167ffffffffffffffff81118282101715613b4b57613b4b613b11565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715613b7a57613b7a613b11565b604052919050565b600067ffffffffffffffff821115613b9c57613b9c613b11565b50601f01601f191660200190565b600082601f830112613bbb57600080fd5b8135613bce613bc982613b82565b613b51565b818152846020838601011115613be357600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613c1557600080fd5b8335613c2081613ac5565b925060208401359150604084013567ffffffffffffffff811115613c4357600080fd5b613c4f86828701613baa565b9150509250925092565b60006101808e83528d6020840152806040840152613c798184018e613a86565b90508281036060840152613c8d818d613a86565b90508281036080840152613ca1818c613a86565b905082810360a0840152613cb5818b613a86565b905082810360c0840152613cc9818a613a86565b905082810360e0840152613cdd8189613a86565b9050828103610100840152613cf28188613a86565b9050828103610120840152613d078187613a86565b9050828103610140840152613d1c8186613a86565b9050828103610160840152613d318185613a86565b9f9e505050505050505050505050505050565b600080600060608486031215613d5957600080fd5b8335613d6481613ac5565b92506020840135613d7481613ac5565b929592945050506040919091013590565b600060208284031215613d9757600080fd5b813567ffffffffffffffff811115613dae57600080fd5b6114fc84828501613baa565b600060208284031215613dcc57600080fd5b5035919050565b60008060408385031215613de657600080fd5b823591506020830135613df881613ac5565b809150509250929050565b60008060408385031215613e1657600080fd5b8235613e2181613ac5565b9150602083013567ffffffffffffffff811115613e3d57600080fd5b613e4985828601613baa565b9150509250929050565b600080600060608486031215613e6857600080fd5b8335613e7381613ac5565b95602085013595506040909401359392505050565b80151581146114c357600080fd5b600060208284031215613ea857600080fd5b813561116981613e88565b83151581528215156020820152606060408201526000613ed66060830184613a86565b95945050505050565b600060208284031215613ef157600080fd5b813561116981613ac5565b600060208284031215613f0e57600080fd5b813567ffffffffffffffff80821115613f2657600080fd5b908301906101808286031215613f3b57600080fd5b613f43613b27565b8235815260208301356020820152604083013582811115613f6357600080fd5b613f6f87828601613baa565b604083015250606083013582811115613f8757600080fd5b613f9387828601613baa565b606083015250608083013582811115613fab57600080fd5b613fb787828601613baa565b60808301525060a083013582811115613fcf57600080fd5b613fdb87828601613baa565b60a08301525060c083013582811115613ff357600080fd5b613fff87828601613baa565b60c08301525060e08301358281111561401757600080fd5b61402387828601613baa565b60e083015250610100808401358381111561403d57600080fd5b61404988828701613baa565b828401525050610120808401358381111561406357600080fd5b61406f88828701613baa565b828401525050610140808401358381111561408957600080fd5b61409588828701613baa565b82840152505061016080840135838111156140af57600080fd5b6140bb88828701613baa565b918301919091525095945050505050565b60ff811681146114c357600080fd5b6000602082840312156140ed57600080fd5b8135611169816140cc565b600080600080600080600080610100898b03121561411557600080fd5b61411e89613ada565b9750602089013567ffffffffffffffff8082111561413b57600080fd5b6141478c838d01613baa565b985060408b013591508082111561415d57600080fd5b6141698c838d01613baa565b975060608b013591508082111561417f57600080fd5b61418b8c838d01613baa565b965060808b01359150808211156141a157600080fd5b6141ad8c838d01613baa565b95506141bb60a08c01613ada565b945060c08b01359150808211156141d157600080fd5b506141de8b828c01613baa565b92505060e089013590509295985092959890939650565b6000806040838503121561420857600080fd5b823561421381613ac5565b91506020830135613df881613ac5565b60008060006060848603121561423857600080fd5b833561424381613e88565b9250602084013561425381613e88565b9150604084013567ffffffffffffffff811115613c4357600080fd5b600181811c9082168061428357607f821691505b6020821081036142a357634e487b7160e01b600052602260045260246000fd5b50919050565b8281526040602082015260006111666040830184613a86565b601f8211156113b957600081815260208120601f850160051c810160208610156142e95750805b601f850160051c820191505b81811015614308578281556001016142f5565b505050505050565b815167ffffffffffffffff81111561432a5761432a613b11565b61433e81614338845461426f565b846142c2565b602080601f831160018114614373576000841561435b5750858301515b600019600386901b1c1916600185901b178555614308565b600085815260208120601f198616915b828110156143a257888601518255948401946001909101908401614383565b50858210156143c05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600082516143e2818460208701613a62565b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b808201808211156109f7576109f76143ec565b6020808252600a908201526953616d652076616c756560b01b604082015260600190565b60006020828403121561444b57600080fd5b815167ffffffffffffffff81111561446257600080fd5b8201601f8101841361447357600080fd5b8051614481613bc982613b82565b81815285602083850101111561449657600080fd5b613ed6826020830160208601613a62565b6000602082840312156144b957600080fd5b815161116981613e88565b6000602082840312156144d657600080fd5b8151611169816140cc565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351614564816017850160208801613a62565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351614595816028840160208801613a62565b01602801949350505050565b80820281158282048414176109f7576109f76143ec565b634e487b7160e01b600052603260045260246000fd5b6000816145dd576145dd6143ec565b50600019019056feaa2de0737115053bf7d3d68e733306557628aef4b4aefa746cbf344fc7267247c6f3350ab30f55ce45863160fc345c1663d4633fe7cacfd3b9bbb6420a9147f8a2646970667358221220f13b9cc34a761285ede5568aea54751589004a42b9bf86d178cda29ce0962c6464736f6c634300081100330000000000000000000000000000000000000000000000000000000000000000