{-# OPTIONS -fglasgow-exts -fth -fallow-undecidable-instances -fallow-overlapping-instances #-}
-- WARNING: This is an automatically generated XML Schema module, beware of hand-crafting.
module GoogleSearch where

-- Standard imports required by all XML Schema modules
import Text.XML.Serializer
import Text.XML.Serializer.Datatypes
import Text.XML.Serializer.Core
import Data.Array
import GHC.Arr
import GHC.Base
import Network.URI
import Data.Maybe
import Data.Typeable
import Data.Generics2
import Data.Context
import Data.Generics2.Basics
import Data.Map

-- Imports required by this particular schema.
import Org.W3.N2001.XMLSchema
-- import Org.Xmlsoap.Schemas.Wsdl.Soap
import Org.Xmlsoap.Schemas.Soap.Envelope
import Org.Xmlsoap.Schemas.Soap.Encoding
-- import Org.Xmlsoap.Schemas.Wsdl

import Network.Service

-- Main Module Body.
data GoogleSearchResult = GoogleSearchResult Org.W3.N2001.XMLSchema.Boolean Org.W3.N2001.XMLSchema.String Org.W3.N2001.XMLSchema.Int Org.W3.N2001.XMLSchema.Boolean GoogleSearch.ResultElementArray Org.W3.N2001.XMLSchema.String Org.W3.N2001.XMLSchema.Int Org.W3.N2001.XMLSchema.Int Org.W3.N2001.XMLSchema.String GoogleSearch.DirectoryCategoryArray Org.W3.N2001.XMLSchema.Double deriving Show
instance Data.Generics2.Basics.Data (Text.XML.Serializer.Datatypes.DictXMLData h)
                                    GoogleSearchResult => Text.XML.Serializer.Core.XMLData h
                                                                                           GoogleSearchResult
    where toXMLConstr _ _ = Text.XML.Serializer.Datatypes.xmlConstr{Text.XML.Serializer.Datatypes.fieldSchema = GHC.Arr.listArray (1,
                                                                                                                                   1) [[Text.XML.Serializer.Datatypes.Elem (Text.XML.Serializer.Datatypes.Occurs 1 (Text.XML.Serializer.Datatypes.Bounded 1)) "documentFiltering" (Data.Maybe.Just (Network.URI.URI "urn:" Data.Maybe.Nothing "GoogleSearch" "" "")),
                                                                                                                                        Text.XML.Serializer.Datatypes.Elem (Text.XML.Serializer.Datatypes.Occurs 1 (Text.XML.Serializer.Datatypes.Bounded 1)) "searchComments" (Data.Maybe.Just (Network.URI.URI "urn:" Data.Maybe.Nothing "GoogleSearch" "" "")),
                                                                                                                                        Text.XML.Serializer.Datatypes.Elem (Text.XML.Serializer.Datatypes.Occurs 1 (Text.XML.Serializer.Datatypes.Bounded 1)) "estimatedTotalResultsCount" (Data.Maybe.Just (Network.URI.URI "urn:" Data.Maybe.Nothing "GoogleSearch" "" "")),
                                                                                                                                        Text.XML.Serializer.Datatypes.Elem (Text.XML.Serializer.Datatypes.Occurs 1 (Text.XML.Serializer.Datatypes.Bounded 1)) "estimateIsExact" (Data.Maybe.Just (Network.URI.URI "urn:" Data.Maybe.Nothing "GoogleSearch" "" "")),
                                                                                                                                        Text.XML.Serializer.Datatypes.Elem (Text.XML.Serializer.Datatypes.Occurs 1 (Text.XML.Serializer.Datatypes.Bounded 1)) "resultElements" (Data.Maybe.Just (Network.URI.URI "urn:" Data.Maybe.Nothing "GoogleSearch" "" "")),
                                                                                                                                        Text.XML.Serializer.Datatypes.Elem (Text.XML.Serializer.Datatypes.Occurs 1 (Text.XML.Serializer.Datatypes.Bounded 1)) "searchQuery" (Data.Maybe.Just (Network.URI.URI "urn:" Data.Maybe.Nothing "GoogleSearch" "" "")),
                                                                                                                                        Text.XML.Serializer.Datatypes.Elem (Text.XML.Serializer.Datatypes.Occurs 1 (Text.XML.Serializer.Datatypes.Bounded 1)) "startIndex" (Data.Maybe.Just (Network.URI.URI "urn:" Data.Maybe.Nothing "GoogleSearch" "" "")),
                                                                                                                                        Text.XML.Serializer.Datatypes.Elem (Text.XML.Serializer.Datatypes.Occurs 1 (Text.XML.Serializer.Datatypes.Bounded 1)) "endIndex" (Data.Maybe.Just (Network.URI.URI "urn:" Data.Maybe.Nothing "GoogleSearch" "" "")),
                                                                                                                                        Text.XML.Serializer.Datatypes.Elem (Text.XML.Serializer.Datatypes.Occurs 1 (Text.XML.Serializer.Datatypes.Bounded 1)) "searchTips" (Data.Maybe.Just (Network.URI.URI "urn:" Data.Maybe.Nothing "GoogleSearch" "" "")),
                                                                                                                                        Text.XML.Serializer.Datatypes.Elem (Text.XML.Serializer.Datatypes.Occurs 1 (Text.XML.Serializer.Datatypes.Bounded 1)) "directoryCategories" (Data.Maybe.Just (Network.URI.URI "urn:" Data.Maybe.Nothing "GoogleSearch" "" "")),
                                                                                                                                        Text.XML.Serializer.Datatypes.Elem (Text.XML.Serializer.Datatypes.Occurs 1 (Text.XML.Serializer.Datatypes.Bounded 1)) "searchTime" (Data.Maybe.Just (Network.URI.URI "urn:" Data.Maybe.Nothing "GoogleSearch" "" ""))]],
                                                                    Text.XML.Serializer.Datatypes.isInterleaved = GHC.Base.True,
                                                                    Text.XML.Serializer.Datatypes.elementNames = ["GoogleSearchResult"]}
instance Typeable GoogleSearchResult
    where typeOf _ = Data.Typeable.mkTyConApp (Data.Typeable.mkTyCon "GoogleSearchResult") []
googlesearchresultDataType1Constr = Data.Generics2.Basics.mkConstr googlesearchresultDataType "GoogleSearchResult" [] Data.Generics2.Basics.Prefix
googlesearchresultDataType = Data.Generics2.Basics.mkDataType "GoogleSearchResult" [googlesearchresultDataType1Constr]
instance (Data.Generics2.Basics.Data ctx
                                     Org.W3.N2001.XMLSchema.Boolean, Data.Generics2.Basics.Data ctx
                                                                                                Org.W3.N2001.XMLSchema.String, Data.Generics2.Basics.Data ctx
                                                                                                                                                          Org.W3.N2001.XMLSchema.Int, Data.Generics2.Basics.Data ctx
                                                                                                                                                                                                                 GoogleSearch.ResultElementArray, Data.Generics2.Basics.Data ctx
                                                                                                                                                                                                                                                                             GoogleSearch.DirectoryCategoryArray, Data.Generics2.Basics.Data ctx
                                                                                                                                                                                                                                                                                                                                             Org.W3.N2001.XMLSchema.Double, Data.Context.Sat (ctx Org.W3.N2001.XMLSchema.Boolean), Data.Context.Sat (ctx Org.W3.N2001.XMLSchema.String), Data.Context.Sat (ctx Org.W3.N2001.XMLSchema.Int), Data.Context.Sat (ctx GoogleSearch.ResultElementArray), Data.Context.Sat (ctx GoogleSearch.DirectoryCategoryArray), Data.Context.Sat (ctx Org.W3.N2001.XMLSchema.Double), Data.Context.Sat (ctx GoogleSearchResult)) => Data.Generics2.Basics.Data ctx
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               GoogleSearchResult
    where gfoldl _ f z x = case x of
                               GoogleSearchResult x0_0
                                                  x1_1
                                                  x2_2
                                                  x3_3
                                                  x4_4
                                                  x5_5
                                                  x6_6
                                                  x7_7
                                                  x8_8
                                                  x9_9
                                                  x10_10 -> f (f (f (f (f (f (f (f (f (f (f (z GoogleSearchResult) x0_0) x1_1) x2_2) x3_3) x4_4) x5_5) x6_6) x7_7) x8_8) x9_9) x10_10
          gunfold _ k z c = case constrIndex c of
                                1 -> k (k (k (k (k (k (k (k (k (k (k (z GoogleSearchResult)))))))))))
          toConstr _ x = case x of
                             GoogleSearchResult _
                                                _
                                                _
                                                _
                                                _
                                                _
                                                _
                                                _
                                                _
                                                _
                                                _ -> googlesearchresultDataType1Constr
          dataTypeOf _ _ = googlesearchresultDataType
instance Text.XML.Serializer.Datatypes.XMLNamespace GoogleSearchResult
    where namespaceURI _ = Data.Maybe.Just (Network.URI.URI "urn:" Data.Maybe.Nothing "GoogleSearch" "" "")
instance Org.W3.N2001.XMLSchema.XSDType GoogleSearchResult
    where xsdType _ = ["GoogleSearchResult"]
data ResultElement = ResultElement Org.W3.N2001.XMLSchema.String Org.W3.N2001.XMLSchema.String Org.W3.N2001.XMLSchema.String Org.W3.N2001.XMLSchema.String Org.W3.N2001.XMLSchema.String Org.W3.N2001.XMLSchema.Boolean Org.W3.N2001.XMLSchema.String GoogleSearch.DirectoryCategory Org.W3.N2001.XMLSchema.String deriving Show
instance Data.Generics2.Basics.Data (Text.XML.Serializer.Datatypes.DictXMLData h)
                                    ResultElement => Text.XML.Serializer.Core.XMLData h
                                                                                      ResultElement
    where toXMLConstr _ _ = Text.XML.Serializer.Datatypes.xmlConstr{Text.XML.Serializer.Datatypes.fieldSchema = GHC.Arr.listArray (1,
                                                                                                                                   1) [[Text.XML.Serializer.Datatypes.Elem (Text.XML.Serializer.Datatypes.Occurs 1 (Text.XML.Serializer.Datatypes.Bounded 1)) "summary" (Data.Maybe.Just (Network.URI.URI "urn:" Data.Maybe.Nothing "GoogleSearch" "" "")),
                                                                                                                                        Text.XML.Serializer.Datatypes.Elem (Text.XML.Serializer.Datatypes.Occurs 1 (Text.XML.Serializer.Datatypes.Bounded 1)) "URL" (Data.Maybe.Just (Network.URI.URI "urn:" Data.Maybe.Nothing "GoogleSearch" "" "")),
                                                                                                                                        Text.XML.Serializer.Datatypes.Elem (Text.XML.Serializer.Datatypes.Occurs 1 (Text.XML.Serializer.Datatypes.Bounded 1)) "snippet" (Data.Maybe.Just (Network.URI.URI "urn:" Data.Maybe.Nothing "GoogleSearch" "" "")),
                                                                                                                                        Text.XML.Serializer.Datatypes.Elem (Text.XML.Serializer.Datatypes.Occurs 1 (Text.XML.Serializer.Datatypes.Bounded 1)) "title" (Data.Maybe.Just (Network.URI.URI "urn:" Data.Maybe.Nothing "GoogleSearch" "" "")),
                                                                                                                                        Text.XML.Serializer.Datatypes.Elem (Text.XML.Serializer.Datatypes.Occurs 1 (Text.XML.Serializer.Datatypes.Bounded 1)) "cachedSize" (Data.Maybe.Just (Network.URI.URI "urn:" Data.Maybe.Nothing "GoogleSearch" "" "")),
                                                                                                                                        Text.XML.Serializer.Datatypes.Elem (Text.XML.Serializer.Datatypes.Occurs 1 (Text.XML.Serializer.Datatypes.Bounded 1)) "relatedInformationPresent" (Data.Maybe.Just (Network.URI.URI "urn:" Data.Maybe.Nothing "GoogleSearch" "" "")),
                                                                                                                                        Text.XML.Serializer.Datatypes.Elem (Text.XML.Serializer.Datatypes.Occurs 1 (Text.XML.Serializer.Datatypes.Bounded 1)) "hostName" (Data.Maybe.Just (Network.URI.URI "urn:" Data.Maybe.Nothing "GoogleSearch" "" "")),
                                                                                                                                        Text.XML.Serializer.Datatypes.Elem (Text.XML.Serializer.Datatypes.Occurs 1 (Text.XML.Serializer.Datatypes.Bounded 1)) "directoryCategory" (Data.Maybe.Just (Network.URI.URI "urn:" Data.Maybe.Nothing "GoogleSearch" "" "")),
                                                                                                                                        Text.XML.Serializer.Datatypes.Elem (Text.XML.Serializer.Datatypes.Occurs 1 (Text.XML.Serializer.Datatypes.Bounded 1)) "directoryTitle" (Data.Maybe.Just (Network.URI.URI "urn:" Data.Maybe.Nothing "GoogleSearch" "" ""))]],
                                                                    Text.XML.Serializer.Datatypes.isInterleaved = GHC.Base.True,
                                                                    Text.XML.Serializer.Datatypes.elementNames = ["ResultElement"]}
instance Typeable ResultElement
    where typeOf _ = Data.Typeable.mkTyConApp (Data.Typeable.mkTyCon "ResultElement") []
resultelementDataType1Constr = Data.Generics2.Basics.mkConstr resultelementDataType "ResultElement" [] Data.Generics2.Basics.Prefix
resultelementDataType = Data.Generics2.Basics.mkDataType "ResultElement" [resultelementDataType1Constr]
instance (Data.Generics2.Basics.Data ctx
                                     Org.W3.N2001.XMLSchema.String, Data.Generics2.Basics.Data ctx
                                                                                               Org.W3.N2001.XMLSchema.Boolean, Data.Generics2.Basics.Data ctx
                                                                                                                                                          GoogleSearch.DirectoryCategory, Data.Context.Sat (ctx Org.W3.N2001.XMLSchema.String), Data.Context.Sat (ctx Org.W3.N2001.XMLSchema.Boolean), Data.Context.Sat (ctx GoogleSearch.DirectoryCategory), Data.Context.Sat (ctx ResultElement)) => Data.Generics2.Basics.Data ctx
                                                                                                                                                                                                                                                                                                                                                                                                                                  ResultElement
    where gfoldl _ f z x = case x of
                               ResultElement x0_11
                                             x1_12
                                             x2_13
                                             x3_14
                                             x4_15
                                             x5_16
                                             x6_17
                                             x7_18
                                             x8_19 -> f (f (f (f (f (f (f (f (f (z ResultElement) x0_11) x1_12) x2_13) x3_14) x4_15) x5_16) x6_17) x7_18) x8_19
          gunfold _ k z c = case constrIndex c of
                                1 -> k (k (k (k (k (k (k (k (k (z ResultElement)))))))))
          toConstr _ x = case x of
                             ResultElement _ _ _ _ _ _ _ _ _ -> resultelementDataType1Constr
          dataTypeOf _ _ = resultelementDataType
instance Text.XML.Serializer.Datatypes.XMLNamespace ResultElement
    where namespaceURI _ = Data.Maybe.Just (Network.URI.URI "urn:" Data.Maybe.Nothing "GoogleSearch" "" "")
instance Org.W3.N2001.XMLSchema.XSDType ResultElement
    where xsdType _ = ["ResultElement"]
type ResultElementArray = Org.Xmlsoap.Schemas.Soap.Encoding.SOAPArray (Data.Map.Map GHC.Base.Int
                                                                                    GoogleSearch.ResultElement)
type DirectoryCategoryArray = Org.Xmlsoap.Schemas.Soap.Encoding.SOAPArray (Data.Map.Map GHC.Base.Int
                                                                                        GoogleSearch.DirectoryCategory)
data DirectoryCategory = DirectoryCategory Org.W3.N2001.XMLSchema.String Org.W3.N2001.XMLSchema.String deriving Show
instance Data.Generics2.Basics.Data (Text.XML.Serializer.Datatypes.DictXMLData h)
                                    DirectoryCategory => Text.XML.Serializer.Core.XMLData h
                                                                                          DirectoryCategory
    where toXMLConstr _ _ = Text.XML.Serializer.Datatypes.xmlConstr{Text.XML.Serializer.Datatypes.fieldSchema = GHC.Arr.listArray (1,
                                                                                                                                   1) [[Text.XML.Serializer.Datatypes.Elem (Text.XML.Serializer.Datatypes.Occurs 1 (Text.XML.Serializer.Datatypes.Bounded 1)) "fullViewableName" (Data.Maybe.Just (Network.URI.URI "urn:" Data.Maybe.Nothing "GoogleSearch" "" "")),
                                                                                                                                        Text.XML.Serializer.Datatypes.Elem (Text.XML.Serializer.Datatypes.Occurs 1 (Text.XML.Serializer.Datatypes.Bounded 1)) "specialEncoding" (Data.Maybe.Just (Network.URI.URI "urn:" Data.Maybe.Nothing "GoogleSearch" "" ""))]],
                                                                    Text.XML.Serializer.Datatypes.isInterleaved = GHC.Base.True,
                                                                    Text.XML.Serializer.Datatypes.elementNames = ["DirectoryCategory"]}
instance Typeable DirectoryCategory
    where typeOf _ = Data.Typeable.mkTyConApp (Data.Typeable.mkTyCon "DirectoryCategory") []
directorycategoryDataType1Constr = Data.Generics2.Basics.mkConstr directorycategoryDataType "DirectoryCategory" [] Data.Generics2.Basics.Prefix
directorycategoryDataType = Data.Generics2.Basics.mkDataType "DirectoryCategory" [directorycategoryDataType1Constr]
instance (Data.Generics2.Basics.Data ctx
                                     Org.W3.N2001.XMLSchema.String, Data.Context.Sat (ctx Org.W3.N2001.XMLSchema.String), Data.Context.Sat (ctx DirectoryCategory)) => Data.Generics2.Basics.Data ctx
                                                                                                                                                                                                  DirectoryCategory
    where gfoldl _ f z x = case x of
                               DirectoryCategory x0_20
                                                 x1_21 -> f (f (z DirectoryCategory) x0_20) x1_21
          gunfold _ k z c = case constrIndex c of
                                1 -> k (k (z DirectoryCategory))
          toConstr _ x = case x of
                             DirectoryCategory _ _ -> directorycategoryDataType1Constr
          dataTypeOf _ _ = directorycategoryDataType
instance Text.XML.Serializer.Datatypes.XMLNamespace DirectoryCategory
    where namespaceURI _ = Data.Maybe.Just (Network.URI.URI "urn:" Data.Maybe.Nothing "GoogleSearch" "" "")
instance Org.W3.N2001.XMLSchema.XSDType DirectoryCategory
    where xsdType _ = ["DirectoryCategory"]
