<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: WAProto.proto

namespace PhpWA\Protocol\Proto;

use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\GPBUtil;
use Google\Protobuf\RepeatedField;

/**
 * Generated from protobuf message <code>proto.MsgOpaqueData</code>
 */
class MsgOpaqueData extends \Google\Protobuf\Internal\Message
{
    /**
     * Generated from protobuf field <code>optional string body = 1;</code>
     */
    protected $body = null;
    /**
     * Generated from protobuf field <code>optional string caption = 3;</code>
     */
    protected $caption = null;
    /**
     * Generated from protobuf field <code>optional double lng = 5;</code>
     */
    protected $lng = null;
    /**
     * Generated from protobuf field <code>optional bool isLive = 6;</code>
     */
    protected $isLive = null;
    /**
     * Generated from protobuf field <code>optional double lat = 7;</code>
     */
    protected $lat = null;
    /**
     * Generated from protobuf field <code>optional int32 paymentAmount1000 = 8;</code>
     */
    protected $paymentAmount1000 = null;
    /**
     * Generated from protobuf field <code>optional string paymentNoteMsgBody = 9;</code>
     */
    protected $paymentNoteMsgBody = null;
    /**
     * Generated from protobuf field <code>optional string matchedText = 11;</code>
     */
    protected $matchedText = null;
    /**
     * Generated from protobuf field <code>optional string title = 12;</code>
     */
    protected $title = null;
    /**
     * Generated from protobuf field <code>optional string description = 13;</code>
     */
    protected $description = null;
    /**
     * Generated from protobuf field <code>optional bytes futureproofBuffer = 14;</code>
     */
    protected $futureproofBuffer = null;
    /**
     * Generated from protobuf field <code>optional string clientUrl = 15;</code>
     */
    protected $clientUrl = null;
    /**
     * Generated from protobuf field <code>optional string loc = 16;</code>
     */
    protected $loc = null;
    /**
     * Generated from protobuf field <code>optional string pollName = 17;</code>
     */
    protected $pollName = null;
    /**
     * Generated from protobuf field <code>repeated .proto.MsgOpaqueData.PollOption pollOptions = 18;</code>
     */
    private $pollOptions;
    /**
     * Generated from protobuf field <code>optional uint32 pollSelectableOptionsCount = 20;</code>
     */
    protected $pollSelectableOptionsCount = null;
    /**
     * Generated from protobuf field <code>optional bytes messageSecret = 21;</code>
     */
    protected $messageSecret = null;
    /**
     * Generated from protobuf field <code>optional string originalSelfAuthor = 51;</code>
     */
    protected $originalSelfAuthor = null;
    /**
     * Generated from protobuf field <code>optional int64 senderTimestampMs = 22;</code>
     */
    protected $senderTimestampMs = null;
    /**
     * Generated from protobuf field <code>optional string pollUpdateParentKey = 23;</code>
     */
    protected $pollUpdateParentKey = null;
    /**
     * Generated from protobuf field <code>optional .proto.PollEncValue encPollVote = 24;</code>
     */
    protected $encPollVote = null;
    /**
     * Generated from protobuf field <code>optional bool isSentCagPollCreation = 28;</code>
     */
    protected $isSentCagPollCreation = null;
    /**
     * Generated from protobuf field <code>optional .proto.MsgOpaqueData.PollContentType pollContentType = 42;</code>
     */
    protected $pollContentType = null;
    /**
     * Generated from protobuf field <code>optional .proto.MsgOpaqueData.PollType pollType = 46;</code>
     */
    protected $pollType = null;
    /**
     * Generated from protobuf field <code>optional int32 correctOptionIndex = 47;</code>
     */
    protected $correctOptionIndex = null;
    /**
     * Generated from protobuf field <code>optional .proto.MsgOpaqueData.PollVotesSnapshot pollVotesSnapshot = 41;</code>
     */
    protected $pollVotesSnapshot = null;
    /**
     * Generated from protobuf field <code>optional string encReactionTargetMessageKey = 25;</code>
     */
    protected $encReactionTargetMessageKey = null;
    /**
     * Generated from protobuf field <code>optional bytes encReactionEncPayload = 26;</code>
     */
    protected $encReactionEncPayload = null;
    /**
     * Generated from protobuf field <code>optional bytes encReactionEncIv = 27;</code>
     */
    protected $encReactionEncIv = null;
    /**
     * Generated from protobuf field <code>optional bytes botMessageSecret = 29;</code>
     */
    protected $botMessageSecret = null;
    /**
     * Generated from protobuf field <code>optional string targetMessageKey = 30;</code>
     */
    protected $targetMessageKey = null;
    /**
     * Generated from protobuf field <code>optional bytes encPayload = 31;</code>
     */
    protected $encPayload = null;
    /**
     * Generated from protobuf field <code>optional bytes encIv = 32;</code>
     */
    protected $encIv = null;
    /**
     * Generated from protobuf field <code>optional string eventName = 33;</code>
     */
    protected $eventName = null;
    /**
     * Generated from protobuf field <code>optional bool isEventCanceled = 34;</code>
     */
    protected $isEventCanceled = null;
    /**
     * Generated from protobuf field <code>optional string eventDescription = 35;</code>
     */
    protected $eventDescription = null;
    /**
     * Generated from protobuf field <code>optional string eventJoinLink = 36;</code>
     */
    protected $eventJoinLink = null;
    /**
     * Generated from protobuf field <code>optional int64 eventStartTime = 37;</code>
     */
    protected $eventStartTime = null;
    /**
     * Generated from protobuf field <code>optional .proto.MsgOpaqueData.EventLocation eventLocation = 38;</code>
     */
    protected $eventLocation = null;
    /**
     * Generated from protobuf field <code>optional int64 eventEndTime = 40;</code>
     */
    protected $eventEndTime = null;
    /**
     * Generated from protobuf field <code>optional bool eventIsScheduledCall = 44;</code>
     */
    protected $eventIsScheduledCall = null;
    /**
     * Generated from protobuf field <code>optional bool eventExtraGuestsAllowed = 45;</code>
     */
    protected $eventExtraGuestsAllowed = null;
    /**
     * Generated from protobuf field <code>optional bytes plainProtobufBytes = 43;</code>
     */
    protected $plainProtobufBytes = null;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type string $body
     *     @type string $caption
     *     @type float $lng
     *     @type bool $isLive
     *     @type float $lat
     *     @type int $paymentAmount1000
     *     @type string $paymentNoteMsgBody
     *     @type string $matchedText
     *     @type string $title
     *     @type string $description
     *     @type string $futureproofBuffer
     *     @type string $clientUrl
     *     @type string $loc
     *     @type string $pollName
     *     @type \PhpWA\Protocol\Proto\MsgOpaqueData\PollOption[] $pollOptions
     *     @type int $pollSelectableOptionsCount
     *     @type string $messageSecret
     *     @type string $originalSelfAuthor
     *     @type int|string $senderTimestampMs
     *     @type string $pollUpdateParentKey
     *     @type \PhpWA\Protocol\Proto\PollEncValue $encPollVote
     *     @type bool $isSentCagPollCreation
     *     @type int $pollContentType
     *     @type int $pollType
     *     @type int $correctOptionIndex
     *     @type \PhpWA\Protocol\Proto\MsgOpaqueData\PollVotesSnapshot $pollVotesSnapshot
     *     @type string $encReactionTargetMessageKey
     *     @type string $encReactionEncPayload
     *     @type string $encReactionEncIv
     *     @type string $botMessageSecret
     *     @type string $targetMessageKey
     *     @type string $encPayload
     *     @type string $encIv
     *     @type string $eventName
     *     @type bool $isEventCanceled
     *     @type string $eventDescription
     *     @type string $eventJoinLink
     *     @type int|string $eventStartTime
     *     @type \PhpWA\Protocol\Proto\MsgOpaqueData\EventLocation $eventLocation
     *     @type int|string $eventEndTime
     *     @type bool $eventIsScheduledCall
     *     @type bool $eventExtraGuestsAllowed
     *     @type string $plainProtobufBytes
     * }
     */
    public function __construct($data = NULL) {
        \PhpWA\Protocol\Proto\Metadata\WAProto::initOnce();
        parent::__construct($data);
    }

    /**
     * Generated from protobuf field <code>optional string body = 1;</code>
     * @return string
     */
    public function getBody()
    {
        return isset($this->body) ? $this->body : '';
    }

    public function hasBody()
    {
        return isset($this->body);
    }

    public function clearBody()
    {
        unset($this->body);
    }

    /**
     * Generated from protobuf field <code>optional string body = 1;</code>
     * @param string $var
     * @return $this
     */
    public function setBody($var)
    {
        GPBUtil::checkString($var, True);
        $this->body = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string caption = 3;</code>
     * @return string
     */
    public function getCaption()
    {
        return isset($this->caption) ? $this->caption : '';
    }

    public function hasCaption()
    {
        return isset($this->caption);
    }

    public function clearCaption()
    {
        unset($this->caption);
    }

    /**
     * Generated from protobuf field <code>optional string caption = 3;</code>
     * @param string $var
     * @return $this
     */
    public function setCaption($var)
    {
        GPBUtil::checkString($var, True);
        $this->caption = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional double lng = 5;</code>
     * @return float
     */
    public function getLng()
    {
        return isset($this->lng) ? $this->lng : 0.0;
    }

    public function hasLng()
    {
        return isset($this->lng);
    }

    public function clearLng()
    {
        unset($this->lng);
    }

    /**
     * Generated from protobuf field <code>optional double lng = 5;</code>
     * @param float $var
     * @return $this
     */
    public function setLng($var)
    {
        GPBUtil::checkDouble($var);
        $this->lng = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional bool isLive = 6;</code>
     * @return bool
     */
    public function getIsLive()
    {
        return isset($this->isLive) ? $this->isLive : false;
    }

    public function hasIsLive()
    {
        return isset($this->isLive);
    }

    public function clearIsLive()
    {
        unset($this->isLive);
    }

    /**
     * Generated from protobuf field <code>optional bool isLive = 6;</code>
     * @param bool $var
     * @return $this
     */
    public function setIsLive($var)
    {
        GPBUtil::checkBool($var);
        $this->isLive = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional double lat = 7;</code>
     * @return float
     */
    public function getLat()
    {
        return isset($this->lat) ? $this->lat : 0.0;
    }

    public function hasLat()
    {
        return isset($this->lat);
    }

    public function clearLat()
    {
        unset($this->lat);
    }

    /**
     * Generated from protobuf field <code>optional double lat = 7;</code>
     * @param float $var
     * @return $this
     */
    public function setLat($var)
    {
        GPBUtil::checkDouble($var);
        $this->lat = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional int32 paymentAmount1000 = 8;</code>
     * @return int
     */
    public function getPaymentAmount1000()
    {
        return isset($this->paymentAmount1000) ? $this->paymentAmount1000 : 0;
    }

    public function hasPaymentAmount1000()
    {
        return isset($this->paymentAmount1000);
    }

    public function clearPaymentAmount1000()
    {
        unset($this->paymentAmount1000);
    }

    /**
     * Generated from protobuf field <code>optional int32 paymentAmount1000 = 8;</code>
     * @param int $var
     * @return $this
     */
    public function setPaymentAmount1000($var)
    {
        GPBUtil::checkInt32($var);
        $this->paymentAmount1000 = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string paymentNoteMsgBody = 9;</code>
     * @return string
     */
    public function getPaymentNoteMsgBody()
    {
        return isset($this->paymentNoteMsgBody) ? $this->paymentNoteMsgBody : '';
    }

    public function hasPaymentNoteMsgBody()
    {
        return isset($this->paymentNoteMsgBody);
    }

    public function clearPaymentNoteMsgBody()
    {
        unset($this->paymentNoteMsgBody);
    }

    /**
     * Generated from protobuf field <code>optional string paymentNoteMsgBody = 9;</code>
     * @param string $var
     * @return $this
     */
    public function setPaymentNoteMsgBody($var)
    {
        GPBUtil::checkString($var, True);
        $this->paymentNoteMsgBody = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string matchedText = 11;</code>
     * @return string
     */
    public function getMatchedText()
    {
        return isset($this->matchedText) ? $this->matchedText : '';
    }

    public function hasMatchedText()
    {
        return isset($this->matchedText);
    }

    public function clearMatchedText()
    {
        unset($this->matchedText);
    }

    /**
     * Generated from protobuf field <code>optional string matchedText = 11;</code>
     * @param string $var
     * @return $this
     */
    public function setMatchedText($var)
    {
        GPBUtil::checkString($var, True);
        $this->matchedText = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string title = 12;</code>
     * @return string
     */
    public function getTitle()
    {
        return isset($this->title) ? $this->title : '';
    }

    public function hasTitle()
    {
        return isset($this->title);
    }

    public function clearTitle()
    {
        unset($this->title);
    }

    /**
     * Generated from protobuf field <code>optional string title = 12;</code>
     * @param string $var
     * @return $this
     */
    public function setTitle($var)
    {
        GPBUtil::checkString($var, True);
        $this->title = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string description = 13;</code>
     * @return string
     */
    public function getDescription()
    {
        return isset($this->description) ? $this->description : '';
    }

    public function hasDescription()
    {
        return isset($this->description);
    }

    public function clearDescription()
    {
        unset($this->description);
    }

    /**
     * Generated from protobuf field <code>optional string description = 13;</code>
     * @param string $var
     * @return $this
     */
    public function setDescription($var)
    {
        GPBUtil::checkString($var, True);
        $this->description = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional bytes futureproofBuffer = 14;</code>
     * @return string
     */
    public function getFutureproofBuffer()
    {
        return isset($this->futureproofBuffer) ? $this->futureproofBuffer : '';
    }

    public function hasFutureproofBuffer()
    {
        return isset($this->futureproofBuffer);
    }

    public function clearFutureproofBuffer()
    {
        unset($this->futureproofBuffer);
    }

    /**
     * Generated from protobuf field <code>optional bytes futureproofBuffer = 14;</code>
     * @param string $var
     * @return $this
     */
    public function setFutureproofBuffer($var)
    {
        GPBUtil::checkString($var, False);
        $this->futureproofBuffer = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string clientUrl = 15;</code>
     * @return string
     */
    public function getClientUrl()
    {
        return isset($this->clientUrl) ? $this->clientUrl : '';
    }

    public function hasClientUrl()
    {
        return isset($this->clientUrl);
    }

    public function clearClientUrl()
    {
        unset($this->clientUrl);
    }

    /**
     * Generated from protobuf field <code>optional string clientUrl = 15;</code>
     * @param string $var
     * @return $this
     */
    public function setClientUrl($var)
    {
        GPBUtil::checkString($var, True);
        $this->clientUrl = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string loc = 16;</code>
     * @return string
     */
    public function getLoc()
    {
        return isset($this->loc) ? $this->loc : '';
    }

    public function hasLoc()
    {
        return isset($this->loc);
    }

    public function clearLoc()
    {
        unset($this->loc);
    }

    /**
     * Generated from protobuf field <code>optional string loc = 16;</code>
     * @param string $var
     * @return $this
     */
    public function setLoc($var)
    {
        GPBUtil::checkString($var, True);
        $this->loc = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string pollName = 17;</code>
     * @return string
     */
    public function getPollName()
    {
        return isset($this->pollName) ? $this->pollName : '';
    }

    public function hasPollName()
    {
        return isset($this->pollName);
    }

    public function clearPollName()
    {
        unset($this->pollName);
    }

    /**
     * Generated from protobuf field <code>optional string pollName = 17;</code>
     * @param string $var
     * @return $this
     */
    public function setPollName($var)
    {
        GPBUtil::checkString($var, True);
        $this->pollName = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>repeated .proto.MsgOpaqueData.PollOption pollOptions = 18;</code>
     * @return RepeatedField<\PhpWA\Protocol\Proto\MsgOpaqueData\PollOption>
     */
    public function getPollOptions()
    {
        return $this->pollOptions;
    }

    /**
     * Generated from protobuf field <code>repeated .proto.MsgOpaqueData.PollOption pollOptions = 18;</code>
     * @param \PhpWA\Protocol\Proto\MsgOpaqueData\PollOption[] $var
     * @return $this
     */
    public function setPollOptions($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \PhpWA\Protocol\Proto\MsgOpaqueData\PollOption::class);
        $this->pollOptions = $arr;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional uint32 pollSelectableOptionsCount = 20;</code>
     * @return int
     */
    public function getPollSelectableOptionsCount()
    {
        return isset($this->pollSelectableOptionsCount) ? $this->pollSelectableOptionsCount : 0;
    }

    public function hasPollSelectableOptionsCount()
    {
        return isset($this->pollSelectableOptionsCount);
    }

    public function clearPollSelectableOptionsCount()
    {
        unset($this->pollSelectableOptionsCount);
    }

    /**
     * Generated from protobuf field <code>optional uint32 pollSelectableOptionsCount = 20;</code>
     * @param int $var
     * @return $this
     */
    public function setPollSelectableOptionsCount($var)
    {
        GPBUtil::checkUint32($var);
        $this->pollSelectableOptionsCount = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional bytes messageSecret = 21;</code>
     * @return string
     */
    public function getMessageSecret()
    {
        return isset($this->messageSecret) ? $this->messageSecret : '';
    }

    public function hasMessageSecret()
    {
        return isset($this->messageSecret);
    }

    public function clearMessageSecret()
    {
        unset($this->messageSecret);
    }

    /**
     * Generated from protobuf field <code>optional bytes messageSecret = 21;</code>
     * @param string $var
     * @return $this
     */
    public function setMessageSecret($var)
    {
        GPBUtil::checkString($var, False);
        $this->messageSecret = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string originalSelfAuthor = 51;</code>
     * @return string
     */
    public function getOriginalSelfAuthor()
    {
        return isset($this->originalSelfAuthor) ? $this->originalSelfAuthor : '';
    }

    public function hasOriginalSelfAuthor()
    {
        return isset($this->originalSelfAuthor);
    }

    public function clearOriginalSelfAuthor()
    {
        unset($this->originalSelfAuthor);
    }

    /**
     * Generated from protobuf field <code>optional string originalSelfAuthor = 51;</code>
     * @param string $var
     * @return $this
     */
    public function setOriginalSelfAuthor($var)
    {
        GPBUtil::checkString($var, True);
        $this->originalSelfAuthor = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional int64 senderTimestampMs = 22;</code>
     * @return int|string
     */
    public function getSenderTimestampMs()
    {
        return isset($this->senderTimestampMs) ? $this->senderTimestampMs : 0;
    }

    public function hasSenderTimestampMs()
    {
        return isset($this->senderTimestampMs);
    }

    public function clearSenderTimestampMs()
    {
        unset($this->senderTimestampMs);
    }

    /**
     * Generated from protobuf field <code>optional int64 senderTimestampMs = 22;</code>
     * @param int|string $var
     * @return $this
     */
    public function setSenderTimestampMs($var)
    {
        GPBUtil::checkInt64($var);
        $this->senderTimestampMs = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string pollUpdateParentKey = 23;</code>
     * @return string
     */
    public function getPollUpdateParentKey()
    {
        return isset($this->pollUpdateParentKey) ? $this->pollUpdateParentKey : '';
    }

    public function hasPollUpdateParentKey()
    {
        return isset($this->pollUpdateParentKey);
    }

    public function clearPollUpdateParentKey()
    {
        unset($this->pollUpdateParentKey);
    }

    /**
     * Generated from protobuf field <code>optional string pollUpdateParentKey = 23;</code>
     * @param string $var
     * @return $this
     */
    public function setPollUpdateParentKey($var)
    {
        GPBUtil::checkString($var, True);
        $this->pollUpdateParentKey = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.PollEncValue encPollVote = 24;</code>
     * @return \PhpWA\Protocol\Proto\PollEncValue|null
     */
    public function getEncPollVote()
    {
        return $this->encPollVote;
    }

    public function hasEncPollVote()
    {
        return isset($this->encPollVote);
    }

    public function clearEncPollVote()
    {
        unset($this->encPollVote);
    }

    /**
     * Generated from protobuf field <code>optional .proto.PollEncValue encPollVote = 24;</code>
     * @param \PhpWA\Protocol\Proto\PollEncValue $var
     * @return $this
     */
    public function setEncPollVote($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\PollEncValue::class);
        $this->encPollVote = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional bool isSentCagPollCreation = 28;</code>
     * @return bool
     */
    public function getIsSentCagPollCreation()
    {
        return isset($this->isSentCagPollCreation) ? $this->isSentCagPollCreation : false;
    }

    public function hasIsSentCagPollCreation()
    {
        return isset($this->isSentCagPollCreation);
    }

    public function clearIsSentCagPollCreation()
    {
        unset($this->isSentCagPollCreation);
    }

    /**
     * Generated from protobuf field <code>optional bool isSentCagPollCreation = 28;</code>
     * @param bool $var
     * @return $this
     */
    public function setIsSentCagPollCreation($var)
    {
        GPBUtil::checkBool($var);
        $this->isSentCagPollCreation = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.MsgOpaqueData.PollContentType pollContentType = 42;</code>
     * @return int
     */
    public function getPollContentType()
    {
        return isset($this->pollContentType) ? $this->pollContentType : 0;
    }

    public function hasPollContentType()
    {
        return isset($this->pollContentType);
    }

    public function clearPollContentType()
    {
        unset($this->pollContentType);
    }

    /**
     * Generated from protobuf field <code>optional .proto.MsgOpaqueData.PollContentType pollContentType = 42;</code>
     * @param int $var
     * @return $this
     */
    public function setPollContentType($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\MsgOpaqueData\PollContentType::class);
        $this->pollContentType = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.MsgOpaqueData.PollType pollType = 46;</code>
     * @return int
     */
    public function getPollType()
    {
        return isset($this->pollType) ? $this->pollType : 0;
    }

    public function hasPollType()
    {
        return isset($this->pollType);
    }

    public function clearPollType()
    {
        unset($this->pollType);
    }

    /**
     * Generated from protobuf field <code>optional .proto.MsgOpaqueData.PollType pollType = 46;</code>
     * @param int $var
     * @return $this
     */
    public function setPollType($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\MsgOpaqueData\PollType::class);
        $this->pollType = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional int32 correctOptionIndex = 47;</code>
     * @return int
     */
    public function getCorrectOptionIndex()
    {
        return isset($this->correctOptionIndex) ? $this->correctOptionIndex : 0;
    }

    public function hasCorrectOptionIndex()
    {
        return isset($this->correctOptionIndex);
    }

    public function clearCorrectOptionIndex()
    {
        unset($this->correctOptionIndex);
    }

    /**
     * Generated from protobuf field <code>optional int32 correctOptionIndex = 47;</code>
     * @param int $var
     * @return $this
     */
    public function setCorrectOptionIndex($var)
    {
        GPBUtil::checkInt32($var);
        $this->correctOptionIndex = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.MsgOpaqueData.PollVotesSnapshot pollVotesSnapshot = 41;</code>
     * @return \PhpWA\Protocol\Proto\MsgOpaqueData\PollVotesSnapshot|null
     */
    public function getPollVotesSnapshot()
    {
        return $this->pollVotesSnapshot;
    }

    public function hasPollVotesSnapshot()
    {
        return isset($this->pollVotesSnapshot);
    }

    public function clearPollVotesSnapshot()
    {
        unset($this->pollVotesSnapshot);
    }

    /**
     * Generated from protobuf field <code>optional .proto.MsgOpaqueData.PollVotesSnapshot pollVotesSnapshot = 41;</code>
     * @param \PhpWA\Protocol\Proto\MsgOpaqueData\PollVotesSnapshot $var
     * @return $this
     */
    public function setPollVotesSnapshot($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\MsgOpaqueData\PollVotesSnapshot::class);
        $this->pollVotesSnapshot = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string encReactionTargetMessageKey = 25;</code>
     * @return string
     */
    public function getEncReactionTargetMessageKey()
    {
        return isset($this->encReactionTargetMessageKey) ? $this->encReactionTargetMessageKey : '';
    }

    public function hasEncReactionTargetMessageKey()
    {
        return isset($this->encReactionTargetMessageKey);
    }

    public function clearEncReactionTargetMessageKey()
    {
        unset($this->encReactionTargetMessageKey);
    }

    /**
     * Generated from protobuf field <code>optional string encReactionTargetMessageKey = 25;</code>
     * @param string $var
     * @return $this
     */
    public function setEncReactionTargetMessageKey($var)
    {
        GPBUtil::checkString($var, True);
        $this->encReactionTargetMessageKey = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional bytes encReactionEncPayload = 26;</code>
     * @return string
     */
    public function getEncReactionEncPayload()
    {
        return isset($this->encReactionEncPayload) ? $this->encReactionEncPayload : '';
    }

    public function hasEncReactionEncPayload()
    {
        return isset($this->encReactionEncPayload);
    }

    public function clearEncReactionEncPayload()
    {
        unset($this->encReactionEncPayload);
    }

    /**
     * Generated from protobuf field <code>optional bytes encReactionEncPayload = 26;</code>
     * @param string $var
     * @return $this
     */
    public function setEncReactionEncPayload($var)
    {
        GPBUtil::checkString($var, False);
        $this->encReactionEncPayload = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional bytes encReactionEncIv = 27;</code>
     * @return string
     */
    public function getEncReactionEncIv()
    {
        return isset($this->encReactionEncIv) ? $this->encReactionEncIv : '';
    }

    public function hasEncReactionEncIv()
    {
        return isset($this->encReactionEncIv);
    }

    public function clearEncReactionEncIv()
    {
        unset($this->encReactionEncIv);
    }

    /**
     * Generated from protobuf field <code>optional bytes encReactionEncIv = 27;</code>
     * @param string $var
     * @return $this
     */
    public function setEncReactionEncIv($var)
    {
        GPBUtil::checkString($var, False);
        $this->encReactionEncIv = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional bytes botMessageSecret = 29;</code>
     * @return string
     */
    public function getBotMessageSecret()
    {
        return isset($this->botMessageSecret) ? $this->botMessageSecret : '';
    }

    public function hasBotMessageSecret()
    {
        return isset($this->botMessageSecret);
    }

    public function clearBotMessageSecret()
    {
        unset($this->botMessageSecret);
    }

    /**
     * Generated from protobuf field <code>optional bytes botMessageSecret = 29;</code>
     * @param string $var
     * @return $this
     */
    public function setBotMessageSecret($var)
    {
        GPBUtil::checkString($var, False);
        $this->botMessageSecret = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string targetMessageKey = 30;</code>
     * @return string
     */
    public function getTargetMessageKey()
    {
        return isset($this->targetMessageKey) ? $this->targetMessageKey : '';
    }

    public function hasTargetMessageKey()
    {
        return isset($this->targetMessageKey);
    }

    public function clearTargetMessageKey()
    {
        unset($this->targetMessageKey);
    }

    /**
     * Generated from protobuf field <code>optional string targetMessageKey = 30;</code>
     * @param string $var
     * @return $this
     */
    public function setTargetMessageKey($var)
    {
        GPBUtil::checkString($var, True);
        $this->targetMessageKey = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional bytes encPayload = 31;</code>
     * @return string
     */
    public function getEncPayload()
    {
        return isset($this->encPayload) ? $this->encPayload : '';
    }

    public function hasEncPayload()
    {
        return isset($this->encPayload);
    }

    public function clearEncPayload()
    {
        unset($this->encPayload);
    }

    /**
     * Generated from protobuf field <code>optional bytes encPayload = 31;</code>
     * @param string $var
     * @return $this
     */
    public function setEncPayload($var)
    {
        GPBUtil::checkString($var, False);
        $this->encPayload = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional bytes encIv = 32;</code>
     * @return string
     */
    public function getEncIv()
    {
        return isset($this->encIv) ? $this->encIv : '';
    }

    public function hasEncIv()
    {
        return isset($this->encIv);
    }

    public function clearEncIv()
    {
        unset($this->encIv);
    }

    /**
     * Generated from protobuf field <code>optional bytes encIv = 32;</code>
     * @param string $var
     * @return $this
     */
    public function setEncIv($var)
    {
        GPBUtil::checkString($var, False);
        $this->encIv = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string eventName = 33;</code>
     * @return string
     */
    public function getEventName()
    {
        return isset($this->eventName) ? $this->eventName : '';
    }

    public function hasEventName()
    {
        return isset($this->eventName);
    }

    public function clearEventName()
    {
        unset($this->eventName);
    }

    /**
     * Generated from protobuf field <code>optional string eventName = 33;</code>
     * @param string $var
     * @return $this
     */
    public function setEventName($var)
    {
        GPBUtil::checkString($var, True);
        $this->eventName = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional bool isEventCanceled = 34;</code>
     * @return bool
     */
    public function getIsEventCanceled()
    {
        return isset($this->isEventCanceled) ? $this->isEventCanceled : false;
    }

    public function hasIsEventCanceled()
    {
        return isset($this->isEventCanceled);
    }

    public function clearIsEventCanceled()
    {
        unset($this->isEventCanceled);
    }

    /**
     * Generated from protobuf field <code>optional bool isEventCanceled = 34;</code>
     * @param bool $var
     * @return $this
     */
    public function setIsEventCanceled($var)
    {
        GPBUtil::checkBool($var);
        $this->isEventCanceled = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string eventDescription = 35;</code>
     * @return string
     */
    public function getEventDescription()
    {
        return isset($this->eventDescription) ? $this->eventDescription : '';
    }

    public function hasEventDescription()
    {
        return isset($this->eventDescription);
    }

    public function clearEventDescription()
    {
        unset($this->eventDescription);
    }

    /**
     * Generated from protobuf field <code>optional string eventDescription = 35;</code>
     * @param string $var
     * @return $this
     */
    public function setEventDescription($var)
    {
        GPBUtil::checkString($var, True);
        $this->eventDescription = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string eventJoinLink = 36;</code>
     * @return string
     */
    public function getEventJoinLink()
    {
        return isset($this->eventJoinLink) ? $this->eventJoinLink : '';
    }

    public function hasEventJoinLink()
    {
        return isset($this->eventJoinLink);
    }

    public function clearEventJoinLink()
    {
        unset($this->eventJoinLink);
    }

    /**
     * Generated from protobuf field <code>optional string eventJoinLink = 36;</code>
     * @param string $var
     * @return $this
     */
    public function setEventJoinLink($var)
    {
        GPBUtil::checkString($var, True);
        $this->eventJoinLink = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional int64 eventStartTime = 37;</code>
     * @return int|string
     */
    public function getEventStartTime()
    {
        return isset($this->eventStartTime) ? $this->eventStartTime : 0;
    }

    public function hasEventStartTime()
    {
        return isset($this->eventStartTime);
    }

    public function clearEventStartTime()
    {
        unset($this->eventStartTime);
    }

    /**
     * Generated from protobuf field <code>optional int64 eventStartTime = 37;</code>
     * @param int|string $var
     * @return $this
     */
    public function setEventStartTime($var)
    {
        GPBUtil::checkInt64($var);
        $this->eventStartTime = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional .proto.MsgOpaqueData.EventLocation eventLocation = 38;</code>
     * @return \PhpWA\Protocol\Proto\MsgOpaqueData\EventLocation|null
     */
    public function getEventLocation()
    {
        return $this->eventLocation;
    }

    public function hasEventLocation()
    {
        return isset($this->eventLocation);
    }

    public function clearEventLocation()
    {
        unset($this->eventLocation);
    }

    /**
     * Generated from protobuf field <code>optional .proto.MsgOpaqueData.EventLocation eventLocation = 38;</code>
     * @param \PhpWA\Protocol\Proto\MsgOpaqueData\EventLocation $var
     * @return $this
     */
    public function setEventLocation($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\MsgOpaqueData\EventLocation::class);
        $this->eventLocation = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional int64 eventEndTime = 40;</code>
     * @return int|string
     */
    public function getEventEndTime()
    {
        return isset($this->eventEndTime) ? $this->eventEndTime : 0;
    }

    public function hasEventEndTime()
    {
        return isset($this->eventEndTime);
    }

    public function clearEventEndTime()
    {
        unset($this->eventEndTime);
    }

    /**
     * Generated from protobuf field <code>optional int64 eventEndTime = 40;</code>
     * @param int|string $var
     * @return $this
     */
    public function setEventEndTime($var)
    {
        GPBUtil::checkInt64($var);
        $this->eventEndTime = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional bool eventIsScheduledCall = 44;</code>
     * @return bool
     */
    public function getEventIsScheduledCall()
    {
        return isset($this->eventIsScheduledCall) ? $this->eventIsScheduledCall : false;
    }

    public function hasEventIsScheduledCall()
    {
        return isset($this->eventIsScheduledCall);
    }

    public function clearEventIsScheduledCall()
    {
        unset($this->eventIsScheduledCall);
    }

    /**
     * Generated from protobuf field <code>optional bool eventIsScheduledCall = 44;</code>
     * @param bool $var
     * @return $this
     */
    public function setEventIsScheduledCall($var)
    {
        GPBUtil::checkBool($var);
        $this->eventIsScheduledCall = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional bool eventExtraGuestsAllowed = 45;</code>
     * @return bool
     */
    public function getEventExtraGuestsAllowed()
    {
        return isset($this->eventExtraGuestsAllowed) ? $this->eventExtraGuestsAllowed : false;
    }

    public function hasEventExtraGuestsAllowed()
    {
        return isset($this->eventExtraGuestsAllowed);
    }

    public function clearEventExtraGuestsAllowed()
    {
        unset($this->eventExtraGuestsAllowed);
    }

    /**
     * Generated from protobuf field <code>optional bool eventExtraGuestsAllowed = 45;</code>
     * @param bool $var
     * @return $this
     */
    public function setEventExtraGuestsAllowed($var)
    {
        GPBUtil::checkBool($var);
        $this->eventExtraGuestsAllowed = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional bytes plainProtobufBytes = 43;</code>
     * @return string
     */
    public function getPlainProtobufBytes()
    {
        return isset($this->plainProtobufBytes) ? $this->plainProtobufBytes : '';
    }

    public function hasPlainProtobufBytes()
    {
        return isset($this->plainProtobufBytes);
    }

    public function clearPlainProtobufBytes()
    {
        unset($this->plainProtobufBytes);
    }

    /**
     * Generated from protobuf field <code>optional bytes plainProtobufBytes = 43;</code>
     * @param string $var
     * @return $this
     */
    public function setPlainProtobufBytes($var)
    {
        GPBUtil::checkString($var, False);
        $this->plainProtobufBytes = $var;

        return $this;
    }

}

