# -*- coding: utf-8 -*-
# **********************************************************************
#
# Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
#
# **********************************************************************
#
# Ice version 3.6.5
#
# <auto-generated>
#
# Generated from file `Collections.ice'
#
# Warning: do not edit this file.
#
# </auto-generated>
#

from sys import version_info as _version_info_
import Ice, IcePy
import omero_ModelF_ice
import omero_SystemF_ice
import omero_RTypes_ice

# Included module omero
_M_omero = Ice.openModule('omero')

# Included module omero.model
_M_omero.model = Ice.openModule('omero.model')

# Included module Ice
_M_Ice = Ice.openModule('Ice')

# Included module omero.sys
_M_omero.sys = Ice.openModule('omero.sys')

# Start of module omero
__name__ = 'omero'

# Start of module omero.api
_M_omero.api = Ice.openModule('omero.api')
__name__ = 'omero.api'

if '_t_SearchMetadata' not in _M_omero.api.__dict__:
    _M_omero.api._t_SearchMetadata = IcePy.defineDictionary('::omero::api::SearchMetadata', (), IcePy._t_string, _M_omero.model._t_Annotation)

if '_t_StringSet' not in _M_omero.api.__dict__:
    _M_omero.api._t_StringSet = IcePy.defineSequence('::omero::api::StringSet', (), IcePy._t_string)

if '_t_LongList' not in _M_omero.api.__dict__:
    _M_omero.api._t_LongList = IcePy.defineSequence('::omero::api::LongList', (), IcePy._t_long)

if '_t_IntegerList' not in _M_omero.api.__dict__:
    _M_omero.api._t_IntegerList = IcePy.defineSequence('::omero::api::IntegerList', (), IcePy._t_int)

if '_t_SearchMetadataList' not in _M_omero.api.__dict__:
    _M_omero.api._t_SearchMetadataList = IcePy.defineSequence('::omero::api::SearchMetadataList', (), _M_omero.api._t_SearchMetadata)

if '_t_ExperimenterList' not in _M_omero.api.__dict__:
    _M_omero.api._t_ExperimenterList = IcePy.defineSequence('::omero::api::ExperimenterList', (), _M_omero.model._t_Experimenter)

if '_t_ExperimenterGroupList' not in _M_omero.api.__dict__:
    _M_omero.api._t_ExperimenterGroupList = IcePy.defineSequence('::omero::api::ExperimenterGroupList', (), _M_omero.model._t_ExperimenterGroup)

if '_t_EventList' not in _M_omero.api.__dict__:
    _M_omero.api._t_EventList = IcePy.defineSequence('::omero::api::EventList', (), _M_omero.model._t_Event)

if '_t_EventLogList' not in _M_omero.api.__dict__:
    _M_omero.api._t_EventLogList = IcePy.defineSequence('::omero::api::EventLogList', (), _M_omero.model._t_EventLog)

if '_t_AnnotationList' not in _M_omero.api.__dict__:
    _M_omero.api._t_AnnotationList = IcePy.defineSequence('::omero::api::AnnotationList', (), _M_omero.model._t_Annotation)

if '_t_SessionList' not in _M_omero.api.__dict__:
    _M_omero.api._t_SessionList = IcePy.defineSequence('::omero::api::SessionList', (), _M_omero.model._t_Session)

if '_t_IObjectList' not in _M_omero.api.__dict__:
    _M_omero.api._t_IObjectList = IcePy.defineSequence('::omero::api::IObjectList', (), _M_omero.model._t_IObject)

if '_t_ProjectList' not in _M_omero.api.__dict__:
    _M_omero.api._t_ProjectList = IcePy.defineSequence('::omero::api::ProjectList', (), _M_omero.model._t_Project)

if '_t_DatasetList' not in _M_omero.api.__dict__:
    _M_omero.api._t_DatasetList = IcePy.defineSequence('::omero::api::DatasetList', (), _M_omero.model._t_Dataset)

if '_t_ImageList' not in _M_omero.api.__dict__:
    _M_omero.api._t_ImageList = IcePy.defineSequence('::omero::api::ImageList', (), _M_omero.model._t_Image)

if '_t_LogicalChannelList' not in _M_omero.api.__dict__:
    _M_omero.api._t_LogicalChannelList = IcePy.defineSequence('::omero::api::LogicalChannelList', (), _M_omero.model._t_LogicalChannel)

if '_t_OriginalFileList' not in _M_omero.api.__dict__:
    _M_omero.api._t_OriginalFileList = IcePy.defineSequence('::omero::api::OriginalFileList', (), _M_omero.model._t_OriginalFile)

if '_t_PixelsList' not in _M_omero.api.__dict__:
    _M_omero.api._t_PixelsList = IcePy.defineSequence('::omero::api::PixelsList', (), _M_omero.model._t_Pixels)

if '_t_PixelsTypeList' not in _M_omero.api.__dict__:
    _M_omero.api._t_PixelsTypeList = IcePy.defineSequence('::omero::api::PixelsTypeList', (), _M_omero.model._t_PixelsType)

if '_t_RoiList' not in _M_omero.api.__dict__:
    _M_omero.api._t_RoiList = IcePy.defineSequence('::omero::api::RoiList', (), _M_omero.model._t_Roi)

if '_t_ScriptJobList' not in _M_omero.api.__dict__:
    _M_omero.api._t_ScriptJobList = IcePy.defineSequence('::omero::api::ScriptJobList', (), _M_omero.model._t_ScriptJob)

if '_t_ShapeList' not in _M_omero.api.__dict__:
    _M_omero.api._t_ShapeList = IcePy.defineSequence('::omero::api::ShapeList', (), _M_omero.model._t_Shape)

if '_t_ChecksumAlgorithmList' not in _M_omero.api.__dict__:
    _M_omero.api._t_ChecksumAlgorithmList = IcePy.defineSequence('::omero::api::ChecksumAlgorithmList', (), _M_omero.model._t_ChecksumAlgorithm)

if '_t_NamedValueList' not in _M_omero.api.__dict__:
    _M_omero.api._t_NamedValueList = IcePy.defineSequence('::omero::api::NamedValueList', (), _M_omero.model._t_NamedValue)

if '_t_EventContextList' not in _M_omero.api.__dict__:
    _M_omero.api._t_EventContextList = IcePy.defineSequence('::omero::api::EventContextList', (), _M_omero.sys._t_EventContext)

if '_t_BoolArray' not in _M_omero.api.__dict__:
    _M_omero.api._t_BoolArray = IcePy.defineSequence('::omero::api::BoolArray', (), IcePy._t_bool)

if '_t_ByteArray' not in _M_omero.api.__dict__:
    _M_omero.api._t_ByteArray = IcePy.defineSequence('::omero::api::ByteArray', (), IcePy._t_byte)

if '_t_ShortArray' not in _M_omero.api.__dict__:
    _M_omero.api._t_ShortArray = IcePy.defineSequence('::omero::api::ShortArray', (), IcePy._t_short)

if '_t_IntegerArray' not in _M_omero.api.__dict__:
    _M_omero.api._t_IntegerArray = IcePy.defineSequence('::omero::api::IntegerArray', (), IcePy._t_int)

if '_t_LongArray' not in _M_omero.api.__dict__:
    _M_omero.api._t_LongArray = IcePy.defineSequence('::omero::api::LongArray', (), IcePy._t_long)

if '_t_FloatArray' not in _M_omero.api.__dict__:
    _M_omero.api._t_FloatArray = IcePy.defineSequence('::omero::api::FloatArray', (), IcePy._t_float)

if '_t_DoubleArray' not in _M_omero.api.__dict__:
    _M_omero.api._t_DoubleArray = IcePy.defineSequence('::omero::api::DoubleArray', (), IcePy._t_double)

if '_t_StringArray' not in _M_omero.api.__dict__:
    _M_omero.api._t_StringArray = IcePy.defineSequence('::omero::api::StringArray', (), IcePy._t_string)

if '_t_ByteArrayArray' not in _M_omero.api.__dict__:
    _M_omero.api._t_ByteArrayArray = IcePy.defineSequence('::omero::api::ByteArrayArray', (), _M_omero.api._t_ByteArray)

if '_t_ShortArrayArray' not in _M_omero.api.__dict__:
    _M_omero.api._t_ShortArrayArray = IcePy.defineSequence('::omero::api::ShortArrayArray', (), _M_omero.api._t_ShortArray)

if '_t_IntegerArrayArray' not in _M_omero.api.__dict__:
    _M_omero.api._t_IntegerArrayArray = IcePy.defineSequence('::omero::api::IntegerArrayArray', (), _M_omero.api._t_IntegerArray)

if '_t_IntegerArrayArrayArray' not in _M_omero.api.__dict__:
    _M_omero.api._t_IntegerArrayArrayArray = IcePy.defineSequence('::omero::api::IntegerArrayArrayArray', (), _M_omero.api._t_IntegerArrayArray)

if '_t_LongArrayArray' not in _M_omero.api.__dict__:
    _M_omero.api._t_LongArrayArray = IcePy.defineSequence('::omero::api::LongArrayArray', (), _M_omero.api._t_LongArray)

if '_t_FloatArrayArray' not in _M_omero.api.__dict__:
    _M_omero.api._t_FloatArrayArray = IcePy.defineSequence('::omero::api::FloatArrayArray', (), _M_omero.api._t_FloatArray)

if '_t_FloatArrayArrayArray' not in _M_omero.api.__dict__:
    _M_omero.api._t_FloatArrayArrayArray = IcePy.defineSequence('::omero::api::FloatArrayArrayArray', (), _M_omero.api._t_FloatArrayArray)

if '_t_DoubleArrayArray' not in _M_omero.api.__dict__:
    _M_omero.api._t_DoubleArrayArray = IcePy.defineSequence('::omero::api::DoubleArrayArray', (), _M_omero.api._t_DoubleArray)

if '_t_DoubleArrayArrayArray' not in _M_omero.api.__dict__:
    _M_omero.api._t_DoubleArrayArrayArray = IcePy.defineSequence('::omero::api::DoubleArrayArrayArray', (), _M_omero.api._t_DoubleArrayArray)

if '_t_StringArrayArray' not in _M_omero.api.__dict__:
    _M_omero.api._t_StringArrayArray = IcePy.defineSequence('::omero::api::StringArrayArray', (), _M_omero.api._t_StringArray)

if '_t_RTypeDictArray' not in _M_omero.api.__dict__:
    _M_omero.api._t_RTypeDictArray = IcePy.defineSequence('::omero::api::RTypeDictArray', (), _M_omero._t_RTypeDict)

if '_t_LongStringMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_LongStringMap = IcePy.defineDictionary('::omero::api::LongStringMap', (), IcePy._t_long, IcePy._t_string)

if '_t_LongIntMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_LongIntMap = IcePy.defineDictionary('::omero::api::LongIntMap', (), IcePy._t_long, IcePy._t_int)

if '_t_LongByteArrayMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_LongByteArrayMap = IcePy.defineDictionary('::omero::api::LongByteArrayMap', (), IcePy._t_long, _M_omero.api._t_ByteArray)

if '_t_LongPixelsMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_LongPixelsMap = IcePy.defineDictionary('::omero::api::LongPixelsMap', (), IcePy._t_long, _M_omero.model._t_Pixels)

if '_t_IntStringMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_IntStringMap = IcePy.defineDictionary('::omero::api::IntStringMap', (), IcePy._t_int, IcePy._t_string)

if '_t_IntegerIntegerArrayMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_IntegerIntegerArrayMap = IcePy.defineDictionary('::omero::api::IntegerIntegerArrayMap', (), IcePy._t_int, _M_omero.api._t_IntegerArray)

if '_t_IntegerDoubleArrayMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_IntegerDoubleArrayMap = IcePy.defineDictionary('::omero::api::IntegerDoubleArrayMap', (), IcePy._t_int, _M_omero.api._t_DoubleArray)

if '_t_StringRTypeMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_StringRTypeMap = IcePy.defineDictionary('::omero::api::StringRTypeMap', (), IcePy._t_string, _M_omero._t_RType)

if '_t_UserMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_UserMap = IcePy.defineDictionary('::omero::api::UserMap', (), IcePy._t_string, _M_omero.model._t_Experimenter)

if '_t_OriginalFileMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_OriginalFileMap = IcePy.defineDictionary('::omero::api::OriginalFileMap', (), IcePy._t_string, _M_omero.model._t_OriginalFile)

if '_t_StringStringMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_StringStringMap = IcePy.defineDictionary('::omero::api::StringStringMap', (), IcePy._t_string, IcePy._t_string)

if '_t_StringRStringMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_StringRStringMap = IcePy.defineDictionary('::omero::api::StringRStringMap', (), IcePy._t_string, _M_omero._t_RString)

if '_t_StringStringArrayMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_StringStringArrayMap = IcePy.defineDictionary('::omero::api::StringStringArrayMap', (), IcePy._t_string, _M_omero.api._t_StringArray)

if '_t_StringLongMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_StringLongMap = IcePy.defineDictionary('::omero::api::StringLongMap', (), IcePy._t_string, IcePy._t_long)

if '_t_StringIntMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_StringIntMap = IcePy.defineDictionary('::omero::api::StringIntMap', (), IcePy._t_string, IcePy._t_int)

if 'LongPair' not in _M_omero.api.__dict__:
    _M_omero.api.LongPair = Ice.createTempClass()
    class LongPair(object):
        def __init__(self, first=0, second=0):
            self.first = first
            self.second = second

        def __hash__(self):
            _h = 0
            _h = 5 * _h + Ice.getHash(self.first)
            _h = 5 * _h + Ice.getHash(self.second)
            return _h % 0x7fffffff

        def __compare(self, other):
            if other is None:
                return 1
            elif not isinstance(other, _M_omero.api.LongPair):
                return NotImplemented
            else:
                if self.first is None or other.first is None:
                    if self.first != other.first:
                        return (-1 if self.first is None else 1)
                else:
                    if self.first < other.first:
                        return -1
                    elif self.first > other.first:
                        return 1
                if self.second is None or other.second is None:
                    if self.second != other.second:
                        return (-1 if self.second is None else 1)
                else:
                    if self.second < other.second:
                        return -1
                    elif self.second > other.second:
                        return 1
                return 0

        def __lt__(self, other):
            r = self.__compare(other)
            if r is NotImplemented:
                return r
            else:
                return r < 0

        def __le__(self, other):
            r = self.__compare(other)
            if r is NotImplemented:
                return r
            else:
                return r <= 0

        def __gt__(self, other):
            r = self.__compare(other)
            if r is NotImplemented:
                return r
            else:
                return r > 0

        def __ge__(self, other):
            r = self.__compare(other)
            if r is NotImplemented:
                return r
            else:
                return r >= 0

        def __eq__(self, other):
            r = self.__compare(other)
            if r is NotImplemented:
                return r
            else:
                return r == 0

        def __ne__(self, other):
            r = self.__compare(other)
            if r is NotImplemented:
                return r
            else:
                return r != 0

        def __str__(self):
            return IcePy.stringify(self, _M_omero.api._t_LongPair)

        __repr__ = __str__

    _M_omero.api._t_LongPair = IcePy.defineStruct('::omero::api::LongPair', LongPair, (), (
        ('first', (), IcePy._t_long),
        ('second', (), IcePy._t_long)
    ))

    _M_omero.api.LongPair = LongPair
    del LongPair

if '_t_LongPairLongMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_LongPairLongMap = IcePy.defineDictionary('::omero::api::LongPairLongMap', (), _M_omero.api._t_LongPair, IcePy._t_long)

if '_t_LongPairIntMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_LongPairIntMap = IcePy.defineDictionary('::omero::api::LongPairIntMap', (), _M_omero.api._t_LongPair, IcePy._t_int)

if '_t_LongPairToStringLongMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_LongPairToStringLongMap = IcePy.defineDictionary('::omero::api::LongPairToStringLongMap', (), _M_omero.api._t_LongPair, _M_omero.api._t_StringLongMap)

if '_t_LongPairToStringIntMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_LongPairToStringIntMap = IcePy.defineDictionary('::omero::api::LongPairToStringIntMap', (), _M_omero.api._t_LongPair, _M_omero.api._t_StringIntMap)

if '_t_IdListMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_IdListMap = IcePy.defineDictionary('::omero::api::IdListMap', (), IcePy._t_string, _M_Ice._t_LongSeq)

if '_t_StringLongListMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_StringLongListMap = IcePy.defineDictionary('::omero::api::StringLongListMap', (), IcePy._t_string, _M_omero.api._t_LongList)

if '_t_BooleanLongListMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_BooleanLongListMap = IcePy.defineDictionary('::omero::api::BooleanLongListMap', (), IcePy._t_bool, _M_omero.api._t_LongList)

if '_t_BooleanIdListMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_BooleanIdListMap = IcePy.defineDictionary('::omero::api::BooleanIdListMap', (), IcePy._t_bool, _M_omero.sys._t_LongList)

if '_t_IObjectListMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_IObjectListMap = IcePy.defineDictionary('::omero::api::IObjectListMap', (), IcePy._t_string, _M_omero.api._t_IObjectList)

if '_t_LongIObjectListMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_LongIObjectListMap = IcePy.defineDictionary('::omero::api::LongIObjectListMap', (), IcePy._t_long, _M_omero.api._t_IObjectList)

if '_t_StringShapeListMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_StringShapeListMap = IcePy.defineDictionary('::omero::api::StringShapeListMap', (), IcePy._t_string, _M_omero.api._t_ShapeList)

if '_t_LongShapeListMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_LongShapeListMap = IcePy.defineDictionary('::omero::api::LongShapeListMap', (), IcePy._t_long, _M_omero.api._t_ShapeList)

if '_t_IntShapeListMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_IntShapeListMap = IcePy.defineDictionary('::omero::api::IntShapeListMap', (), IcePy._t_int, _M_omero.api._t_ShapeList)

if '_t_LongAnnotationListMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_LongAnnotationListMap = IcePy.defineDictionary('::omero::api::LongAnnotationListMap', (), IcePy._t_long, _M_omero.api._t_AnnotationList)

if '_t_IdBooleanLongListMapMap' not in _M_omero.api.__dict__:
    _M_omero.api._t_IdBooleanLongListMapMap = IcePy.defineDictionary('::omero::api::IdBooleanLongListMapMap', (), IcePy._t_long, _M_omero.api._t_BooleanLongListMap)

# End of module omero.api

__name__ = 'omero'

# End of module omero
