{-# LANGUAGE BangPatterns, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses #-}
{-# OPTIONS_GHC  -fno-warn-unused-imports #-}
module Text.DescriptorProtos.DescriptorProto.ExtensionRange (ExtensionRange(..)) where
import Prelude ((+), (/))
import qualified Prelude as Prelude'
import qualified Data.Typeable as Prelude'
import qualified GHC.Generics as Prelude'
import qualified Data.Data as Prelude'
import qualified Text.ProtocolBuffers.Header as P'

data ExtensionRange = ExtensionRange{ExtensionRange -> Maybe Int32
start :: !(P'.Maybe P'.Int32), ExtensionRange -> Maybe Int32
end :: !(P'.Maybe P'.Int32),
                                     ExtensionRange -> UnknownField
unknown'field :: !(P'.UnknownField)}
                      deriving (Int -> ExtensionRange -> ShowS
[ExtensionRange] -> ShowS
ExtensionRange -> String
(Int -> ExtensionRange -> ShowS)
-> (ExtensionRange -> String)
-> ([ExtensionRange] -> ShowS)
-> Show ExtensionRange
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ExtensionRange] -> ShowS
$cshowList :: [ExtensionRange] -> ShowS
show :: ExtensionRange -> String
$cshow :: ExtensionRange -> String
showsPrec :: Int -> ExtensionRange -> ShowS
$cshowsPrec :: Int -> ExtensionRange -> ShowS
Prelude'.Show, ExtensionRange -> ExtensionRange -> Bool
(ExtensionRange -> ExtensionRange -> Bool)
-> (ExtensionRange -> ExtensionRange -> Bool) -> Eq ExtensionRange
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExtensionRange -> ExtensionRange -> Bool
$c/= :: ExtensionRange -> ExtensionRange -> Bool
== :: ExtensionRange -> ExtensionRange -> Bool
$c== :: ExtensionRange -> ExtensionRange -> Bool
Prelude'.Eq, Eq ExtensionRange
Eq ExtensionRange
-> (ExtensionRange -> ExtensionRange -> Ordering)
-> (ExtensionRange -> ExtensionRange -> Bool)
-> (ExtensionRange -> ExtensionRange -> Bool)
-> (ExtensionRange -> ExtensionRange -> Bool)
-> (ExtensionRange -> ExtensionRange -> Bool)
-> (ExtensionRange -> ExtensionRange -> ExtensionRange)
-> (ExtensionRange -> ExtensionRange -> ExtensionRange)
-> Ord ExtensionRange
ExtensionRange -> ExtensionRange -> Bool
ExtensionRange -> ExtensionRange -> Ordering
ExtensionRange -> ExtensionRange -> ExtensionRange
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: ExtensionRange -> ExtensionRange -> ExtensionRange
$cmin :: ExtensionRange -> ExtensionRange -> ExtensionRange
max :: ExtensionRange -> ExtensionRange -> ExtensionRange
$cmax :: ExtensionRange -> ExtensionRange -> ExtensionRange
>= :: ExtensionRange -> ExtensionRange -> Bool
$c>= :: ExtensionRange -> ExtensionRange -> Bool
> :: ExtensionRange -> ExtensionRange -> Bool
$c> :: ExtensionRange -> ExtensionRange -> Bool
<= :: ExtensionRange -> ExtensionRange -> Bool
$c<= :: ExtensionRange -> ExtensionRange -> Bool
< :: ExtensionRange -> ExtensionRange -> Bool
$c< :: ExtensionRange -> ExtensionRange -> Bool
compare :: ExtensionRange -> ExtensionRange -> Ordering
$ccompare :: ExtensionRange -> ExtensionRange -> Ordering
$cp1Ord :: Eq ExtensionRange
Prelude'.Ord, Prelude'.Typeable, Typeable ExtensionRange
DataType
Constr
Typeable ExtensionRange
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g) -> ExtensionRange -> c ExtensionRange)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c ExtensionRange)
-> (ExtensionRange -> Constr)
-> (ExtensionRange -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c ExtensionRange))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c ExtensionRange))
-> ((forall b. Data b => b -> b)
    -> ExtensionRange -> ExtensionRange)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> ExtensionRange -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> ExtensionRange -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> ExtensionRange -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> ExtensionRange -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> ExtensionRange -> m ExtensionRange)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> ExtensionRange -> m ExtensionRange)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> ExtensionRange -> m ExtensionRange)
-> Data ExtensionRange
ExtensionRange -> DataType
ExtensionRange -> Constr
(forall b. Data b => b -> b) -> ExtensionRange -> ExtensionRange
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> ExtensionRange -> c ExtensionRange
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c ExtensionRange
forall a.
Typeable a
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> ExtensionRange -> u
forall u. (forall d. Data d => d -> u) -> ExtensionRange -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> ExtensionRange -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> ExtensionRange -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> ExtensionRange -> m ExtensionRange
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> ExtensionRange -> m ExtensionRange
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c ExtensionRange
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> ExtensionRange -> c ExtensionRange
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c ExtensionRange)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c ExtensionRange)
$cExtensionRange :: Constr
$tExtensionRange :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> ExtensionRange -> m ExtensionRange
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> ExtensionRange -> m ExtensionRange
gmapMp :: (forall d. Data d => d -> m d)
-> ExtensionRange -> m ExtensionRange
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> ExtensionRange -> m ExtensionRange
gmapM :: (forall d. Data d => d -> m d)
-> ExtensionRange -> m ExtensionRange
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> ExtensionRange -> m ExtensionRange
gmapQi :: Int -> (forall d. Data d => d -> u) -> ExtensionRange -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> ExtensionRange -> u
gmapQ :: (forall d. Data d => d -> u) -> ExtensionRange -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> ExtensionRange -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> ExtensionRange -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> ExtensionRange -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> ExtensionRange -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> ExtensionRange -> r
gmapT :: (forall b. Data b => b -> b) -> ExtensionRange -> ExtensionRange
$cgmapT :: (forall b. Data b => b -> b) -> ExtensionRange -> ExtensionRange
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c ExtensionRange)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c ExtensionRange)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c ExtensionRange)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c ExtensionRange)
dataTypeOf :: ExtensionRange -> DataType
$cdataTypeOf :: ExtensionRange -> DataType
toConstr :: ExtensionRange -> Constr
$ctoConstr :: ExtensionRange -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c ExtensionRange
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c ExtensionRange
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> ExtensionRange -> c ExtensionRange
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> ExtensionRange -> c ExtensionRange
$cp1Data :: Typeable ExtensionRange
Prelude'.Data, (forall x. ExtensionRange -> Rep ExtensionRange x)
-> (forall x. Rep ExtensionRange x -> ExtensionRange)
-> Generic ExtensionRange
forall x. Rep ExtensionRange x -> ExtensionRange
forall x. ExtensionRange -> Rep ExtensionRange x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ExtensionRange x -> ExtensionRange
$cfrom :: forall x. ExtensionRange -> Rep ExtensionRange x
Prelude'.Generic)

instance P'.UnknownMessage ExtensionRange where
  getUnknownField :: ExtensionRange -> UnknownField
getUnknownField = ExtensionRange -> UnknownField
unknown'field
  putUnknownField :: UnknownField -> ExtensionRange -> ExtensionRange
putUnknownField UnknownField
u'f ExtensionRange
msg = ExtensionRange
msg{unknown'field :: UnknownField
unknown'field = UnknownField
u'f}

instance P'.Mergeable ExtensionRange where
  mergeAppend :: ExtensionRange -> ExtensionRange -> ExtensionRange
mergeAppend (ExtensionRange Maybe Int32
x'1 Maybe Int32
x'2 UnknownField
x'3) (ExtensionRange Maybe Int32
y'1 Maybe Int32
y'2 UnknownField
y'3)
   = Maybe Int32 -> Maybe Int32 -> UnknownField -> ExtensionRange
ExtensionRange (Maybe Int32 -> Maybe Int32 -> Maybe Int32
forall a. Mergeable a => a -> a -> a
P'.mergeAppend Maybe Int32
x'1 Maybe Int32
y'1) (Maybe Int32 -> Maybe Int32 -> Maybe Int32
forall a. Mergeable a => a -> a -> a
P'.mergeAppend Maybe Int32
x'2 Maybe Int32
y'2) (UnknownField -> UnknownField -> UnknownField
forall a. Mergeable a => a -> a -> a
P'.mergeAppend UnknownField
x'3 UnknownField
y'3)

instance P'.Default ExtensionRange where
  defaultValue :: ExtensionRange
defaultValue = Maybe Int32 -> Maybe Int32 -> UnknownField -> ExtensionRange
ExtensionRange Maybe Int32
forall a. Default a => a
P'.defaultValue Maybe Int32
forall a. Default a => a
P'.defaultValue UnknownField
forall a. Default a => a
P'.defaultValue

instance P'.Wire ExtensionRange where
  wireSize :: FieldType -> ExtensionRange -> WireSize
wireSize FieldType
ft' self' :: ExtensionRange
self'@(ExtensionRange Maybe Int32
x'1 Maybe Int32
x'2 UnknownField
x'3)
   = case FieldType
ft' of
       FieldType
10 -> WireSize
calc'Size
       FieldType
11 -> WireSize -> WireSize
P'.prependMessageSize WireSize
calc'Size
       FieldType
_ -> FieldType -> ExtensionRange -> WireSize
forall a. Typeable a => FieldType -> a -> WireSize
P'.wireSizeErr FieldType
ft' ExtensionRange
self'
    where
        calc'Size :: WireSize
calc'Size = (WireSize -> FieldType -> Maybe Int32 -> WireSize
forall v. Wire v => WireSize -> FieldType -> Maybe v -> WireSize
P'.wireSizeOpt WireSize
1 FieldType
5 Maybe Int32
x'1 WireSize -> WireSize -> WireSize
forall a. Num a => a -> a -> a
+ WireSize -> FieldType -> Maybe Int32 -> WireSize
forall v. Wire v => WireSize -> FieldType -> Maybe v -> WireSize
P'.wireSizeOpt WireSize
1 FieldType
5 Maybe Int32
x'2 WireSize -> WireSize -> WireSize
forall a. Num a => a -> a -> a
+ UnknownField -> WireSize
P'.wireSizeUnknownField UnknownField
x'3)
  wirePutWithSize :: FieldType -> ExtensionRange -> PutM WireSize
wirePutWithSize FieldType
ft' self' :: ExtensionRange
self'@(ExtensionRange Maybe Int32
x'1 Maybe Int32
x'2 UnknownField
x'3)
   = case FieldType
ft' of
       FieldType
10 -> PutM WireSize
put'Fields
       FieldType
11 -> PutM WireSize
put'FieldsSized
       FieldType
_ -> FieldType -> ExtensionRange -> PutM WireSize
forall a b. Typeable a => FieldType -> a -> PutM b
P'.wirePutErr FieldType
ft' ExtensionRange
self'
    where
        put'Fields :: PutM WireSize
put'Fields
         = [PutM WireSize] -> PutM WireSize
forall (f :: * -> *).
Foldable f =>
f (PutM WireSize) -> PutM WireSize
P'.sequencePutWithSize
            [WireTag -> FieldType -> Maybe Int32 -> PutM WireSize
forall v.
Wire v =>
WireTag -> FieldType -> Maybe v -> PutM WireSize
P'.wirePutOptWithSize WireTag
8 FieldType
5 Maybe Int32
x'1, WireTag -> FieldType -> Maybe Int32 -> PutM WireSize
forall v.
Wire v =>
WireTag -> FieldType -> Maybe v -> PutM WireSize
P'.wirePutOptWithSize WireTag
16 FieldType
5 Maybe Int32
x'2, UnknownField -> PutM WireSize
P'.wirePutUnknownFieldWithSize UnknownField
x'3]
        put'FieldsSized :: PutM WireSize
put'FieldsSized
         = let size' :: WireSize
size' = (WireSize, ByteString) -> WireSize
forall a b. (a, b) -> a
Prelude'.fst (PutM WireSize -> (WireSize, ByteString)
forall a. PutM a -> (a, ByteString)
P'.runPutM PutM WireSize
put'Fields)
               put'Size :: PutM WireSize
put'Size
                = do
                    WireSize -> Put
P'.putSize WireSize
size'
                    WireSize -> PutM WireSize
forall (m :: * -> *) a. Monad m => a -> m a
Prelude'.return (WireSize -> WireSize
P'.size'WireSize WireSize
size')
            in [PutM WireSize] -> PutM WireSize
forall (f :: * -> *).
Foldable f =>
f (PutM WireSize) -> PutM WireSize
P'.sequencePutWithSize [PutM WireSize
put'Size, PutM WireSize
put'Fields]
  wireGet :: FieldType -> Get ExtensionRange
wireGet FieldType
ft'
   = case FieldType
ft' of
       FieldType
10 -> (WireTag -> ExtensionRange -> Get ExtensionRange)
-> Get ExtensionRange
forall message.
(Default message, ReflectDescriptor message) =>
(WireTag -> message -> Get message) -> Get message
P'.getBareMessageWith ((WireTag -> ExtensionRange -> Get ExtensionRange)
-> WireTag -> ExtensionRange -> Get ExtensionRange
forall a.
UnknownMessage a =>
(WireTag -> a -> Get a) -> WireTag -> a -> Get a
P'.catch'Unknown WireTag -> ExtensionRange -> Get ExtensionRange
update'Self)
       FieldType
11 -> (WireTag -> ExtensionRange -> Get ExtensionRange)
-> Get ExtensionRange
forall message.
(Default message, ReflectDescriptor message) =>
(WireTag -> message -> Get message) -> Get message
P'.getMessageWith ((WireTag -> ExtensionRange -> Get ExtensionRange)
-> WireTag -> ExtensionRange -> Get ExtensionRange
forall a.
UnknownMessage a =>
(WireTag -> a -> Get a) -> WireTag -> a -> Get a
P'.catch'Unknown WireTag -> ExtensionRange -> Get ExtensionRange
update'Self)
       FieldType
_ -> FieldType -> Get ExtensionRange
forall a. Typeable a => FieldType -> Get a
P'.wireGetErr FieldType
ft'
    where
        update'Self :: WireTag -> ExtensionRange -> Get ExtensionRange
update'Self WireTag
wire'Tag ExtensionRange
old'Self
         = case WireTag
wire'Tag of
             WireTag
8 -> (Int32 -> ExtensionRange) -> Get Int32 -> Get ExtensionRange
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude'.fmap (\ !Int32
new'Field -> ExtensionRange
old'Self{start :: Maybe Int32
start = Int32 -> Maybe Int32
forall a. a -> Maybe a
Prelude'.Just Int32
new'Field}) (FieldType -> Get Int32
forall b. Wire b => FieldType -> Get b
P'.wireGet FieldType
5)
             WireTag
16 -> (Int32 -> ExtensionRange) -> Get Int32 -> Get ExtensionRange
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude'.fmap (\ !Int32
new'Field -> ExtensionRange
old'Self{end :: Maybe Int32
end = Int32 -> Maybe Int32
forall a. a -> Maybe a
Prelude'.Just Int32
new'Field}) (FieldType -> Get Int32
forall b. Wire b => FieldType -> Get b
P'.wireGet FieldType
5)
             WireTag
_ -> let (FieldId
field'Number, WireType
wire'Type) = WireTag -> (FieldId, WireType)
P'.splitWireTag WireTag
wire'Tag in FieldId -> WireType -> ExtensionRange -> Get ExtensionRange
forall a.
(Typeable a, ReflectDescriptor a) =>
FieldId -> WireType -> a -> Get a
P'.unknown FieldId
field'Number WireType
wire'Type ExtensionRange
old'Self

instance P'.MessageAPI msg' (msg' -> ExtensionRange) ExtensionRange where
  getVal :: msg' -> (msg' -> ExtensionRange) -> ExtensionRange
getVal msg'
m' msg' -> ExtensionRange
f' = msg' -> ExtensionRange
f' msg'
m'

instance P'.GPB ExtensionRange

instance P'.ReflectDescriptor ExtensionRange where
  getMessageInfo :: ExtensionRange -> GetMessageInfo
getMessageInfo ExtensionRange
_ = Set WireTag -> Set WireTag -> GetMessageInfo
P'.GetMessageInfo ([WireTag] -> Set WireTag
forall a. [a] -> Set a
P'.fromDistinctAscList []) ([WireTag] -> Set WireTag
forall a. [a] -> Set a
P'.fromDistinctAscList [WireTag
8, WireTag
16])
  reflectDescriptorInfo :: ExtensionRange -> DescriptorInfo
reflectDescriptorInfo ExtensionRange
_
   = String -> DescriptorInfo
forall a. Read a => String -> a
Prelude'.read
      String
"DescriptorInfo {descName = ProtoName {protobufName = FIName \".google.protobuf.DescriptorProto.ExtensionRange\", haskellPrefix = [MName \"Text\"], parentModule = [MName \"DescriptorProtos\",MName \"DescriptorProto\"], baseName = MName \"ExtensionRange\"}, descFilePath = [\"Text\",\"DescriptorProtos\",\"DescriptorProto\",\"ExtensionRange.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".google.protobuf.DescriptorProto.ExtensionRange.start\", haskellPrefix' = [MName \"Text\"], parentModule' = [MName \"DescriptorProtos\",MName \"DescriptorProto\",MName \"ExtensionRange\"], baseName' = FName \"start\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 5}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".google.protobuf.DescriptorProto.ExtensionRange.end\", haskellPrefix' = [MName \"Text\"], parentModule' = [MName \"DescriptorProtos\",MName \"DescriptorProto\",MName \"ExtensionRange\"], baseName' = FName \"end\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 5}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [], knownKeys = fromList [], storeUnknown = True, lazyFields = False, makeLenses = False}"

instance P'.TextType ExtensionRange where
  tellT :: String -> ExtensionRange -> Output
tellT = String -> ExtensionRange -> Output
forall a. TextMsg a => String -> a -> Output
P'.tellSubMessage
  getT :: String -> Parsec s () ExtensionRange
getT = String -> Parsec s () ExtensionRange
forall s a.
(Stream s Identity Char, TextMsg a) =>
String -> Parsec s () a
P'.getSubMessage

instance P'.TextMsg ExtensionRange where
  textPut :: ExtensionRange -> Output
textPut ExtensionRange
msg
   = do
       String -> Maybe Int32 -> Output
forall a. TextType a => String -> a -> Output
P'.tellT String
"start" (ExtensionRange -> Maybe Int32
start ExtensionRange
msg)
       String -> Maybe Int32 -> Output
forall a. TextType a => String -> a -> Output
P'.tellT String
"end" (ExtensionRange -> Maybe Int32
end ExtensionRange
msg)
  textGet :: Parsec s () ExtensionRange
textGet
   = do
       [ExtensionRange -> ExtensionRange]
mods <- ParsecT s () Identity (ExtensionRange -> ExtensionRange)
-> ParsecT s () Identity ()
-> ParsecT s () Identity [ExtensionRange -> ExtensionRange]
forall s (m :: * -> *) t u a sep.
Stream s m t =>
ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
P'.sepEndBy ([ParsecT s () Identity (ExtensionRange -> ExtensionRange)]
-> ParsecT s () Identity (ExtensionRange -> ExtensionRange)
forall s (m :: * -> *) t u a.
Stream s m t =>
[ParsecT s u m a] -> ParsecT s u m a
P'.choice [ParsecT s () Identity (ExtensionRange -> ExtensionRange)
parse'start, ParsecT s () Identity (ExtensionRange -> ExtensionRange)
parse'end]) ParsecT s () Identity ()
forall s (m :: * -> *) u. Stream s m Char => ParsecT s u m ()
P'.spaces
       ExtensionRange -> Parsec s () ExtensionRange
forall (m :: * -> *) a. Monad m => a -> m a
Prelude'.return ((ExtensionRange
 -> (ExtensionRange -> ExtensionRange) -> ExtensionRange)
-> ExtensionRange
-> [ExtensionRange -> ExtensionRange]
-> ExtensionRange
forall (t :: * -> *) b a.
Foldable t =>
(b -> a -> b) -> b -> t a -> b
Prelude'.foldl (\ ExtensionRange
v ExtensionRange -> ExtensionRange
f -> ExtensionRange -> ExtensionRange
f ExtensionRange
v) ExtensionRange
forall a. Default a => a
P'.defaultValue [ExtensionRange -> ExtensionRange]
mods)
    where
        parse'start :: ParsecT s () Identity (ExtensionRange -> ExtensionRange)
parse'start
         = ParsecT s () Identity (ExtensionRange -> ExtensionRange)
-> ParsecT s () Identity (ExtensionRange -> ExtensionRange)
forall s u (m :: * -> *) a. ParsecT s u m a -> ParsecT s u m a
P'.try
            (do
               Maybe Int32
v <- String -> Parsec s () (Maybe Int32)
forall a s.
(TextType a, Stream s Identity Char) =>
String -> Parsec s () a
P'.getT String
"start"
               (ExtensionRange -> ExtensionRange)
-> ParsecT s () Identity (ExtensionRange -> ExtensionRange)
forall (m :: * -> *) a. Monad m => a -> m a
Prelude'.return (\ ExtensionRange
o -> ExtensionRange
o{start :: Maybe Int32
start = Maybe Int32
v}))
        parse'end :: ParsecT s () Identity (ExtensionRange -> ExtensionRange)
parse'end
         = ParsecT s () Identity (ExtensionRange -> ExtensionRange)
-> ParsecT s () Identity (ExtensionRange -> ExtensionRange)
forall s u (m :: * -> *) a. ParsecT s u m a -> ParsecT s u m a
P'.try
            (do
               Maybe Int32
v <- String -> Parsec s () (Maybe Int32)
forall a s.
(TextType a, Stream s Identity Char) =>
String -> Parsec s () a
P'.getT String
"end"
               (ExtensionRange -> ExtensionRange)
-> ParsecT s () Identity (ExtensionRange -> ExtensionRange)
forall (m :: * -> *) a. Monad m => a -> m a
Prelude'.return (\ ExtensionRange
o -> ExtensionRange
o{end :: Maybe Int32
end = Maybe Int32
v}))