// This file was autogenerated by Hardhat, do not edit it.
// prettier-ignore
// tslint:disable
// eslint-disable
// biome-ignore format: see above

export interface WitOracleTrustableObscuro$Type {
  readonly _format: "hh3-artifact-1";
  readonly contractName: "WitOracleTrustableObscuro";
  readonly sourceName: "contracts/core/trustable/WitOracleTrustableObscuro.sol";
  readonly abi: [{"inputs":[{"components":[{"internalType":"uint32","name":"reportResultGasBase","type":"uint32"},{"internalType":"uint32","name":"reportResultWithCallbackGasBase","type":"uint32"},{"internalType":"uint32","name":"reportResultWithCallbackRevertGasBase","type":"uint32"},{"internalType":"uint32","name":"sstoreFromZeroGas","type":"uint32"}],"internalType":"struct WitOracleBaseQueriable.EvmImmutables","name":"_immutables","type":"tuple"},{"internalType":"contract WitOracleRadonRegistry","name":"_registry","type":"address"},{"internalType":"bytes32","name":"_versionTag","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"InvalidDataReport","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"queryId","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"BatchReportError","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Received","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"reporters","type":"address[]"}],"name":"ReportersSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"reporters","type":"address[]"}],"name":"ReportersUnset","type":"event"},{"anonymous":false,"inputs":[{"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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"baseAddr","type":"address"},{"indexed":true,"internalType":"bytes32","name":"baseCodehash","type":"bytes32"},{"indexed":false,"internalType":"string","name":"versionTag","type":"string"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"evmRequester","type":"address"},{"indexed":false,"internalType":"uint256","name":"evmGasPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"evmReward","type":"uint256"},{"indexed":false,"internalType":"Witnet.QueryId","name":"queryId","type":"uint64"},{"indexed":false,"internalType":"Witnet.RadonHash","name":"radonHash","type":"bytes32"},{"components":[{"internalType":"uint16","name":"witResultMaxSize","type":"uint16"},{"internalType":"uint16","name":"witCommitteeSize","type":"uint16"},{"internalType":"uint64","name":"witUnitaryReward","type":"uint64"}],"indexed":false,"internalType":"struct Witnet.QuerySLA","name":"radonParams","type":"tuple"}],"name":"WitOracleQuery","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"Witnet.QueryId","name":"queryId","type":"uint64"},{"indexed":false,"internalType":"uint256","name":"evmGasPrice","type":"uint256"}],"name":"WitOracleQueryReport","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"Witnet.QueryId","name":"queryId","type":"uint64"},{"indexed":false,"internalType":"address","name":"evmConsumer","type":"address"},{"indexed":false,"internalType":"uint256","name":"evmGasPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"evmCallbackGas","type":"uint256"}],"name":"WitOracleQueryReportDelivery","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"Witnet.QueryId","name":"queryId","type":"uint64"},{"indexed":false,"internalType":"address","name":"evmDisputer","type":"address"}],"name":"WitOracleQueryReportDispute","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"Witnet.QueryId","name":"queryId","type":"uint64"},{"indexed":false,"internalType":"address","name":"evmSender","type":"address"},{"indexed":false,"internalType":"uint256","name":"evmGasPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"evmReward","type":"uint256"}],"name":"WitOracleQueryUpgrade","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"evmOrigin","type":"address"},{"indexed":true,"internalType":"address","name":"evmConsumer","type":"address"},{"indexed":false,"internalType":"address","name":"evmReporter","type":"address"},{"indexed":false,"internalType":"Witnet.TransactionHash","name":"witDrTxHash","type":"bytes32"},{"indexed":false,"internalType":"Witnet.RadonHash","name":"queryRadHash","type":"bytes32"},{"components":[{"internalType":"uint16","name":"witResultMaxSize","type":"uint16"},{"internalType":"uint16","name":"witCommitteeSize","type":"uint16"},{"internalType":"uint64","name":"witUnitaryReward","type":"uint64"}],"indexed":false,"internalType":"struct Witnet.QuerySLA","name":"queryParams","type":"tuple"},{"indexed":false,"internalType":"Witnet.Timestamp","name":"resultTimestamp","type":"uint64"},{"indexed":false,"internalType":"bytes","name":"resultCborBytes","type":"bytes"}],"name":"WitOracleReport","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"Witnet.QueryId","name":"queryId","type":"uint64"},{"indexed":false,"internalType":"address","name":"evmConsumer","type":"address"},{"indexed":false,"internalType":"uint256","name":"evmGasPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"evmCallbackActualGas","type":"uint256"},{"indexed":false,"internalType":"string","name":"evmCallbackRevertReason","type":"string"},{"indexed":false,"internalType":"bytes","name":"resultCborBytes","type":"bytes"}],"name":"WitOracleResportDeliveryFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"evmReward","type":"uint256"},{"components":[{"internalType":"uint8","name":"numWitnesses","type":"uint8"},{"internalType":"uint64","name":"witnessReward","type":"uint64"}],"indexed":false,"internalType":"struct IWitOracleLegacy.RadonSLA","name":"witnetSLA","type":"tuple"}],"name":"WitnetQuery","type":"event"},{"stateMutability":"nonpayable","type":"fallback"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"base","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"channel","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"class","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"codehash","outputs":[{"internalType":"bytes32","name":"_codehash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currency","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"deleteQuery","outputs":[{"internalType":"Witnet.QueryEvmReward","name":"","type":"uint72"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_evmGasPrice","type":"uint256"}],"name":"estimateBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_gasPrice","type":"uint256"},{"internalType":"uint16","name":"","type":"uint16"}],"name":"estimateBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"gasPrice","type":"uint256"},{"internalType":"bytes32","name":"radHash","type":"bytes32"}],"name":"estimateBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_evmGasPrice","type":"uint256"},{"internalType":"uint24","name":"_evmCallbackGasLimit","type":"uint24"}],"name":"estimateBaseFeeWithCallback","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_evmGasPrice","type":"uint256"},{"internalType":"uint256","name":"_evmWitPrice","type":"uint256"},{"components":[{"internalType":"uint16","name":"witResultMaxSize","type":"uint16"},{"internalType":"uint16","name":"witCommitteeSize","type":"uint16"},{"internalType":"uint64","name":"witUnitaryReward","type":"uint64"}],"internalType":"struct Witnet.QuerySLA","name":"_querySLA","type":"tuple"}],"name":"estimateExtraFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_queryIds","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"uint256","name":"_evmGasPrice","type":"uint256"},{"internalType":"uint256","name":"_evmWitPrice","type":"uint256"}],"name":"estimateReportEarnings","outputs":[{"internalType":"uint256","name":"_revenues","type":"uint256"},{"internalType":"uint256","name":"_expenses","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"Witnet.QueryId[]","name":"_queryIds","type":"uint64[]"}],"name":"extractRadonBytecodes","outputs":[{"internalType":"bytes[]","name":"_bytecodes","type":"bytes[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"queryIds","type":"uint256[]"}],"name":"extractWitnetDataRequests","outputs":[{"internalType":"bytes[]","name":"","type":"bytes[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"}],"name":"fetchQueryResponse","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getNextQueryId","outputs":[{"internalType":"Witnet.QueryId","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"Witnet.QueryId","name":"_queryId","type":"uint64"}],"name":"getQuery","outputs":[{"components":[{"components":[{"internalType":"address","name":"requester","type":"address"},{"internalType":"uint24","name":"callbackGas","type":"uint24"},{"internalType":"bytes","name":"radonBytecode","type":"bytes"},{"internalType":"Witnet.RadonHash","name":"radonHash","type":"bytes32"}],"internalType":"struct Witnet.QueryRequest","name":"request","type":"tuple"},{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"Witnet.Timestamp","name":"resultTimestamp","type":"uint64"},{"internalType":"Witnet.TransactionHash","name":"resultDrTxHash","type":"bytes32"},{"internalType":"bytes","name":"resultCborBytes","type":"bytes"},{"internalType":"address","name":"disputer","type":"address"}],"internalType":"struct Witnet.QueryResponse","name":"response","type":"tuple"},{"components":[{"internalType":"uint16","name":"witResultMaxSize","type":"uint16"},{"internalType":"uint16","name":"witCommitteeSize","type":"uint16"},{"internalType":"uint64","name":"witUnitaryReward","type":"uint64"}],"internalType":"struct Witnet.QuerySLA","name":"slaParams","type":"tuple"},{"internalType":"Witnet.QueryUUID","name":"uuid","type":"bytes15"},{"internalType":"Witnet.QueryEvmReward","name":"reward","type":"uint72"},{"internalType":"Witnet.BlockNumber","name":"checkpoint","type":"uint64"}],"internalType":"struct Witnet.Query","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"}],"name":"getQuery","outputs":[{"components":[{"components":[{"internalType":"address","name":"requester","type":"address"},{"internalType":"uint24","name":"callbackGas","type":"uint24"},{"internalType":"uint72","name":"evmReward","type":"uint72"},{"internalType":"bytes","name":"radonBytecode","type":"bytes"},{"internalType":"bytes32","name":"radonHash","type":"bytes32"},{"components":[{"internalType":"uint8","name":"numWitnesses","type":"uint8"},{"internalType":"uint64","name":"witnessReward","type":"uint64"}],"internalType":"struct IWitOracleLegacy.RadonSLA","name":"radonParams","type":"tuple"}],"internalType":"struct IWitOracleLegacy.QueryRequest","name":"request","type":"tuple"},{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"uint64","name":"finality","type":"uint64"},{"internalType":"uint32","name":"timestamp","type":"uint32"},{"internalType":"bytes32","name":"trail","type":"bytes32"},{"internalType":"bytes","name":"cborBytes","type":"bytes"}],"internalType":"struct IWitOracleLegacy.QueryResponse","name":"response","type":"tuple"}],"internalType":"struct IWitOracleLegacy.Query","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryEvmReward","outputs":[{"internalType":"Witnet.QueryEvmReward","name":"","type":"uint72"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"}],"name":"getQueryRequest","outputs":[{"components":[{"internalType":"address","name":"requester","type":"address"},{"internalType":"uint24","name":"callbackGas","type":"uint24"},{"internalType":"uint72","name":"evmReward","type":"uint72"},{"internalType":"bytes","name":"radonBytecode","type":"bytes"},{"internalType":"bytes32","name":"radonHash","type":"bytes32"},{"components":[{"internalType":"uint8","name":"numWitnesses","type":"uint8"},{"internalType":"uint64","name":"witnessReward","type":"uint64"}],"internalType":"struct IWitOracleLegacy.RadonSLA","name":"radonParams","type":"tuple"}],"internalType":"struct IWitOracleLegacy.QueryRequest","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"Witnet.QueryId","name":"_queryId","type":"uint64"}],"name":"getQueryRequest","outputs":[{"components":[{"internalType":"address","name":"requester","type":"address"},{"internalType":"uint24","name":"callbackGas","type":"uint24"},{"internalType":"bytes","name":"radonBytecode","type":"bytes"},{"internalType":"Witnet.RadonHash","name":"radonHash","type":"bytes32"}],"internalType":"struct Witnet.QueryRequest","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"Witnet.QueryId","name":"_queryId","type":"uint64"}],"name":"getQueryResponse","outputs":[{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"Witnet.Timestamp","name":"resultTimestamp","type":"uint64"},{"internalType":"Witnet.TransactionHash","name":"resultDrTxHash","type":"bytes32"},{"internalType":"bytes","name":"resultCborBytes","type":"bytes"},{"internalType":"address","name":"disputer","type":"address"}],"internalType":"struct Witnet.QueryResponse","name":"_response","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"}],"name":"getQueryResponse","outputs":[{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"uint64","name":"finality","type":"uint64"},{"internalType":"uint32","name":"timestamp","type":"uint32"},{"internalType":"bytes32","name":"trail","type":"bytes32"},{"internalType":"bytes","name":"cborBytes","type":"bytes"}],"internalType":"struct IWitOracleLegacy.QueryResponse","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"}],"name":"getQueryResponseStatus","outputs":[{"internalType":"enum IWitOracleLegacy.QueryResponseStatus","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryResult","outputs":[{"components":[{"internalType":"enum Witnet.ResultStatus","name":"status","type":"uint8"},{"internalType":"enum Witnet.RadonDataTypes","name":"dataType","type":"uint8"},{"internalType":"Witnet.TransactionHash","name":"drTxHash","type":"bytes32"},{"internalType":"uint256","name":"finality","type":"uint256"},{"internalType":"Witnet.Timestamp","name":"timestamp","type":"uint64"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"cursor","type":"uint256"}],"internalType":"struct WitnetBuffer.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct WitnetCBOR.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.DataResult","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"}],"name":"getQueryResultCborBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"}],"name":"getQueryResultError","outputs":[{"components":[{"internalType":"uint8","name":"code","type":"uint8"},{"internalType":"string","name":"reason","type":"string"}],"internalType":"struct IWitOracleLegacy.ResultError","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryResultStatus","outputs":[{"internalType":"enum Witnet.ResultStatus","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryResultStatusDescription","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryResultTrails","outputs":[{"internalType":"bytes32","name":"queryUUID","type":"bytes32"},{"internalType":"Witnet.TransactionHash","name":"resultDrTxHash","type":"bytes32"},{"internalType":"Witnet.Timestamp","name":"resultTimestamp","type":"uint64"},{"internalType":"uint256","name":"resultFinalityBlock","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryStatus","outputs":[{"internalType":"enum Witnet.QueryStatus","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_queryIds","type":"uint256[]"}],"name":"getQueryStatusBatch","outputs":[{"internalType":"enum Witnet.QueryStatus[]","name":"_status","type":"uint8[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryStatusString","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"_initData","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_queryResponseReporter","type":"address"}],"name":"isReporter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isUpgradable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"}],"name":"isUpgradableFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"Witnet.TransactionHash","name":"witDrTxHash","type":"bytes32"},{"internalType":"Witnet.RadonHash","name":"queryRadHash","type":"bytes32"},{"components":[{"internalType":"uint16","name":"witResultMaxSize","type":"uint16"},{"internalType":"uint16","name":"witCommitteeSize","type":"uint16"},{"internalType":"uint64","name":"witUnitaryReward","type":"uint64"}],"internalType":"struct Witnet.QuerySLA","name":"queryParams","type":"tuple"},{"internalType":"Witnet.Timestamp","name":"resultTimestamp","type":"uint64"},{"internalType":"bytes","name":"resultCborBytes","type":"bytes"}],"internalType":"struct Witnet.DataPushReport","name":"_report","type":"tuple"},{"internalType":"bytes","name":"_signature","type":"bytes"}],"name":"parseDataReport","outputs":[{"components":[{"internalType":"enum Witnet.ResultStatus","name":"status","type":"uint8"},{"internalType":"enum Witnet.RadonDataTypes","name":"dataType","type":"uint8"},{"internalType":"Witnet.TransactionHash","name":"drTxHash","type":"bytes32"},{"internalType":"uint256","name":"finality","type":"uint256"},{"internalType":"Witnet.Timestamp","name":"timestamp","type":"uint64"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"cursor","type":"uint256"}],"internalType":"struct WitnetBuffer.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct WitnetCBOR.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.DataResult","name":"_result","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryRadHash","type":"bytes32"},{"components":[{"internalType":"uint8","name":"numWitnesses","type":"uint8"},{"internalType":"uint64","name":"witnessReward","type":"uint64"}],"internalType":"struct IWitOracleLegacy.RadonSLA","name":"_querySLA","type":"tuple"}],"name":"postRequest","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryRadHash","type":"bytes32"},{"components":[{"internalType":"uint8","name":"numWitnesses","type":"uint8"},{"internalType":"uint64","name":"witnessReward","type":"uint64"}],"internalType":"struct IWitOracleLegacy.RadonSLA","name":"_querySLA","type":"tuple"},{"internalType":"uint24","name":"_queryCallbackGas","type":"uint24"}],"name":"postRequestWithCallback","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"Witnet.TransactionHash","name":"witDrTxHash","type":"bytes32"},{"internalType":"Witnet.RadonHash","name":"queryRadHash","type":"bytes32"},{"components":[{"internalType":"uint16","name":"witResultMaxSize","type":"uint16"},{"internalType":"uint16","name":"witCommitteeSize","type":"uint16"},{"internalType":"uint64","name":"witUnitaryReward","type":"uint64"}],"internalType":"struct Witnet.QuerySLA","name":"queryParams","type":"tuple"},{"internalType":"Witnet.Timestamp","name":"resultTimestamp","type":"uint64"},{"internalType":"bytes","name":"resultCborBytes","type":"bytes"}],"internalType":"struct Witnet.DataPushReport","name":"_report","type":"tuple"},{"internalType":"bytes","name":"_signature","type":"bytes"}],"name":"pushDataReport","outputs":[{"components":[{"internalType":"enum Witnet.ResultStatus","name":"status","type":"uint8"},{"internalType":"enum Witnet.RadonDataTypes","name":"dataType","type":"uint8"},{"internalType":"Witnet.TransactionHash","name":"drTxHash","type":"bytes32"},{"internalType":"uint256","name":"finality","type":"uint256"},{"internalType":"Witnet.Timestamp","name":"timestamp","type":"uint64"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"cursor","type":"uint256"}],"internalType":"struct WitnetBuffer.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct WitnetCBOR.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.DataResult","name":"","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"Witnet.RadonHash","name":"_queryRAD","type":"bytes32"},{"components":[{"internalType":"uint16","name":"witResultMaxSize","type":"uint16"},{"internalType":"uint16","name":"witCommitteeSize","type":"uint16"},{"internalType":"uint64","name":"witUnitaryReward","type":"uint64"}],"internalType":"struct Witnet.QuerySLA","name":"_querySLA","type":"tuple"}],"name":"queryData","outputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"Witnet.RadonHash","name":"_queryRAD","type":"bytes32"},{"components":[{"internalType":"uint16","name":"witResultMaxSize","type":"uint16"},{"internalType":"uint16","name":"witCommitteeSize","type":"uint16"},{"internalType":"uint64","name":"witUnitaryReward","type":"uint64"}],"internalType":"struct Witnet.QuerySLA","name":"_querySLA","type":"tuple"},{"components":[{"internalType":"address","name":"consumer","type":"address"},{"internalType":"uint24","name":"gasLimit","type":"uint24"}],"internalType":"struct Witnet.QueryCallback","name":"_queryCallback","type":"tuple"}],"name":"queryDataWithCallback","outputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"registry","outputs":[{"internalType":"contract IWitOracleRadonRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"Witnet.QueryId","name":"_queryId","type":"uint64"},{"internalType":"Witnet.Timestamp","name":"_resultTimestamp","type":"uint64"},{"internalType":"Witnet.TransactionHash","name":"_witDrTxHash","type":"bytes32"},{"internalType":"bytes","name":"_resultCborBytes","type":"bytes"}],"name":"reportResult","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"resultCborBytes","type":"bytes"}],"name":"reportResult","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"Witnet.QueryId","name":"_queryId","type":"uint64"},{"internalType":"Witnet.TransactionHash","name":"_witDrTxHash","type":"bytes32"},{"internalType":"bytes","name":"_resultCborBytes","type":"bytes"}],"name":"reportResult","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"},{"internalType":"uint32","name":"resultTimestamp","type":"uint32"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"resultCborBytes","type":"bytes"}],"name":"reportResult","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"queryId","type":"uint256"},{"internalType":"uint32","name":"resultTimestamp","type":"uint32"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"resultCborBytes","type":"bytes"}],"internalType":"struct IWitOracleLegacy.BatchResultLegacy[]","name":"results","type":"tuple[]"}],"name":"reportResultBatch","outputs":[{"internalType":"uint256","name":"_batchReward","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"Witnet.QueryId","name":"queryId","type":"uint64"},{"internalType":"Witnet.Timestamp","name":"resultTimestamp","type":"uint64"},{"internalType":"Witnet.TransactionHash","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"resultCborBytes","type":"bytes"}],"internalType":"struct IWitOracleQueriableTrustableReporter.BatchResult[]","name":"_batchResults","type":"tuple[]"}],"name":"reportResultBatch","outputs":[{"internalType":"uint256","name":"_batchReward","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_queryResponseReporters","type":"address[]"}],"name":"setReporters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"specs","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_exReporters","type":"address[]"}],"name":"unsetReporters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"upgradeQueryEvmReward","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}];
  readonly bytecode: "0x6102006040523361010052348015610015575f5ffd5b50604051615ee7380380615ee783398101604081905261003491610349565b8083835f6001846040518060400160405280601981526020017f696f2e7769746e65742e70726f786961626c652e626f6172640000000000000081525082335f6001600160a01b0316816001600160a01b0316036100ac57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6100b581610232565b5030608052151560c052600160025560e0919091528051602091820120610120526001600160a01b039283166101405260408051808201909152601381527f696e6578697374656e74207265676973747279000000000000000000000000009181019190915261012b9284163b1515915061024e565b6101ec63a614fef760e01b6001600160e01b031916826001600160a01b031663adb7c3f76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561017c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101a091906103fa565b6001600160e01b031916146040518060400160405280601481526020017f756e636f6d706c69616e7420726567697374727900000000000000000000000081525061024e60201b60201c565b6001600160a01b031661016052805163ffffffff90811661018052602082015181166101a052604082015181166101c052606090910151166101e0525061049d92505050565b600180546001600160a01b031916905561024b81610260565b50565b8161025c5761025c816102af565b5050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60408051808201909152601f81527f5769744f7261636c6542617365517565726961626c65547275737461626c65006020820152816040516020016102f592919061043f565b60408051601f198184030181529082905262461bcd60e51b82526100a391600401610468565b805163ffffffff8116811461032e575f5ffd5b919050565b80516001600160a01b038116811461032e575f5ffd5b5f5f5f83850360c081121561035c575f5ffd5b6080811215610369575f5ffd5b50604051608081016001600160401b038111828210171561039857634e487b7160e01b5f52604160045260245ffd5b6040526103a48561031b565b81526103b26020860161031b565b60208201526103c36040860161031b565b60408201526103d46060860161031b565b606082015292506103e760808501610333565b60a0949094015192959394509192915050565b5f6020828403121561040a575f5ffd5b81516001600160e01b031981168114610421575f5ffd5b9392505050565b5f81518060208401855e5f93019283525090919050565b5f61044a8285610428565b6101d160f51b815261045f6002820185610428565b95945050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161597d61056a5f395f8181610e880152818161159d0152612bbf01525f610eb401525f8181610ef40152610f3c01525f6115c901525f818161092f01528181611f3f01526126f001525f610cc101525f61071a01525f610c7101525f611fb101525f818161076901526120d801525f50505f81816106d101528181610b0e01528181611969015281816119da01528181611a210152611a43015261597d5ff3fe6080604052600436106103ac575f3560e01c806379ba5097116101e6578063adb7c3f71161010c578063d0a92a081161009f578063e900aa331161006e578063e900aa3314610ce3578063ec5946db14610cf6578063f2fde38b14610d09578063f61921b214610d28576103ac565b8063d0a92a0814610c41578063d5f3948814610c60578063e30c397814610c93578063e5a6b10f14610cb0576103ac565b8063bff852fa116100db578063bff852fa14610bb6578063c258134814610bca578063c805dd0f14610be9578063ca7da98b14610c15576103ac565b8063adb7c3f714610b33578063aeb2ffc114610b4c578063b207e73014610b78578063b783922b14610b97576103ac565b80638d3d8b3811610184578063a58f680311610153578063a58f680314610a95578063a667533f14610aa8578063a77fc1a414610ad4578063a9e954b914610b00576103ac565b80638d3d8b3814610a075780638da5cb5b14610a2657806393d5185c14610a425780639cc56e6714610a76576103ac565b80637bd88218116101c05780637bd882181461097e5780637c1fbda31461099d578063838d44e2146109bc5780638cfcdea2146109db576103ac565b806379ba50971461090a5780637b1039991461091e5780637bbdb96e14610951576103ac565b80634cddf615116102d657806359209b39116102695780636f07abcc116102385780636f07abcc146108565780636fdaab7e14610875578063715018a6146108d757806376d0e357146108eb576103ac565b806359209b39146107cd5780636280bce8146107f95780636b58960a146108185780636d0d6a7e14610837576103ac565b80635304bba2116102a55780635304bba21461073c5780635479d9401461075b57806354fd4d501461078d578063581f5094146107a1576103ac565b80634cddf615146106785780634e6c13a1146106a45780635001f3b5146106c357806352d1902d14610709576103ac565b806328a78d9b1161034e5780633fa595761161031d5780633fa59576146105c0578063439fab911461060e57806345ea6c171461062d5780634c9f72e314610659576103ac565b806328a78d9b1461055a57806339a8653e1461057b5780633b3195b71461059a5780633dc2b7a2146105ad576103ac565b806308b7e85e1161038a57806308b7e85e146104b75780630aa4112a146104e35780631aea970b1461050f578063234fe6e31461052e576103ac565b8063044ad7be1461043757806305e742ef1461046b57806306eb2c4214610498575b3480156103b7575f5ffd5b506103c55f3560f81c610d54565b6103d560ff5f3560f01c16610d54565b6103e560ff5f3560e81c16610d54565b6103f560ff5f3560e01c16610d54565b6040516020016104089493929190613c59565b60408051601f198184030181529082905262461bcd60e51b825261042e91600401613ce5565b60405180910390fd5b348015610442575f5ffd5b50610456610451366004613d0b565b610e40565b60405190151581526020015b60405180910390f35b348015610476575f5ffd5b5061048a610485366004613d36565b610e81565b604051908152602001610462565b3480156104a3575f5ffd5b5061048a6104b2366004613dab565b610f71565b3480156104c2575f5ffd5b506104d66104d1366004613de9565b611190565b6040516104629190613ce5565b3480156104ee575f5ffd5b506105026104fd366004613de9565b6111b0565b6040516104629190613e84565b34801561051a575f5ffd5b5061048a610529366004613ee7565b611404565b348015610539575f5ffd5b5061054d610548366004613de9565b6114b1565b6040516104629190613f78565b348015610565575f5ffd5b50610579610574366004613dab565b611526565b005b348015610586575f5ffd5b5061048a610595366004613de9565b611597565b61048a6105a83660046140c7565b6115f7565b61048a6105bb36600461414a565b6117e3565b3480156105cb575f5ffd5b506105df6105da366004613de9565b611842565b604051610462949392919093845260208401929092526001600160401b03166040830152606082015260800190565b348015610619575f5ffd5b506105796106283660046141f3565b611893565b348015610638575f5ffd5b5061064c610647366004613dab565b611ac7565b6040516104629190614224565b348015610664575f5ffd5b50610579610673366004613dab565b611b6e565b348015610683575f5ffd5b50610697610692366004613de9565b611baf565b604051610462919061429c565b3480156106af575f5ffd5b5061048a6106be3660046142cc565b611c02565b3480156106ce575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610462565b348015610714575f5ffd5b5061048a7f000000000000000000000000000000000000000000000000000000000000000081565b348015610747575f5ffd5b5061064c6107563660046143f3565b611f0d565b348015610766575f5ffd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b348015610798575f5ffd5b506104d6611faa565b3480156107ac575f5ffd5b506107c06107bb366004613dab565b611fda565b6040516104629190614498565b3480156107d8575f5ffd5b506107ec6107e7366004613de9565b612094565b60405161046291906144e3565b348015610804575f5ffd5b5061048a6108133660046145cf565b6120b2565b348015610823575f5ffd5b50610456610832366004613d0b565b6120d5565b348015610842575f5ffd5b506107ec61085136600461461d565b612129565b348015610861575f5ffd5b5061054d610870366004613de9565b612224565b348015610880575f5ffd5b506108bf61088f366004613de9565b5f9081525f5160206159285f395f51905f526020526040902060090154600160781b90046001600160481b031690565b6040516001600160481b039091168152602001610462565b3480156108e2575f5ffd5b5061057961225e565b3480156108f6575f5ffd5b5061048a610905366004614688565b612271565b348015610915575f5ffd5b506105796122d8565b348015610929575f5ffd5b506106f17f000000000000000000000000000000000000000000000000000000000000000081565b34801561095c575f5ffd5b50610965612352565b6040516001600160e01b03199091168152602001610462565b348015610989575f5ffd5b5061048a6109983660046146c7565b61235c565b3480156109a8575f5ffd5b506108bf6109b7366004613de9565b612366565b3480156109c7575f5ffd5b506104d66109d6366004613de9565b61245b565b3480156109e6575f5ffd5b506109fa6109f53660046146ea565b6124dd565b60405161046291906147ae565b348015610a12575f5ffd5b506104d6610a21366004613de9565b612504565b348015610a31575f5ffd5b505f546001600160a01b03166106f1565b348015610a4d575f5ffd5b50610a61610a5c36600461486a565b612519565b60408051928352602083019190915201610462565b348015610a81575f5ffd5b5061048a610a903660046148e5565b6126cc565b61048a610aa3366004614905565b612792565b348015610ab3575f5ffd5b50610ac7610ac23660046146ea565b612851565b6040516104629190614927565b348015610adf575f5ffd5b50610af3610aee366004613de9565b612903565b6040516104629190614939565b348015610b0b575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000003f61048a565b348015610b3e575f5ffd5b506304722eaf60e31b610965565b348015610b57575f5ffd5b50610b6b610b66366004613de9565b6129eb565b60405161046291906149b3565b348015610b83575f5ffd5b5061048a610b923660046149fe565b612a1d565b348015610ba2575f5ffd5b506107ec610bb136600461461d565b612a47565b348015610bc1575f5ffd5b506104d6612acb565b348015610bd5575f5ffd5b506104d6610be4366004613de9565b612b02565b348015610bf4575f5ffd5b50610bfd612b1a565b6040516001600160401b039091168152602001610462565b348015610c20575f5ffd5b50610c34610c2f3660046146ea565b612b3e565b6040516104629190614a22565b348015610c4c575f5ffd5b5061048a610c5b366004614a34565b612b86565b348015610c6b575f5ffd5b506106f17f000000000000000000000000000000000000000000000000000000000000000081565b348015610c9e575f5ffd5b506001546001600160a01b03166106f1565b348015610cbb575f5ffd5b506106f17f000000000000000000000000000000000000000000000000000000000000000081565b61048a610cf1366004614a67565b612c10565b610579610d04366004613de9565b612c80565b348015610d14575f5ffd5b50610579610d23366004613d0b565b612dd9565b348015610d33575f5ffd5b50610d47610d42366004613de9565b612e49565b6040516104629190614aa5565b6040805160028082528183019092526060915f91906020820181803683370190505090505f610d84601085614adf565b610d8f906030614b00565b90505f610d9d601086614b19565b610da8906030614b00565b905060398260ff161115610dc457610dc1600783614b00565b91505b60398160ff161115610dde57610ddb600782614b00565b90505b8160f81b835f81518110610df457610df4614b3a565b60200101906001600160f81b03191690815f1a9053508060f81b83600181518110610e2157610e21614b3a565b60200101906001600160f81b03191690815f1a90535091949350505050565b6001600160a01b0381165f9081527ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e185602052604081205460ff165b92915050565b5f80610eae7f00000000000000000000000000000000000000000000000000000000000000006003614b4e565b610ed8907f0000000000000000000000000000000000000000000000000000000000000000614b65565b9050808362ffffff161080610f1a575080610f1862ffffff85167f0000000000000000000000000000000000000000000000000000000000000000614b65565b105b15610f3157610f298185614b4e565b915050610e7b565b610f6062ffffff84167f0000000000000000000000000000000000000000000000000000000000000000614b65565b610f299085614b4e565b5092915050565b5f610fd05f5160206159085f395f51905f525b335f908152600291909101602090815260409182902054825180840190935260158352743ab730baba3437b934bd32b2103932b837b93a32b960591b9183019190915260ff169061305a565b5f826001600160401b03811115610fe957610fe9613f8b565b60405190808252806020026020018201604052801561103857816020015b604080516080810182525f80825260208083018290529282015260608082015282525f199092019101816110075790505b5090505f5b8381101561117e57604051806080016040528086868481811061106257611062614b3a565b90506020028101906110749190614b78565b356001600160401b0316815260200186868481811061109557611095614b3a565b90506020028101906110a79190614b78565b6110b8906040810190602001614b96565b63ffffffff1681526020018686848181106110d5576110d5614b3a565b90506020028101906110e79190614b78565b60400135815260200186868481811061110257611102614b3a565b90506020028101906111149190614b78565b611122906060810190614baf565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152505050915250825183908390811061116b5761116b614b3a565b602090810291909101015260010161103d565b5061118881611c02565b949350505050565b606061119b82612366565b505060408051602081019091525f8152919050565b6111f36040805160c0810182525f80825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b5f8281525f5160206159285f395f51905f526020526040902060018101805461ffff919061122090614bf1565b9050111561127b576040805160c0810182525f8082526020808301829052828401829052835180820185528281526060840152600290940154608083015282518084019093528083529282019290925260a082015292915050565b6003810154156113a4576040805160c08101825282546001600160a01b0381168252600160a01b810462ffffff166020830152600160b81b90046001600160481b0316918101919091526001820180546060830191906112da90614bf1565b80601f016020809104026020016040519081016040528092919081815260200182805461130690614bf1565b80156113515780601f1061132857610100808354040283529160200191611351565b820191905f5260205f20905b81548152906001019060200180831161133457829003601f168201915b5050509183525050600283015460208083019190915260408051808201825260089095015462010000810460ff16865264010000000090046001600160401b031691850191909152019190915292915050565b6040805160c08101825282546001600160a01b0381168252600160a01b900462ffffff1660208201526009830154600160781b90046001600160481b0316918101919091526001820180546060830191906112da90614bf1565b50919050565b5f61141b5f5160206159085f395f51905f52610f84565b6114556001600160401b03861615156040518060400160405280600d81526020016c06261642074696d657374616d7609c1b81525061305a565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b602082015261148f908315159061305a565b6114a5866001600160401b03168686868661306c565b90505b95945050505050565b60405163234fe6e360e01b8152600481018290525f9073__$713c4f4487e8756194dbc5b3b091cd4345$__9063234fe6e3906024015b602060405180830381865af4158015611502573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7b9190614c2f565b61152e6130ba565b6040516328a78d9b60e01b815273__$713c4f4487e8756194dbc5b3b091cd4345$__906328a78d9b906115679085908590600401614c4a565b5f6040518083038186803b15801561157d575f5ffd5b505af415801561158f573d5f5f3e3d5ffd5b505050505050565b5f6115c37f00000000000000000000000000000000000000000000000000000000000000006004614b4e565b6115ed907f0000000000000000000000000000000000000000000000000000000000000000614b65565b610e7b9083614b4e565b5f346116073a8460200151610e81565b61163f81831015604051806040016040528060138152602001721a5b9cdd59999a58da595b9d081c995dd85c99606a1b81525061305a565b61167d61164d82600a614b4e565b8311156040518060400160405280600f81526020016e1d1bdbc81b5d58da081c995dd85c99608a1b81525061305a565b846116b361168a826130e6565b6040518060400160405280600b81526020016a696e76616c696420534c4160a81b81525061305a565b846117795f825f01516001600160a01b03163b118015611737575081516040516323d0872b60e11b81523060048201526001600160a01b03909116906347a10e5690602401602060405180830381865afa158015611713573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117379190614c96565b801561174b57505f826020015162ffffff16115b6040518060400160405280601081526020016f696e76616c69642063616c6c6261636b60801b81525061305a565b8551602087015161178d9190348b8b613121565b9450336001600160a01b03167ffbe74eb38ea9de3d74d481a4f701ae121d794895c5797db8260d06d317901d263a34888c8c6040516117d0959493929190614cb5565b60405180910390a2505050509392505050565b5f61183b836040518060600160405280602061ffff168152602001855f0160208101906118109190614d1c565b60ff16815260209081019061182b90604088019088016146ea565b6001600160401b03169052612792565b9392505050565b5f5f5f5f5f6118508661319d565b600981015460058201546004909201546001600160881b0319608883901b16999298506001600160401b03600160c01b9182900481169850910416945092505050565b5f546001600160a01b0316806118c957818060200190518101906118b79190614d98565b925090506118c4816131b9565b611911565b336001600160a01b038216146119115760405162461bcd60e51b815260206004820152600d60248201526c3737ba103a34329037bbb732b960991b604482015260640161042e565b61191a826131d2565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe541580159061198b57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe547f00000000000000000000000000000000000000000000000000000000000000003f145b156119d85760405162461bcd60e51b815260206004820152601c60248201527f616c726561647920696e697469616c697a656420636f64656861736800000000604482015260640161042e565b7f00000000000000000000000000000000000000000000000000000000000000003f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600201557f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611a7c5f546001600160a01b031690565b6001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f6611aae611faa565b604051611abb9190613ce5565b60405180910390a45050565b60605f826001600160401b03811115611ae257611ae2613f8b565b604051908082528060200260200182016040528015611b0b578160200160208202803683370190505b5090505f5b8151811015611b6457848482818110611b2b57611b2b614b3a565b90506020020135828281518110611b4457611b44614b3a565b6001600160401b0390921660209283029190910190910152600101611b10565b5061118881611f0d565b611b766130ba565b604051634c9f72e360e01b815273__$713c4f4487e8756194dbc5b3b091cd4345$__90634c9f72e3906115679085908590600401614c4a565b5f81611bf9611bbd8261319d565b546040805180820190915260118152703737ba103a3432903932b8bab2b9ba32b960791b60208201526001600160a01b0390911633149061305a565b61183b8361324b565b5f611c195f5160206159085f395f51905f52610f84565b5f5b8251811015611ef7575f838281518110611c3757611c37614b3a565b6020908102919091010151516001600160401b031690506001611c5982612224565b6006811115611c6a57611c6a613f54565b14611d67577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848381518110611ca257611ca2614b3a565b60200260200101515f0151611cb5612acb565b604051638f191e5f60e01b815273__$713c4f4487e8756194dbc5b3b091cd4345$__90638f191e5f90611ced90600190600401613f78565b5f60405180830381865af4158015611d07573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611d2e9190810190614de5565b604051602001611d3f929190614e29565b60408051601f1981840301815290829052611d5a9291614e49565b60405180910390a1611eee565b426001600160401b0316848381518110611d8357611d83614b3a565b6020026020010151602001516001600160401b03161180611dd65750611dd6848381518110611db457611db4614b3a565b6020026020010151602001516001600160401b03166001600160401b03161590565b80611dfe5750838281518110611dee57611dee614b3a565b602002602001015160600151515f145b15611e59577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848381518110611e3657611e36614b3a565b60200260200101515f0151611e49612acb565b604051602001611d3f9190614e6a565b611ee1848381518110611e6e57611e6e614b3a565b60200260200101515f01516001600160401b0316858481518110611e9457611e94614b3a565b602002602001015160200151868581518110611eb257611eb2614b3a565b602002602001015160400151878681518110611ed057611ed0614b3a565b6020026020010151606001516132bf565b611eeb9084614b65565b92505b50600101611c1b565b508015611f0857611f0833826133fd565b919050565b604051633ab5a66d60e11b815260609073__$713c4f4487e8756194dbc5b3b091cd4345$__9063756b4cda90611f69907f0000000000000000000000000000000000000000000000000000000000000000908690600401614e9a565b5f60405180830381865af4158015611f83573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e7b9190810190614ef8565b6060611fd57f0000000000000000000000000000000000000000000000000000000000000000613430565b905090565b6060816001600160401b03811115611ff457611ff4613f8b565b60405190808252806020026020018201604052801561201d578160200160208202803683370190505b5090505f5b82811015610f6a5761204b84848381811061203f5761203f614b3a565b90506020020135612224565b82828151811061205d5761205d614b3a565b6020026020010190600681111561207657612076613f54565b9081600681111561208957612089613f54565b905250600101612022565b61209c613ab2565b816120a9611bbd8261319d565b61183b836134d1565b5f6120c95f5160206159085f395f51905f52610f84565b6114a885858585612271565b5f7f00000000000000000000000000000000000000000000000000000000000000008015610e7b5750816001600160a01b03166121195f546001600160a01b031690565b6001600160a01b03161492915050565b612131613ab2565b5f5f73__$713c4f4487e8756194dbc5b3b091cd4345$__631600b78b8787876040518463ffffffff1660e01b815260040161216e9392919061501a565b5f60405180830381865af4158015612188573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121af9190810190615261565b909250905033327f7a9001dc4425127400f09e4c0b02908ad0e1f642ee9c92932a222c686674648284893560208b013560408c016121f360c08e0160a08f016146ea565b61220060c08f018f614baf565b60405161221397969594939291906152a4565b60405180910390a395945050505050565b604051631bc1eaf360e21b8152600481018290525f9073__$713c4f4487e8756194dbc5b3b091cd4345$__90636f07abcc906024016114e7565b6122666130ba565b61226f5f6131b9565b565b5f6122885f5160206159085f395f51905f52610f84565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b60208201526122c2908315159061305a565b6114a8856001600160401b03164286868661306c565b60015433906001600160a01b031681146123465760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840161042e565b61234f816131b9565b50565b5f611fd53061354d565b5f61183b83611597565b604051637c1fbda360e01b8152600481018290525f9073__$713c4f4487e8756194dbc5b3b091cd4345$__90637c1fbda390602401602060405180830381865af49250505080156123d4575060408051601f3d908101601f191682019092526123d191810190615315565b60015b612441576123e061532e565b806308c379a00361240857506123f4615346565b806123ff575061240a565b6113fe8161358b565b505b3d808015612433576040519150601f19603f3d011682016040523d82523d5f602084013e612438565b606091505b506113fe6135a5565b6001600160481b0381168015610f6a57610f6a33826133fd565b606073__$713c4f4487e8756194dbc5b3b091cd4345$__634cbc7ff861248084612224565b6040518263ffffffff1660e01b815260040161249c9190613f78565b5f60405180830381865af41580156124b6573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e7b9190810190614de5565b6124e5613b2d565b816001600160401b03166124fb611bbd8261319d565b61183b836135b0565b606061250f82612b3e565b6060015192915050565b5f80805b878110156126c0575f89898381811061253857612538614b3a565b602002919091013591506001905061254f82612224565b600681111561256057612560613f54565b036126b7575f61256f8261319d565b8054909150600160a01b900462ffffff16156125ff57604080516060810182525f8152600883015461ffff62010000820416602083015264010000000090046001600160401b0316918101919091526125cb9088908890612b86565b81546125e4908990600160a01b900462ffffff16610e81565b6125ee9190614b65565b6125f89085614b65565b9350612667565b60408051606081018252600883015461ffff808216835262010000820416602083015264010000000090046001600160401b0316918101919091526126479088908890612b86565b61265088611597565b61265a9190614b65565b6126649085614b65565b93505b60088101546126879064010000000090046001600160401b031687614b4e565b6126919085614b65565b60098201549094506126b390600160781b90046001600160481b031686614b65565b9450505b5060010161251d565b50965096945050505050565b604051631a3b01e960e21b8152600481018290525f90612789906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906368ec07a490602401602060405180830381865afa158015612735573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127599190614c96565b604051806040016040528060128152602001710eadcd6dcdeeedc40e4c2c8dedc40d0c2e6d60731b81525061305a565b61183b83611597565b5f3461279d3a611597565b6127d581831015604051806040016040528060138152602001721a5b9cdd59999a58da595b9d081c995dd85c99606a1b81525061305a565b6127e361164d82600a614b4e565b836127f061168a826130e6565b6127fd335f348989613121565b9350336001600160a01b03167ffbe74eb38ea9de3d74d481a4f701ae121d794895c5797db8260d06d317901d263a34878a8a604051612840959493929190614cb5565b60405180910390a250505092915050565b61288760405180608001604052805f6001600160a01b031681526020015f62ffffff168152602001606081526020015f81525090565b60405163a667533f60e01b81526001600160401b038316600482015273__$713c4f4487e8756194dbc5b3b091cd4345$__9063a667533f906024015f60405180830381865af41580156128dc573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e7b919081019061543a565b604080518082019091525f8152606060208201525f61292183612094565b90506040518060400160405280825f015160ff81111561294357612943613f54565b60ff16815260200173__$39c1c75f9ff01712a7ae2d1d1d8c462aa1$__6371aad10d8460405160200161297691906144e3565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016129a19190613ce5565b5f60405180830381865af41580156129bb573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526129e29190810190614de5565b90529392505050565b6129f3613bc0565b6040518060400160405280612a07846111b0565b8152602001612a1584612e49565b905292915050565b5f612a345f5160206159085f395f51905f52610f84565b6114a5868663ffffffff16868686611404565b612a4f613ab2565b604051631600b78b60e01b815273__$713c4f4487e8756194dbc5b3b091cd4345$__90631600b78b90612a8a9087908790879060040161501a565b5f60405180830381865af4158015612aa4573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526114a89190810190615261565b60408051808201909152601f81527f5769744f7261636c6542617365517565726961626c65547275737461626c6500602082015290565b606081612b11611bbd8261319d565b61183b83613634565b5f5f5160206159085f395f51905f5254611fd5906001600160401b0316600161546b565b6040805160a0810182525f808252602082018190529181018290526060808201526080810191909152816001600160401b0316612b7d611bbd8261319d565b61183b83613705565b5f6020825f015161ffff1611612b9c575f612bee565b8151602090612bac90829061548a565b612bb691906154a4565b61ffff16612be47f000000000000000000000000000000000000000000000000000000000000000086614b4e565b612bee9190614b4e565b6040830151612c06906001600160401b031685614b4e565b6111889190614b65565b5f611188846040518060600160405280602061ffff168152602001865f016020810190612c3d9190614d1c565b60ff168152602090810190612c5890604089019089016146ea565b6001600160401b031690526040805180820190915233815262ffffff861660208201526115f7565b80600180612c8d83612224565b6006811115612c9e57612c9e613f54565b14612d2957604051638f191e5f60e01b8152612d249073__$713c4f4487e8756194dbc5b3b091cd4345$__90638f191e5f90612cde908590600401613f78565b5f60405180830381865af4158015612cf8573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612d1f9190810190614de5565b61358b565b505050565b5f612d338461319d565b90505f346009830154612d569190600160781b90046001600160481b0316614b65565b6009830180546001600160481b038316600160781b0268ffffffffffffffffff60781b19909116179055604080516001600160401b03881681523360208201523a818301526060810183905290519192507f66f95ec285ca572fa1cac40e7019e14ab45a8fc619c6405222e8af55534c2f67919081900360800190a15050505050565b612de16130ba565b600180546001600160a01b0383166001600160a01b03199091168117909155612e115f546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b612e8f6040518060a001604052805f6001600160a01b031681526020015f6001600160401b031681526020015f63ffffffff1681526020015f8152602001606081525090565b5f8281525f5160206159285f395f51905f526020526040902060018101805461ffff9190612ebc90614bf1565b90501115612f005750506040805160a0810182525f808252602080830182905282840182905260608301829052835191825281019092526080810191909152919050565b600381015415612ff5576040805160a08101825260048301546001600160a01b038116825263ffffffff600160a01b82048116602080850191909152600160c01b90920490911c169181019190915260058201546060820152600682018054608083019190612f6e90614bf1565b80601f0160208091040260200160405190810160405280929190818152602001828054612f9a90614bf1565b8015612fe55780601f10612fbc57610100808354040283529160200191612fe5565b820191905f5260205f20905b815481529060010190602001808311612fc857829003601f168201915b5050505050815250915050919050565b6040805160a08101825260048301546001600160a01b038116825260098401546001600160401b03600160c01b9182900416602084015263ffffffff9104169181019190915260058201546060820152600682018054608083019190612f6e90614bf1565b81613068576130688161358b565b5050565b5f6130ae86868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506132bf92505050565b90506114a833826133fd565b5f546001600160a01b0316331461226f5760405163118cdaa760e01b815233600482015260240161042e565b5f5f826020015161ffff161180156131075750607f826020015161ffff1611155b8015610e7b575050604001516001600160401b0316151590565b5f61312f86868686866137aa565b90507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a61681346040518060400160405280866020015160ff16815260200186604001516001600160401b031681525060405161318c939291906154c7565b60405180910390a195945050505050565b5f9081525f5160206159285f395f51905f526020526040902090565b600180546001600160a01b031916905561234f81613915565b73__$713c4f4487e8756194dbc5b3b091cd4345$__634c9f72e38280602001905181019061320091906154f6565b6040518263ffffffff1660e01b815260040161321c9190615591565b5f6040518083038186803b158015613232575f5ffd5b505af4158015613244573d5f5f3e3d5ffd5b5050505050565b604051634cddf61560e01b8152600481018290525f9073__$713c4f4487e8756194dbc5b3b091cd4345$__90634cddf61590602401602060405180830381865af415801561329b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7b91906155d1565b5f61337b6001604051631bc1eaf360e21b81526004810188905273__$713c4f4487e8756194dbc5b3b091cd4345$__90636f07abcc90602401602060405180830381865af4158015613313573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133379190614c2f565b600681111561334857613348613f54565b14604051806040016040528060148152602001736e6f7420696e20506f737465642073746174757360601b81525061305a565b604051637102a0df60e11b815273__$713c4f4487e8756194dbc5b3b091cd4345$__9063e20541be906133be9033903a9043908b908b908b908b906004016155ea565b602060405180830381865af41580156133d9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114a8919061563a565b6040516001600160a01b0383169082156108fc029083905f818181858888f19350505050158015612d24573d5f5f3e3d5ffd5b60605f61343c83613964565b6001600160401b0381111561345357613453613f8b565b6040519080825280601f01601f19166020018201604052801561347d576020820181803683370190505b5090505f5b8151811015610f6a5783816020811061349d5761349d614b3a565b1a60f81b8282815181106134b3576134b3614b3a565b60200101906001600160f81b03191690815f1a905350600101613482565b6134d9613ab2565b6040516359209b3960e01b81526004810183905273__$713c4f4487e8756194dbc5b3b091cd4345$__906359209b39906024015f60405180830381865af4158015613526573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e7b9190810190615651565b604080516001600160a01b038316602082015246918101919091525f906060015b604051602081830303815290604052805190602001209050919050565b613593612acb565b81604051602001610408929190614e29565b61226f612d1f61399c565b6135b8613b2d565b60405163467e6f5160e11b81526001600160401b038316600482015273__$713c4f4487e8756194dbc5b3b091cd4345$__90638cfcdea2906024015f60405180830381865af415801561360d573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e7b919081019061578f565b606073__$39c1c75f9ff01712a7ae2d1d1d8c462aa1$__6371aad10d73__$713c4f4487e8756194dbc5b3b091cd4345$__6359209b39856040518263ffffffff1660e01b815260040161368991815260200190565b5f60405180830381865af41580156136a3573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526136ca9190810190615651565b6040516020016136da91906144e3565b6040516020818303038152906040526040518263ffffffff1660e01b815260040161249c9190613ce5565b6040805160a0810182525f80825260208201819052918101829052606080820152608081019190915260405163ca7da98b60e01b81526001600160401b038316600482015273__$713c4f4487e8756194dbc5b3b091cd4345$__9063ca7da98b906024015f60405180830381865af4158015613783573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e7b9190810190615869565b5f5f5160206159085f395f51905f5280545f906137cf906001600160401b031661589a565b91906101000a8154816001600160401b0302191690836001600160401b0316021790556001600160401b031690505f6138078261319d565b6009810180546001600160c01b0316600160c01b436001600160401b031602179055905061383e8285613839866139eb565b613a3e565b60098201805460889290921c6001600160c01b031990921691909117600160781b6001600160481b0388160217905580546001600160a01b0319166001600160a01b0388161781556002810184905562ffffff8616156138b357805462ffffff60a01b1916600160a01b62ffffff8816021781555b82516008909101805460208501516040909501516001600160401b0316640100000000026bffffffffffffffff000000001961ffff968716620100000263ffffffff199093169690941695909517179190911692909217909155949350505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5b6020811015611f085781816020811061398157613981614b3a565b1a60f81b6001600160f81b03191615611f0857600101613966565b60606040518060400160405260108152806020016f2bb4ba27b930b1b632a230ba30a634b160811b8152506040516020016139d791906158c4565b604051602081830303815290604052905090565b5f815f01518260200151836040015160405160200161356e9392919060f093841b6001600160f01b031990811682529290931b909116600283015260c01b6001600160c01b0319166004820152600c0190565b5f613a483061354d565b613a536001436158f4565b604080516001600160e01b031990931660208401529040908201526001600160401b03851660608201526080810184905260a0810183905260c0016040516020818303038152906040528051906020012090509392505050565b905290565b6040805160c08101909152805f81526020015f81526020015f81526020015f81526020015f6001600160401b03168152602001613aad604080516101008101909152606060c082019081525f60e0830152819081525f6020820181905260408201819052606082018190526080820181905260a09091015290565b6040805161014081019091525f60c0820181815260e083018290526060610100840152610120830191909152819081526040805160a0810182525f808252602082810182905292820181905260608083015260808201529101908152604080516060810182525f80825260208281018290529282015291019081525f602082018190526040820181905260609091015290565b6040518060400160405280613c0e6040805160c0810182525f80825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b81526040805160a0810182525f80825260208281018290529282018190526060808301919091526080820152910190613aad565b5f81518060208401855e5f93019283525090919050565b7f5769746e657455706772616461626c65426173653a206e6f7420696d706c656d8152680cadce8cac8744060f60bb1b60208201525f6114a5613cb1613cab613ca5602986018a613c42565b88613c42565b86613c42565b84613c42565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61183b6020830184613cb7565b6001600160a01b038116811461234f575f5ffd5b5f60208284031215613d1b575f5ffd5b813561183b81613cf7565b62ffffff8116811461234f575f5ffd5b5f5f60408385031215613d47575f5ffd5b823591506020830135613d5981613d26565b809150509250929050565b5f5f83601f840112613d74575f5ffd5b5081356001600160401b03811115613d8a575f5ffd5b6020830191508360208260051b8501011115613da4575f5ffd5b9250929050565b5f5f60208385031215613dbc575f5ffd5b82356001600160401b03811115613dd1575f5ffd5b613ddd85828601613d64565b90969095509350505050565b5f60208284031215613df9575f5ffd5b5035919050565b60018060a01b03815116825262ffffff60208201511660208301526001600160481b0360408201511660408301525f606082015160e06060850152613e4860e0850182613cb7565b90506080830151608085015260a0830151613e7c60a0860182805160ff1682526020908101516001600160401b0316910152565b509392505050565b602081525f61183b6020830184613e00565b6001600160401b038116811461234f575f5ffd5b5f5f83601f840112613eba575f5ffd5b5081356001600160401b03811115613ed0575f5ffd5b602083019150836020828501011115613da4575f5ffd5b5f5f5f5f5f60808688031215613efb575f5ffd5b8535613f0681613e96565b94506020860135613f1681613e96565b93506040860135925060608601356001600160401b03811115613f37575f5ffd5b613f4388828901613eaa565b969995985093965092949392505050565b634e487b7160e01b5f52602160045260245ffd5b6007811061234f5761234f613f54565b60208101613f8583613f68565b91905290565b634e487b7160e01b5f52604160045260245ffd5b606081018181106001600160401b0382111715613fbe57613fbe613f8b565b60405250565b604081018181106001600160401b0382111715613fbe57613fbe613f8b565b608081018181106001600160401b0382111715613fbe57613fbe613f8b565b60c081018181106001600160401b0382111715613fbe57613fbe613f8b565b601f8201601f191681016001600160401b038111828210171561404657614046613f8b565b6040525050565b60405161405b60c082614021565b90565b61ffff8116811461234f575f5ffd5b5f6060828403121561407d575f5ffd5b60405161408981613f9f565b80915082356140978161405e565b815260208301356140a78161405e565b602082015260408301356140ba81613e96565b6040919091015292915050565b5f5f5f83850360c08112156140da575f5ffd5b843593506140eb866020870161406d565b92506040607f19820112156140fe575f5ffd5b5060405161410b81613fc4565b608085013561411981613cf7565b815260a085013561412981613d26565b602082015292959194509192509050565b5f604082840312156113fe575f5ffd5b5f5f6060838503121561415b575f5ffd5b8235915061416c846020850161413a565b90509250929050565b5f6001600160401b0382111561418d5761418d613f8b565b50601f01601f191660200190565b5f82601f8301126141aa575f5ffd5b81356141b581614175565b6040516141c28282614021565b8281528560208487010111156141d6575f5ffd5b826020860160208301375f92810160200192909252509392505050565b5f60208284031215614203575f5ffd5b81356001600160401b03811115614218575f5ffd5b6111888482850161419b565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561427b57603f19878603018452614266858351613cb7565b9450602093840193919091019060010161424a565b50929695505050505050565b610100811061429857614298613f54565b9052565b60208101610e7b8284614287565b5f6001600160401b038211156142c2576142c2613f8b565b5060051b60200190565b5f602082840312156142dc575f5ffd5b81356001600160401b038111156142f1575f5ffd5b8201601f81018413614301575f5ffd5b803561430c816142aa565b6040516143198282614021565b80915082815260208101915060208360051b85010192508683111561433c575f5ffd5b602084015b838110156143e85780356001600160401b0381111561435e575f5ffd5b85016080818a03601f19011215614373575f5ffd5b60405161437f81613fe3565b602082013561438d81613e96565b8152604082013561439d81613e96565b60208201526060820135604082015260808201356001600160401b038111156143c4575f5ffd5b6143d38b60208386010161419b565b60608301525084525060209283019201614341565b509695505050505050565b5f60208284031215614403575f5ffd5b81356001600160401b03811115614418575f5ffd5b8201601f81018413614428575f5ffd5b8035614433816142aa565b6040516144408282614021565b80915082815260208101915060208360051b850101925086831115614463575f5ffd5b6020840193505b8284101561448e57833561447d81613e96565b82526020938401939091019061446a565b9695505050505050565b602080825282518282018190525f918401906040840190835b818110156144d85783516144c481613f68565b8352602093840193909201916001016144b1565b509095945050505050565b602081526144f5602082018351614287565b5f60208301516014811061450b5761450b613f54565b8060408401525060408301516060830152606083015160808301526001600160401b0360808401511660a083015260a083015160c080840152805160c060e0850152805160406101a08601526145656101e0860182613cb7565b6020928301516101c08701529183015160ff166101008601525060408201519061459561012086018360ff169052565b606083015160ff1661014086015260808301516001600160401b0380821661016088015260a09094015193841661018087015291506114a8565b5f5f5f5f606085870312156145e2575f5ffd5b843593506020850135925060408501356001600160401b03811115614605575f5ffd5b61461187828801613eaa565b95989497509550505050565b5f5f5f6040848603121561462f575f5ffd5b83356001600160401b03811115614644575f5ffd5b840160e08187031215614655575f5ffd5b925060208401356001600160401b0381111561466f575f5ffd5b61467b86828701613eaa565b9497909650939450505050565b5f5f5f5f6060858703121561469b575f5ffd5b84356146a681613e96565b93506020850135925060408501356001600160401b03811115614605575f5ffd5b5f5f604083850312156146d8575f5ffd5b823591506020830135613d598161405e565b5f602082840312156146fa575f5ffd5b813561183b81613e96565b60018060a01b03815116825262ffffff60208201511660208301525f60408201516080604085015261473a6080850182613cb7565b606093840151949093019390935250919050565b60018060a01b0381511682526001600160401b036020820151166020830152604081015160408301525f606082015160a0606085015261479160a0850182613cb7565b6080938401516001600160a01b0316949093019390935250919050565b602081525f825161010060208401526147cb610120840182614705565b90506020840151601f198483030160408501526147e8828261474e565b9150506040840151614825606085018261ffff815116825261ffff60208201511660208301526001600160401b0360408201511660408301525050565b5060608401516001600160881b03191660c084015260808401516001600160481b031660e084015260a0909301516001600160401b0316610100909201919091525090565b5f5f5f5f5f5f6080878903121561487f575f5ffd5b86356001600160401b03811115614894575f5ffd5b6148a089828a01613d64565b90975095505060208701356001600160401b038111156148be575f5ffd5b6148ca89828a01613eaa565b979a9699509760408101359660609091013595509350505050565b5f5f604083850312156148f6575f5ffd5b50508035926020909101359150565b5f5f60808385031215614916575f5ffd5b8235915061416c846020850161406d565b602081525f61183b6020830184614705565b6020815260ff82511660208201525f60208301516040808401526111886060840182613cb7565b60018060a01b0381511682526001600160401b03602082015116602083015263ffffffff6040820151166040830152606081015160608301525f608082015160a0608085015261118860a0850182613cb7565b602081525f8251604060208401526149ce6060840182613e00565b90506020840151601f198483030160408501526114a88282614960565b803563ffffffff81168114611f08575f5ffd5b5f5f5f5f5f60808688031215614a12575f5ffd5b85359450613f16602087016149eb565b602081525f61183b602083018461474e565b5f5f5f60a08486031215614a46575f5ffd5b8335925060208401359150614a5e856040860161406d565b90509250925092565b5f5f5f60808486031215614a79575f5ffd5b83359250614a8a856020860161413a565b91506060840135614a9a81613d26565b809150509250925092565b602081525f61183b6020830184614960565b634e487b7160e01b5f52601260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60ff831680614af157614af1614ab7565b8060ff84160491505092915050565b60ff8181168382160190811115610e7b57610e7b614acb565b5f60ff831680614b2b57614b2b614ab7565b8060ff84160691505092915050565b634e487b7160e01b5f52603260045260245ffd5b8082028115828204841417610e7b57610e7b614acb565b80820180821115610e7b57610e7b614acb565b5f8235607e19833603018112614b8c575f5ffd5b9190910192915050565b5f60208284031215614ba6575f5ffd5b61183b826149eb565b5f5f8335601e19843603018112614bc4575f5ffd5b8301803591506001600160401b03821115614bdd575f5ffd5b602001915036819003821315613da4575f5ffd5b600181811c90821680614c0557607f821691505b6020821081036113fe57634e487b7160e01b5f52602260045260245ffd5b6007811061234f575f5ffd5b5f60208284031215614c3f575f5ffd5b815161183b81614c23565b602080825281018290525f8360408301825b85811015614c8c578235614c6f81613cf7565b6001600160a01b0316825260209283019290910190600101614c5c565b5095945050505050565b5f60208284031215614ca6575f5ffd5b8151801515811461183b575f5ffd5b858152602081018590526001600160401b03841660408201526060810183905260e0810161448e608083018461ffff815116825261ffff60208201511660208301526001600160401b0360408201511660408301525050565b60ff8116811461234f575f5ffd5b5f60208284031215614d2c575f5ffd5b813561183b81614d0e565b5f614d4183614175565b604051614d4e8282614021565b809250848152858585011115614d62575f5ffd5b8484602083015e5f6020868301015250509392505050565b5f82601f830112614d89575f5ffd5b61183b83835160208501614d37565b5f5f60408385031215614da9575f5ffd5b8251614db481613cf7565b60208401519092506001600160401b03811115614dcf575f5ffd5b614ddb85828601614d7a565b9150509250929050565b5f60208284031215614df5575f5ffd5b81516001600160401b03811115614e0a575f5ffd5b8201601f81018413614e1a575f5ffd5b61118884825160208401614d37565b5f614e348285613c42565b6101d160f51b81526114a86002820185613c42565b6001600160401b0383168152604060208201525f6111886040830184613cb7565b5f614e758284613c42565b743a20696e76616c6964207265706f7274206461746160581b81526015019392505050565b6001600160a01b03831681526040602080830182905283519183018290525f91908401906060840190835b81811015614eec5783516001600160401b0316835260209384019390920191600101614ec5565b50909695505050505050565b5f60208284031215614f08575f5ffd5b81516001600160401b03811115614f1d575f5ffd5b8201601f81018413614f2d575f5ffd5b8051614f38816142aa565b604051614f458282614021565b80915082815260208101915060208360051b850101925086831115614f68575f5ffd5b602084015b838110156143e85780516001600160401b03811115614f8a575f5ffd5b614f9989602083890101614d7a565b84525060209283019201614f6d565b8035614fb38161405e565b61ffff1682526020810135614fc78161405e565b61ffff1660208301526040810135614fde81613e96565b6001600160401b0381166040840152505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6040808252843582820152602085013560608301525f906150419060808401908701614fa8565b60a085013561504f81613e96565b6001600160401b031660e083015260c085013536869003601e19018112615074575f5ffd5b85016020810190356001600160401b0381111561508f575f5ffd5b80360382131561509d575f5ffd5b60e06101008501526150b461012085018284614ff2565b915050828103602084015261448e818587614ff2565b80516101008110611f08575f5ffd5b8051611f0881613e96565b8051611f0881614d0e565b5f60c082840312156150ff575f5ffd5b60405161510b81614002565b80915082516001600160401b03811115615123575f5ffd5b830160408186031215615134575f5ffd5b60405161514081613fc4565b81516001600160401b03811115615155575f5ffd5b61516187828501614d7a565b82525060209182015182820152825261517b9084016150e4565b602082015261518c604084016150e4565b604082015261519d606084016150e4565b60608201526151ae608084016150d9565b60808201526151bf60a084016150d9565b60a08201525092915050565b5f60c082840312156151db575f5ffd5b6040516151e781614002565b8091506151f3836150ca565b8152602083015160148110615206575f5ffd5b6020820152604083810151908201526060808401519082015261522b608084016150d9565b608082015260a08301516001600160401b03811115615248575f5ffd5b615254858286016150ef565b60a0830152505092915050565b5f5f60408385031215615272575f5ffd5b825161527d81613cf7565b60208401519092506001600160401b03811115615298575f5ffd5b614ddb858286016151cb565b6001600160a01b038816815260208101879052604081018690526152cb6060820186614fa8565b6001600160401b03841660c082015261010060e08201525f6152f261010083018486614ff2565b9998505050505050505050565b80516001600160481b0381168114611f08575f5ffd5b5f60208284031215615325575f5ffd5b61183b826152ff565b5f60033d111561405b5760045f5f3e505f5160e01c90565b5f60443d10156153535790565b6040513d600319016004823e80513d60248201116001600160401b038211171561537c57505090565b80820180516001600160401b03811115615397575050505090565b3d84016003190182820160200111156153b1575050505090565b613e7c60208285010185614021565b5f608082840312156153d0575f5ffd5b6040516153dc81613fe3565b80915082516153ea81613cf7565b815260208301516153fa81613d26565b602082015260408301516001600160401b03811115615417575f5ffd5b61542385828601614d7a565b604083015250606092830151920191909152919050565b5f6020828403121561544a575f5ffd5b81516001600160401b0381111561545f575f5ffd5b611188848285016153c0565b6001600160401b038181168382160190811115610e7b57610e7b614acb565b61ffff8281168282160390811115610e7b57610e7b614acb565b5f61ffff8316806154b7576154b7614ab7565b8061ffff84160491505092915050565b8381526020808201849052825160ff1660408301528201516001600160401b0316606082015260808101611188565b5f60208284031215615506575f5ffd5b81516001600160401b0381111561551b575f5ffd5b8201601f8101841361552b575f5ffd5b8051615536816142aa565b6040516155438282614021565b80915082815260208101915060208360051b850101925086831115615566575f5ffd5b6020840193505b8284101561448e57835161558081613cf7565b82526020938401939091019061556d565b602080825282518282018190525f918401906040840190835b818110156144d85783516001600160a01b03168352602093840193909201916001016155aa565b5f602082840312156155e1575f5ffd5b61183b826150ca565b60018060a01b03881681528660208201526001600160401b03861660408201528460608201526001600160401b03841660808201528260a082015260e060c08201525f6152f260e0830184613cb7565b5f6020828403121561564a575f5ffd5b5051919050565b5f60208284031215615661575f5ffd5b81516001600160401b03811115615676575f5ffd5b611188848285016151cb565b5f60a08284031215615692575f5ffd5b60405160a081018181106001600160401b03821117156156b4576156b4613f8b565b806040525080915082516156c781613cf7565b815260208301516156d781613e96565b60208201526040838101519082015260608301516001600160401b038111156156fe575f5ffd5b61570a85828601614d7a565b606083015250608083015161571e81613cf7565b6080919091015292915050565b5f6060828403121561573b575f5ffd5b60405161574781613f9f565b80915082516157558161405e565b815260208301516157658161405e565b602082015260408301516140ba81613e96565b80516001600160881b031981168114611f08575f5ffd5b5f6020828403121561579f575f5ffd5b81516001600160401b038111156157b4575f5ffd5b820161010081850312156157c6575f5ffd5b6157ce61404d565b81516001600160401b038111156157e3575f5ffd5b6157ef868285016153c0565b82525060208201516001600160401b0381111561580a575f5ffd5b61581686828501615682565b602083015250615829856040840161572b565b604082015261583a60a08301615778565b606082015261584b60c083016152ff565b608082015261585c60e083016150d9565b60a0820152949350505050565b5f60208284031215615879575f5ffd5b81516001600160401b0381111561588e575f5ffd5b61118884828501615682565b5f6001600160401b0382166001600160401b0381036158bb576158bb614acb565b60010192915050565b5f6158cf8284613c42565b741d103ab73430b7323632b21030b9b9b2b93a34b7b760591b81526015019392505050565b81810381811115610e7b57610e7b614acb56fef595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183f595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e184a26469706673582212203212373c44b0fdaa8241cfed0e75960f351f61264b9a495db8f879e211d50b4f64736f6c634300081e0033";
  readonly deployedBytecode: "0x6080604052600436106103ac575f3560e01c806379ba5097116101e6578063adb7c3f71161010c578063d0a92a081161009f578063e900aa331161006e578063e900aa3314610ce3578063ec5946db14610cf6578063f2fde38b14610d09578063f61921b214610d28576103ac565b8063d0a92a0814610c41578063d5f3948814610c60578063e30c397814610c93578063e5a6b10f14610cb0576103ac565b8063bff852fa116100db578063bff852fa14610bb6578063c258134814610bca578063c805dd0f14610be9578063ca7da98b14610c15576103ac565b8063adb7c3f714610b33578063aeb2ffc114610b4c578063b207e73014610b78578063b783922b14610b97576103ac565b80638d3d8b3811610184578063a58f680311610153578063a58f680314610a95578063a667533f14610aa8578063a77fc1a414610ad4578063a9e954b914610b00576103ac565b80638d3d8b3814610a075780638da5cb5b14610a2657806393d5185c14610a425780639cc56e6714610a76576103ac565b80637bd88218116101c05780637bd882181461097e5780637c1fbda31461099d578063838d44e2146109bc5780638cfcdea2146109db576103ac565b806379ba50971461090a5780637b1039991461091e5780637bbdb96e14610951576103ac565b80634cddf615116102d657806359209b39116102695780636f07abcc116102385780636f07abcc146108565780636fdaab7e14610875578063715018a6146108d757806376d0e357146108eb576103ac565b806359209b39146107cd5780636280bce8146107f95780636b58960a146108185780636d0d6a7e14610837576103ac565b80635304bba2116102a55780635304bba21461073c5780635479d9401461075b57806354fd4d501461078d578063581f5094146107a1576103ac565b80634cddf615146106785780634e6c13a1146106a45780635001f3b5146106c357806352d1902d14610709576103ac565b806328a78d9b1161034e5780633fa595761161031d5780633fa59576146105c0578063439fab911461060e57806345ea6c171461062d5780634c9f72e314610659576103ac565b806328a78d9b1461055a57806339a8653e1461057b5780633b3195b71461059a5780633dc2b7a2146105ad576103ac565b806308b7e85e1161038a57806308b7e85e146104b75780630aa4112a146104e35780631aea970b1461050f578063234fe6e31461052e576103ac565b8063044ad7be1461043757806305e742ef1461046b57806306eb2c4214610498575b3480156103b7575f5ffd5b506103c55f3560f81c610d54565b6103d560ff5f3560f01c16610d54565b6103e560ff5f3560e81c16610d54565b6103f560ff5f3560e01c16610d54565b6040516020016104089493929190613c59565b60408051601f198184030181529082905262461bcd60e51b825261042e91600401613ce5565b60405180910390fd5b348015610442575f5ffd5b50610456610451366004613d0b565b610e40565b60405190151581526020015b60405180910390f35b348015610476575f5ffd5b5061048a610485366004613d36565b610e81565b604051908152602001610462565b3480156104a3575f5ffd5b5061048a6104b2366004613dab565b610f71565b3480156104c2575f5ffd5b506104d66104d1366004613de9565b611190565b6040516104629190613ce5565b3480156104ee575f5ffd5b506105026104fd366004613de9565b6111b0565b6040516104629190613e84565b34801561051a575f5ffd5b5061048a610529366004613ee7565b611404565b348015610539575f5ffd5b5061054d610548366004613de9565b6114b1565b6040516104629190613f78565b348015610565575f5ffd5b50610579610574366004613dab565b611526565b005b348015610586575f5ffd5b5061048a610595366004613de9565b611597565b61048a6105a83660046140c7565b6115f7565b61048a6105bb36600461414a565b6117e3565b3480156105cb575f5ffd5b506105df6105da366004613de9565b611842565b604051610462949392919093845260208401929092526001600160401b03166040830152606082015260800190565b348015610619575f5ffd5b506105796106283660046141f3565b611893565b348015610638575f5ffd5b5061064c610647366004613dab565b611ac7565b6040516104629190614224565b348015610664575f5ffd5b50610579610673366004613dab565b611b6e565b348015610683575f5ffd5b50610697610692366004613de9565b611baf565b604051610462919061429c565b3480156106af575f5ffd5b5061048a6106be3660046142cc565b611c02565b3480156106ce575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610462565b348015610714575f5ffd5b5061048a7f000000000000000000000000000000000000000000000000000000000000000081565b348015610747575f5ffd5b5061064c6107563660046143f3565b611f0d565b348015610766575f5ffd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b348015610798575f5ffd5b506104d6611faa565b3480156107ac575f5ffd5b506107c06107bb366004613dab565b611fda565b6040516104629190614498565b3480156107d8575f5ffd5b506107ec6107e7366004613de9565b612094565b60405161046291906144e3565b348015610804575f5ffd5b5061048a6108133660046145cf565b6120b2565b348015610823575f5ffd5b50610456610832366004613d0b565b6120d5565b348015610842575f5ffd5b506107ec61085136600461461d565b612129565b348015610861575f5ffd5b5061054d610870366004613de9565b612224565b348015610880575f5ffd5b506108bf61088f366004613de9565b5f9081525f5160206159285f395f51905f526020526040902060090154600160781b90046001600160481b031690565b6040516001600160481b039091168152602001610462565b3480156108e2575f5ffd5b5061057961225e565b3480156108f6575f5ffd5b5061048a610905366004614688565b612271565b348015610915575f5ffd5b506105796122d8565b348015610929575f5ffd5b506106f17f000000000000000000000000000000000000000000000000000000000000000081565b34801561095c575f5ffd5b50610965612352565b6040516001600160e01b03199091168152602001610462565b348015610989575f5ffd5b5061048a6109983660046146c7565b61235c565b3480156109a8575f5ffd5b506108bf6109b7366004613de9565b612366565b3480156109c7575f5ffd5b506104d66109d6366004613de9565b61245b565b3480156109e6575f5ffd5b506109fa6109f53660046146ea565b6124dd565b60405161046291906147ae565b348015610a12575f5ffd5b506104d6610a21366004613de9565b612504565b348015610a31575f5ffd5b505f546001600160a01b03166106f1565b348015610a4d575f5ffd5b50610a61610a5c36600461486a565b612519565b60408051928352602083019190915201610462565b348015610a81575f5ffd5b5061048a610a903660046148e5565b6126cc565b61048a610aa3366004614905565b612792565b348015610ab3575f5ffd5b50610ac7610ac23660046146ea565b612851565b6040516104629190614927565b348015610adf575f5ffd5b50610af3610aee366004613de9565b612903565b6040516104629190614939565b348015610b0b575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000003f61048a565b348015610b3e575f5ffd5b506304722eaf60e31b610965565b348015610b57575f5ffd5b50610b6b610b66366004613de9565b6129eb565b60405161046291906149b3565b348015610b83575f5ffd5b5061048a610b923660046149fe565b612a1d565b348015610ba2575f5ffd5b506107ec610bb136600461461d565b612a47565b348015610bc1575f5ffd5b506104d6612acb565b348015610bd5575f5ffd5b506104d6610be4366004613de9565b612b02565b348015610bf4575f5ffd5b50610bfd612b1a565b6040516001600160401b039091168152602001610462565b348015610c20575f5ffd5b50610c34610c2f3660046146ea565b612b3e565b6040516104629190614a22565b348015610c4c575f5ffd5b5061048a610c5b366004614a34565b612b86565b348015610c6b575f5ffd5b506106f17f000000000000000000000000000000000000000000000000000000000000000081565b348015610c9e575f5ffd5b506001546001600160a01b03166106f1565b348015610cbb575f5ffd5b506106f17f000000000000000000000000000000000000000000000000000000000000000081565b61048a610cf1366004614a67565b612c10565b610579610d04366004613de9565b612c80565b348015610d14575f5ffd5b50610579610d23366004613d0b565b612dd9565b348015610d33575f5ffd5b50610d47610d42366004613de9565b612e49565b6040516104629190614aa5565b6040805160028082528183019092526060915f91906020820181803683370190505090505f610d84601085614adf565b610d8f906030614b00565b90505f610d9d601086614b19565b610da8906030614b00565b905060398260ff161115610dc457610dc1600783614b00565b91505b60398160ff161115610dde57610ddb600782614b00565b90505b8160f81b835f81518110610df457610df4614b3a565b60200101906001600160f81b03191690815f1a9053508060f81b83600181518110610e2157610e21614b3a565b60200101906001600160f81b03191690815f1a90535091949350505050565b6001600160a01b0381165f9081527ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e185602052604081205460ff165b92915050565b5f80610eae7f00000000000000000000000000000000000000000000000000000000000000006003614b4e565b610ed8907f0000000000000000000000000000000000000000000000000000000000000000614b65565b9050808362ffffff161080610f1a575080610f1862ffffff85167f0000000000000000000000000000000000000000000000000000000000000000614b65565b105b15610f3157610f298185614b4e565b915050610e7b565b610f6062ffffff84167f0000000000000000000000000000000000000000000000000000000000000000614b65565b610f299085614b4e565b5092915050565b5f610fd05f5160206159085f395f51905f525b335f908152600291909101602090815260409182902054825180840190935260158352743ab730baba3437b934bd32b2103932b837b93a32b960591b9183019190915260ff169061305a565b5f826001600160401b03811115610fe957610fe9613f8b565b60405190808252806020026020018201604052801561103857816020015b604080516080810182525f80825260208083018290529282015260608082015282525f199092019101816110075790505b5090505f5b8381101561117e57604051806080016040528086868481811061106257611062614b3a565b90506020028101906110749190614b78565b356001600160401b0316815260200186868481811061109557611095614b3a565b90506020028101906110a79190614b78565b6110b8906040810190602001614b96565b63ffffffff1681526020018686848181106110d5576110d5614b3a565b90506020028101906110e79190614b78565b60400135815260200186868481811061110257611102614b3a565b90506020028101906111149190614b78565b611122906060810190614baf565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152505050915250825183908390811061116b5761116b614b3a565b602090810291909101015260010161103d565b5061118881611c02565b949350505050565b606061119b82612366565b505060408051602081019091525f8152919050565b6111f36040805160c0810182525f80825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b5f8281525f5160206159285f395f51905f526020526040902060018101805461ffff919061122090614bf1565b9050111561127b576040805160c0810182525f8082526020808301829052828401829052835180820185528281526060840152600290940154608083015282518084019093528083529282019290925260a082015292915050565b6003810154156113a4576040805160c08101825282546001600160a01b0381168252600160a01b810462ffffff166020830152600160b81b90046001600160481b0316918101919091526001820180546060830191906112da90614bf1565b80601f016020809104026020016040519081016040528092919081815260200182805461130690614bf1565b80156113515780601f1061132857610100808354040283529160200191611351565b820191905f5260205f20905b81548152906001019060200180831161133457829003601f168201915b5050509183525050600283015460208083019190915260408051808201825260089095015462010000810460ff16865264010000000090046001600160401b031691850191909152019190915292915050565b6040805160c08101825282546001600160a01b0381168252600160a01b900462ffffff1660208201526009830154600160781b90046001600160481b0316918101919091526001820180546060830191906112da90614bf1565b50919050565b5f61141b5f5160206159085f395f51905f52610f84565b6114556001600160401b03861615156040518060400160405280600d81526020016c06261642074696d657374616d7609c1b81525061305a565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b602082015261148f908315159061305a565b6114a5866001600160401b03168686868661306c565b90505b95945050505050565b60405163234fe6e360e01b8152600481018290525f9073__$713c4f4487e8756194dbc5b3b091cd4345$__9063234fe6e3906024015b602060405180830381865af4158015611502573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7b9190614c2f565b61152e6130ba565b6040516328a78d9b60e01b815273__$713c4f4487e8756194dbc5b3b091cd4345$__906328a78d9b906115679085908590600401614c4a565b5f6040518083038186803b15801561157d575f5ffd5b505af415801561158f573d5f5f3e3d5ffd5b505050505050565b5f6115c37f00000000000000000000000000000000000000000000000000000000000000006004614b4e565b6115ed907f0000000000000000000000000000000000000000000000000000000000000000614b65565b610e7b9083614b4e565b5f346116073a8460200151610e81565b61163f81831015604051806040016040528060138152602001721a5b9cdd59999a58da595b9d081c995dd85c99606a1b81525061305a565b61167d61164d82600a614b4e565b8311156040518060400160405280600f81526020016e1d1bdbc81b5d58da081c995dd85c99608a1b81525061305a565b846116b361168a826130e6565b6040518060400160405280600b81526020016a696e76616c696420534c4160a81b81525061305a565b846117795f825f01516001600160a01b03163b118015611737575081516040516323d0872b60e11b81523060048201526001600160a01b03909116906347a10e5690602401602060405180830381865afa158015611713573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117379190614c96565b801561174b57505f826020015162ffffff16115b6040518060400160405280601081526020016f696e76616c69642063616c6c6261636b60801b81525061305a565b8551602087015161178d9190348b8b613121565b9450336001600160a01b03167ffbe74eb38ea9de3d74d481a4f701ae121d794895c5797db8260d06d317901d263a34888c8c6040516117d0959493929190614cb5565b60405180910390a2505050509392505050565b5f61183b836040518060600160405280602061ffff168152602001855f0160208101906118109190614d1c565b60ff16815260209081019061182b90604088019088016146ea565b6001600160401b03169052612792565b9392505050565b5f5f5f5f5f6118508661319d565b600981015460058201546004909201546001600160881b0319608883901b16999298506001600160401b03600160c01b9182900481169850910416945092505050565b5f546001600160a01b0316806118c957818060200190518101906118b79190614d98565b925090506118c4816131b9565b611911565b336001600160a01b038216146119115760405162461bcd60e51b815260206004820152600d60248201526c3737ba103a34329037bbb732b960991b604482015260640161042e565b61191a826131d2565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe541580159061198b57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe547f00000000000000000000000000000000000000000000000000000000000000003f145b156119d85760405162461bcd60e51b815260206004820152601c60248201527f616c726561647920696e697469616c697a656420636f64656861736800000000604482015260640161042e565b7f00000000000000000000000000000000000000000000000000000000000000003f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600201557f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611a7c5f546001600160a01b031690565b6001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f6611aae611faa565b604051611abb9190613ce5565b60405180910390a45050565b60605f826001600160401b03811115611ae257611ae2613f8b565b604051908082528060200260200182016040528015611b0b578160200160208202803683370190505b5090505f5b8151811015611b6457848482818110611b2b57611b2b614b3a565b90506020020135828281518110611b4457611b44614b3a565b6001600160401b0390921660209283029190910190910152600101611b10565b5061118881611f0d565b611b766130ba565b604051634c9f72e360e01b815273__$713c4f4487e8756194dbc5b3b091cd4345$__90634c9f72e3906115679085908590600401614c4a565b5f81611bf9611bbd8261319d565b546040805180820190915260118152703737ba103a3432903932b8bab2b9ba32b960791b60208201526001600160a01b0390911633149061305a565b61183b8361324b565b5f611c195f5160206159085f395f51905f52610f84565b5f5b8251811015611ef7575f838281518110611c3757611c37614b3a565b6020908102919091010151516001600160401b031690506001611c5982612224565b6006811115611c6a57611c6a613f54565b14611d67577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848381518110611ca257611ca2614b3a565b60200260200101515f0151611cb5612acb565b604051638f191e5f60e01b815273__$713c4f4487e8756194dbc5b3b091cd4345$__90638f191e5f90611ced90600190600401613f78565b5f60405180830381865af4158015611d07573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611d2e9190810190614de5565b604051602001611d3f929190614e29565b60408051601f1981840301815290829052611d5a9291614e49565b60405180910390a1611eee565b426001600160401b0316848381518110611d8357611d83614b3a565b6020026020010151602001516001600160401b03161180611dd65750611dd6848381518110611db457611db4614b3a565b6020026020010151602001516001600160401b03166001600160401b03161590565b80611dfe5750838281518110611dee57611dee614b3a565b602002602001015160600151515f145b15611e59577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848381518110611e3657611e36614b3a565b60200260200101515f0151611e49612acb565b604051602001611d3f9190614e6a565b611ee1848381518110611e6e57611e6e614b3a565b60200260200101515f01516001600160401b0316858481518110611e9457611e94614b3a565b602002602001015160200151868581518110611eb257611eb2614b3a565b602002602001015160400151878681518110611ed057611ed0614b3a565b6020026020010151606001516132bf565b611eeb9084614b65565b92505b50600101611c1b565b508015611f0857611f0833826133fd565b919050565b604051633ab5a66d60e11b815260609073__$713c4f4487e8756194dbc5b3b091cd4345$__9063756b4cda90611f69907f0000000000000000000000000000000000000000000000000000000000000000908690600401614e9a565b5f60405180830381865af4158015611f83573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e7b9190810190614ef8565b6060611fd57f0000000000000000000000000000000000000000000000000000000000000000613430565b905090565b6060816001600160401b03811115611ff457611ff4613f8b565b60405190808252806020026020018201604052801561201d578160200160208202803683370190505b5090505f5b82811015610f6a5761204b84848381811061203f5761203f614b3a565b90506020020135612224565b82828151811061205d5761205d614b3a565b6020026020010190600681111561207657612076613f54565b9081600681111561208957612089613f54565b905250600101612022565b61209c613ab2565b816120a9611bbd8261319d565b61183b836134d1565b5f6120c95f5160206159085f395f51905f52610f84565b6114a885858585612271565b5f7f00000000000000000000000000000000000000000000000000000000000000008015610e7b5750816001600160a01b03166121195f546001600160a01b031690565b6001600160a01b03161492915050565b612131613ab2565b5f5f73__$713c4f4487e8756194dbc5b3b091cd4345$__631600b78b8787876040518463ffffffff1660e01b815260040161216e9392919061501a565b5f60405180830381865af4158015612188573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121af9190810190615261565b909250905033327f7a9001dc4425127400f09e4c0b02908ad0e1f642ee9c92932a222c686674648284893560208b013560408c016121f360c08e0160a08f016146ea565b61220060c08f018f614baf565b60405161221397969594939291906152a4565b60405180910390a395945050505050565b604051631bc1eaf360e21b8152600481018290525f9073__$713c4f4487e8756194dbc5b3b091cd4345$__90636f07abcc906024016114e7565b6122666130ba565b61226f5f6131b9565b565b5f6122885f5160206159085f395f51905f52610f84565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b60208201526122c2908315159061305a565b6114a8856001600160401b03164286868661306c565b60015433906001600160a01b031681146123465760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840161042e565b61234f816131b9565b50565b5f611fd53061354d565b5f61183b83611597565b604051637c1fbda360e01b8152600481018290525f9073__$713c4f4487e8756194dbc5b3b091cd4345$__90637c1fbda390602401602060405180830381865af49250505080156123d4575060408051601f3d908101601f191682019092526123d191810190615315565b60015b612441576123e061532e565b806308c379a00361240857506123f4615346565b806123ff575061240a565b6113fe8161358b565b505b3d808015612433576040519150601f19603f3d011682016040523d82523d5f602084013e612438565b606091505b506113fe6135a5565b6001600160481b0381168015610f6a57610f6a33826133fd565b606073__$713c4f4487e8756194dbc5b3b091cd4345$__634cbc7ff861248084612224565b6040518263ffffffff1660e01b815260040161249c9190613f78565b5f60405180830381865af41580156124b6573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e7b9190810190614de5565b6124e5613b2d565b816001600160401b03166124fb611bbd8261319d565b61183b836135b0565b606061250f82612b3e565b6060015192915050565b5f80805b878110156126c0575f89898381811061253857612538614b3a565b602002919091013591506001905061254f82612224565b600681111561256057612560613f54565b036126b7575f61256f8261319d565b8054909150600160a01b900462ffffff16156125ff57604080516060810182525f8152600883015461ffff62010000820416602083015264010000000090046001600160401b0316918101919091526125cb9088908890612b86565b81546125e4908990600160a01b900462ffffff16610e81565b6125ee9190614b65565b6125f89085614b65565b9350612667565b60408051606081018252600883015461ffff808216835262010000820416602083015264010000000090046001600160401b0316918101919091526126479088908890612b86565b61265088611597565b61265a9190614b65565b6126649085614b65565b93505b60088101546126879064010000000090046001600160401b031687614b4e565b6126919085614b65565b60098201549094506126b390600160781b90046001600160481b031686614b65565b9450505b5060010161251d565b50965096945050505050565b604051631a3b01e960e21b8152600481018290525f90612789906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906368ec07a490602401602060405180830381865afa158015612735573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127599190614c96565b604051806040016040528060128152602001710eadcd6dcdeeedc40e4c2c8dedc40d0c2e6d60731b81525061305a565b61183b83611597565b5f3461279d3a611597565b6127d581831015604051806040016040528060138152602001721a5b9cdd59999a58da595b9d081c995dd85c99606a1b81525061305a565b6127e361164d82600a614b4e565b836127f061168a826130e6565b6127fd335f348989613121565b9350336001600160a01b03167ffbe74eb38ea9de3d74d481a4f701ae121d794895c5797db8260d06d317901d263a34878a8a604051612840959493929190614cb5565b60405180910390a250505092915050565b61288760405180608001604052805f6001600160a01b031681526020015f62ffffff168152602001606081526020015f81525090565b60405163a667533f60e01b81526001600160401b038316600482015273__$713c4f4487e8756194dbc5b3b091cd4345$__9063a667533f906024015f60405180830381865af41580156128dc573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e7b919081019061543a565b604080518082019091525f8152606060208201525f61292183612094565b90506040518060400160405280825f015160ff81111561294357612943613f54565b60ff16815260200173__$39c1c75f9ff01712a7ae2d1d1d8c462aa1$__6371aad10d8460405160200161297691906144e3565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016129a19190613ce5565b5f60405180830381865af41580156129bb573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526129e29190810190614de5565b90529392505050565b6129f3613bc0565b6040518060400160405280612a07846111b0565b8152602001612a1584612e49565b905292915050565b5f612a345f5160206159085f395f51905f52610f84565b6114a5868663ffffffff16868686611404565b612a4f613ab2565b604051631600b78b60e01b815273__$713c4f4487e8756194dbc5b3b091cd4345$__90631600b78b90612a8a9087908790879060040161501a565b5f60405180830381865af4158015612aa4573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526114a89190810190615261565b60408051808201909152601f81527f5769744f7261636c6542617365517565726961626c65547275737461626c6500602082015290565b606081612b11611bbd8261319d565b61183b83613634565b5f5f5160206159085f395f51905f5254611fd5906001600160401b0316600161546b565b6040805160a0810182525f808252602082018190529181018290526060808201526080810191909152816001600160401b0316612b7d611bbd8261319d565b61183b83613705565b5f6020825f015161ffff1611612b9c575f612bee565b8151602090612bac90829061548a565b612bb691906154a4565b61ffff16612be47f000000000000000000000000000000000000000000000000000000000000000086614b4e565b612bee9190614b4e565b6040830151612c06906001600160401b031685614b4e565b6111889190614b65565b5f611188846040518060600160405280602061ffff168152602001865f016020810190612c3d9190614d1c565b60ff168152602090810190612c5890604089019089016146ea565b6001600160401b031690526040805180820190915233815262ffffff861660208201526115f7565b80600180612c8d83612224565b6006811115612c9e57612c9e613f54565b14612d2957604051638f191e5f60e01b8152612d249073__$713c4f4487e8756194dbc5b3b091cd4345$__90638f191e5f90612cde908590600401613f78565b5f60405180830381865af4158015612cf8573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612d1f9190810190614de5565b61358b565b505050565b5f612d338461319d565b90505f346009830154612d569190600160781b90046001600160481b0316614b65565b6009830180546001600160481b038316600160781b0268ffffffffffffffffff60781b19909116179055604080516001600160401b03881681523360208201523a818301526060810183905290519192507f66f95ec285ca572fa1cac40e7019e14ab45a8fc619c6405222e8af55534c2f67919081900360800190a15050505050565b612de16130ba565b600180546001600160a01b0383166001600160a01b03199091168117909155612e115f546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b612e8f6040518060a001604052805f6001600160a01b031681526020015f6001600160401b031681526020015f63ffffffff1681526020015f8152602001606081525090565b5f8281525f5160206159285f395f51905f526020526040902060018101805461ffff9190612ebc90614bf1565b90501115612f005750506040805160a0810182525f808252602080830182905282840182905260608301829052835191825281019092526080810191909152919050565b600381015415612ff5576040805160a08101825260048301546001600160a01b038116825263ffffffff600160a01b82048116602080850191909152600160c01b90920490911c169181019190915260058201546060820152600682018054608083019190612f6e90614bf1565b80601f0160208091040260200160405190810160405280929190818152602001828054612f9a90614bf1565b8015612fe55780601f10612fbc57610100808354040283529160200191612fe5565b820191905f5260205f20905b815481529060010190602001808311612fc857829003601f168201915b5050505050815250915050919050565b6040805160a08101825260048301546001600160a01b038116825260098401546001600160401b03600160c01b9182900416602084015263ffffffff9104169181019190915260058201546060820152600682018054608083019190612f6e90614bf1565b81613068576130688161358b565b5050565b5f6130ae86868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506132bf92505050565b90506114a833826133fd565b5f546001600160a01b0316331461226f5760405163118cdaa760e01b815233600482015260240161042e565b5f5f826020015161ffff161180156131075750607f826020015161ffff1611155b8015610e7b575050604001516001600160401b0316151590565b5f61312f86868686866137aa565b90507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a61681346040518060400160405280866020015160ff16815260200186604001516001600160401b031681525060405161318c939291906154c7565b60405180910390a195945050505050565b5f9081525f5160206159285f395f51905f526020526040902090565b600180546001600160a01b031916905561234f81613915565b73__$713c4f4487e8756194dbc5b3b091cd4345$__634c9f72e38280602001905181019061320091906154f6565b6040518263ffffffff1660e01b815260040161321c9190615591565b5f6040518083038186803b158015613232575f5ffd5b505af4158015613244573d5f5f3e3d5ffd5b5050505050565b604051634cddf61560e01b8152600481018290525f9073__$713c4f4487e8756194dbc5b3b091cd4345$__90634cddf61590602401602060405180830381865af415801561329b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7b91906155d1565b5f61337b6001604051631bc1eaf360e21b81526004810188905273__$713c4f4487e8756194dbc5b3b091cd4345$__90636f07abcc90602401602060405180830381865af4158015613313573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133379190614c2f565b600681111561334857613348613f54565b14604051806040016040528060148152602001736e6f7420696e20506f737465642073746174757360601b81525061305a565b604051637102a0df60e11b815273__$713c4f4487e8756194dbc5b3b091cd4345$__9063e20541be906133be9033903a9043908b908b908b908b906004016155ea565b602060405180830381865af41580156133d9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114a8919061563a565b6040516001600160a01b0383169082156108fc029083905f818181858888f19350505050158015612d24573d5f5f3e3d5ffd5b60605f61343c83613964565b6001600160401b0381111561345357613453613f8b565b6040519080825280601f01601f19166020018201604052801561347d576020820181803683370190505b5090505f5b8151811015610f6a5783816020811061349d5761349d614b3a565b1a60f81b8282815181106134b3576134b3614b3a565b60200101906001600160f81b03191690815f1a905350600101613482565b6134d9613ab2565b6040516359209b3960e01b81526004810183905273__$713c4f4487e8756194dbc5b3b091cd4345$__906359209b39906024015f60405180830381865af4158015613526573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e7b9190810190615651565b604080516001600160a01b038316602082015246918101919091525f906060015b604051602081830303815290604052805190602001209050919050565b613593612acb565b81604051602001610408929190614e29565b61226f612d1f61399c565b6135b8613b2d565b60405163467e6f5160e11b81526001600160401b038316600482015273__$713c4f4487e8756194dbc5b3b091cd4345$__90638cfcdea2906024015f60405180830381865af415801561360d573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e7b919081019061578f565b606073__$39c1c75f9ff01712a7ae2d1d1d8c462aa1$__6371aad10d73__$713c4f4487e8756194dbc5b3b091cd4345$__6359209b39856040518263ffffffff1660e01b815260040161368991815260200190565b5f60405180830381865af41580156136a3573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526136ca9190810190615651565b6040516020016136da91906144e3565b6040516020818303038152906040526040518263ffffffff1660e01b815260040161249c9190613ce5565b6040805160a0810182525f80825260208201819052918101829052606080820152608081019190915260405163ca7da98b60e01b81526001600160401b038316600482015273__$713c4f4487e8756194dbc5b3b091cd4345$__9063ca7da98b906024015f60405180830381865af4158015613783573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610e7b9190810190615869565b5f5f5160206159085f395f51905f5280545f906137cf906001600160401b031661589a565b91906101000a8154816001600160401b0302191690836001600160401b0316021790556001600160401b031690505f6138078261319d565b6009810180546001600160c01b0316600160c01b436001600160401b031602179055905061383e8285613839866139eb565b613a3e565b60098201805460889290921c6001600160c01b031990921691909117600160781b6001600160481b0388160217905580546001600160a01b0319166001600160a01b0388161781556002810184905562ffffff8616156138b357805462ffffff60a01b1916600160a01b62ffffff8816021781555b82516008909101805460208501516040909501516001600160401b0316640100000000026bffffffffffffffff000000001961ffff968716620100000263ffffffff199093169690941695909517179190911692909217909155949350505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5b6020811015611f085781816020811061398157613981614b3a565b1a60f81b6001600160f81b03191615611f0857600101613966565b60606040518060400160405260108152806020016f2bb4ba27b930b1b632a230ba30a634b160811b8152506040516020016139d791906158c4565b604051602081830303815290604052905090565b5f815f01518260200151836040015160405160200161356e9392919060f093841b6001600160f01b031990811682529290931b909116600283015260c01b6001600160c01b0319166004820152600c0190565b5f613a483061354d565b613a536001436158f4565b604080516001600160e01b031990931660208401529040908201526001600160401b03851660608201526080810184905260a0810183905260c0016040516020818303038152906040528051906020012090509392505050565b905290565b6040805160c08101909152805f81526020015f81526020015f81526020015f81526020015f6001600160401b03168152602001613aad604080516101008101909152606060c082019081525f60e0830152819081525f6020820181905260408201819052606082018190526080820181905260a09091015290565b6040805161014081019091525f60c0820181815260e083018290526060610100840152610120830191909152819081526040805160a0810182525f808252602082810182905292820181905260608083015260808201529101908152604080516060810182525f80825260208281018290529282015291019081525f602082018190526040820181905260609091015290565b6040518060400160405280613c0e6040805160c0810182525f80825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b81526040805160a0810182525f80825260208281018290529282018190526060808301919091526080820152910190613aad565b5f81518060208401855e5f93019283525090919050565b7f5769746e657455706772616461626c65426173653a206e6f7420696d706c656d8152680cadce8cac8744060f60bb1b60208201525f6114a5613cb1613cab613ca5602986018a613c42565b88613c42565b86613c42565b84613c42565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61183b6020830184613cb7565b6001600160a01b038116811461234f575f5ffd5b5f60208284031215613d1b575f5ffd5b813561183b81613cf7565b62ffffff8116811461234f575f5ffd5b5f5f60408385031215613d47575f5ffd5b823591506020830135613d5981613d26565b809150509250929050565b5f5f83601f840112613d74575f5ffd5b5081356001600160401b03811115613d8a575f5ffd5b6020830191508360208260051b8501011115613da4575f5ffd5b9250929050565b5f5f60208385031215613dbc575f5ffd5b82356001600160401b03811115613dd1575f5ffd5b613ddd85828601613d64565b90969095509350505050565b5f60208284031215613df9575f5ffd5b5035919050565b60018060a01b03815116825262ffffff60208201511660208301526001600160481b0360408201511660408301525f606082015160e06060850152613e4860e0850182613cb7565b90506080830151608085015260a0830151613e7c60a0860182805160ff1682526020908101516001600160401b0316910152565b509392505050565b602081525f61183b6020830184613e00565b6001600160401b038116811461234f575f5ffd5b5f5f83601f840112613eba575f5ffd5b5081356001600160401b03811115613ed0575f5ffd5b602083019150836020828501011115613da4575f5ffd5b5f5f5f5f5f60808688031215613efb575f5ffd5b8535613f0681613e96565b94506020860135613f1681613e96565b93506040860135925060608601356001600160401b03811115613f37575f5ffd5b613f4388828901613eaa565b969995985093965092949392505050565b634e487b7160e01b5f52602160045260245ffd5b6007811061234f5761234f613f54565b60208101613f8583613f68565b91905290565b634e487b7160e01b5f52604160045260245ffd5b606081018181106001600160401b0382111715613fbe57613fbe613f8b565b60405250565b604081018181106001600160401b0382111715613fbe57613fbe613f8b565b608081018181106001600160401b0382111715613fbe57613fbe613f8b565b60c081018181106001600160401b0382111715613fbe57613fbe613f8b565b601f8201601f191681016001600160401b038111828210171561404657614046613f8b565b6040525050565b60405161405b60c082614021565b90565b61ffff8116811461234f575f5ffd5b5f6060828403121561407d575f5ffd5b60405161408981613f9f565b80915082356140978161405e565b815260208301356140a78161405e565b602082015260408301356140ba81613e96565b6040919091015292915050565b5f5f5f83850360c08112156140da575f5ffd5b843593506140eb866020870161406d565b92506040607f19820112156140fe575f5ffd5b5060405161410b81613fc4565b608085013561411981613cf7565b815260a085013561412981613d26565b602082015292959194509192509050565b5f604082840312156113fe575f5ffd5b5f5f6060838503121561415b575f5ffd5b8235915061416c846020850161413a565b90509250929050565b5f6001600160401b0382111561418d5761418d613f8b565b50601f01601f191660200190565b5f82601f8301126141aa575f5ffd5b81356141b581614175565b6040516141c28282614021565b8281528560208487010111156141d6575f5ffd5b826020860160208301375f92810160200192909252509392505050565b5f60208284031215614203575f5ffd5b81356001600160401b03811115614218575f5ffd5b6111888482850161419b565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561427b57603f19878603018452614266858351613cb7565b9450602093840193919091019060010161424a565b50929695505050505050565b610100811061429857614298613f54565b9052565b60208101610e7b8284614287565b5f6001600160401b038211156142c2576142c2613f8b565b5060051b60200190565b5f602082840312156142dc575f5ffd5b81356001600160401b038111156142f1575f5ffd5b8201601f81018413614301575f5ffd5b803561430c816142aa565b6040516143198282614021565b80915082815260208101915060208360051b85010192508683111561433c575f5ffd5b602084015b838110156143e85780356001600160401b0381111561435e575f5ffd5b85016080818a03601f19011215614373575f5ffd5b60405161437f81613fe3565b602082013561438d81613e96565b8152604082013561439d81613e96565b60208201526060820135604082015260808201356001600160401b038111156143c4575f5ffd5b6143d38b60208386010161419b565b60608301525084525060209283019201614341565b509695505050505050565b5f60208284031215614403575f5ffd5b81356001600160401b03811115614418575f5ffd5b8201601f81018413614428575f5ffd5b8035614433816142aa565b6040516144408282614021565b80915082815260208101915060208360051b850101925086831115614463575f5ffd5b6020840193505b8284101561448e57833561447d81613e96565b82526020938401939091019061446a565b9695505050505050565b602080825282518282018190525f918401906040840190835b818110156144d85783516144c481613f68565b8352602093840193909201916001016144b1565b509095945050505050565b602081526144f5602082018351614287565b5f60208301516014811061450b5761450b613f54565b8060408401525060408301516060830152606083015160808301526001600160401b0360808401511660a083015260a083015160c080840152805160c060e0850152805160406101a08601526145656101e0860182613cb7565b6020928301516101c08701529183015160ff166101008601525060408201519061459561012086018360ff169052565b606083015160ff1661014086015260808301516001600160401b0380821661016088015260a09094015193841661018087015291506114a8565b5f5f5f5f606085870312156145e2575f5ffd5b843593506020850135925060408501356001600160401b03811115614605575f5ffd5b61461187828801613eaa565b95989497509550505050565b5f5f5f6040848603121561462f575f5ffd5b83356001600160401b03811115614644575f5ffd5b840160e08187031215614655575f5ffd5b925060208401356001600160401b0381111561466f575f5ffd5b61467b86828701613eaa565b9497909650939450505050565b5f5f5f5f6060858703121561469b575f5ffd5b84356146a681613e96565b93506020850135925060408501356001600160401b03811115614605575f5ffd5b5f5f604083850312156146d8575f5ffd5b823591506020830135613d598161405e565b5f602082840312156146fa575f5ffd5b813561183b81613e96565b60018060a01b03815116825262ffffff60208201511660208301525f60408201516080604085015261473a6080850182613cb7565b606093840151949093019390935250919050565b60018060a01b0381511682526001600160401b036020820151166020830152604081015160408301525f606082015160a0606085015261479160a0850182613cb7565b6080938401516001600160a01b0316949093019390935250919050565b602081525f825161010060208401526147cb610120840182614705565b90506020840151601f198483030160408501526147e8828261474e565b9150506040840151614825606085018261ffff815116825261ffff60208201511660208301526001600160401b0360408201511660408301525050565b5060608401516001600160881b03191660c084015260808401516001600160481b031660e084015260a0909301516001600160401b0316610100909201919091525090565b5f5f5f5f5f5f6080878903121561487f575f5ffd5b86356001600160401b03811115614894575f5ffd5b6148a089828a01613d64565b90975095505060208701356001600160401b038111156148be575f5ffd5b6148ca89828a01613eaa565b979a9699509760408101359660609091013595509350505050565b5f5f604083850312156148f6575f5ffd5b50508035926020909101359150565b5f5f60808385031215614916575f5ffd5b8235915061416c846020850161406d565b602081525f61183b6020830184614705565b6020815260ff82511660208201525f60208301516040808401526111886060840182613cb7565b60018060a01b0381511682526001600160401b03602082015116602083015263ffffffff6040820151166040830152606081015160608301525f608082015160a0608085015261118860a0850182613cb7565b602081525f8251604060208401526149ce6060840182613e00565b90506020840151601f198483030160408501526114a88282614960565b803563ffffffff81168114611f08575f5ffd5b5f5f5f5f5f60808688031215614a12575f5ffd5b85359450613f16602087016149eb565b602081525f61183b602083018461474e565b5f5f5f60a08486031215614a46575f5ffd5b8335925060208401359150614a5e856040860161406d565b90509250925092565b5f5f5f60808486031215614a79575f5ffd5b83359250614a8a856020860161413a565b91506060840135614a9a81613d26565b809150509250925092565b602081525f61183b6020830184614960565b634e487b7160e01b5f52601260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60ff831680614af157614af1614ab7565b8060ff84160491505092915050565b60ff8181168382160190811115610e7b57610e7b614acb565b5f60ff831680614b2b57614b2b614ab7565b8060ff84160691505092915050565b634e487b7160e01b5f52603260045260245ffd5b8082028115828204841417610e7b57610e7b614acb565b80820180821115610e7b57610e7b614acb565b5f8235607e19833603018112614b8c575f5ffd5b9190910192915050565b5f60208284031215614ba6575f5ffd5b61183b826149eb565b5f5f8335601e19843603018112614bc4575f5ffd5b8301803591506001600160401b03821115614bdd575f5ffd5b602001915036819003821315613da4575f5ffd5b600181811c90821680614c0557607f821691505b6020821081036113fe57634e487b7160e01b5f52602260045260245ffd5b6007811061234f575f5ffd5b5f60208284031215614c3f575f5ffd5b815161183b81614c23565b602080825281018290525f8360408301825b85811015614c8c578235614c6f81613cf7565b6001600160a01b0316825260209283019290910190600101614c5c565b5095945050505050565b5f60208284031215614ca6575f5ffd5b8151801515811461183b575f5ffd5b858152602081018590526001600160401b03841660408201526060810183905260e0810161448e608083018461ffff815116825261ffff60208201511660208301526001600160401b0360408201511660408301525050565b60ff8116811461234f575f5ffd5b5f60208284031215614d2c575f5ffd5b813561183b81614d0e565b5f614d4183614175565b604051614d4e8282614021565b809250848152858585011115614d62575f5ffd5b8484602083015e5f6020868301015250509392505050565b5f82601f830112614d89575f5ffd5b61183b83835160208501614d37565b5f5f60408385031215614da9575f5ffd5b8251614db481613cf7565b60208401519092506001600160401b03811115614dcf575f5ffd5b614ddb85828601614d7a565b9150509250929050565b5f60208284031215614df5575f5ffd5b81516001600160401b03811115614e0a575f5ffd5b8201601f81018413614e1a575f5ffd5b61118884825160208401614d37565b5f614e348285613c42565b6101d160f51b81526114a86002820185613c42565b6001600160401b0383168152604060208201525f6111886040830184613cb7565b5f614e758284613c42565b743a20696e76616c6964207265706f7274206461746160581b81526015019392505050565b6001600160a01b03831681526040602080830182905283519183018290525f91908401906060840190835b81811015614eec5783516001600160401b0316835260209384019390920191600101614ec5565b50909695505050505050565b5f60208284031215614f08575f5ffd5b81516001600160401b03811115614f1d575f5ffd5b8201601f81018413614f2d575f5ffd5b8051614f38816142aa565b604051614f458282614021565b80915082815260208101915060208360051b850101925086831115614f68575f5ffd5b602084015b838110156143e85780516001600160401b03811115614f8a575f5ffd5b614f9989602083890101614d7a565b84525060209283019201614f6d565b8035614fb38161405e565b61ffff1682526020810135614fc78161405e565b61ffff1660208301526040810135614fde81613e96565b6001600160401b0381166040840152505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6040808252843582820152602085013560608301525f906150419060808401908701614fa8565b60a085013561504f81613e96565b6001600160401b031660e083015260c085013536869003601e19018112615074575f5ffd5b85016020810190356001600160401b0381111561508f575f5ffd5b80360382131561509d575f5ffd5b60e06101008501526150b461012085018284614ff2565b915050828103602084015261448e818587614ff2565b80516101008110611f08575f5ffd5b8051611f0881613e96565b8051611f0881614d0e565b5f60c082840312156150ff575f5ffd5b60405161510b81614002565b80915082516001600160401b03811115615123575f5ffd5b830160408186031215615134575f5ffd5b60405161514081613fc4565b81516001600160401b03811115615155575f5ffd5b61516187828501614d7a565b82525060209182015182820152825261517b9084016150e4565b602082015261518c604084016150e4565b604082015261519d606084016150e4565b60608201526151ae608084016150d9565b60808201526151bf60a084016150d9565b60a08201525092915050565b5f60c082840312156151db575f5ffd5b6040516151e781614002565b8091506151f3836150ca565b8152602083015160148110615206575f5ffd5b6020820152604083810151908201526060808401519082015261522b608084016150d9565b608082015260a08301516001600160401b03811115615248575f5ffd5b615254858286016150ef565b60a0830152505092915050565b5f5f60408385031215615272575f5ffd5b825161527d81613cf7565b60208401519092506001600160401b03811115615298575f5ffd5b614ddb858286016151cb565b6001600160a01b038816815260208101879052604081018690526152cb6060820186614fa8565b6001600160401b03841660c082015261010060e08201525f6152f261010083018486614ff2565b9998505050505050505050565b80516001600160481b0381168114611f08575f5ffd5b5f60208284031215615325575f5ffd5b61183b826152ff565b5f60033d111561405b5760045f5f3e505f5160e01c90565b5f60443d10156153535790565b6040513d600319016004823e80513d60248201116001600160401b038211171561537c57505090565b80820180516001600160401b03811115615397575050505090565b3d84016003190182820160200111156153b1575050505090565b613e7c60208285010185614021565b5f608082840312156153d0575f5ffd5b6040516153dc81613fe3565b80915082516153ea81613cf7565b815260208301516153fa81613d26565b602082015260408301516001600160401b03811115615417575f5ffd5b61542385828601614d7a565b604083015250606092830151920191909152919050565b5f6020828403121561544a575f5ffd5b81516001600160401b0381111561545f575f5ffd5b611188848285016153c0565b6001600160401b038181168382160190811115610e7b57610e7b614acb565b61ffff8281168282160390811115610e7b57610e7b614acb565b5f61ffff8316806154b7576154b7614ab7565b8061ffff84160491505092915050565b8381526020808201849052825160ff1660408301528201516001600160401b0316606082015260808101611188565b5f60208284031215615506575f5ffd5b81516001600160401b0381111561551b575f5ffd5b8201601f8101841361552b575f5ffd5b8051615536816142aa565b6040516155438282614021565b80915082815260208101915060208360051b850101925086831115615566575f5ffd5b6020840193505b8284101561448e57835161558081613cf7565b82526020938401939091019061556d565b602080825282518282018190525f918401906040840190835b818110156144d85783516001600160a01b03168352602093840193909201916001016155aa565b5f602082840312156155e1575f5ffd5b61183b826150ca565b60018060a01b03881681528660208201526001600160401b03861660408201528460608201526001600160401b03841660808201528260a082015260e060c08201525f6152f260e0830184613cb7565b5f6020828403121561564a575f5ffd5b5051919050565b5f60208284031215615661575f5ffd5b81516001600160401b03811115615676575f5ffd5b611188848285016151cb565b5f60a08284031215615692575f5ffd5b60405160a081018181106001600160401b03821117156156b4576156b4613f8b565b806040525080915082516156c781613cf7565b815260208301516156d781613e96565b60208201526040838101519082015260608301516001600160401b038111156156fe575f5ffd5b61570a85828601614d7a565b606083015250608083015161571e81613cf7565b6080919091015292915050565b5f6060828403121561573b575f5ffd5b60405161574781613f9f565b80915082516157558161405e565b815260208301516157658161405e565b602082015260408301516140ba81613e96565b80516001600160881b031981168114611f08575f5ffd5b5f6020828403121561579f575f5ffd5b81516001600160401b038111156157b4575f5ffd5b820161010081850312156157c6575f5ffd5b6157ce61404d565b81516001600160401b038111156157e3575f5ffd5b6157ef868285016153c0565b82525060208201516001600160401b0381111561580a575f5ffd5b61581686828501615682565b602083015250615829856040840161572b565b604082015261583a60a08301615778565b606082015261584b60c083016152ff565b608082015261585c60e083016150d9565b60a0820152949350505050565b5f60208284031215615879575f5ffd5b81516001600160401b0381111561588e575f5ffd5b61118884828501615682565b5f6001600160401b0382166001600160401b0381036158bb576158bb614acb565b60010192915050565b5f6158cf8284613c42565b741d103ab73430b7323632b21030b9b9b2b93a34b7b760591b81526015019392505050565b81810381811115610e7b57610e7b614acb56fef595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183f595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e184a26469706673582212203212373c44b0fdaa8241cfed0e75960f351f61264b9a495db8f879e211d50b4f64736f6c634300081e0033";
  readonly linkReferences: {"project/contracts/data/WitOracleDataLib.sol":{"WitOracleDataLib":[{"length":20,"start":6707},{"length":20,"start":6823},{"length":20,"start":8431},{"length":20,"start":8750},{"length":20,"start":9353},{"length":20,"start":9887},{"length":20,"start":10150},{"length":20,"start":10472},{"length":20,"start":10697},{"length":20,"start":11791},{"length":20,"start":12232},{"length":20,"start":12832},{"length":20,"start":14142},{"length":20,"start":14285},{"length":20,"start":14405},{"length":20,"start":14580},{"length":20,"start":14937},{"length":20,"start":15168},{"length":20,"start":15292},{"length":20,"start":15542}]},"project/contracts/libs/WitOracleResultStatusLib.sol":{"WitOracleResultStatusLib":[{"length":20,"start":11959},{"length":20,"start":15266}]}};
  readonly deployedLinkReferences: {"project/contracts/data/WitOracleDataLib.sol":{"WitOracleDataLib":[{"length":20,"start":5321},{"length":20,"start":5437},{"length":20,"start":7045},{"length":20,"start":7364},{"length":20,"start":7967},{"length":20,"start":8501},{"length":20,"start":8764},{"length":20,"start":9086},{"length":20,"start":9311},{"length":20,"start":10405},{"length":20,"start":10846},{"length":20,"start":11446},{"length":20,"start":12756},{"length":20,"start":12899},{"length":20,"start":13019},{"length":20,"start":13194},{"length":20,"start":13551},{"length":20,"start":13782},{"length":20,"start":13906},{"length":20,"start":14156}]},"project/contracts/libs/WitOracleResultStatusLib.sol":{"WitOracleResultStatusLib":[{"length":20,"start":10573},{"length":20,"start":13880}]}};
  readonly immutableReferences: {"9009":[{"length":32,"start":8113}],"9013":[{"length":32,"start":3185}],"9104":[{"length":32,"start":1818}],"10085":[{"length":32,"start":2351},{"length":32,"start":7999},{"length":32,"start":9968}],"10087":[{"length":32,"start":5577}],"10089":[{"length":32,"start":3828},{"length":32,"start":3900}],"10091":[{"length":32,"start":3764}],"10093":[{"length":32,"start":3720},{"length":32,"start":5533},{"length":32,"start":11199}],"45715":[{"length":32,"start":3265}],"45824":[{"length":32,"start":1745},{"length":32,"start":2830},{"length":32,"start":6505},{"length":32,"start":6618},{"length":32,"start":6689},{"length":32,"start":6723}],"45828":[{"length":32,"start":1897},{"length":32,"start":8408}]};
  readonly inputSourceName: "project/contracts/core/trustable/WitOracleTrustableObscuro.sol";
  readonly buildInfoId: "solc-0_8_30-47301052af11a5aa5062e9b98ca44d5e142950cf";
};

import "hardhat/types/artifacts";
declare module "hardhat/types/artifacts" {
  interface ArtifactMap {
    ["WitOracleTrustableObscuro"]: WitOracleTrustableObscuro$Type;
    ["contracts/core/trustable/WitOracleTrustableObscuro.sol:WitOracleTrustableObscuro"]: WitOracleTrustableObscuro$Type;
  }
}