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

namespace Rv\Data\MacrosDocument\Macro;

use UnexpectedValueException;

/**
 * Protobuf type <code>rv.data.MacrosDocument.Macro.ImageType</code>
 */
class ImageType
{
    /**
     * Generated from protobuf enum <code>ImageTypeDefault = 0;</code>
     */
    const ImageTypeDefault = 0;
    /**
     * Generated from protobuf enum <code>ImageTypeOne = 1;</code>
     */
    const ImageTypeOne = 1;
    /**
     * Generated from protobuf enum <code>ImageTypeTwo = 2;</code>
     */
    const ImageTypeTwo = 2;
    /**
     * Generated from protobuf enum <code>ImageTypeThree = 3;</code>
     */
    const ImageTypeThree = 3;
    /**
     * Generated from protobuf enum <code>ImageTypeFour = 4;</code>
     */
    const ImageTypeFour = 4;
    /**
     * Generated from protobuf enum <code>ImageTypeFive = 5;</code>
     */
    const ImageTypeFive = 5;
    /**
     * Generated from protobuf enum <code>ImageTypeSix = 6;</code>
     */
    const ImageTypeSix = 6;
    /**
     * Generated from protobuf enum <code>ImageTypeSeven = 7;</code>
     */
    const ImageTypeSeven = 7;
    /**
     * Generated from protobuf enum <code>ImageTypeEight = 8;</code>
     */
    const ImageTypeEight = 8;
    /**
     * Generated from protobuf enum <code>ImageTypeNine = 9;</code>
     */
    const ImageTypeNine = 9;
    /**
     * Generated from protobuf enum <code>ImageTypeZero = 10;</code>
     */
    const ImageTypeZero = 10;
    /**
     * Generated from protobuf enum <code>ImageTypeArrow = 11;</code>
     */
    const ImageTypeArrow = 11;
    /**
     * Generated from protobuf enum <code>ImageTypeAudio = 12;</code>
     */
    const ImageTypeAudio = 12;
    /**
     * Generated from protobuf enum <code>ImageTypeBell = 13;</code>
     */
    const ImageTypeBell = 13;
    /**
     * Generated from protobuf enum <code>ImageTypeBulb = 14;</code>
     */
    const ImageTypeBulb = 14;
    /**
     * Generated from protobuf enum <code>ImageTypeCloud = 15;</code>
     */
    const ImageTypeCloud = 15;
    /**
     * Generated from protobuf enum <code>ImageTypeCupcake = 16;</code>
     */
    const ImageTypeCupcake = 16;
    /**
     * Generated from protobuf enum <code>ImageTypeExclamation = 17;</code>
     */
    const ImageTypeExclamation = 17;
    /**
     * Generated from protobuf enum <code>ImageTypeFlask = 18;</code>
     */
    const ImageTypeFlask = 18;
    /**
     * Generated from protobuf enum <code>ImageTypeFlower = 19;</code>
     */
    const ImageTypeFlower = 19;
    /**
     * Generated from protobuf enum <code>ImageTypeGlasses = 20;</code>
     */
    const ImageTypeGlasses = 20;
    /**
     * Generated from protobuf enum <code>ImageTypeHashtag = 21;</code>
     */
    const ImageTypeHashtag = 21;
    /**
     * Generated from protobuf enum <code>ImageTypeHat = 22;</code>
     */
    const ImageTypeHat = 22;
    /**
     * Generated from protobuf enum <code>ImageTypeHeart = 23;</code>
     */
    const ImageTypeHeart = 23;
    /**
     * Generated from protobuf enum <code>ImageTypeMegaphone = 24;</code>
     */
    const ImageTypeMegaphone = 24;
    /**
     * Generated from protobuf enum <code>ImageTypeMessage = 25;</code>
     */
    const ImageTypeMessage = 25;
    /**
     * Generated from protobuf enum <code>ImageTypePaperclip = 26;</code>
     */
    const ImageTypePaperclip = 26;
    /**
     * Generated from protobuf enum <code>ImageTypePlay = 27;</code>
     */
    const ImageTypePlay = 27;
    /**
     * Generated from protobuf enum <code>ImageTypeSlide = 28;</code>
     */
    const ImageTypeSlide = 28;
    /**
     * Generated from protobuf enum <code>ImageTypeStar = 29;</code>
     */
    const ImageTypeStar = 29;
    /**
     * Generated from protobuf enum <code>ImageTypeSun = 30;</code>
     */
    const ImageTypeSun = 30;
    /**
     * Generated from protobuf enum <code>ImageTypeSunglasses = 31;</code>
     */
    const ImageTypeSunglasses = 31;
    /**
     * Generated from protobuf enum <code>ImageTypeTarget = 32;</code>
     */
    const ImageTypeTarget = 32;
    /**
     * Generated from protobuf enum <code>ImageTypeTimer = 33;</code>
     */
    const ImageTypeTimer = 33;
    /**
     * Generated from protobuf enum <code>ImageTypeVideoInput = 34;</code>
     */
    const ImageTypeVideoInput = 34;
    /**
     * Generated from protobuf enum <code>ImageTypeXClear = 35;</code>
     */
    const ImageTypeXClear = 35;
    /**
     * Generated from protobuf enum <code>ImageTypeLetterA = 36;</code>
     */
    const ImageTypeLetterA = 36;
    /**
     * Generated from protobuf enum <code>ImageTypeLetterB = 37;</code>
     */
    const ImageTypeLetterB = 37;
    /**
     * Generated from protobuf enum <code>ImageTypeLetterC = 38;</code>
     */
    const ImageTypeLetterC = 38;
    /**
     * Generated from protobuf enum <code>ImageTypeLetterD = 39;</code>
     */
    const ImageTypeLetterD = 39;
    /**
     * Generated from protobuf enum <code>ImageTypeLetterE = 40;</code>
     */
    const ImageTypeLetterE = 40;
    /**
     * Generated from protobuf enum <code>ImageTypeLetterF = 41;</code>
     */
    const ImageTypeLetterF = 41;
    /**
     * Generated from protobuf enum <code>ImageTypeLetterG = 42;</code>
     */
    const ImageTypeLetterG = 42;
    /**
     * Generated from protobuf enum <code>ImageTypeLetterH = 43;</code>
     */
    const ImageTypeLetterH = 43;
    /**
     * Generated from protobuf enum <code>ImageTypeLetterI = 44;</code>
     */
    const ImageTypeLetterI = 44;
    /**
     * Generated from protobuf enum <code>ImageTypeLetterJ = 45;</code>
     */
    const ImageTypeLetterJ = 45;
    /**
     * Generated from protobuf enum <code>ImageTypeLetterK = 46;</code>
     */
    const ImageTypeLetterK = 46;
    /**
     * Generated from protobuf enum <code>ImageTypeLetterL = 47;</code>
     */
    const ImageTypeLetterL = 47;
    /**
     * Generated from protobuf enum <code>ImageTypeLetterM = 48;</code>
     */
    const ImageTypeLetterM = 48;
    /**
     * Generated from protobuf enum <code>ImageTypeLetterN = 49;</code>
     */
    const ImageTypeLetterN = 49;
    /**
     * Generated from protobuf enum <code>ImageTypeLetterO = 50;</code>
     */
    const ImageTypeLetterO = 50;
    /**
     * Generated from protobuf enum <code>ImageTypeLetterP = 51;</code>
     */
    const ImageTypeLetterP = 51;
    /**
     * Generated from protobuf enum <code>ImageTypeLetterQ = 52;</code>
     */
    const ImageTypeLetterQ = 52;
    /**
     * Generated from protobuf enum <code>ImageTypeLetterR = 53;</code>
     */
    const ImageTypeLetterR = 53;
    /**
     * Generated from protobuf enum <code>ImageTypeLetterS = 54;</code>
     */
    const ImageTypeLetterS = 54;
    /**
     * Generated from protobuf enum <code>ImageTypeLetterT = 55;</code>
     */
    const ImageTypeLetterT = 55;
    /**
     * Generated from protobuf enum <code>ImageTypeLetterU = 56;</code>
     */
    const ImageTypeLetterU = 56;
    /**
     * Generated from protobuf enum <code>ImageTypeLetterV = 57;</code>
     */
    const ImageTypeLetterV = 57;
    /**
     * Generated from protobuf enum <code>ImageTypeLetterW = 58;</code>
     */
    const ImageTypeLetterW = 58;
    /**
     * Generated from protobuf enum <code>ImageTypeLetterX = 59;</code>
     */
    const ImageTypeLetterX = 59;
    /**
     * Generated from protobuf enum <code>ImageTypeLetterY = 60;</code>
     */
    const ImageTypeLetterY = 60;
    /**
     * Generated from protobuf enum <code>ImageTypeLetterZ = 61;</code>
     */
    const ImageTypeLetterZ = 61;
    /**
     * Generated from protobuf enum <code>ImageTypeCustom = 62;</code>
     */
    const ImageTypeCustom = 62;

    private static $valueToName = [
        self::ImageTypeDefault => 'ImageTypeDefault',
        self::ImageTypeOne => 'ImageTypeOne',
        self::ImageTypeTwo => 'ImageTypeTwo',
        self::ImageTypeThree => 'ImageTypeThree',
        self::ImageTypeFour => 'ImageTypeFour',
        self::ImageTypeFive => 'ImageTypeFive',
        self::ImageTypeSix => 'ImageTypeSix',
        self::ImageTypeSeven => 'ImageTypeSeven',
        self::ImageTypeEight => 'ImageTypeEight',
        self::ImageTypeNine => 'ImageTypeNine',
        self::ImageTypeZero => 'ImageTypeZero',
        self::ImageTypeArrow => 'ImageTypeArrow',
        self::ImageTypeAudio => 'ImageTypeAudio',
        self::ImageTypeBell => 'ImageTypeBell',
        self::ImageTypeBulb => 'ImageTypeBulb',
        self::ImageTypeCloud => 'ImageTypeCloud',
        self::ImageTypeCupcake => 'ImageTypeCupcake',
        self::ImageTypeExclamation => 'ImageTypeExclamation',
        self::ImageTypeFlask => 'ImageTypeFlask',
        self::ImageTypeFlower => 'ImageTypeFlower',
        self::ImageTypeGlasses => 'ImageTypeGlasses',
        self::ImageTypeHashtag => 'ImageTypeHashtag',
        self::ImageTypeHat => 'ImageTypeHat',
        self::ImageTypeHeart => 'ImageTypeHeart',
        self::ImageTypeMegaphone => 'ImageTypeMegaphone',
        self::ImageTypeMessage => 'ImageTypeMessage',
        self::ImageTypePaperclip => 'ImageTypePaperclip',
        self::ImageTypePlay => 'ImageTypePlay',
        self::ImageTypeSlide => 'ImageTypeSlide',
        self::ImageTypeStar => 'ImageTypeStar',
        self::ImageTypeSun => 'ImageTypeSun',
        self::ImageTypeSunglasses => 'ImageTypeSunglasses',
        self::ImageTypeTarget => 'ImageTypeTarget',
        self::ImageTypeTimer => 'ImageTypeTimer',
        self::ImageTypeVideoInput => 'ImageTypeVideoInput',
        self::ImageTypeXClear => 'ImageTypeXClear',
        self::ImageTypeLetterA => 'ImageTypeLetterA',
        self::ImageTypeLetterB => 'ImageTypeLetterB',
        self::ImageTypeLetterC => 'ImageTypeLetterC',
        self::ImageTypeLetterD => 'ImageTypeLetterD',
        self::ImageTypeLetterE => 'ImageTypeLetterE',
        self::ImageTypeLetterF => 'ImageTypeLetterF',
        self::ImageTypeLetterG => 'ImageTypeLetterG',
        self::ImageTypeLetterH => 'ImageTypeLetterH',
        self::ImageTypeLetterI => 'ImageTypeLetterI',
        self::ImageTypeLetterJ => 'ImageTypeLetterJ',
        self::ImageTypeLetterK => 'ImageTypeLetterK',
        self::ImageTypeLetterL => 'ImageTypeLetterL',
        self::ImageTypeLetterM => 'ImageTypeLetterM',
        self::ImageTypeLetterN => 'ImageTypeLetterN',
        self::ImageTypeLetterO => 'ImageTypeLetterO',
        self::ImageTypeLetterP => 'ImageTypeLetterP',
        self::ImageTypeLetterQ => 'ImageTypeLetterQ',
        self::ImageTypeLetterR => 'ImageTypeLetterR',
        self::ImageTypeLetterS => 'ImageTypeLetterS',
        self::ImageTypeLetterT => 'ImageTypeLetterT',
        self::ImageTypeLetterU => 'ImageTypeLetterU',
        self::ImageTypeLetterV => 'ImageTypeLetterV',
        self::ImageTypeLetterW => 'ImageTypeLetterW',
        self::ImageTypeLetterX => 'ImageTypeLetterX',
        self::ImageTypeLetterY => 'ImageTypeLetterY',
        self::ImageTypeLetterZ => 'ImageTypeLetterZ',
        self::ImageTypeCustom => 'ImageTypeCustom',
    ];

    public static function name($value)
    {
        if (!isset(self::$valueToName[$value])) {
            throw new UnexpectedValueException(sprintf(
                    'Enum %s has no name defined for value %s', __CLASS__, $value));
        }
        return self::$valueToName[$value];
    }


    public static function value($name)
    {
        $const = __CLASS__ . '::' . strtoupper($name);
        if (!defined($const)) {
            throw new UnexpectedValueException(sprintf(
                    'Enum %s has no value defined for name %s', __CLASS__, $name));
        }
        return constant($const);
    }
}

