[vwnc] StoreGlorp version for VW 7.6

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

[vwnc] StoreGlorp version for VW 7.6

Andres Fortier-2
Hi list. I'm trying to use the store (glorp) replicator without any
luck. I've been tracking old emails for the right version to load (I'm
using VW 7.6) and I found on an October 2008 e mail the right version
for a 7.6 image was StoreGlorp (2.4 77.2,aknight). However loading that
version (and adding by hand after the #setLogin: message to the
ExternalDatabaseConnection class) results in a mnu (see stack below).
Could someone please tell me which version of StoreGlorp should I use
for a 7.6 image?

Thanks,
Andrés

The error below appears when trying to log to a repository, either in
the workbook or the replicator.

Unhandled exception: Message not understood: #prepareWithoutBinding:
PostgreSQLEXDISession(Object)>>doesNotUnderstand:
Glorp.VWDatabaseAccessor>>newPreparedStatementFor:
Glorp.VWDatabaseAccessor>>basicExecuteSQLString:returnResult:binding:doing:
Glorp.VWDatabaseAccessor>>basicExecuteSQLString:binding:
Glorp.VWDatabaseAccessor>>basicExecuteSQLString:
optimized [] in Glorp.DatabaseAccessor>>executeSQLString:
Glorp.VWDatabaseAccessor(Glorp.DatabaseAccessor)>>executeSQLString:
Glorp.StoreLoginFactory class>>setPostgresqlSessionToUnicode:
Glorp.StoreLoginFactory class>>sessionForLogin:
Glorp.StoreLoginFactory class>>sessionForStoreLogin:
Glorp.UI.StoreWorkbook(Glorp.UI.GlorpWorkbook)>>on:
Glorp.UI.StoreWorkbook class(Glorp.UI.GlorpWorkbook class)>>on:
Glorp.UI.StoreWorkbook class(Glorp.UI.GlorpWorkbook
class)>>openRequestingDatabase
VisualLauncher>>openStoreForGlorpWorkbook
WinXPMenuBarButtonController(MenuBarButtonController)>>dispatchMenuSymbol:
WinXPMenuBarButtonController(MenuBarButtonController)>>dispatchMenuSelection:
optimized [] in Win95MenuBarButtonController>>menuBarActionForMenu:
BlockClosure>>ensure:
WinXPMenuBarButtonController(Win95MenuBarButtonController)>>menuBarActionForMenu:
WinXPMenuBarButtonController(MenuBarButtonController)>>menuBarAction
WinXPMenuBarButtonController(MenuBarButtonController)>>redButtonPressedEvent:
RedButtonPressedEvent>>dispatchTo:
WinXPMenuBarButtonController(Controller)>>handleEvent:
EventDispatcher>>dispatch:to:
EventDispatcher>>dispatchEvent:
RedButtonPressedEvent(Event)>>dispatch
RedButtonPressedEvent(Event)>>dispatchForWindowManager:
optimized [] in WindowManager>>safelyDispatchForWindowManager:
BlockClosure>>on:do:
WindowManager>>safelyDispatchForWindowManager:
WindowManager>>processNextEvent
optimized [] in [] in WindowManager>>newProcess
BlockClosure>>on:do:
optimized [] in WindowManager>>newProcess
BlockClosure>>on:do:
optimized [] in Process class>>forBlock:priority:

----------------------------------------------------------------------
PostgreSQLEXDISession(Object)>>doesNotUnderstand:
Receiver:
        a PostgreSQLEXDISession
Instance Variables:
        stateHolder = a ValueHolder on: #new
        traceStream = nil
        traceLevel = 0
        participants = a WeakArray[0]
        participantsSemaphore = a RecursionLock
        connection = a PostgreSQLEXDIConnection
        query = nil
        queryFragments = nil
        bindInput = nil
        bindTemplate = nil
        bindOutput = nil
        useNamedOutputBinding = false
        bindValues = nil
        resultTemplate = nil
        allocateForEachRow = true
        blockFactor = 5
        numColumns = nil
        columnDescriptions = nil
        rowAdaptors = nil
        rowBuffersHolder = a ValueHolder on: nil
        bufferIndex = nil
        answerStream = nil
        currentRow = nil
        scrollable = false
        rowStream = nil
        currentPostgresRow = nil
        noticeResponsesAreSuppressed = nil
        resultList = nil
        translationsFromPostgres = nil
Arguments:
        aMessage = a Message with selector: #prepareWithoutBinding: and
arguments: #('SHOW CLIENT_ENCODING')
Temporaries:
        excpt = a MessageNotUnderstood
        resumeValue = nil
Context PC = 25

----------------------------------------------------------------------
Glorp.VWDatabaseAccessor>>newPreparedStatementFor:
Receiver:
        a Glorp.VWDatabaseAccessor
Instance Variables:
        connection = a PostgreSQLEXDIConnection
        currentLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
        logging = false
        reusePreparedStatements = true
        deniedCommands = nil
        mutex = a Semaphore[0]
        dependents = nil
        driverSession = nil
        preparedStatements = a Glorp.CacheManager
Arguments:
        aCommand = a Glorp.SQLStringCommand
Temporaries:
        newSession = a PostgreSQLEXDISession
Context PC = 19

----------------------------------------------------------------------
Glorp.VWDatabaseAccessor>>basicExecuteSQLString:returnResult:binding:doing:
Receiver:
        a Glorp.VWDatabaseAccessor
Instance Variables:
        connection = a PostgreSQLEXDIConnection
        currentLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
        logging = false
        reusePreparedStatements = true
        deniedCommands = nil
        mutex = a Semaphore[0]
        dependents = nil
        driverSession = nil
        preparedStatements = a Glorp.CacheManager
Arguments:
        aString = 'SHOW CLIENT_ENCODING'
        returnResult = true
        aBindingArray = nil
        aBlock = BlockClosure [] in
Glorp.VWDatabaseAccessor>>basicExecuteSQLString:binding:
Temporaries:
        answerStream = nil
        command = a Glorp.SQLStringCommand
        statement = nil
        session = nil
        cursor = nil
Context PC = 39

----------------------------------------------------------------------
Glorp.VWDatabaseAccessor>>basicExecuteSQLString:binding:
Receiver:
        a Glorp.VWDatabaseAccessor
Instance Variables:
        connection = a PostgreSQLEXDIConnection
        currentLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
        logging = false
        reusePreparedStatements = true
        deniedCommands = nil
        mutex = a Semaphore[0]
        dependents = nil
        driverSession = nil
        preparedStatements = a Glorp.CacheManager
Arguments:
        aString = 'SHOW CLIENT_ENCODING'
        aBindingArray = nil
Context PC = 8

----------------------------------------------------------------------
Glorp.VWDatabaseAccessor>>basicExecuteSQLString:
Receiver:
        a Glorp.VWDatabaseAccessor
Instance Variables:
        connection = a PostgreSQLEXDIConnection
        currentLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
        logging = false
        reusePreparedStatements = true
        deniedCommands = nil
        mutex = a Semaphore[0]
        dependents = nil
        driverSession = nil
        preparedStatements = a Glorp.CacheManager
Arguments:
        aString = 'SHOW CLIENT_ENCODING'
Context PC = 6

----------------------------------------------------------------------
optimized [] in Glorp.DatabaseAccessor>>executeSQLString:
Receiver:
        an UndefinedObject
Temporaries:
        .super = a Glorp.VWDatabaseAccessor
        .aString = 'SHOW CLIENT_ENCODING'
        result = nil
Context PC = 7

----------------------------------------------------------------------
Glorp.VWDatabaseAccessor(Glorp.DatabaseAccessor)>>executeSQLString:
Receiver:
        a Glorp.VWDatabaseAccessor
Instance Variables:
        connection = a PostgreSQLEXDIConnection
        currentLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
        logging = false
        reusePreparedStatements = true
        deniedCommands = nil
        mutex = a Semaphore[0]
        dependents = nil
        driverSession = nil
        preparedStatements = a Glorp.CacheManager
Arguments:
        aString = 'SHOW CLIENT_ENCODING'
Temporaries:
        result = nil
        block = BlockClosure [] in Glorp.DatabaseAccessor>>executeSQLString:
        time = nil
Context PC = 25

----------------------------------------------------------------------
Glorp.StoreLoginFactory class>>setPostgresqlSessionToUnicode:
Receiver:
        a Glorp.StoreLoginFactory class
Instance Variables:
        superclass = Object
        methodDict = a MethodDictionary[0]
        format = 16384
        subclasses = nil
        instanceVariables = nil
        organization =
        name = #StoreLoginFactory
        classPool = a NameSpaceOfClass[0]
        environment = a NameSpace[267]
Arguments:
        session = a Glorp.GlorpSession
Temporaries:
        encoding = nil
Context PC = 14

----------------------------------------------------------------------
Glorp.StoreLoginFactory class>>sessionForLogin:
Receiver:
        a Glorp.StoreLoginFactory class
Instance Variables:
        superclass = Object
        methodDict = a MethodDictionary[0]
        format = 16384
        subclasses = nil
        instanceVariables = nil
        organization =
        name = #StoreLoginFactory
        classPool = a NameSpaceOfClass[0]
        environment = a NameSpace[267]
Arguments:
        aLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
Temporaries:
        session = a Glorp.GlorpSession
        system = a Glorp.StoreDescriptorSystem
Context PC = 45

----------------------------------------------------------------------
Glorp.StoreLoginFactory class>>sessionForStoreLogin:
Receiver:
        a Glorp.StoreLoginFactory class
Instance Variables:
        superclass = Object
        methodDict = a MethodDictionary[0]
        format = 16384
        subclasses = nil
        instanceVariables = nil
        organization =
        name = #StoreLoginFactory
        classPool = a NameSpaceOfClass[0]
        environment = a NameSpace[267]
Arguments:
        aStoreConnectionProfile = a Store.ConnectionProfile
Temporaries:
        aLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
Context PC = 10

----------------------------------------------------------------------
Glorp.UI.StoreWorkbook(Glorp.UI.GlorpWorkbook)>>on:
Receiver:
        a Glorp.UI.StoreWorkbook
Instance Variables:
        dependents = nil
        builder = nil
        uiSession = nil
        eventHandlers = nil
        locals = a WorkspaceVariablePool[0]
        importAll = true
        specificImports = an Array[3]
        importSummaryHolder = a ValueHolder on: 'All'
        pageExplanationHolder = nil
        statusBarVisible = true
        encodingChannel = a ValueHolder on: #Source
        menuBarHolder = nil
        pageHolder = a SelectionInList
        lastInstalledPage = nil
        session = nil
Arguments:
        aConnectionProfile = a Store.ConnectionProfile
Context PC = 4

----------------------------------------------------------------------
Glorp.UI.StoreWorkbook class(Glorp.UI.GlorpWorkbook class)>>on:
Receiver:
        a Glorp.UI.StoreWorkbook class
Instance Variables:
        superclass = Glorp.UI.GlorpWorkbook
        methodDict = a MethodDictionary[0]
        format = 16399
        subclasses = nil
        instanceVariables = nil
        organization =
        name = #StoreWorkbook
        classPool = a NameSpaceOfClass[0]
        environment = a NameSpace[12]
        savedWindowInformation = nil
Arguments:
        aConnectionProfile = a Store.ConnectionProfile
Context PC = 7

----------------------------------------------------------------------
Glorp.UI.StoreWorkbook class(Glorp.UI.GlorpWorkbook
class)>>openRequestingDatabase
Receiver:
        a Glorp.UI.StoreWorkbook class
Instance Variables:
        superclass = Glorp.UI.GlorpWorkbook
        methodDict = a MethodDictionary[0]
        format = 16399
        subclasses = nil
        instanceVariables = nil
        organization =
        name = #StoreWorkbook
        classPool = a NameSpaceOfClass[0]
        environment = a NameSpace[12]
        savedWindowInformation = nil
Temporaries:
        login = a Store.ConnectionProfile
Context PC = 13

----------------------------------------------------------------------
VisualLauncher>>openStoreForGlorpWorkbook
Receiver:
        a VisualLauncher
Instance Variables:
        dependents = an ApplicationWindow 60817437
        builder = an UIBuilder
        uiSession = a ControlManager
        eventHandlers = nil
        menuBar = a Menu
        toolBar = a ValueHolder on: a Menu
        textCollector = a TextCollector on: Text for '
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
Render!
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
FalseTermination Request
Terminated?
Resume
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Termination Request
Terminated?
Resume
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Termination Request
Terminated?
Resume
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Termination Request
Terminated?

Global garbage collection (please wait)...
reclaimed 181.12 Mbytes of data and 0 OTEntries in 1.1 sec.
heap shrunk by 175.75 Mbytes
69.63 Mbytes total; 57.57 Mbytes used, 12.06 Mbytes free.
Resume
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Termination Request
Terminated?
  (MiniGL.FramerateStrategy class #DoIt - shouldRender is undeclared)
(MiniGL.FramerateStrategy class #DoIt - realFramerate is undeclared)
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
9, 2009 10:54:18 amResume
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Termination Request
Terminated?

/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
9, 2009 10:57:29 am
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
9, 2009 10:57:32 am
Global garbage collection (please wait)...
reclaimed 0.01 Mbytes of data and 0 OTEntries in 0.4 sec.
heap shrunk by 1.0 Mbytes
66.28 Mbytes total; 57.62 Mbytes used, 8.66 Mbytes free.
  ({MiniGL.CameraViewingVolume} - clippingCone is undeclared)
({MiniGL.CameraViewingVolume} - clippingSphere is undeclared)
({MiniGL.RenderingContext} - cameraOrigin is undeclared)
({MiniGL.RenderingContext} - clippingFrustum is undeclared)
({MiniGL.RenderingContext} - clippingBox is undeclared)
(MiniGL.RenderingContext class #DoIt - clippingVolume is undeclared)
(AABBInternalNode class #DoIt - aRenderingContext is undeclared)
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
9, 2009 11:10:09 am
Scanning /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.cha
(UndefinedObject #DoIt - undeclaredSoftLink)  (UndefinedObject #DoIt -
undeclaredSoftLink)  (UndefinedObject #DoIt - undeclaredSoftLink)
(UndefinedObject #DoIt - undeclaredSoftLink)  (UndefinedObject #DoIt -
undeclaredSoftLink)
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Syntax error: Nothing more expected ->
Bad character
Bad character
Bad character
Bad character
Bad character (UndefinedObject #DoIt - pkg - redeclaredBlockArg)
Bad character
Bad character
Bad character
Bad character
Bad character (UndefinedObject #DoIt - pkg - redeclaredBlockArg)
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character (UndefinedObject #DoIt - pkg_1 - redeclaredBlockArg)
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character (UndefinedObject #DoIt - pkg_1 - redeclaredBlockArg)
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character (UndefinedObject #DoIt - DefaultAuthor is undeclared)
(UndefinedObject #DoIt - DefaultMail is undeclared)
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
9, 2009 11:22:50 am ({MiniGL.Animation} - framesPerSecond is undeclared)
  ({MiniGL.Animation} - block is undeclared)  (MiniGL.Animation class
#DoIt - anIdleInterval is undeclared)  (MiniGL.Animation class #DoIt -
new is undeclared)  (MiniGL.Animation class #DoIt - milliseconds is
undeclared)  (MiniGL.Animation class #DoIt - animationStep is
undeclared)  (MiniGL.Animation class #DoIt - sefl is undeclared)
(MiniGL.BlockAnimation class #DoIt - aBlock is undeclared)
({MiniGL.Scene} - root is undeclared)  (MiniGL.Animation class #DoIt -
doAnimationStep is undeclared)  (MiniGL.Scene class #DoIt - boundingBox
is undeclared)  (MiniGL.Scene class #DoIt - aRenderingContext is
undeclared)  (MiniGL.OpenGLObject class #DoIt - aDelta is undeclared)
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
9, 2009 11:53:58 am (MiniGL.MiniGLFunctionalTests class #DoIt -
projection is undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt -
triangle is undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt -
scene is undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt -
addEffect is undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt -
green is undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt -
negated is undeclared)
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
9, 2009 12:00:24 pm (MiniGL.MiniGLFunctionalTests class #DoIt - camera
is undeclared)  (MiniGL.Animation class #DoIt - performed is undeclared)

An error occurred while sending menu state message #hasClassSelected in
a menu of a Refactory.Browser.RefactoringBrowser. Answering true.
To debug such errors, evaluate the following expression:
        UI.Menu suppressMenuDispatchErrors: false.
To revert to printing transcript warnings instead of opening the
debugger, evaluate:
        UI.Menu suppressMenuDispatchErrors: true.
Global garbage collection (please wait)...
reclaimed 0.04 Mbytes of data and 0 OTEntries in 0.2 sec.
67.47 Mbytes total; 58.99 Mbytes used, 8.48 Mbytes free.

/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
9, 2009 12:06:31 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
9, 2009 12:11:11 pm (MiniGL.MiniGLFunctionalTests class #DoIt - red is
undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt - blue is
undeclared)
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
9, 2009 3:42:53 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
9, 2009 3:44:07 pm (MiniGL.MiniGLFunctionalTests class #DoIt - new is
undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt - t1 is
undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt - scene is
undeclared)
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
9, 2009 5:27:23 pm (MiniGL.MiniGLFunctionalTests class #DoIt - p3 is
undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt - green is
undeclared)
Compacting garbage collection (please wait)...
reclaimed 12.2 Mbytes of data and 0 OTEntries in 0.1 sec.
heap shrunk by 15.91 Mbytes
66.03 Mbytes total; 57.39 Mbytes used, 8.64 Mbytes free.

Global garbage collection (please wait)...
reclaimed 12.35 Mbytes of data and 0 OTEntries in 0.5 sec.
heap shrunk by 9.47 Mbytes
72.49 Mbytes total; 57.35 Mbytes used, 15.13 Mbytes free.

/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
9, 2009 5:34:40 pm (MiniGL.SameSceneManyViewportsFunctionalTests class
#DoIt - triangles is undeclared)
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
11, 2009 12:32:24 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
11, 2009 12:32:38 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
11, 2009 12:35:07 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
11, 2009 12:35:58 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
11, 2009 12:37:07 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
11, 2009 12:37:42 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
11, 2009 12:38:40 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
11, 2009 12:40:03 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
11, 2009 12:42:30 pm
Global garbage collection (please wait)...
reclaimed 0.17 Mbytes of data and 0 OTEntries in 0.3 sec.
heap shrunk by 3.44 Mbytes
77.32 Mbytes total; 68.69 Mbytes used, 8.62 Mbytes free.
  (MiniGL.X11Window class #DoIt - ifTrue is undeclared)
(MiniGL.X11Window class #DoIt - renderingContextHandle is undeclared)
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
11, 2009 3:48:15 pm
MiniGLFunctionalTests class>windowSpec defined
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
13, 2009 3:37:34 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
17, 2009 8:56:10 am
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
19, 2009 5:31:45 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at April
29, 2009 8:31:32 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at May
7, 2009 7:45:10 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at June
8, 2009 11:35:02 am
Creating table for TW_ClassRecord
Creating table for TW_NameSpaceRecord
Creating table for TW_Package
Creating table for TW_ParcelRecord
Creating table for TW_PkgClasses
Creating table for TW_PkgNameSpaces
Creating table for TW_Method
Creating table for TW_Methods
Creating table for TW_Blob
Creating table for TW_BinaryBlob
Creating table for TW_Blessing
Creating table for TW_Bundle
Creating table for TW_Bundles
Creating table for TW_Packages
Creating table for TW_DataElement
Creating table for TW_Data
Creating table for TW_DatabaseIdentifier
Creating table for TW_Files
Creating table for TW_FileRecord
Creating table for TW_Properties
Creating table for TW_PropertyRecord
Creating table for TW_MethodDocs
Done!
Creating table for TW_DBUserGroup
Creating table for TW_DBPundlePrivileges
Done!
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at June
8, 2009 11:38:44 am
Loading MiniGL . . .Done

/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at June
9, 2009 5:25:43 pm
Loading StoreGlorp . . . (ProtoObject class #toolListIcon -
BehaviorIcons is undeclared)  (BlockClosure #asGlorpExpressionOn: -
MessageArchiver is undeclared)  (BlockClosure
#asGlorpExpressionForDescriptor: - BaseExpression is undeclared)
(Glorp.VariableJoin #isConstant: - DatabaseField is undeclared)
(Glorp.SubstringFunction #rewriteFunctionArgumentsWith: -
PostgreSQLPlatform is undeclared)  (Glorp.SimpleQuery #sql: -
SQLStringSelectCommand is undeclared)  (Glorp.ElementBuilder -
notOptimized)  (Collection #writeStream - AddingWriteStream is
undeclared)  (Association - notOptimized)  (Association - notOptimized)
  (Glorp.GlorpClobType #requiresCast - SQLServerPlatform is undeclared)
  (Glorp.DatabaseAccessor - notOptimized)  (Glorp.DatabaseRow -
notOptimized)  (Glorp.DatabaseRow - notOptimized)
(Glorp.DatabasePlatform #readTimeFromStream:for: - timeZoneOffset -
neverRead)  (Glorp.StoreDescriptorSystem #validateRows: - methodTrace -
neverRead)  (Glorp.Store73DescriptorSystem #tableForTW_METHOD: -
commentId - neverUsed)  (Glorp.Store73DescriptorSystem
#descriptorForStoreMethod: - table - neverRead)
(Refactory.Browser.StoreForGlorpBrowserEnvironment - notOptimized)
(Refactory.Browser.StoreForGlorpBrowserEnvironment - notOptimized)
(Refactory.Browser.StoreForGlorpBrowserEnvironment - notOptimized)
(Glorp.StorePundle #asBrowserEnvironment -
StoreForGlorpBrowserEnvironment is undeclared)  (Glorp.StorePundle
#browseContents - RefactoringBrowser is undeclared)  (Glorp.StorePundle
#browseContents - StoreForGlorpNavigatorState is undeclared)
(Glorp.StoreClassDefinitionInPackage #instVarNames - ExecuteCodeChange
is undeclared)  (Glorp.RenamingRule class #replicateAs75 -
undeclaredSoftLink)  (Glorp.RenamingRule class #replicateAs75 -
undeclaredSoftLink)  (Glorp.RenamingRule class #replicateAs76 -
undeclaredSoftLink)  (Glorp.RenamingRule class #replicateAs76 -
undeclaredSoftLink)  (Glorp.StoreReplicationManager
#evaluateInMemoryBundleConditions - bundleConditions - neverRead)
(Glorp.UI.MetadataWorkbook #on: - MetadataDescriptorSystem is
undeclared)  (Glorp.UI.StoreForGlorpPublishPundleDialog #accept -
GlorpQueryPerformanceAnalyzer is undeclared)
(AbsentClassImporterMetaclass #asStoreClassDefinition -
StoreClassDefinition is undeclared)  (Store.Package
#storeForGlorpPundleClass - StorePackage is undeclared)
(OverridenStatic #asStoreSharedVariable - StoreSharedVariable is
undeclared)  (Refactory.Browser.BrowserNavigator
#browseClassVersionsFor:in: - StoreMethodInPackage is undeclared)
(Refactory.Browser.BrowserNavigator #browseClassVersionsFor:in: - Query
is undeclared)  (Refactory.Browser.BrowserNavigator
#browseClassVersionsFor:in: - StoreMethod is undeclared)
(Refactory.Browser.BrowserNavigator #browseClassVersionsFor:in: -
StoreClassDefinitionInPackage is undeclared)
(Refactory.Browser.BrowserNavigator #glorpWhatVersionIsThis -
StoreLoginFactory is undeclared)  (Refactory.Browser.BrowserNavigator
#glorpPublish - StoreForGlorpPublishPundleDialog is undeclared)
(Refactory.Browser.BrowserNavigator #glorpPublish -
StoreForGlorpPublishPackageDialog is undeclared)  (VisualLauncher
#isAutoReplicationON - StoreAutoReplicatorSystem is undeclared)
(VisualLauncher #openStoreForGlorpWorkbook - StoreWorkbook is
undeclared)  (Store.PundleModel #stripIgnorablePropertiesToMatch: -
StorePundle is undeclared)  (Store.PundleModel
#publishTo:parent:versionName:blessingLevel:blessingComment: -
StoreBundle is undeclared)  (Store.PundleModel
#publishTo:parent:versionName:blessingLevel:blessingComment: -
StorePundleWriter is undeclared)  (Store.PundleModel
#publishTo:parent:versionName:blessingLevel:blessingComment: -
StoreBlessing is undeclared)  (Store.PundleModel
#publishTo:parent:versionName:blessingLevel:blessingComment: - Dialect
is undeclared)  (CompiledMethod #asStoreMethodDefinitionWithoutProtocol
- AdHocProxy is undeclared)  (CompiledMethod
#asStoreMethodDefinitionWithoutProtocol - StoreBlob is undeclared)
(OverridenNameSpace #asStoreNameSpace - StoreNameSpace is undeclared)
(Store.BundleModel
#asStorePundleIn:returnOriginalIfUnmodified:includeUninstalled: -
StoreFile is undeclared)  (Store.PackageBrowserHelper
#mergePundleVersionGlorp - GlorpMergeTool is undeclared)
(Store.PackageBrowserHelper #mergePundleVersionGlorp -
StoreForGlorpMergeData is undeclared) Done
'
        toolDock = a VisualLauncherToolDock
Context PC = 3

----------------------------------------------------------------------
WinXPMenuBarButtonController(MenuBarButtonController)>>dispatchMenuSymbol:
Receiver:
        a WinXPMenuBarButtonController
Instance Variables:
        model = nil
        view = a WinXPMenuBarButtonView
        sensor = a TranslatingSensor
        highlightOnOpen = false
Arguments:
        menuSelection = #openStoreForGlorpWorkbook
Context PC = 38

----------------------------------------------------------------------
WinXPMenuBarButtonController(MenuBarButtonController)>>dispatchMenuSelection:
Receiver:
        a WinXPMenuBarButtonController
Instance Variables:
        model = nil
        view = a WinXPMenuBarButtonView
        sensor = a TranslatingSensor
        highlightOnOpen = false
Arguments:
        menuSelection = #openStoreForGlorpWorkbook
Context PC = 21

----------------------------------------------------------------------
optimized [] in Win95MenuBarButtonController>>menuBarActionForMenu:
Receiver:
        an UndefinedObject
Temporaries:
        valueResult = a MenuItem 'Store Workbook... (Glorp)'
        menuView = a WinXPMenuView
        .super = a WinXPMenuBarButtonController
        .aMenu = a Menu
Context PC = 55

----------------------------------------------------------------------
BlockClosure>>ensure:
Receiver:
        a BlockClosure
Instance Variables:
        method = CompiledBlock [] in
Win95MenuBarButtonController>>menuBarActionForMenu:
        outerContext = nil
        copiedValues = an Array[2]
Arguments:
        aBlock = BlockClosure [] in
Win95MenuBarButtonController>>menuBarActionForMenu:
Temporaries:
        result = nil
Context PC = 4

----------------------------------------------------------------------
WinXPMenuBarButtonController(Win95MenuBarButtonController)>>menuBarActionForMenu:
Receiver:
        a WinXPMenuBarButtonController
Instance Variables:
        model = nil
        view = a WinXPMenuBarButtonView
        sensor = a TranslatingSensor
        highlightOnOpen = false
Arguments:
        aMenu = a Menu
Temporaries:
        performer = a VisualLauncher
Context PC = 31

----------------------------------------------------------------------
WinXPMenuBarButtonController(MenuBarButtonController)>>menuBarAction
Receiver:
        a WinXPMenuBarButtonController
Instance Variables:
        model = nil
        view = a WinXPMenuBarButtonView
        sensor = a TranslatingSensor
        highlightOnOpen = false
Temporaries:
        theMenu = a Menu
Context PC = 20

----------------------------------------------------------------------
WinXPMenuBarButtonController(MenuBarButtonController)>>redButtonPressedEvent:
Receiver:
        a WinXPMenuBarButtonController
Instance Variables:
        model = nil
        view = a WinXPMenuBarButtonView
        sensor = a TranslatingSensor
        highlightOnOpen = false
Arguments:
        event = a RedButtonPressedEvent
Context PC = 10

----------------------------------------------------------------------
RedButtonPressedEvent>>dispatchTo:
Receiver:
        a RedButtonPressedEvent
Instance Variables:
        time = 5058656
        initiator = an EventDispatcher
        window = an ApplicationWindow 60817437
        state = 1
        x = 243
        y = 10
        gx = 248
        gy = 61
        buttonNumber = 1
Arguments:
        anObject = a WinXPMenuBarButtonController
Context PC = 4

----------------------------------------------------------------------
WinXPMenuBarButtonController(Controller)>>handleEvent:
Receiver:
        a WinXPMenuBarButtonController
Instance Variables:
        model = nil
        view = a WinXPMenuBarButtonView
        sensor = a TranslatingSensor
        highlightOnOpen = false
Arguments:
        event = a RedButtonPressedEvent
Context PC = 4

----------------------------------------------------------------------
EventDispatcher>>dispatch:to:
Receiver:
        an EventDispatcher
Instance Variables:
        windowController = an ApplicationStandardSystemController
        currentMouseConsumer = nil
        grabbingMouse = false
        keyboardProcessor = a KeyboardProcessor
        lastControlObject = nil
        trapList = nil
        state = nil
        repairDamageWhenDebugging = true
        flushQueueAfterError = true
        distributeEventsWhenDebugging = true
        dragDropInProgress = false
        dragDropTracker = nil
        dispatchUnknownEvents = false
Arguments:
        event = a RedButtonPressedEvent
        object = a WinXPMenuBarButtonController
Temporaries:
        tmp = nil
Context PC = 10

----------------------------------------------------------------------
EventDispatcher>>dispatchEvent:
Receiver:
        an EventDispatcher
Instance Variables:
        windowController = an ApplicationStandardSystemController
        currentMouseConsumer = nil
        grabbingMouse = false
        keyboardProcessor = a KeyboardProcessor
        lastControlObject = nil
        trapList = nil
        state = nil
        repairDamageWhenDebugging = true
        flushQueueAfterError = true
        distributeEventsWhenDebugging = true
        dragDropInProgress = false
        dragDropTracker = nil
        dispatchUnknownEvents = false
Arguments:
        event = a RedButtonPressedEvent
Temporaries:
        objectWantingControl = a WinXPMenuBarButtonController
        targetKeyboardProcessor = nil
Context PC = 113

----------------------------------------------------------------------
RedButtonPressedEvent(Event)>>dispatch
Receiver:
        a RedButtonPressedEvent
Instance Variables:
        time = 5058656
        initiator = an EventDispatcher
        window = an ApplicationWindow 60817437
        state = 1
        x = 243
        y = 10
        gx = 248
        gy = 61
        buttonNumber = 1
Context PC = 16

----------------------------------------------------------------------
RedButtonPressedEvent(Event)>>dispatchForWindowManager:
Receiver:
        a RedButtonPressedEvent
Instance Variables:
        time = 5058656
        initiator = an EventDispatcher
        window = an ApplicationWindow 60817437
        state = 1
        x = 243
        y = 10
        gx = 248
        gy = 61
        buttonNumber = 1
Arguments:
        aWinMgr = a WindowManager
Context PC = 4

----------------------------------------------------------------------
optimized [] in WindowManager>>safelyDispatchForWindowManager:
Receiver:
        an UndefinedObject
Temporaries:
        .event = a RedButtonPressedEvent
        .super = a WindowManager
Context PC = 6

----------------------------------------------------------------------
BlockClosure>>on:do:
Receiver:
        a BlockClosure
Instance Variables:
        method = CompiledBlock [] in WindowManager>>safelyDispatchForWindowManager:
        outerContext = nil
        copiedValues = an Array[2]
Arguments:
        anExceptionSelector = BadControllerError
        handlerBlock = BlockClosure [] in
WindowManager>>safelyDispatchForWindowManager:
Context PC = 18

----------------------------------------------------------------------
WindowManager>>safelyDispatchForWindowManager:
Receiver:
        a WindowManager
Instance Variables:
        windows = an OrderedCollection[1]
        activeController = nil
        interruptLock = false
        outstandingMetaOrDamage = false
        openInProgress = false
        eventQueue = an EventQueue
        baseProcess = a Process in Semaphore>>wait
        dontFilterEvents = false
Arguments:
        event = a RedButtonPressedEvent
Context PC = 13

----------------------------------------------------------------------
WindowManager>>processNextEvent
Receiver:
        a WindowManager
Instance Variables:
        windows = an OrderedCollection[1]
        activeController = nil
        interruptLock = false
        outstandingMetaOrDamage = false
        openInProgress = false
        eventQueue = an EventQueue
        baseProcess = a Process in Semaphore>>wait
        dontFilterEvents = false
Temporaries:
        event = a RedButtonPressedEvent
Context PC = 9

----------------------------------------------------------------------
optimized [] in [] in WindowManager>>newProcess
Receiver:
        an UndefinedObject
Temporaries:
        .super = a WindowManager
Context PC = 13

----------------------------------------------------------------------
BlockClosure>>on:do:
Receiver:
        a BlockClosure
Instance Variables:
        method = CompiledBlock [] in [] in WindowManager>>newProcess
        outerContext = nil
        copiedValues = a WindowManager
Arguments:
        anExceptionSelector = TerminateException
        handlerBlock = BlockClosure [] in [] in WindowManager>>newProcess
Context PC = 18

----------------------------------------------------------------------
optimized [] in WindowManager>>newProcess
Receiver:
        an UndefinedObject
Temporaries:
        .super = a WindowManager
Context PC = 15

----------------------------------------------------------------------
BlockClosure>>on:do:
Receiver:
        a BlockClosure
Instance Variables:
        method = CompiledBlock [] in WindowManager>>newProcess
        outerContext = nil
        copiedValues = a WindowManager
Arguments:
        anExceptionSelector = TerminateException
        handlerBlock = BlockClosure [] in [] in Process class>>forBlock:priority:
Context PC = 18

----------------------------------------------------------------------
optimized [] in Process class>>forBlock:priority:
Receiver:
        an UndefinedObject
Temporaries:
        .aBlock = BlockClosure [] in WindowManager>>newProcess
Context PC = 9
_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] StoreGlorp version for VW 7.6

Stevenson, Dave (contr)
I was told by Cincom support (who were told by Alan) to use the parcel that shipped with 7.6 (which is marked 7.5 beta something...)



>Stevenson, Dave (contr) <[hidden email]>
972-946-4890

-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of andres
Sent: Tuesday, June 09, 2009 3:52 PM
To: VWNC List
Subject: [vwnc] StoreGlorp version for VW 7.6

Hi list. I'm trying to use the store (glorp) replicator without any
luck. I've been tracking old emails for the right version to load (I'm
using VW 7.6) and I found on an October 2008 e mail the right version
for a 7.6 image was StoreGlorp (2.4 77.2,aknight). However loading that
version (and adding by hand after the #setLogin: message to the
ExternalDatabaseConnection class) results in a mnu (see stack below).
Could someone please tell me which version of StoreGlorp should I use
for a 7.6 image?

Thanks,
Andrés

The error below appears when trying to log to a repository, either in
the workbook or the replicator.

Unhandled exception: Message not understood: #prepareWithoutBinding:
PostgreSQLEXDISession(Object)>>doesNotUnderstand:
Glorp.VWDatabaseAccessor>>newPreparedStatementFor:
Glorp.VWDatabaseAccessor>>basicExecuteSQLString:returnResult:binding:doing:
Glorp.VWDatabaseAccessor>>basicExecuteSQLString:binding:
Glorp.VWDatabaseAccessor>>basicExecuteSQLString:
optimized [] in Glorp.DatabaseAccessor>>executeSQLString:
Glorp.VWDatabaseAccessor(Glorp.DatabaseAccessor)>>executeSQLString:
Glorp.StoreLoginFactory class>>setPostgresqlSessionToUnicode:
Glorp.StoreLoginFactory class>>sessionForLogin:
Glorp.StoreLoginFactory class>>sessionForStoreLogin:
Glorp.UI.StoreWorkbook(Glorp.UI.GlorpWorkbook)>>on:
Glorp.UI.StoreWorkbook class(Glorp.UI.GlorpWorkbook class)>>on:
Glorp.UI.StoreWorkbook class(Glorp.UI.GlorpWorkbook
class)>>openRequestingDatabase
VisualLauncher>>openStoreForGlorpWorkbook
WinXPMenuBarButtonController(MenuBarButtonController)>>dispatchMenuSymbol:
WinXPMenuBarButtonController(MenuBarButtonController)>>dispatchMenuSelection:
optimized [] in Win95MenuBarButtonController>>menuBarActionForMenu:
BlockClosure>>ensure:
WinXPMenuBarButtonController(Win95MenuBarButtonController)>>menuBarActionForMenu:
WinXPMenuBarButtonController(MenuBarButtonController)>>menuBarAction
WinXPMenuBarButtonController(MenuBarButtonController)>>redButtonPressedEvent:
RedButtonPressedEvent>>dispatchTo:
WinXPMenuBarButtonController(Controller)>>handleEvent:
EventDispatcher>>dispatch:to:
EventDispatcher>>dispatchEvent:
RedButtonPressedEvent(Event)>>dispatch
RedButtonPressedEvent(Event)>>dispatchForWindowManager:
optimized [] in WindowManager>>safelyDispatchForWindowManager:
BlockClosure>>on:do:
WindowManager>>safelyDispatchForWindowManager:
WindowManager>>processNextEvent
optimized [] in [] in WindowManager>>newProcess
BlockClosure>>on:do:
optimized [] in WindowManager>>newProcess
BlockClosure>>on:do:
optimized [] in Process class>>forBlock:priority:

----------------------------------------------------------------------
PostgreSQLEXDISession(Object)>>doesNotUnderstand:
Receiver:
        a PostgreSQLEXDISession
Instance Variables:
        stateHolder = a ValueHolder on: #new
        traceStream = nil
        traceLevel = 0
        participants = a WeakArray[0]
        participantsSemaphore = a RecursionLock
        connection = a PostgreSQLEXDIConnection
        query = nil
        queryFragments = nil
        bindInput = nil
        bindTemplate = nil
        bindOutput = nil
        useNamedOutputBinding = false
        bindValues = nil
        resultTemplate = nil
        allocateForEachRow = true
        blockFactor = 5
        numColumns = nil
        columnDescriptions = nil
        rowAdaptors = nil
        rowBuffersHolder = a ValueHolder on: nil
        bufferIndex = nil
        answerStream = nil
        currentRow = nil
        scrollable = false
        rowStream = nil
        currentPostgresRow = nil
        noticeResponsesAreSuppressed = nil
        resultList = nil
        translationsFromPostgres = nil
Arguments:
        aMessage = a Message with selector: #prepareWithoutBinding: and
arguments: #('SHOW CLIENT_ENCODING')
Temporaries:
        excpt = a MessageNotUnderstood
        resumeValue = nil
Context PC = 25

----------------------------------------------------------------------
Glorp.VWDatabaseAccessor>>newPreparedStatementFor:
Receiver:
        a Glorp.VWDatabaseAccessor
Instance Variables:
        connection = a PostgreSQLEXDIConnection
        currentLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
        logging = false
        reusePreparedStatements = true
        deniedCommands = nil
        mutex = a Semaphore[0]
        dependents = nil
        driverSession = nil
        preparedStatements = a Glorp.CacheManager
Arguments:
        aCommand = a Glorp.SQLStringCommand
Temporaries:
        newSession = a PostgreSQLEXDISession
Context PC = 19

----------------------------------------------------------------------
Glorp.VWDatabaseAccessor>>basicExecuteSQLString:returnResult:binding:doing:
Receiver:
        a Glorp.VWDatabaseAccessor
Instance Variables:
        connection = a PostgreSQLEXDIConnection
        currentLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
        logging = false
        reusePreparedStatements = true
        deniedCommands = nil
        mutex = a Semaphore[0]
        dependents = nil
        driverSession = nil
        preparedStatements = a Glorp.CacheManager
Arguments:
        aString = 'SHOW CLIENT_ENCODING'
        returnResult = true
        aBindingArray = nil
        aBlock = BlockClosure [] in
Glorp.VWDatabaseAccessor>>basicExecuteSQLString:binding:
Temporaries:
        answerStream = nil
        command = a Glorp.SQLStringCommand
        statement = nil
        session = nil
        cursor = nil
Context PC = 39

----------------------------------------------------------------------
Glorp.VWDatabaseAccessor>>basicExecuteSQLString:binding:
Receiver:
        a Glorp.VWDatabaseAccessor
Instance Variables:
        connection = a PostgreSQLEXDIConnection
        currentLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
        logging = false
        reusePreparedStatements = true
        deniedCommands = nil
        mutex = a Semaphore[0]
        dependents = nil
        driverSession = nil
        preparedStatements = a Glorp.CacheManager
Arguments:
        aString = 'SHOW CLIENT_ENCODING'
        aBindingArray = nil
Context PC = 8

----------------------------------------------------------------------
Glorp.VWDatabaseAccessor>>basicExecuteSQLString:
Receiver:
        a Glorp.VWDatabaseAccessor
Instance Variables:
        connection = a PostgreSQLEXDIConnection
        currentLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
        logging = false
        reusePreparedStatements = true
        deniedCommands = nil
        mutex = a Semaphore[0]
        dependents = nil
        driverSession = nil
        preparedStatements = a Glorp.CacheManager
Arguments:
        aString = 'SHOW CLIENT_ENCODING'
Context PC = 6

----------------------------------------------------------------------
optimized [] in Glorp.DatabaseAccessor>>executeSQLString:
Receiver:
        an UndefinedObject
Temporaries:
        .super = a Glorp.VWDatabaseAccessor
        .aString = 'SHOW CLIENT_ENCODING'
        result = nil
Context PC = 7

----------------------------------------------------------------------
Glorp.VWDatabaseAccessor(Glorp.DatabaseAccessor)>>executeSQLString:
Receiver:
        a Glorp.VWDatabaseAccessor
Instance Variables:
        connection = a PostgreSQLEXDIConnection
        currentLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
        logging = false
        reusePreparedStatements = true
        deniedCommands = nil
        mutex = a Semaphore[0]
        dependents = nil
        driverSession = nil
        preparedStatements = a Glorp.CacheManager
Arguments:
        aString = 'SHOW CLIENT_ENCODING'
Temporaries:
        result = nil
        block = BlockClosure [] in Glorp.DatabaseAccessor>>executeSQLString:
        time = nil
Context PC = 25

----------------------------------------------------------------------
Glorp.StoreLoginFactory class>>setPostgresqlSessionToUnicode:
Receiver:
        a Glorp.StoreLoginFactory class
Instance Variables:
        superclass = Object
        methodDict = a MethodDictionary[0]
        format = 16384
        subclasses = nil
        instanceVariables = nil
        organization =
        name = #StoreLoginFactory
        classPool = a NameSpaceOfClass[0]
        environment = a NameSpace[267]
Arguments:
        session = a Glorp.GlorpSession
Temporaries:
        encoding = nil
Context PC = 14

----------------------------------------------------------------------
Glorp.StoreLoginFactory class>>sessionForLogin:
Receiver:
        a Glorp.StoreLoginFactory class
Instance Variables:
        superclass = Object
        methodDict = a MethodDictionary[0]
        format = 16384
        subclasses = nil
        instanceVariables = nil
        organization =
        name = #StoreLoginFactory
        classPool = a NameSpaceOfClass[0]
        environment = a NameSpace[267]
Arguments:
        aLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
Temporaries:
        session = a Glorp.GlorpSession
        system = a Glorp.StoreDescriptorSystem
Context PC = 45

----------------------------------------------------------------------
Glorp.StoreLoginFactory class>>sessionForStoreLogin:
Receiver:
        a Glorp.StoreLoginFactory class
Instance Variables:
        superclass = Object
        methodDict = a MethodDictionary[0]
        format = 16384
        subclasses = nil
        instanceVariables = nil
        organization =
        name = #StoreLoginFactory
        classPool = a NameSpaceOfClass[0]
        environment = a NameSpace[267]
Arguments:
        aStoreConnectionProfile = a Store.ConnectionProfile
Temporaries:
        aLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
Context PC = 10

----------------------------------------------------------------------
Glorp.UI.StoreWorkbook(Glorp.UI.GlorpWorkbook)>>on:
Receiver:
        a Glorp.UI.StoreWorkbook
Instance Variables:
        dependents = nil
        builder = nil
        uiSession = nil
        eventHandlers = nil
        locals = a WorkspaceVariablePool[0]
        importAll = true
        specificImports = an Array[3]
        importSummaryHolder = a ValueHolder on: 'All'
        pageExplanationHolder = nil
        statusBarVisible = true
        encodingChannel = a ValueHolder on: #Source
        menuBarHolder = nil
        pageHolder = a SelectionInList
        lastInstalledPage = nil
        session = nil
Arguments:
        aConnectionProfile = a Store.ConnectionProfile
Context PC = 4

----------------------------------------------------------------------
Glorp.UI.StoreWorkbook class(Glorp.UI.GlorpWorkbook class)>>on:
Receiver:
        a Glorp.UI.StoreWorkbook class
Instance Variables:
        superclass = Glorp.UI.GlorpWorkbook
        methodDict = a MethodDictionary[0]
        format = 16399
        subclasses = nil
        instanceVariables = nil
        organization =
        name = #StoreWorkbook
        classPool = a NameSpaceOfClass[0]
        environment = a NameSpace[12]
        savedWindowInformation = nil
Arguments:
        aConnectionProfile = a Store.ConnectionProfile
Context PC = 7

----------------------------------------------------------------------
Glorp.UI.StoreWorkbook class(Glorp.UI.GlorpWorkbook
class)>>openRequestingDatabase
Receiver:
        a Glorp.UI.StoreWorkbook class
Instance Variables:
        superclass = Glorp.UI.GlorpWorkbook
        methodDict = a MethodDictionary[0]
        format = 16399
        subclasses = nil
        instanceVariables = nil
        organization =
        name = #StoreWorkbook
        classPool = a NameSpaceOfClass[0]
        environment = a NameSpace[12]
        savedWindowInformation = nil
Temporaries:
        login = a Store.ConnectionProfile
Context PC = 13

----------------------------------------------------------------------
VisualLauncher>>openStoreForGlorpWorkbook
Receiver:
        a VisualLauncher
Instance Variables:
        dependents = an ApplicationWindow 60817437
        builder = an UIBuilder
        uiSession = a ControlManager
        eventHandlers = nil
        menuBar = a Menu
        toolBar = a ValueHolder on: a Menu
        textCollector = a TextCollector on: Text for '
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
Render!
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
False
FalseTermination Request
Terminated?
Resume
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Termination Request
Terminated?
Resume
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Termination Request
Terminated?
Resume
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Termination Request
Terminated?

Global garbage collection (please wait)...
reclaimed 181.12 Mbytes of data and 0 OTEntries in 1.1 sec.
heap shrunk by 175.75 Mbytes
69.63 Mbytes total; 57.57 Mbytes used, 12.06 Mbytes free.
Resume
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Termination Request
Terminated?
  (MiniGL.FramerateStrategy class #DoIt - shouldRender is undeclared)
(MiniGL.FramerateStrategy class #DoIt - realFramerate is undeclared)
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
9, 2009 10:54:18 amResume
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Render!
Termination Request
Terminated?

/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
9, 2009 10:57:29 am
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
9, 2009 10:57:32 am
Global garbage collection (please wait)...
reclaimed 0.01 Mbytes of data and 0 OTEntries in 0.4 sec.
heap shrunk by 1.0 Mbytes
66.28 Mbytes total; 57.62 Mbytes used, 8.66 Mbytes free.
  ({MiniGL.CameraViewingVolume} - clippingCone is undeclared)
({MiniGL.CameraViewingVolume} - clippingSphere is undeclared)
({MiniGL.RenderingContext} - cameraOrigin is undeclared)
({MiniGL.RenderingContext} - clippingFrustum is undeclared)
({MiniGL.RenderingContext} - clippingBox is undeclared)
(MiniGL.RenderingContext class #DoIt - clippingVolume is undeclared)
(AABBInternalNode class #DoIt - aRenderingContext is undeclared)
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
9, 2009 11:10:09 am
Scanning /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.cha
(UndefinedObject #DoIt - undeclaredSoftLink)  (UndefinedObject #DoIt -
undeclaredSoftLink)  (UndefinedObject #DoIt - undeclaredSoftLink)
(UndefinedObject #DoIt - undeclaredSoftLink)  (UndefinedObject #DoIt -
undeclaredSoftLink)
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Syntax error: Nothing more expected ->
Bad character
Bad character
Bad character
Bad character
Bad character (UndefinedObject #DoIt - pkg - redeclaredBlockArg)
Bad character
Bad character
Bad character
Bad character
Bad character (UndefinedObject #DoIt - pkg - redeclaredBlockArg)
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character (UndefinedObject #DoIt - pkg_1 - redeclaredBlockArg)
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character (UndefinedObject #DoIt - pkg_1 - redeclaredBlockArg)
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character
Bad character (UndefinedObject #DoIt - DefaultAuthor is undeclared)
(UndefinedObject #DoIt - DefaultMail is undeclared)
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
9, 2009 11:22:50 am ({MiniGL.Animation} - framesPerSecond is undeclared)
  ({MiniGL.Animation} - block is undeclared)  (MiniGL.Animation class
#DoIt - anIdleInterval is undeclared)  (MiniGL.Animation class #DoIt -
new is undeclared)  (MiniGL.Animation class #DoIt - milliseconds is
undeclared)  (MiniGL.Animation class #DoIt - animationStep is
undeclared)  (MiniGL.Animation class #DoIt - sefl is undeclared)
(MiniGL.BlockAnimation class #DoIt - aBlock is undeclared)
({MiniGL.Scene} - root is undeclared)  (MiniGL.Animation class #DoIt -
doAnimationStep is undeclared)  (MiniGL.Scene class #DoIt - boundingBox
is undeclared)  (MiniGL.Scene class #DoIt - aRenderingContext is
undeclared)  (MiniGL.OpenGLObject class #DoIt - aDelta is undeclared)
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
9, 2009 11:53:58 am (MiniGL.MiniGLFunctionalTests class #DoIt -
projection is undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt -
triangle is undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt -
scene is undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt -
addEffect is undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt -
green is undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt -
negated is undeclared)
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
9, 2009 12:00:24 pm (MiniGL.MiniGLFunctionalTests class #DoIt - camera
is undeclared)  (MiniGL.Animation class #DoIt - performed is undeclared)

An error occurred while sending menu state message #hasClassSelected in
a menu of a Refactory.Browser.RefactoringBrowser. Answering true.
To debug such errors, evaluate the following expression:
        UI.Menu suppressMenuDispatchErrors: false.
To revert to printing transcript warnings instead of opening the
debugger, evaluate:
        UI.Menu suppressMenuDispatchErrors: true.
Global garbage collection (please wait)...
reclaimed 0.04 Mbytes of data and 0 OTEntries in 0.2 sec.
67.47 Mbytes total; 58.99 Mbytes used, 8.48 Mbytes free.

/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
9, 2009 12:06:31 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
9, 2009 12:11:11 pm (MiniGL.MiniGLFunctionalTests class #DoIt - red is
undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt - blue is
undeclared)
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
9, 2009 3:42:53 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
9, 2009 3:44:07 pm (MiniGL.MiniGLFunctionalTests class #DoIt - new is
undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt - t1 is
undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt - scene is
undeclared)
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
9, 2009 5:27:23 pm (MiniGL.MiniGLFunctionalTests class #DoIt - p3 is
undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt - green is
undeclared)
Compacting garbage collection (please wait)...
reclaimed 12.2 Mbytes of data and 0 OTEntries in 0.1 sec.
heap shrunk by 15.91 Mbytes
66.03 Mbytes total; 57.39 Mbytes used, 8.64 Mbytes free.

Global garbage collection (please wait)...
reclaimed 12.35 Mbytes of data and 0 OTEntries in 0.5 sec.
heap shrunk by 9.47 Mbytes
72.49 Mbytes total; 57.35 Mbytes used, 15.13 Mbytes free.

/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
9, 2009 5:34:40 pm (MiniGL.SameSceneManyViewportsFunctionalTests class
#DoIt - triangles is undeclared)
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
11, 2009 12:32:24 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
11, 2009 12:32:38 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
11, 2009 12:35:07 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
11, 2009 12:35:58 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
11, 2009 12:37:07 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
11, 2009 12:37:42 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
11, 2009 12:38:40 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
11, 2009 12:40:03 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
11, 2009 12:42:30 pm
Global garbage collection (please wait)...
reclaimed 0.17 Mbytes of data and 0 OTEntries in 0.3 sec.
heap shrunk by 3.44 Mbytes
77.32 Mbytes total; 68.69 Mbytes used, 8.62 Mbytes free.
  (MiniGL.X11Window class #DoIt - ifTrue is undeclared)
(MiniGL.X11Window class #DoIt - renderingContextHandle is undeclared)
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
11, 2009 3:48:15 pm
MiniGLFunctionalTests class>windowSpec defined
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
13, 2009 3:37:34 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
17, 2009 8:56:10 am
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
19, 2009 5:31:45 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at April
29, 2009 8:31:32 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at May
7, 2009 7:45:10 pm
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at June
8, 2009 11:35:02 am
Creating table for TW_ClassRecord
Creating table for TW_NameSpaceRecord
Creating table for TW_Package
Creating table for TW_ParcelRecord
Creating table for TW_PkgClasses
Creating table for TW_PkgNameSpaces
Creating table for TW_Method
Creating table for TW_Methods
Creating table for TW_Blob
Creating table for TW_BinaryBlob
Creating table for TW_Blessing
Creating table for TW_Bundle
Creating table for TW_Bundles
Creating table for TW_Packages
Creating table for TW_DataElement
Creating table for TW_Data
Creating table for TW_DatabaseIdentifier
Creating table for TW_Files
Creating table for TW_FileRecord
Creating table for TW_Properties
Creating table for TW_PropertyRecord
Creating table for TW_MethodDocs
Done!
Creating table for TW_DBUserGroup
Creating table for TW_DBPundlePrivileges
Done!
/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at June
8, 2009 11:38:44 am
Loading MiniGL . . .Done

/home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at June
9, 2009 5:25:43 pm
Loading StoreGlorp . . . (ProtoObject class #toolListIcon -
BehaviorIcons is undeclared)  (BlockClosure #asGlorpExpressionOn: -
MessageArchiver is undeclared)  (BlockClosure
#asGlorpExpressionForDescriptor: - BaseExpression is undeclared)
(Glorp.VariableJoin #isConstant: - DatabaseField is undeclared)
(Glorp.SubstringFunction #rewriteFunctionArgumentsWith: -
PostgreSQLPlatform is undeclared)  (Glorp.SimpleQuery #sql: -
SQLStringSelectCommand is undeclared)  (Glorp.ElementBuilder -
notOptimized)  (Collection #writeStream - AddingWriteStream is
undeclared)  (Association - notOptimized)  (Association - notOptimized)
  (Glorp.GlorpClobType #requiresCast - SQLServerPlatform is undeclared)
  (Glorp.DatabaseAccessor - notOptimized)  (Glorp.DatabaseRow -
notOptimized)  (Glorp.DatabaseRow - notOptimized)
(Glorp.DatabasePlatform #readTimeFromStream:for: - timeZoneOffset -
neverRead)  (Glorp.StoreDescriptorSystem #validateRows: - methodTrace -
neverRead)  (Glorp.Store73DescriptorSystem #tableForTW_METHOD: -
commentId - neverUsed)  (Glorp.Store73DescriptorSystem
#descriptorForStoreMethod: - table - neverRead)
(Refactory.Browser.StoreForGlorpBrowserEnvironment - notOptimized)
(Refactory.Browser.StoreForGlorpBrowserEnvironment - notOptimized)
(Refactory.Browser.StoreForGlorpBrowserEnvironment - notOptimized)
(Glorp.StorePundle #asBrowserEnvironment -
StoreForGlorpBrowserEnvironment is undeclared)  (Glorp.StorePundle
#browseContents - RefactoringBrowser is undeclared)  (Glorp.StorePundle
#browseContents - StoreForGlorpNavigatorState is undeclared)
(Glorp.StoreClassDefinitionInPackage #instVarNames - ExecuteCodeChange
is undeclared)  (Glorp.RenamingRule class #replicateAs75 -
undeclaredSoftLink)  (Glorp.RenamingRule class #replicateAs75 -
undeclaredSoftLink)  (Glorp.RenamingRule class #replicateAs76 -
undeclaredSoftLink)  (Glorp.RenamingRule class #replicateAs76 -
undeclaredSoftLink)  (Glorp.StoreReplicationManager
#evaluateInMemoryBundleConditions - bundleConditions - neverRead)
(Glorp.UI.MetadataWorkbook #on: - MetadataDescriptorSystem is
undeclared)  (Glorp.UI.StoreForGlorpPublishPundleDialog #accept -
GlorpQueryPerformanceAnalyzer is undeclared)
(AbsentClassImporterMetaclass #asStoreClassDefinition -
StoreClassDefinition is undeclared)  (Store.Package
#storeForGlorpPundleClass - StorePackage is undeclared)
(OverridenStatic #asStoreSharedVariable - StoreSharedVariable is
undeclared)  (Refactory.Browser.BrowserNavigator
#browseClassVersionsFor:in: - StoreMethodInPackage is undeclared)
(Refactory.Browser.BrowserNavigator #browseClassVersionsFor:in: - Query
is undeclared)  (Refactory.Browser.BrowserNavigator
#browseClassVersionsFor:in: - StoreMethod is undeclared)
(Refactory.Browser.BrowserNavigator #browseClassVersionsFor:in: -
StoreClassDefinitionInPackage is undeclared)
(Refactory.Browser.BrowserNavigator #glorpWhatVersionIsThis -
StoreLoginFactory is undeclared)  (Refactory.Browser.BrowserNavigator
#glorpPublish - StoreForGlorpPublishPundleDialog is undeclared)
(Refactory.Browser.BrowserNavigator #glorpPublish -
StoreForGlorpPublishPackageDialog is undeclared)  (VisualLauncher
#isAutoReplicationON - StoreAutoReplicatorSystem is undeclared)
(VisualLauncher #openStoreForGlorpWorkbook - StoreWorkbook is
undeclared)  (Store.PundleModel #stripIgnorablePropertiesToMatch: -
StorePundle is undeclared)  (Store.PundleModel
#publishTo:parent:versionName:blessingLevel:blessingComment: -
StoreBundle is undeclared)  (Store.PundleModel
#publishTo:parent:versionName:blessingLevel:blessingComment: -
StorePundleWriter is undeclared)  (Store.PundleModel
#publishTo:parent:versionName:blessingLevel:blessingComment: -
StoreBlessing is undeclared)  (Store.PundleModel
#publishTo:parent:versionName:blessingLevel:blessingComment: - Dialect
is undeclared)  (CompiledMethod #asStoreMethodDefinitionWithoutProtocol
- AdHocProxy is undeclared)  (CompiledMethod
#asStoreMethodDefinitionWithoutProtocol - StoreBlob is undeclared)
(OverridenNameSpace #asStoreNameSpace - StoreNameSpace is undeclared)
(Store.BundleModel
#asStorePundleIn:returnOriginalIfUnmodified:includeUninstalled: -
StoreFile is undeclared)  (Store.PackageBrowserHelper
#mergePundleVersionGlorp - GlorpMergeTool is undeclared)
(Store.PackageBrowserHelper #mergePundleVersionGlorp -
StoreForGlorpMergeData is undeclared) Done
'
        toolDock = a VisualLauncherToolDock
Context PC = 3

----------------------------------------------------------------------
WinXPMenuBarButtonController(MenuBarButtonController)>>dispatchMenuSymbol:
Receiver:
        a WinXPMenuBarButtonController
Instance Variables:
        model = nil
        view = a WinXPMenuBarButtonView
        sensor = a TranslatingSensor
        highlightOnOpen = false
Arguments:
        menuSelection = #openStoreForGlorpWorkbook
Context PC = 38

----------------------------------------------------------------------
WinXPMenuBarButtonController(MenuBarButtonController)>>dispatchMenuSelection:
Receiver:
        a WinXPMenuBarButtonController
Instance Variables:
        model = nil
        view = a WinXPMenuBarButtonView
        sensor = a TranslatingSensor
        highlightOnOpen = false
Arguments:
        menuSelection = #openStoreForGlorpWorkbook
Context PC = 21

----------------------------------------------------------------------
optimized [] in Win95MenuBarButtonController>>menuBarActionForMenu:
Receiver:
        an UndefinedObject
Temporaries:
        valueResult = a MenuItem 'Store Workbook... (Glorp)'
        menuView = a WinXPMenuView
        .super = a WinXPMenuBarButtonController
        .aMenu = a Menu
Context PC = 55

----------------------------------------------------------------------
BlockClosure>>ensure:
Receiver:
        a BlockClosure
Instance Variables:
        method = CompiledBlock [] in
Win95MenuBarButtonController>>menuBarActionForMenu:
        outerContext = nil
        copiedValues = an Array[2]
Arguments:
        aBlock = BlockClosure [] in
Win95MenuBarButtonController>>menuBarActionForMenu:
Temporaries:
        result = nil
Context PC = 4

----------------------------------------------------------------------
WinXPMenuBarButtonController(Win95MenuBarButtonController)>>menuBarActionForMenu:
Receiver:
        a WinXPMenuBarButtonController
Instance Variables:
        model = nil
        view = a WinXPMenuBarButtonView
        sensor = a TranslatingSensor
        highlightOnOpen = false
Arguments:
        aMenu = a Menu
Temporaries:
        performer = a VisualLauncher
Context PC = 31

----------------------------------------------------------------------
WinXPMenuBarButtonController(MenuBarButtonController)>>menuBarAction
Receiver:
        a WinXPMenuBarButtonController
Instance Variables:
        model = nil
        view = a WinXPMenuBarButtonView
        sensor = a TranslatingSensor
        highlightOnOpen = false
Temporaries:
        theMenu = a Menu
Context PC = 20

----------------------------------------------------------------------
WinXPMenuBarButtonController(MenuBarButtonController)>>redButtonPressedEvent:
Receiver:
        a WinXPMenuBarButtonController
Instance Variables:
        model = nil
        view = a WinXPMenuBarButtonView
        sensor = a TranslatingSensor
        highlightOnOpen = false
Arguments:
        event = a RedButtonPressedEvent
Context PC = 10

----------------------------------------------------------------------
RedButtonPressedEvent>>dispatchTo:
Receiver:
        a RedButtonPressedEvent
Instance Variables:
        time = 5058656
        initiator = an EventDispatcher
        window = an ApplicationWindow 60817437
        state = 1
        x = 243
        y = 10
        gx = 248
        gy = 61
        buttonNumber = 1
Arguments:
        anObject = a WinXPMenuBarButtonController
Context PC = 4

----------------------------------------------------------------------
WinXPMenuBarButtonController(Controller)>>handleEvent:
Receiver:
        a WinXPMenuBarButtonController
Instance Variables:
        model = nil
        view = a WinXPMenuBarButtonView
        sensor = a TranslatingSensor
        highlightOnOpen = false
Arguments:
        event = a RedButtonPressedEvent
Context PC = 4

----------------------------------------------------------------------
EventDispatcher>>dispatch:to:
Receiver:
        an EventDispatcher
Instance Variables:
        windowController = an ApplicationStandardSystemController
        currentMouseConsumer = nil
        grabbingMouse = false
        keyboardProcessor = a KeyboardProcessor
        lastControlObject = nil
        trapList = nil
        state = nil
        repairDamageWhenDebugging = true
        flushQueueAfterError = true
        distributeEventsWhenDebugging = true
        dragDropInProgress = false
        dragDropTracker = nil
        dispatchUnknownEvents = false
Arguments:
        event = a RedButtonPressedEvent
        object = a WinXPMenuBarButtonController
Temporaries:
        tmp = nil
Context PC = 10

----------------------------------------------------------------------
EventDispatcher>>dispatchEvent:
Receiver:
        an EventDispatcher
Instance Variables:
        windowController = an ApplicationStandardSystemController
        currentMouseConsumer = nil
        grabbingMouse = false
        keyboardProcessor = a KeyboardProcessor
        lastControlObject = nil
        trapList = nil
        state = nil
        repairDamageWhenDebugging = true
        flushQueueAfterError = true
        distributeEventsWhenDebugging = true
        dragDropInProgress = false
        dragDropTracker = nil
        dispatchUnknownEvents = false
Arguments:
        event = a RedButtonPressedEvent
Temporaries:
        objectWantingControl = a WinXPMenuBarButtonController
        targetKeyboardProcessor = nil
Context PC = 113

----------------------------------------------------------------------
RedButtonPressedEvent(Event)>>dispatch
Receiver:
        a RedButtonPressedEvent
Instance Variables:
        time = 5058656
        initiator = an EventDispatcher
        window = an ApplicationWindow 60817437
        state = 1
        x = 243
        y = 10
        gx = 248
        gy = 61
        buttonNumber = 1
Context PC = 16

----------------------------------------------------------------------
RedButtonPressedEvent(Event)>>dispatchForWindowManager:
Receiver:
        a RedButtonPressedEvent
Instance Variables:
        time = 5058656
        initiator = an EventDispatcher
        window = an ApplicationWindow 60817437
        state = 1
        x = 243
        y = 10
        gx = 248
        gy = 61
        buttonNumber = 1
Arguments:
        aWinMgr = a WindowManager
Context PC = 4

----------------------------------------------------------------------
optimized [] in WindowManager>>safelyDispatchForWindowManager:
Receiver:
        an UndefinedObject
Temporaries:
        .event = a RedButtonPressedEvent
        .super = a WindowManager
Context PC = 6

----------------------------------------------------------------------
BlockClosure>>on:do:
Receiver:
        a BlockClosure
Instance Variables:
        method = CompiledBlock [] in WindowManager>>safelyDispatchForWindowManager:
        outerContext = nil
        copiedValues = an Array[2]
Arguments:
        anExceptionSelector = BadControllerError
        handlerBlock = BlockClosure [] in
WindowManager>>safelyDispatchForWindowManager:
Context PC = 18

----------------------------------------------------------------------
WindowManager>>safelyDispatchForWindowManager:
Receiver:
        a WindowManager
Instance Variables:
        windows = an OrderedCollection[1]
        activeController = nil
        interruptLock = false
        outstandingMetaOrDamage = false
        openInProgress = false
        eventQueue = an EventQueue
        baseProcess = a Process in Semaphore>>wait
        dontFilterEvents = false
Arguments:
        event = a RedButtonPressedEvent
Context PC = 13

----------------------------------------------------------------------
WindowManager>>processNextEvent
Receiver:
        a WindowManager
Instance Variables:
        windows = an OrderedCollection[1]
        activeController = nil
        interruptLock = false
        outstandingMetaOrDamage = false
        openInProgress = false
        eventQueue = an EventQueue
        baseProcess = a Process in Semaphore>>wait
        dontFilterEvents = false
Temporaries:
        event = a RedButtonPressedEvent
Context PC = 9

----------------------------------------------------------------------
optimized [] in [] in WindowManager>>newProcess
Receiver:
        an UndefinedObject
Temporaries:
        .super = a WindowManager
Context PC = 13

----------------------------------------------------------------------
BlockClosure>>on:do:
Receiver:
        a BlockClosure
Instance Variables:
        method = CompiledBlock [] in [] in WindowManager>>newProcess
        outerContext = nil
        copiedValues = a WindowManager
Arguments:
        anExceptionSelector = TerminateException
        handlerBlock = BlockClosure [] in [] in WindowManager>>newProcess
Context PC = 18

----------------------------------------------------------------------
optimized [] in WindowManager>>newProcess
Receiver:
        an UndefinedObject
Temporaries:
        .super = a WindowManager
Context PC = 15

----------------------------------------------------------------------
BlockClosure>>on:do:
Receiver:
        a BlockClosure
Instance Variables:
        method = CompiledBlock [] in WindowManager>>newProcess
        outerContext = nil
        copiedValues = a WindowManager
Arguments:
        anExceptionSelector = TerminateException
        handlerBlock = BlockClosure [] in [] in Process class>>forBlock:priority:
Context PC = 18

----------------------------------------------------------------------
optimized [] in Process class>>forBlock:priority:
Receiver:
        an UndefinedObject
Temporaries:
        .aBlock = BlockClosure [] in WindowManager>>newProcess
Context PC = 9
_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] StoreGlorp version for VW 7.6

James Robertson-7
In reply to this post by Andres Fortier-2
Have you tried just loading the parcels?

Look in preview/glorp

James Robertson
Cincom Smalltalk Product Evangelist
http://www.cincomsmalltalk.com/blog/blogView
Talk Small and Carry a Big Class Library




On Jun 9, 2009, at 4:51 PM, andres wrote:

> Hi list. I'm trying to use the store (glorp) replicator without any
> luck. I've been tracking old emails for the right version to load (I'm
> using VW 7.6) and I found on an October 2008 e mail the right version
> for a 7.6 image was StoreGlorp (2.4 77.2,aknight). However loading  
> that
> version (and adding by hand after the #setLogin: message to the
> ExternalDatabaseConnection class) results in a mnu (see stack below).
> Could someone please tell me which version of StoreGlorp should I use
> for a 7.6 image?
>
> Thanks,
> Andrés
>
> The error below appears when trying to log to a repository, either in
> the workbook or the replicator.
>
> Unhandled exception: Message not understood: #prepareWithoutBinding:
> PostgreSQLEXDISession(Object)>>doesNotUnderstand:
> Glorp.VWDatabaseAccessor>>newPreparedStatementFor:
> Glorp
> .VWDatabaseAccessor>>basicExecuteSQLString:returnResult:binding:doing:
> Glorp.VWDatabaseAccessor>>basicExecuteSQLString:binding:
> Glorp.VWDatabaseAccessor>>basicExecuteSQLString:
> optimized [] in Glorp.DatabaseAccessor>>executeSQLString:
> Glorp.VWDatabaseAccessor(Glorp.DatabaseAccessor)>>executeSQLString:
> Glorp.StoreLoginFactory class>>setPostgresqlSessionToUnicode:
> Glorp.StoreLoginFactory class>>sessionForLogin:
> Glorp.StoreLoginFactory class>>sessionForStoreLogin:
> Glorp.UI.StoreWorkbook(Glorp.UI.GlorpWorkbook)>>on:
> Glorp.UI.StoreWorkbook class(Glorp.UI.GlorpWorkbook class)>>on:
> Glorp.UI.StoreWorkbook class(Glorp.UI.GlorpWorkbook
> class)>>openRequestingDatabase
> VisualLauncher>>openStoreForGlorpWorkbook
> WinXPMenuBarButtonController
> (MenuBarButtonController)>>dispatchMenuSymbol:
> WinXPMenuBarButtonController
> (MenuBarButtonController)>>dispatchMenuSelection:
> optimized [] in Win95MenuBarButtonController>>menuBarActionForMenu:
> BlockClosure>>ensure:
> WinXPMenuBarButtonController
> (Win95MenuBarButtonController)>>menuBarActionForMenu:
> WinXPMenuBarButtonController(MenuBarButtonController)>>menuBarAction
> WinXPMenuBarButtonController
> (MenuBarButtonController)>>redButtonPressedEvent:
> RedButtonPressedEvent>>dispatchTo:
> WinXPMenuBarButtonController(Controller)>>handleEvent:
> EventDispatcher>>dispatch:to:
> EventDispatcher>>dispatchEvent:
> RedButtonPressedEvent(Event)>>dispatch
> RedButtonPressedEvent(Event)>>dispatchForWindowManager:
> optimized [] in WindowManager>>safelyDispatchForWindowManager:
> BlockClosure>>on:do:
> WindowManager>>safelyDispatchForWindowManager:
> WindowManager>>processNextEvent
> optimized [] in [] in WindowManager>>newProcess
> BlockClosure>>on:do:
> optimized [] in WindowManager>>newProcess
> BlockClosure>>on:do:
> optimized [] in Process class>>forBlock:priority:
>
> ----------------------------------------------------------------------
> PostgreSQLEXDISession(Object)>>doesNotUnderstand:
> Receiver:
> a PostgreSQLEXDISession
> Instance Variables:
> stateHolder = a ValueHolder on: #new
> traceStream = nil
> traceLevel = 0
> participants = a WeakArray[0]
> participantsSemaphore = a RecursionLock
> connection = a PostgreSQLEXDIConnection
> query = nil
> queryFragments = nil
> bindInput = nil
> bindTemplate = nil
> bindOutput = nil
> useNamedOutputBinding = false
> bindValues = nil
> resultTemplate = nil
> allocateForEachRow = true
> blockFactor = 5
> numColumns = nil
> columnDescriptions = nil
> rowAdaptors = nil
> rowBuffersHolder = a ValueHolder on: nil
> bufferIndex = nil
> answerStream = nil
> currentRow = nil
> scrollable = false
> rowStream = nil
> currentPostgresRow = nil
> noticeResponsesAreSuppressed = nil
> resultList = nil
> translationsFromPostgres = nil
> Arguments:
> aMessage = a Message with selector: #prepareWithoutBinding: and
> arguments: #('SHOW CLIENT_ENCODING')
> Temporaries:
> excpt = a MessageNotUnderstood
> resumeValue = nil
> Context PC = 25
>
> ----------------------------------------------------------------------
> Glorp.VWDatabaseAccessor>>newPreparedStatementFor:
> Receiver:
> a Glorp.VWDatabaseAccessor
> Instance Variables:
> connection = a PostgreSQLEXDIConnection
> currentLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
> 'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
> logging = false
> reusePreparedStatements = true
> deniedCommands = nil
> mutex = a Semaphore[0]
> dependents = nil
> driverSession = nil
> preparedStatements = a Glorp.CacheManager
> Arguments:
> aCommand = a Glorp.SQLStringCommand
> Temporaries:
> newSession = a PostgreSQLEXDISession
> Context PC = 19
>
> ----------------------------------------------------------------------
> Glorp
> .VWDatabaseAccessor>>basicExecuteSQLString:returnResult:binding:doing:
> Receiver:
> a Glorp.VWDatabaseAccessor
> Instance Variables:
> connection = a PostgreSQLEXDIConnection
> currentLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
> 'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
> logging = false
> reusePreparedStatements = true
> deniedCommands = nil
> mutex = a Semaphore[0]
> dependents = nil
> driverSession = nil
> preparedStatements = a Glorp.CacheManager
> Arguments:
> aString = 'SHOW CLIENT_ENCODING'
> returnResult = true
> aBindingArray = nil
> aBlock = BlockClosure [] in
> Glorp.VWDatabaseAccessor>>basicExecuteSQLString:binding:
> Temporaries:
> answerStream = nil
> command = a Glorp.SQLStringCommand
> statement = nil
> session = nil
> cursor = nil
> Context PC = 39
>
> ----------------------------------------------------------------------
> Glorp.VWDatabaseAccessor>>basicExecuteSQLString:binding:
> Receiver:
> a Glorp.VWDatabaseAccessor
> Instance Variables:
> connection = a PostgreSQLEXDIConnection
> currentLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
> 'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
> logging = false
> reusePreparedStatements = true
> deniedCommands = nil
> mutex = a Semaphore[0]
> dependents = nil
> driverSession = nil
> preparedStatements = a Glorp.CacheManager
> Arguments:
> aString = 'SHOW CLIENT_ENCODING'
> aBindingArray = nil
> Context PC = 8
>
> ----------------------------------------------------------------------
> Glorp.VWDatabaseAccessor>>basicExecuteSQLString:
> Receiver:
> a Glorp.VWDatabaseAccessor
> Instance Variables:
> connection = a PostgreSQLEXDIConnection
> currentLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
> 'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
> logging = false
> reusePreparedStatements = true
> deniedCommands = nil
> mutex = a Semaphore[0]
> dependents = nil
> driverSession = nil
> preparedStatements = a Glorp.CacheManager
> Arguments:
> aString = 'SHOW CLIENT_ENCODING'
> Context PC = 6
>
> ----------------------------------------------------------------------
> optimized [] in Glorp.DatabaseAccessor>>executeSQLString:
> Receiver:
> an UndefinedObject
> Temporaries:
> .super = a Glorp.VWDatabaseAccessor
> .aString = 'SHOW CLIENT_ENCODING'
> result = nil
> Context PC = 7
>
> ----------------------------------------------------------------------
> Glorp.VWDatabaseAccessor(Glorp.DatabaseAccessor)>>executeSQLString:
> Receiver:
> a Glorp.VWDatabaseAccessor
> Instance Variables:
> connection = a PostgreSQLEXDIConnection
> currentLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
> 'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
> logging = false
> reusePreparedStatements = true
> deniedCommands = nil
> mutex = a Semaphore[0]
> dependents = nil
> driverSession = nil
> preparedStatements = a Glorp.CacheManager
> Arguments:
> aString = 'SHOW CLIENT_ENCODING'
> Temporaries:
> result = nil
> block = BlockClosure [] in Glorp.DatabaseAccessor>>executeSQLString:
> time = nil
> Context PC = 25
>
> ----------------------------------------------------------------------
> Glorp.StoreLoginFactory class>>setPostgresqlSessionToUnicode:
> Receiver:
> a Glorp.StoreLoginFactory class
> Instance Variables:
> superclass = Object
> methodDict = a MethodDictionary[0]
> format = 16384
> subclasses = nil
> instanceVariables = nil
> organization =
> name = #StoreLoginFactory
> classPool = a NameSpaceOfClass[0]
> environment = a NameSpace[267]
> Arguments:
> session = a Glorp.GlorpSession
> Temporaries:
> encoding = nil
> Context PC = 14
>
> ----------------------------------------------------------------------
> Glorp.StoreLoginFactory class>>sessionForLogin:
> Receiver:
> a Glorp.StoreLoginFactory class
> Instance Variables:
> superclass = Object
> methodDict = a MethodDictionary[0]
> format = 16384
> subclasses = nil
> instanceVariables = nil
> organization =
> name = #StoreLoginFactory
> classPool = a NameSpaceOfClass[0]
> environment = a NameSpace[267]
> Arguments:
> aLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
> 'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
> Temporaries:
> session = a Glorp.GlorpSession
> system = a Glorp.StoreDescriptorSystem
> Context PC = 45
>
> ----------------------------------------------------------------------
> Glorp.StoreLoginFactory class>>sessionForStoreLogin:
> Receiver:
> a Glorp.StoreLoginFactory class
> Instance Variables:
> superclass = Object
> methodDict = a MethodDictionary[0]
> format = 16384
> subclasses = nil
> instanceVariables = nil
> organization =
> name = #StoreLoginFactory
> classPool = a NameSpaceOfClass[0]
> environment = a NameSpace[267]
> Arguments:
> aStoreConnectionProfile = a Store.ConnectionProfile
> Temporaries:
> aLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
> 'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
> Context PC = 10
>
> ----------------------------------------------------------------------
> Glorp.UI.StoreWorkbook(Glorp.UI.GlorpWorkbook)>>on:
> Receiver:
> a Glorp.UI.StoreWorkbook
> Instance Variables:
> dependents = nil
> builder = nil
> uiSession = nil
> eventHandlers = nil
> locals = a WorkspaceVariablePool[0]
> importAll = true
> specificImports = an Array[3]
> importSummaryHolder = a ValueHolder on: 'All'
> pageExplanationHolder = nil
> statusBarVisible = true
> encodingChannel = a ValueHolder on: #Source
> menuBarHolder = nil
> pageHolder = a SelectionInList
> lastInstalledPage = nil
> session = nil
> Arguments:
> aConnectionProfile = a Store.ConnectionProfile
> Context PC = 4
>
> ----------------------------------------------------------------------
> Glorp.UI.StoreWorkbook class(Glorp.UI.GlorpWorkbook class)>>on:
> Receiver:
> a Glorp.UI.StoreWorkbook class
> Instance Variables:
> superclass = Glorp.UI.GlorpWorkbook
> methodDict = a MethodDictionary[0]
> format = 16399
> subclasses = nil
> instanceVariables = nil
> organization =
> name = #StoreWorkbook
> classPool = a NameSpaceOfClass[0]
> environment = a NameSpace[12]
> savedWindowInformation = nil
> Arguments:
> aConnectionProfile = a Store.ConnectionProfile
> Context PC = 7
>
> ----------------------------------------------------------------------
> Glorp.UI.StoreWorkbook class(Glorp.UI.GlorpWorkbook
> class)>>openRequestingDatabase
> Receiver:
> a Glorp.UI.StoreWorkbook class
> Instance Variables:
> superclass = Glorp.UI.GlorpWorkbook
> methodDict = a MethodDictionary[0]
> format = 16399
> subclasses = nil
> instanceVariables = nil
> organization =
> name = #StoreWorkbook
> classPool = a NameSpaceOfClass[0]
> environment = a NameSpace[12]
> savedWindowInformation = nil
> Temporaries:
> login = a Store.ConnectionProfile
> Context PC = 13
>
> ----------------------------------------------------------------------
> VisualLauncher>>openStoreForGlorpWorkbook
> Receiver:
> a VisualLauncher
> Instance Variables:
> dependents = an ApplicationWindow 60817437
> builder = an UIBuilder
> uiSession = a ControlManager
> eventHandlers = nil
> menuBar = a Menu
> toolBar = a ValueHolder on: a Menu
> textCollector = a TextCollector on: Text for '
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> Render!
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> FalseTermination Request
> Terminated?
> Resume
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Termination Request
> Terminated?
> Resume
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Termination Request
> Terminated?
> Resume
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Termination Request
> Terminated?
>
> Global garbage collection (please wait)...
> reclaimed 181.12 Mbytes of data and 0 OTEntries in 1.1 sec.
> heap shrunk by 175.75 Mbytes
> 69.63 Mbytes total; 57.57 Mbytes used, 12.06 Mbytes free.
> Resume
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Termination Request
> Terminated?
>  (MiniGL.FramerateStrategy class #DoIt - shouldRender is undeclared)
> (MiniGL.FramerateStrategy class #DoIt - realFramerate is undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> March
> 9, 2009 10:54:18 amResume
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Termination Request
> Terminated?
>
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> March
> 9, 2009 10:57:29 am
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> March
> 9, 2009 10:57:32 am
> Global garbage collection (please wait)...
> reclaimed 0.01 Mbytes of data and 0 OTEntries in 0.4 sec.
> heap shrunk by 1.0 Mbytes
> 66.28 Mbytes total; 57.62 Mbytes used, 8.66 Mbytes free.
>  ({MiniGL.CameraViewingVolume} - clippingCone is undeclared)
> ({MiniGL.CameraViewingVolume} - clippingSphere is undeclared)
> ({MiniGL.RenderingContext} - cameraOrigin is undeclared)
> ({MiniGL.RenderingContext} - clippingFrustum is undeclared)
> ({MiniGL.RenderingContext} - clippingBox is undeclared)
> (MiniGL.RenderingContext class #DoIt - clippingVolume is undeclared)
> (AABBInternalNode class #DoIt - aRenderingContext is undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> March
> 9, 2009 11:10:09 am
> Scanning /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.cha
> (UndefinedObject #DoIt - undeclaredSoftLink)  (UndefinedObject #DoIt -
> undeclaredSoftLink)  (UndefinedObject #DoIt - undeclaredSoftLink)
> (UndefinedObject #DoIt - undeclaredSoftLink)  (UndefinedObject #DoIt -
> undeclaredSoftLink)
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Syntax error: Nothing more expected ->
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character (UndefinedObject #DoIt - pkg - redeclaredBlockArg)
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character (UndefinedObject #DoIt - pkg - redeclaredBlockArg)
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character (UndefinedObject #DoIt - pkg_1 - redeclaredBlockArg)
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character (UndefinedObject #DoIt - pkg_1 - redeclaredBlockArg)
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character (UndefinedObject #DoIt - DefaultAuthor is undeclared)
> (UndefinedObject #DoIt - DefaultMail is undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> March
> 9, 2009 11:22:50 am ({MiniGL.Animation} - framesPerSecond is  
> undeclared)
>  ({MiniGL.Animation} - block is undeclared)  (MiniGL.Animation class
> #DoIt - anIdleInterval is undeclared)  (MiniGL.Animation class #DoIt -
> new is undeclared)  (MiniGL.Animation class #DoIt - milliseconds is
> undeclared)  (MiniGL.Animation class #DoIt - animationStep is
> undeclared)  (MiniGL.Animation class #DoIt - sefl is undeclared)
> (MiniGL.BlockAnimation class #DoIt - aBlock is undeclared)
> ({MiniGL.Scene} - root is undeclared)  (MiniGL.Animation class #DoIt -
> doAnimationStep is undeclared)  (MiniGL.Scene class #DoIt -  
> boundingBox
> is undeclared)  (MiniGL.Scene class #DoIt - aRenderingContext is
> undeclared)  (MiniGL.OpenGLObject class #DoIt - aDelta is undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> March
> 9, 2009 11:53:58 am (MiniGL.MiniGLFunctionalTests class #DoIt -
> projection is undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt -
> triangle is undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt -
> scene is undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt -
> addEffect is undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt -
> green is undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt -
> negated is undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> March
> 9, 2009 12:00:24 pm (MiniGL.MiniGLFunctionalTests class #DoIt - camera
> is undeclared)  (MiniGL.Animation class #DoIt - performed is  
> undeclared)
>
> An error occurred while sending menu state message #hasClassSelected  
> in
> a menu of a Refactory.Browser.RefactoringBrowser. Answering true.
> To debug such errors, evaluate the following expression:
> UI.Menu suppressMenuDispatchErrors: false.
> To revert to printing transcript warnings instead of opening the
> debugger, evaluate:
> UI.Menu suppressMenuDispatchErrors: true.
> Global garbage collection (please wait)...
> reclaimed 0.04 Mbytes of data and 0 OTEntries in 0.2 sec.
> 67.47 Mbytes total; 58.99 Mbytes used, 8.48 Mbytes free.
>
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> March
> 9, 2009 12:06:31 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> March
> 9, 2009 12:11:11 pm (MiniGL.MiniGLFunctionalTests class #DoIt - red is
> undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt - blue is
> undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> March
> 9, 2009 3:42:53 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> March
> 9, 2009 3:44:07 pm (MiniGL.MiniGLFunctionalTests class #DoIt - new is
> undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt - t1 is
> undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt - scene is
> undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> March
> 9, 2009 5:27:23 pm (MiniGL.MiniGLFunctionalTests class #DoIt - p3 is
> undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt - green is
> undeclared)
> Compacting garbage collection (please wait)...
> reclaimed 12.2 Mbytes of data and 0 OTEntries in 0.1 sec.
> heap shrunk by 15.91 Mbytes
> 66.03 Mbytes total; 57.39 Mbytes used, 8.64 Mbytes free.
>
> Global garbage collection (please wait)...
> reclaimed 12.35 Mbytes of data and 0 OTEntries in 0.5 sec.
> heap shrunk by 9.47 Mbytes
> 72.49 Mbytes total; 57.35 Mbytes used, 15.13 Mbytes free.
>
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> March
> 9, 2009 5:34:40 pm (MiniGL.SameSceneManyViewportsFunctionalTests class
> #DoIt - triangles is undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> March
> 11, 2009 12:32:24 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> March
> 11, 2009 12:32:38 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> March
> 11, 2009 12:35:07 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> March
> 11, 2009 12:35:58 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> March
> 11, 2009 12:37:07 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> March
> 11, 2009 12:37:42 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> March
> 11, 2009 12:38:40 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> March
> 11, 2009 12:40:03 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> March
> 11, 2009 12:42:30 pm
> Global garbage collection (please wait)...
> reclaimed 0.17 Mbytes of data and 0 OTEntries in 0.3 sec.
> heap shrunk by 3.44 Mbytes
> 77.32 Mbytes total; 68.69 Mbytes used, 8.62 Mbytes free.
>  (MiniGL.X11Window class #DoIt - ifTrue is undeclared)
> (MiniGL.X11Window class #DoIt - renderingContextHandle is undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> March
> 11, 2009 3:48:15 pm
> MiniGLFunctionalTests class>windowSpec defined
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> March
> 13, 2009 3:37:34 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> March
> 17, 2009 8:56:10 am
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> March
> 19, 2009 5:31:45 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> April
> 29, 2009 8:31:32 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at May
> 7, 2009 7:45:10 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> June
> 8, 2009 11:35:02 am
> Creating table for TW_ClassRecord
> Creating table for TW_NameSpaceRecord
> Creating table for TW_Package
> Creating table for TW_ParcelRecord
> Creating table for TW_PkgClasses
> Creating table for TW_PkgNameSpaces
> Creating table for TW_Method
> Creating table for TW_Methods
> Creating table for TW_Blob
> Creating table for TW_BinaryBlob
> Creating table for TW_Blessing
> Creating table for TW_Bundle
> Creating table for TW_Bundles
> Creating table for TW_Packages
> Creating table for TW_DataElement
> Creating table for TW_Data
> Creating table for TW_DatabaseIdentifier
> Creating table for TW_Files
> Creating table for TW_FileRecord
> Creating table for TW_Properties
> Creating table for TW_PropertyRecord
> Creating table for TW_MethodDocs
> Done!
> Creating table for TW_DBUserGroup
> Creating table for TW_DBPundlePrivileges
> Done!
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> June
> 8, 2009 11:38:44 am
> Loading MiniGL . . .Done
>
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at  
> June
> 9, 2009 5:25:43 pm
> Loading StoreGlorp . . . (ProtoObject class #toolListIcon -
> BehaviorIcons is undeclared)  (BlockClosure #asGlorpExpressionOn: -
> MessageArchiver is undeclared)  (BlockClosure
> #asGlorpExpressionForDescriptor: - BaseExpression is undeclared)
> (Glorp.VariableJoin #isConstant: - DatabaseField is undeclared)
> (Glorp.SubstringFunction #rewriteFunctionArgumentsWith: -
> PostgreSQLPlatform is undeclared)  (Glorp.SimpleQuery #sql: -
> SQLStringSelectCommand is undeclared)  (Glorp.ElementBuilder -
> notOptimized)  (Collection #writeStream - AddingWriteStream is
> undeclared)  (Association - notOptimized)  (Association -  
> notOptimized)
>  (Glorp.GlorpClobType #requiresCast - SQLServerPlatform is undeclared)
>  (Glorp.DatabaseAccessor - notOptimized)  (Glorp.DatabaseRow -
> notOptimized)  (Glorp.DatabaseRow - notOptimized)
> (Glorp.DatabasePlatform #readTimeFromStream:for: - timeZoneOffset -
> neverRead)  (Glorp.StoreDescriptorSystem #validateRows: -  
> methodTrace -
> neverRead)  (Glorp.Store73DescriptorSystem #tableForTW_METHOD: -
> commentId - neverUsed)  (Glorp.Store73DescriptorSystem
> #descriptorForStoreMethod: - table - neverRead)
> (Refactory.Browser.StoreForGlorpBrowserEnvironment - notOptimized)
> (Refactory.Browser.StoreForGlorpBrowserEnvironment - notOptimized)
> (Refactory.Browser.StoreForGlorpBrowserEnvironment - notOptimized)
> (Glorp.StorePundle #asBrowserEnvironment -
> StoreForGlorpBrowserEnvironment is undeclared)  (Glorp.StorePundle
> #browseContents - RefactoringBrowser is undeclared)  
> (Glorp.StorePundle
> #browseContents - StoreForGlorpNavigatorState is undeclared)
> (Glorp.StoreClassDefinitionInPackage #instVarNames - ExecuteCodeChange
> is undeclared)  (Glorp.RenamingRule class #replicateAs75 -
> undeclaredSoftLink)  (Glorp.RenamingRule class #replicateAs75 -
> undeclaredSoftLink)  (Glorp.RenamingRule class #replicateAs76 -
> undeclaredSoftLink)  (Glorp.RenamingRule class #replicateAs76 -
> undeclaredSoftLink)  (Glorp.StoreReplicationManager
> #evaluateInMemoryBundleConditions - bundleConditions - neverRead)
> (Glorp.UI.MetadataWorkbook #on: - MetadataDescriptorSystem is
> undeclared)  (Glorp.UI.StoreForGlorpPublishPundleDialog #accept -
> GlorpQueryPerformanceAnalyzer is undeclared)
> (AbsentClassImporterMetaclass #asStoreClassDefinition -
> StoreClassDefinition is undeclared)  (Store.Package
> #storeForGlorpPundleClass - StorePackage is undeclared)
> (OverridenStatic #asStoreSharedVariable - StoreSharedVariable is
> undeclared)  (Refactory.Browser.BrowserNavigator
> #browseClassVersionsFor:in: - StoreMethodInPackage is undeclared)
> (Refactory.Browser.BrowserNavigator #browseClassVersionsFor:in: -  
> Query
> is undeclared)  (Refactory.Browser.BrowserNavigator
> #browseClassVersionsFor:in: - StoreMethod is undeclared)
> (Refactory.Browser.BrowserNavigator #browseClassVersionsFor:in: -
> StoreClassDefinitionInPackage is undeclared)
> (Refactory.Browser.BrowserNavigator #glorpWhatVersionIsThis -
> StoreLoginFactory is undeclared)  (Refactory.Browser.BrowserNavigator
> #glorpPublish - StoreForGlorpPublishPundleDialog is undeclared)
> (Refactory.Browser.BrowserNavigator #glorpPublish -
> StoreForGlorpPublishPackageDialog is undeclared)  (VisualLauncher
> #isAutoReplicationON - StoreAutoReplicatorSystem is undeclared)
> (VisualLauncher #openStoreForGlorpWorkbook - StoreWorkbook is
> undeclared)  (Store.PundleModel #stripIgnorablePropertiesToMatch: -
> StorePundle is undeclared)  (Store.PundleModel
> #publishTo:parent:versionName:blessingLevel:blessingComment: -
> StoreBundle is undeclared)  (Store.PundleModel
> #publishTo:parent:versionName:blessingLevel:blessingComment: -
> StorePundleWriter is undeclared)  (Store.PundleModel
> #publishTo:parent:versionName:blessingLevel:blessingComment: -
> StoreBlessing is undeclared)  (Store.PundleModel
> #publishTo:parent:versionName:blessingLevel:blessingComment: - Dialect
> is undeclared)  (CompiledMethod  
> #asStoreMethodDefinitionWithoutProtocol
> - AdHocProxy is undeclared)  (CompiledMethod
> #asStoreMethodDefinitionWithoutProtocol - StoreBlob is undeclared)
> (OverridenNameSpace #asStoreNameSpace - StoreNameSpace is undeclared)
> (Store.BundleModel
> #asStorePundleIn:returnOriginalIfUnmodified:includeUninstalled: -
> StoreFile is undeclared)  (Store.PackageBrowserHelper
> #mergePundleVersionGlorp - GlorpMergeTool is undeclared)
> (Store.PackageBrowserHelper #mergePundleVersionGlorp -
> StoreForGlorpMergeData is undeclared) Done
> '
> toolDock = a VisualLauncherToolDock
> Context PC = 3
>
> ----------------------------------------------------------------------
> WinXPMenuBarButtonController
> (MenuBarButtonController)>>dispatchMenuSymbol:
> Receiver:
> a WinXPMenuBarButtonController
> Instance Variables:
> model = nil
> view = a WinXPMenuBarButtonView
> sensor = a TranslatingSensor
> highlightOnOpen = false
> Arguments:
> menuSelection = #openStoreForGlorpWorkbook
> Context PC = 38
>
> ----------------------------------------------------------------------
> WinXPMenuBarButtonController
> (MenuBarButtonController)>>dispatchMenuSelection:
> Receiver:
> a WinXPMenuBarButtonController
> Instance Variables:
> model = nil
> view = a WinXPMenuBarButtonView
> sensor = a TranslatingSensor
> highlightOnOpen = false
> Arguments:
> menuSelection = #openStoreForGlorpWorkbook
> Context PC = 21
>
> ----------------------------------------------------------------------
> optimized [] in Win95MenuBarButtonController>>menuBarActionForMenu:
> Receiver:
> an UndefinedObject
> Temporaries:
> valueResult = a MenuItem 'Store Workbook... (Glorp)'
> menuView = a WinXPMenuView
> .super = a WinXPMenuBarButtonController
> .aMenu = a Menu
> Context PC = 55
>
> ----------------------------------------------------------------------
> BlockClosure>>ensure:
> Receiver:
> a BlockClosure
> Instance Variables:
> method = CompiledBlock [] in
> Win95MenuBarButtonController>>menuBarActionForMenu:
> outerContext = nil
> copiedValues = an Array[2]
> Arguments:
> aBlock = BlockClosure [] in
> Win95MenuBarButtonController>>menuBarActionForMenu:
> Temporaries:
> result = nil
> Context PC = 4
>
> ----------------------------------------------------------------------
> WinXPMenuBarButtonController
> (Win95MenuBarButtonController)>>menuBarActionForMenu:
> Receiver:
> a WinXPMenuBarButtonController
> Instance Variables:
> model = nil
> view = a WinXPMenuBarButtonView
> sensor = a TranslatingSensor
> highlightOnOpen = false
> Arguments:
> aMenu = a Menu
> Temporaries:
> performer = a VisualLauncher
> Context PC = 31
>
> ----------------------------------------------------------------------
> WinXPMenuBarButtonController(MenuBarButtonController)>>menuBarAction
> Receiver:
> a WinXPMenuBarButtonController
> Instance Variables:
> model = nil
> view = a WinXPMenuBarButtonView
> sensor = a TranslatingSensor
> highlightOnOpen = false
> Temporaries:
> theMenu = a Menu
> Context PC = 20
>
> ----------------------------------------------------------------------
> WinXPMenuBarButtonController
> (MenuBarButtonController)>>redButtonPressedEvent:
> Receiver:
> a WinXPMenuBarButtonController
> Instance Variables:
> model = nil
> view = a WinXPMenuBarButtonView
> sensor = a TranslatingSensor
> highlightOnOpen = false
> Arguments:
> event = a RedButtonPressedEvent
> Context PC = 10
>
> ----------------------------------------------------------------------
> RedButtonPressedEvent>>dispatchTo:
> Receiver:
> a RedButtonPressedEvent
> Instance Variables:
> time = 5058656
> initiator = an EventDispatcher
> window = an ApplicationWindow 60817437
> state = 1
> x = 243
> y = 10
> gx = 248
> gy = 61
> buttonNumber = 1
> Arguments:
> anObject = a WinXPMenuBarButtonController
> Context PC = 4
>
> ----------------------------------------------------------------------
> WinXPMenuBarButtonController(Controller)>>handleEvent:
> Receiver:
> a WinXPMenuBarButtonController
> Instance Variables:
> model = nil
> view = a WinXPMenuBarButtonView
> sensor = a TranslatingSensor
> highlightOnOpen = false
> Arguments:
> event = a RedButtonPressedEvent
> Context PC = 4
>
> ----------------------------------------------------------------------
> EventDispatcher>>dispatch:to:
> Receiver:
> an EventDispatcher
> Instance Variables:
> windowController = an ApplicationStandardSystemController
> currentMouseConsumer = nil
> grabbingMouse = false
> keyboardProcessor = a KeyboardProcessor
> lastControlObject = nil
> trapList = nil
> state = nil
> repairDamageWhenDebugging = true
> flushQueueAfterError = true
> distributeEventsWhenDebugging = true
> dragDropInProgress = false
> dragDropTracker = nil
> dispatchUnknownEvents = false
> Arguments:
> event = a RedButtonPressedEvent
> object = a WinXPMenuBarButtonController
> Temporaries:
> tmp = nil
> Context PC = 10
>
> ----------------------------------------------------------------------
> EventDispatcher>>dispatchEvent:
> Receiver:
> an EventDispatcher
> Instance Variables:
> windowController = an ApplicationStandardSystemController
> currentMouseConsumer = nil
> grabbingMouse = false
> keyboardProcessor = a KeyboardProcessor
> lastControlObject = nil
> trapList = nil
> state = nil
> repairDamageWhenDebugging = true
> flushQueueAfterError = true
> distributeEventsWhenDebugging = true
> dragDropInProgress = false
> dragDropTracker = nil
> dispatchUnknownEvents = false
> Arguments:
> event = a RedButtonPressedEvent
> Temporaries:
> objectWantingControl = a WinXPMenuBarButtonController
> targetKeyboardProcessor = nil
> Context PC = 113
>
> ----------------------------------------------------------------------
> RedButtonPressedEvent(Event)>>dispatch
> Receiver:
> a RedButtonPressedEvent
> Instance Variables:
> time = 5058656
> initiator = an EventDispatcher
> window = an ApplicationWindow 60817437
> state = 1
> x = 243
> y = 10
> gx = 248
> gy = 61
> buttonNumber = 1
> Context PC = 16
>
> ----------------------------------------------------------------------
> RedButtonPressedEvent(Event)>>dispatchForWindowManager:
> Receiver:
> a RedButtonPressedEvent
> Instance Variables:
> time = 5058656
> initiator = an EventDispatcher
> window = an ApplicationWindow 60817437
> state = 1
> x = 243
> y = 10
> gx = 248
> gy = 61
> buttonNumber = 1
> Arguments:
> aWinMgr = a WindowManager
> Context PC = 4
>
> ----------------------------------------------------------------------
> optimized [] in WindowManager>>safelyDispatchForWindowManager:
> Receiver:
> an UndefinedObject
> Temporaries:
> .event = a RedButtonPressedEvent
> .super = a WindowManager
> Context PC = 6
>
> ----------------------------------------------------------------------
> BlockClosure>>on:do:
> Receiver:
> a BlockClosure
> Instance Variables:
> method = CompiledBlock [] in  
> WindowManager>>safelyDispatchForWindowManager:
> outerContext = nil
> copiedValues = an Array[2]
> Arguments:
> anExceptionSelector = BadControllerError
> handlerBlock = BlockClosure [] in
> WindowManager>>safelyDispatchForWindowManager:
> Context PC = 18
>
> ----------------------------------------------------------------------
> WindowManager>>safelyDispatchForWindowManager:
> Receiver:
> a WindowManager
> Instance Variables:
> windows = an OrderedCollection[1]
> activeController = nil
> interruptLock = false
> outstandingMetaOrDamage = false
> openInProgress = false
> eventQueue = an EventQueue
> baseProcess = a Process in Semaphore>>wait
> dontFilterEvents = false
> Arguments:
> event = a RedButtonPressedEvent
> Context PC = 13
>
> ----------------------------------------------------------------------
> WindowManager>>processNextEvent
> Receiver:
> a WindowManager
> Instance Variables:
> windows = an OrderedCollection[1]
> activeController = nil
> interruptLock = false
> outstandingMetaOrDamage = false
> openInProgress = false
> eventQueue = an EventQueue
> baseProcess = a Process in Semaphore>>wait
> dontFilterEvents = false
> Temporaries:
> event = a RedButtonPressedEvent
> Context PC = 9
>
> ----------------------------------------------------------------------
> optimized [] in [] in WindowManager>>newProcess
> Receiver:
> an UndefinedObject
> Temporaries:
> .super = a WindowManager
> Context PC = 13
>
> ----------------------------------------------------------------------
> BlockClosure>>on:do:
> Receiver:
> a BlockClosure
> Instance Variables:
> method = CompiledBlock [] in [] in WindowManager>>newProcess
> outerContext = nil
> copiedValues = a WindowManager
> Arguments:
> anExceptionSelector = TerminateException
> handlerBlock = BlockClosure [] in [] in WindowManager>>newProcess
> Context PC = 18
>
> ----------------------------------------------------------------------
> optimized [] in WindowManager>>newProcess
> Receiver:
> an UndefinedObject
> Temporaries:
> .super = a WindowManager
> Context PC = 15
>
> ----------------------------------------------------------------------
> BlockClosure>>on:do:
> Receiver:
> a BlockClosure
> Instance Variables:
> method = CompiledBlock [] in WindowManager>>newProcess
> outerContext = nil
> copiedValues = a WindowManager
> Arguments:
> anExceptionSelector = TerminateException
> handlerBlock = BlockClosure [] in [] in Process  
> class>>forBlock:priority:
> Context PC = 18
>
> ----------------------------------------------------------------------
> optimized [] in Process class>>forBlock:priority:
> Receiver:
> an UndefinedObject
> Temporaries:
> .aBlock = BlockClosure [] in WindowManager>>newProcess
> Context PC = 9
> _______________________________________________
> vwnc mailing list
> [hidden email]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
>


_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] StoreGlorp version for VW 7.6

Alan Knight-2
In reply to this post by Andres Fortier-2
As mentioned, the easiest thing to do is to use the version from parcels. But I'm able to use the 2.4 77.2 version of StoreGlorp without any problems. The method prepareWithoutBinding: should be in GlorpVWPort. In fact, it should still be there. So I don't know why you're not seeing it.  If you load the one from parcels in 7.6 it should have it, and even if you load the 7.7 - 27 from Store it should still have it, and replication appears to work fine for me.

And in fact, if I load the current versions of Glorp, StoreGlorp, and GlorpVWPort, replication works fine for me in 7.6 - modulo the setLogin: issue, which can be fixed either manually or by loading the current version of Database. I know, the current version of Database wasn't there before, but it is now, and I replicated it using a 7.6 image as described.


At 04:51 PM 6/9/2009, andres wrote:
Hi list. I'm trying to use the store (glorp) replicator without any
luck. I've been tracking old emails for the right version to load (I'm
using VW 7.6) and I found on an October 2008 e mail the right version
for a 7.6 image was StoreGlorp (2.4 77.2,aknight). However loading that
version (and adding by hand after the #setLogin: message to the
ExternalDatabaseConnection class) results in a mnu (see stack below).
Could someone please tell me which version of StoreGlorp should I use
for a 7.6 image?

Thanks,
Andrés

The error below appears when trying to log to a repository, either in
the workbook or the replicator.

Unhandled exception: Message not understood: #prepareWithoutBinding:
PostgreSQLEXDISession(Object)>>doesNotUnderstand:
Glorp.VWDatabaseAccessor>>newPreparedStatementFor:

--
Alan Knight [|], Engineering Manager, Cincom Smalltalk

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] StoreGlorp version for VW 7.6

Alan Knight-2
OK, apparently I was slightly confused on versions. In the very latest versions of GlorpVWPort, prepareWithoutBinding: has been removed (moved into base in 7.7) so you'd need one that was older than that. But the version that comes in the parcel with 7.6 certainly should work.

At 09:39 AM 6/10/2009, Alan Knight wrote:
As mentioned, the easiest thing to do is to use the version from parcels. But I'm able to use the 2.4 77.2 version of StoreGlorp without any problems. The method prepareWithoutBinding: should be in GlorpVWPort. In fact, it should still be there. So I don't know why you're not seeing it.  If you load the one from parcels in 7.6 it should have it, and even if you load the 7.7 - 27 from Store it should still have it, and replication appears to work fine for me.

And in fact, if I load the current versions of Glorp, StoreGlorp, and GlorpVWPort, replication works fine for me in 7.6 - modulo the setLogin: issue, which can be fixed either manually or by loading the current version of Database. I know, the current version of Database wasn't there before, but it is now, and I replicated it using a 7.6 image as described.


At 04:51 PM 6/9/2009, andres wrote:
Hi list. I'm trying to use the store (glorp) replicator without any
luck. I've been tracking old emails for the right version to load (I'm
using VW 7.6) and I found on an October 2008 e mail the right version
for a 7.6 image was StoreGlorp (2.4 77.2,aknight). However loading that
version (and adding by hand after the #setLogin: message to the
ExternalDatabaseConnection class) results in a mnu (see stack below).
Could someone please tell me which version of StoreGlorp should I use
for a 7.6 image?

Thanks,
Andrés

The error below appears when trying to log to a repository, either in
the workbook or the replicator.

Unhandled exception: Message not understood: #prepareWithoutBinding:
PostgreSQLEXDISession(Object)>>doesNotUnderstand:
Glorp.VWDatabaseAccessor>>newPreparedStatementFor:

--
Alan Knight [|], Engineering Manager, Cincom Smalltalk
[hidden email]
[hidden email]
http://www.cincom.com/smalltalk
_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc

--
Alan Knight [|], Engineering Manager, Cincom Smalltalk

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] StoreGlorp version for VW 7.6

Andres Fortier-2
In reply to this post by Stevenson, Dave (contr)
Hi Dave, James, Alan:
                                        thank you all for your quick responses. The reason I didn't load
the parcels shipped with 7.6 is because it was labeled as a 7.5 beta and
in the "preview" section. Since many new versions of the packages have
solved ARs and managing code is a critical issue, I wanted to get the
latest build. I guess I will just stick to the parcels of the distribution.

Thanks again,
                Andrés

Stevenson, Dave (Contr) escribió:

> I was told by Cincom support (who were told by Alan) to use the parcel that shipped with 7.6 (which is marked 7.5 beta something...)
>
>
>
>> Stevenson, Dave (contr) <[hidden email]>
> 972-946-4890
>
> -----Original Message-----
> From: [hidden email] [mailto:[hidden email]] On Behalf Of andres
> Sent: Tuesday, June 09, 2009 3:52 PM
> To: VWNC List
> Subject: [vwnc] StoreGlorp version for VW 7.6
>
> Hi list. I'm trying to use the store (glorp) replicator without any
> luck. I've been tracking old emails for the right version to load (I'm
> using VW 7.6) and I found on an October 2008 e mail the right version
> for a 7.6 image was StoreGlorp (2.4 77.2,aknight). However loading that
> version (and adding by hand after the #setLogin: message to the
> ExternalDatabaseConnection class) results in a mnu (see stack below).
> Could someone please tell me which version of StoreGlorp should I use
> for a 7.6 image?
>
> Thanks,
> Andrés
>
> The error below appears when trying to log to a repository, either in
> the workbook or the replicator.
>
> Unhandled exception: Message not understood: #prepareWithoutBinding:
> PostgreSQLEXDISession(Object)>>doesNotUnderstand:
> Glorp.VWDatabaseAccessor>>newPreparedStatementFor:
> Glorp.VWDatabaseAccessor>>basicExecuteSQLString:returnResult:binding:doing:
> Glorp.VWDatabaseAccessor>>basicExecuteSQLString:binding:
> Glorp.VWDatabaseAccessor>>basicExecuteSQLString:
> optimized [] in Glorp.DatabaseAccessor>>executeSQLString:
> Glorp.VWDatabaseAccessor(Glorp.DatabaseAccessor)>>executeSQLString:
> Glorp.StoreLoginFactory class>>setPostgresqlSessionToUnicode:
> Glorp.StoreLoginFactory class>>sessionForLogin:
> Glorp.StoreLoginFactory class>>sessionForStoreLogin:
> Glorp.UI.StoreWorkbook(Glorp.UI.GlorpWorkbook)>>on:
> Glorp.UI.StoreWorkbook class(Glorp.UI.GlorpWorkbook class)>>on:
> Glorp.UI.StoreWorkbook class(Glorp.UI.GlorpWorkbook
> class)>>openRequestingDatabase
> VisualLauncher>>openStoreForGlorpWorkbook
> WinXPMenuBarButtonController(MenuBarButtonController)>>dispatchMenuSymbol:
> WinXPMenuBarButtonController(MenuBarButtonController)>>dispatchMenuSelection:
> optimized [] in Win95MenuBarButtonController>>menuBarActionForMenu:
> BlockClosure>>ensure:
> WinXPMenuBarButtonController(Win95MenuBarButtonController)>>menuBarActionForMenu:
> WinXPMenuBarButtonController(MenuBarButtonController)>>menuBarAction
> WinXPMenuBarButtonController(MenuBarButtonController)>>redButtonPressedEvent:
> RedButtonPressedEvent>>dispatchTo:
> WinXPMenuBarButtonController(Controller)>>handleEvent:
> EventDispatcher>>dispatch:to:
> EventDispatcher>>dispatchEvent:
> RedButtonPressedEvent(Event)>>dispatch
> RedButtonPressedEvent(Event)>>dispatchForWindowManager:
> optimized [] in WindowManager>>safelyDispatchForWindowManager:
> BlockClosure>>on:do:
> WindowManager>>safelyDispatchForWindowManager:
> WindowManager>>processNextEvent
> optimized [] in [] in WindowManager>>newProcess
> BlockClosure>>on:do:
> optimized [] in WindowManager>>newProcess
> BlockClosure>>on:do:
> optimized [] in Process class>>forBlock:priority:
>
> ----------------------------------------------------------------------
> PostgreSQLEXDISession(Object)>>doesNotUnderstand:
> Receiver:
> a PostgreSQLEXDISession
> Instance Variables:
> stateHolder = a ValueHolder on: #new
> traceStream = nil
> traceLevel = 0
> participants = a WeakArray[0]
> participantsSemaphore = a RecursionLock
> connection = a PostgreSQLEXDIConnection
> query = nil
> queryFragments = nil
> bindInput = nil
> bindTemplate = nil
> bindOutput = nil
> useNamedOutputBinding = false
> bindValues = nil
> resultTemplate = nil
> allocateForEachRow = true
> blockFactor = 5
> numColumns = nil
> columnDescriptions = nil
> rowAdaptors = nil
> rowBuffersHolder = a ValueHolder on: nil
> bufferIndex = nil
> answerStream = nil
> currentRow = nil
> scrollable = false
> rowStream = nil
> currentPostgresRow = nil
> noticeResponsesAreSuppressed = nil
> resultList = nil
> translationsFromPostgres = nil
> Arguments:
> aMessage = a Message with selector: #prepareWithoutBinding: and
> arguments: #('SHOW CLIENT_ENCODING')
> Temporaries:
> excpt = a MessageNotUnderstood
> resumeValue = nil
> Context PC = 25
>
> ----------------------------------------------------------------------
> Glorp.VWDatabaseAccessor>>newPreparedStatementFor:
> Receiver:
> a Glorp.VWDatabaseAccessor
> Instance Variables:
> connection = a PostgreSQLEXDIConnection
> currentLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
> 'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
> logging = false
> reusePreparedStatements = true
> deniedCommands = nil
> mutex = a Semaphore[0]
> dependents = nil
> driverSession = nil
> preparedStatements = a Glorp.CacheManager
> Arguments:
> aCommand = a Glorp.SQLStringCommand
> Temporaries:
> newSession = a PostgreSQLEXDISession
> Context PC = 19
>
> ----------------------------------------------------------------------
> Glorp.VWDatabaseAccessor>>basicExecuteSQLString:returnResult:binding:doing:
> Receiver:
> a Glorp.VWDatabaseAccessor
> Instance Variables:
> connection = a PostgreSQLEXDIConnection
> currentLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
> 'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
> logging = false
> reusePreparedStatements = true
> deniedCommands = nil
> mutex = a Semaphore[0]
> dependents = nil
> driverSession = nil
> preparedStatements = a Glorp.CacheManager
> Arguments:
> aString = 'SHOW CLIENT_ENCODING'
> returnResult = true
> aBindingArray = nil
> aBlock = BlockClosure [] in
> Glorp.VWDatabaseAccessor>>basicExecuteSQLString:binding:
> Temporaries:
> answerStream = nil
> command = a Glorp.SQLStringCommand
> statement = nil
> session = nil
> cursor = nil
> Context PC = 39
>
> ----------------------------------------------------------------------
> Glorp.VWDatabaseAccessor>>basicExecuteSQLString:binding:
> Receiver:
> a Glorp.VWDatabaseAccessor
> Instance Variables:
> connection = a PostgreSQLEXDIConnection
> currentLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
> 'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
> logging = false
> reusePreparedStatements = true
> deniedCommands = nil
> mutex = a Semaphore[0]
> dependents = nil
> driverSession = nil
> preparedStatements = a Glorp.CacheManager
> Arguments:
> aString = 'SHOW CLIENT_ENCODING'
> aBindingArray = nil
> Context PC = 8
>
> ----------------------------------------------------------------------
> Glorp.VWDatabaseAccessor>>basicExecuteSQLString:
> Receiver:
> a Glorp.VWDatabaseAccessor
> Instance Variables:
> connection = a PostgreSQLEXDIConnection
> currentLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
> 'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
> logging = false
> reusePreparedStatements = true
> deniedCommands = nil
> mutex = a Semaphore[0]
> dependents = nil
> driverSession = nil
> preparedStatements = a Glorp.CacheManager
> Arguments:
> aString = 'SHOW CLIENT_ENCODING'
> Context PC = 6
>
> ----------------------------------------------------------------------
> optimized [] in Glorp.DatabaseAccessor>>executeSQLString:
> Receiver:
> an UndefinedObject
> Temporaries:
> .super = a Glorp.VWDatabaseAccessor
> .aString = 'SHOW CLIENT_ENCODING'
> result = nil
> Context PC = 7
>
> ----------------------------------------------------------------------
> Glorp.VWDatabaseAccessor(Glorp.DatabaseAccessor)>>executeSQLString:
> Receiver:
> a Glorp.VWDatabaseAccessor
> Instance Variables:
> connection = a PostgreSQLEXDIConnection
> currentLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
> 'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
> logging = false
> reusePreparedStatements = true
> deniedCommands = nil
> mutex = a Semaphore[0]
> dependents = nil
> driverSession = nil
> preparedStatements = a Glorp.CacheManager
> Arguments:
> aString = 'SHOW CLIENT_ENCODING'
> Temporaries:
> result = nil
> block = BlockClosure [] in Glorp.DatabaseAccessor>>executeSQLString:
> time = nil
> Context PC = 25
>
> ----------------------------------------------------------------------
> Glorp.StoreLoginFactory class>>setPostgresqlSessionToUnicode:
> Receiver:
> a Glorp.StoreLoginFactory class
> Instance Variables:
> superclass = Object
> methodDict = a MethodDictionary[0]
> format = 16384
> subclasses = nil
> instanceVariables = nil
> organization =
> name = #StoreLoginFactory
> classPool = a NameSpaceOfClass[0]
> environment = a NameSpace[267]
> Arguments:
> session = a Glorp.GlorpSession
> Temporaries:
> encoding = nil
> Context PC = 14
>
> ----------------------------------------------------------------------
> Glorp.StoreLoginFactory class>>sessionForLogin:
> Receiver:
> a Glorp.StoreLoginFactory class
> Instance Variables:
> superclass = Object
> methodDict = a MethodDictionary[0]
> format = 16384
> subclasses = nil
> instanceVariables = nil
> organization =
> name = #StoreLoginFactory
> classPool = a NameSpaceOfClass[0]
> environment = a NameSpace[267]
> Arguments:
> aLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
> 'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
> Temporaries:
> session = a Glorp.GlorpSession
> system = a Glorp.StoreDescriptorSystem
> Context PC = 45
>
> ----------------------------------------------------------------------
> Glorp.StoreLoginFactory class>>sessionForStoreLogin:
> Receiver:
> a Glorp.StoreLoginFactory class
> Instance Variables:
> superclass = Object
> methodDict = a MethodDictionary[0]
> format = 16384
> subclasses = nil
> instanceVariables = nil
> organization =
> name = #StoreLoginFactory
> classPool = a NameSpaceOfClass[0]
> environment = a NameSpace[267]
> Arguments:
> aStoreConnectionProfile = a Store.ConnectionProfile
> Temporaries:
> aLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
> 'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
> Context PC = 10
>
> ----------------------------------------------------------------------
> Glorp.UI.StoreWorkbook(Glorp.UI.GlorpWorkbook)>>on:
> Receiver:
> a Glorp.UI.StoreWorkbook
> Instance Variables:
> dependents = nil
> builder = nil
> uiSession = nil
> eventHandlers = nil
> locals = a WorkspaceVariablePool[0]
> importAll = true
> specificImports = an Array[3]
> importSummaryHolder = a ValueHolder on: 'All'
> pageExplanationHolder = nil
> statusBarVisible = true
> encodingChannel = a ValueHolder on: #Source
> menuBarHolder = nil
> pageHolder = a SelectionInList
> lastInstalledPage = nil
> session = nil
> Arguments:
> aConnectionProfile = a Store.ConnectionProfile
> Context PC = 4
>
> ----------------------------------------------------------------------
> Glorp.UI.StoreWorkbook class(Glorp.UI.GlorpWorkbook class)>>on:
> Receiver:
> a Glorp.UI.StoreWorkbook class
> Instance Variables:
> superclass = Glorp.UI.GlorpWorkbook
> methodDict = a MethodDictionary[0]
> format = 16399
> subclasses = nil
> instanceVariables = nil
> organization =
> name = #StoreWorkbook
> classPool = a NameSpaceOfClass[0]
> environment = a NameSpace[12]
> savedWindowInformation = nil
> Arguments:
> aConnectionProfile = a Store.ConnectionProfile
> Context PC = 7
>
> ----------------------------------------------------------------------
> Glorp.UI.StoreWorkbook class(Glorp.UI.GlorpWorkbook
> class)>>openRequestingDatabase
> Receiver:
> a Glorp.UI.StoreWorkbook class
> Instance Variables:
> superclass = Glorp.UI.GlorpWorkbook
> methodDict = a MethodDictionary[0]
> format = 16399
> subclasses = nil
> instanceVariables = nil
> organization =
> name = #StoreWorkbook
> classPool = a NameSpaceOfClass[0]
> environment = a NameSpace[12]
> savedWindowInformation = nil
> Temporaries:
> login = a Store.ConnectionProfile
> Context PC = 13
>
> ----------------------------------------------------------------------
> VisualLauncher>>openStoreForGlorpWorkbook
> Receiver:
> a VisualLauncher
> Instance Variables:
> dependents = an ApplicationWindow 60817437
> builder = an UIBuilder
> uiSession = a ControlManager
> eventHandlers = nil
> menuBar = a Menu
> toolBar = a ValueHolder on: a Menu
> textCollector = a TextCollector on: Text for '
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> Render!
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> FalseTermination Request
> Terminated?
> Resume
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Termination Request
> Terminated?
> Resume
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Termination Request
> Terminated?
> Resume
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Termination Request
> Terminated?
>
> Global garbage collection (please wait)...
> reclaimed 181.12 Mbytes of data and 0 OTEntries in 1.1 sec.
> heap shrunk by 175.75 Mbytes
> 69.63 Mbytes total; 57.57 Mbytes used, 12.06 Mbytes free.
> Resume
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Termination Request
> Terminated?
>   (MiniGL.FramerateStrategy class #DoIt - shouldRender is undeclared)
> (MiniGL.FramerateStrategy class #DoIt - realFramerate is undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 9, 2009 10:54:18 amResume
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Termination Request
> Terminated?
>
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 9, 2009 10:57:29 am
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 9, 2009 10:57:32 am
> Global garbage collection (please wait)...
> reclaimed 0.01 Mbytes of data and 0 OTEntries in 0.4 sec.
> heap shrunk by 1.0 Mbytes
> 66.28 Mbytes total; 57.62 Mbytes used, 8.66 Mbytes free.
>   ({MiniGL.CameraViewingVolume} - clippingCone is undeclared)
> ({MiniGL.CameraViewingVolume} - clippingSphere is undeclared)
> ({MiniGL.RenderingContext} - cameraOrigin is undeclared)
> ({MiniGL.RenderingContext} - clippingFrustum is undeclared)
> ({MiniGL.RenderingContext} - clippingBox is undeclared)
> (MiniGL.RenderingContext class #DoIt - clippingVolume is undeclared)
> (AABBInternalNode class #DoIt - aRenderingContext is undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 9, 2009 11:10:09 am
> Scanning /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.cha
> (UndefinedObject #DoIt - undeclaredSoftLink)  (UndefinedObject #DoIt -
> undeclaredSoftLink)  (UndefinedObject #DoIt - undeclaredSoftLink)
> (UndefinedObject #DoIt - undeclaredSoftLink)  (UndefinedObject #DoIt -
> undeclaredSoftLink)
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Syntax error: Nothing more expected ->
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character (UndefinedObject #DoIt - pkg - redeclaredBlockArg)
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character (UndefinedObject #DoIt - pkg - redeclaredBlockArg)
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character (UndefinedObject #DoIt - pkg_1 - redeclaredBlockArg)
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character (UndefinedObject #DoIt - pkg_1 - redeclaredBlockArg)
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character (UndefinedObject #DoIt - DefaultAuthor is undeclared)
> (UndefinedObject #DoIt - DefaultMail is undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 9, 2009 11:22:50 am ({MiniGL.Animation} - framesPerSecond is undeclared)
>   ({MiniGL.Animation} - block is undeclared)  (MiniGL.Animation class
> #DoIt - anIdleInterval is undeclared)  (MiniGL.Animation class #DoIt -
> new is undeclared)  (MiniGL.Animation class #DoIt - milliseconds is
> undeclared)  (MiniGL.Animation class #DoIt - animationStep is
> undeclared)  (MiniGL.Animation class #DoIt - sefl is undeclared)
> (MiniGL.BlockAnimation class #DoIt - aBlock is undeclared)
> ({MiniGL.Scene} - root is undeclared)  (MiniGL.Animation class #DoIt -
> doAnimationStep is undeclared)  (MiniGL.Scene class #DoIt - boundingBox
> is undeclared)  (MiniGL.Scene class #DoIt - aRenderingContext is
> undeclared)  (MiniGL.OpenGLObject class #DoIt - aDelta is undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 9, 2009 11:53:58 am (MiniGL.MiniGLFunctionalTests class #DoIt -
> projection is undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt -
> triangle is undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt -
> scene is undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt -
> addEffect is undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt -
> green is undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt -
> negated is undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 9, 2009 12:00:24 pm (MiniGL.MiniGLFunctionalTests class #DoIt - camera
> is undeclared)  (MiniGL.Animation class #DoIt - performed is undeclared)
>
> An error occurred while sending menu state message #hasClassSelected in
> a menu of a Refactory.Browser.RefactoringBrowser. Answering true.
> To debug such errors, evaluate the following expression:
> UI.Menu suppressMenuDispatchErrors: false.
> To revert to printing transcript warnings instead of opening the
> debugger, evaluate:
> UI.Menu suppressMenuDispatchErrors: true.
> Global garbage collection (please wait)...
> reclaimed 0.04 Mbytes of data and 0 OTEntries in 0.2 sec.
> 67.47 Mbytes total; 58.99 Mbytes used, 8.48 Mbytes free.
>
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 9, 2009 12:06:31 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 9, 2009 12:11:11 pm (MiniGL.MiniGLFunctionalTests class #DoIt - red is
> undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt - blue is
> undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 9, 2009 3:42:53 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 9, 2009 3:44:07 pm (MiniGL.MiniGLFunctionalTests class #DoIt - new is
> undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt - t1 is
> undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt - scene is
> undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 9, 2009 5:27:23 pm (MiniGL.MiniGLFunctionalTests class #DoIt - p3 is
> undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt - green is
> undeclared)
> Compacting garbage collection (please wait)...
> reclaimed 12.2 Mbytes of data and 0 OTEntries in 0.1 sec.
> heap shrunk by 15.91 Mbytes
> 66.03 Mbytes total; 57.39 Mbytes used, 8.64 Mbytes free.
>
> Global garbage collection (please wait)...
> reclaimed 12.35 Mbytes of data and 0 OTEntries in 0.5 sec.
> heap shrunk by 9.47 Mbytes
> 72.49 Mbytes total; 57.35 Mbytes used, 15.13 Mbytes free.
>
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 9, 2009 5:34:40 pm (MiniGL.SameSceneManyViewportsFunctionalTests class
> #DoIt - triangles is undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 11, 2009 12:32:24 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 11, 2009 12:32:38 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 11, 2009 12:35:07 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 11, 2009 12:35:58 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 11, 2009 12:37:07 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 11, 2009 12:37:42 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 11, 2009 12:38:40 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 11, 2009 12:40:03 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 11, 2009 12:42:30 pm
> Global garbage collection (please wait)...
> reclaimed 0.17 Mbytes of data and 0 OTEntries in 0.3 sec.
> heap shrunk by 3.44 Mbytes
> 77.32 Mbytes total; 68.69 Mbytes used, 8.62 Mbytes free.
>   (MiniGL.X11Window class #DoIt - ifTrue is undeclared)
> (MiniGL.X11Window class #DoIt - renderingContextHandle is undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 11, 2009 3:48:15 pm
> MiniGLFunctionalTests class>windowSpec defined
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 13, 2009 3:37:34 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 17, 2009 8:56:10 am
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 19, 2009 5:31:45 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at April
> 29, 2009 8:31:32 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at May
> 7, 2009 7:45:10 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at June
> 8, 2009 11:35:02 am
> Creating table for TW_ClassRecord
> Creating table for TW_NameSpaceRecord
> Creating table for TW_Package
> Creating table for TW_ParcelRecord
> Creating table for TW_PkgClasses
> Creating table for TW_PkgNameSpaces
> Creating table for TW_Method
> Creating table for TW_Methods
> Creating table for TW_Blob
> Creating table for TW_BinaryBlob
> Creating table for TW_Blessing
> Creating table for TW_Bundle
> Creating table for TW_Bundles
> Creating table for TW_Packages
> Creating table for TW_DataElement
> Creating table for TW_Data
> Creating table for TW_DatabaseIdentifier
> Creating table for TW_Files
> Creating table for TW_FileRecord
> Creating table for TW_Properties
> Creating table for TW_PropertyRecord
> Creating table for TW_MethodDocs
> Done!
> Creating table for TW_DBUserGroup
> Creating table for TW_DBPundlePrivileges
> Done!
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at June
> 8, 2009 11:38:44 am
> Loading MiniGL . . .Done
>
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at June
> 9, 2009 5:25:43 pm
> Loading StoreGlorp . . . (ProtoObject class #toolListIcon -
> BehaviorIcons is undeclared)  (BlockClosure #asGlorpExpressionOn: -
> MessageArchiver is undeclared)  (BlockClosure
> #asGlorpExpressionForDescriptor: - BaseExpression is undeclared)
> (Glorp.VariableJoin #isConstant: - DatabaseField is undeclared)
> (Glorp.SubstringFunction #rewriteFunctionArgumentsWith: -
> PostgreSQLPlatform is undeclared)  (Glorp.SimpleQuery #sql: -
> SQLStringSelectCommand is undeclared)  (Glorp.ElementBuilder -
> notOptimized)  (Collection #writeStream - AddingWriteStream is
> undeclared)  (Association - notOptimized)  (Association - notOptimized)
>   (Glorp.GlorpClobType #requiresCast - SQLServerPlatform is undeclared)
>   (Glorp.DatabaseAccessor - notOptimized)  (Glorp.DatabaseRow -
> notOptimized)  (Glorp.DatabaseRow - notOptimized)
> (Glorp.DatabasePlatform #readTimeFromStream:for: - timeZoneOffset -
> neverRead)  (Glorp.StoreDescriptorSystem #validateRows: - methodTrace -
> neverRead)  (Glorp.Store73DescriptorSystem #tableForTW_METHOD: -
> commentId - neverUsed)  (Glorp.Store73DescriptorSystem
> #descriptorForStoreMethod: - table - neverRead)
> (Refactory.Browser.StoreForGlorpBrowserEnvironment - notOptimized)
> (Refactory.Browser.StoreForGlorpBrowserEnvironment - notOptimized)
> (Refactory.Browser.StoreForGlorpBrowserEnvironment - notOptimized)
> (Glorp.StorePundle #asBrowserEnvironment -
> StoreForGlorpBrowserEnvironment is undeclared)  (Glorp.StorePundle
> #browseContents - RefactoringBrowser is undeclared)  (Glorp.StorePundle
> #browseContents - StoreForGlorpNavigatorState is undeclared)
> (Glorp.StoreClassDefinitionInPackage #instVarNames - ExecuteCodeChange
> is undeclared)  (Glorp.RenamingRule class #replicateAs75 -
> undeclaredSoftLink)  (Glorp.RenamingRule class #replicateAs75 -
> undeclaredSoftLink)  (Glorp.RenamingRule class #replicateAs76 -
> undeclaredSoftLink)  (Glorp.RenamingRule class #replicateAs76 -
> undeclaredSoftLink)  (Glorp.StoreReplicationManager
> #evaluateInMemoryBundleConditions - bundleConditions - neverRead)
> (Glorp.UI.MetadataWorkbook #on: - MetadataDescriptorSystem is
> undeclared)  (Glorp.UI.StoreForGlorpPublishPundleDialog #accept -
> GlorpQueryPerformanceAnalyzer is undeclared)
> (AbsentClassImporterMetaclass #asStoreClassDefinition -
> StoreClassDefinition is undeclared)  (Store.Package
> #storeForGlorpPundleClass - StorePackage is undeclared)
> (OverridenStatic #asStoreSharedVariable - StoreSharedVariable is
> undeclared)  (Refactory.Browser.BrowserNavigator
> #browseClassVersionsFor:in: - StoreMethodInPackage is undeclared)
> (Refactory.Browser.BrowserNavigator #browseClassVersionsFor:in: - Query
> is undeclared)  (Refactory.Browser.BrowserNavigator
> #browseClassVersionsFor:in: - StoreMethod is undeclared)
> (Refactory.Browser.BrowserNavigator #browseClassVersionsFor:in: -
> StoreClassDefinitionInPackage is undeclared)
> (Refactory.Browser.BrowserNavigator #glorpWhatVersionIsThis -
> StoreLoginFactory is undeclared)  (Refactory.Browser.BrowserNavigator
> #glorpPublish - StoreForGlorpPublishPundleDialog is undeclared)
> (Refactory.Browser.BrowserNavigator #glorpPublish -
> StoreForGlorpPublishPackageDialog is undeclared)  (VisualLauncher
> #isAutoReplicationON - StoreAutoReplicatorSystem is undeclared)
> (VisualLauncher #openStoreForGlorpWorkbook - StoreWorkbook is
> undeclared)  (Store.PundleModel #stripIgnorablePropertiesToMatch: -
> StorePundle is undeclared)  (Store.PundleModel
> #publishTo:parent:versionName:blessingLevel:blessingComment: -
> StoreBundle is undeclared)  (Store.PundleModel
> #publishTo:parent:versionName:blessingLevel:blessingComment: -
> StorePundleWriter is undeclared)  (Store.PundleModel
> #publishTo:parent:versionName:blessingLevel:blessingComment: -
> StoreBlessing is undeclared)  (Store.PundleModel
> #publishTo:parent:versionName:blessingLevel:blessingComment: - Dialect
> is undeclared)  (CompiledMethod #asStoreMethodDefinitionWithoutProtocol
> - AdHocProxy is undeclared)  (CompiledMethod
> #asStoreMethodDefinitionWithoutProtocol - StoreBlob is undeclared)
> (OverridenNameSpace #asStoreNameSpace - StoreNameSpace is undeclared)
> (Store.BundleModel
> #asStorePundleIn:returnOriginalIfUnmodified:includeUninstalled: -
> StoreFile is undeclared)  (Store.PackageBrowserHelper
> #mergePundleVersionGlorp - GlorpMergeTool is undeclared)
> (Store.PackageBrowserHelper #mergePundleVersionGlorp -
> StoreForGlorpMergeData is undeclared) Done
> '
> toolDock = a VisualLauncherToolDock
> Context PC = 3
>
> ----------------------------------------------------------------------
> WinXPMenuBarButtonController(MenuBarButtonController)>>dispatchMenuSymbol:
> Receiver:
> a WinXPMenuBarButtonController
> Instance Variables:
> model = nil
> view = a WinXPMenuBarButtonView
> sensor = a TranslatingSensor
> highlightOnOpen = false
> Arguments:
> menuSelection = #openStoreForGlorpWorkbook
> Context PC = 38
>
> ----------------------------------------------------------------------
> WinXPMenuBarButtonController(MenuBarButtonController)>>dispatchMenuSelection:
> Receiver:
> a WinXPMenuBarButtonController
> Instance Variables:
> model = nil
> view = a WinXPMenuBarButtonView
> sensor = a TranslatingSensor
> highlightOnOpen = false
> Arguments:
> menuSelection = #openStoreForGlorpWorkbook
> Context PC = 21
>
> ----------------------------------------------------------------------
> optimized [] in Win95MenuBarButtonController>>menuBarActionForMenu:
> Receiver:
> an UndefinedObject
> Temporaries:
> valueResult = a MenuItem 'Store Workbook... (Glorp)'
> menuView = a WinXPMenuView
> .super = a WinXPMenuBarButtonController
> .aMenu = a Menu
> Context PC = 55
>
> ----------------------------------------------------------------------
> BlockClosure>>ensure:
> Receiver:
> a BlockClosure
> Instance Variables:
> method = CompiledBlock [] in
> Win95MenuBarButtonController>>menuBarActionForMenu:
> outerContext = nil
> copiedValues = an Array[2]
> Arguments:
> aBlock = BlockClosure [] in
> Win95MenuBarButtonController>>menuBarActionForMenu:
> Temporaries:
> result = nil
> Context PC = 4
>
> ----------------------------------------------------------------------
> WinXPMenuBarButtonController(Win95MenuBarButtonController)>>menuBarActionForMenu:
> Receiver:
> a WinXPMenuBarButtonController
> Instance Variables:
> model = nil
> view = a WinXPMenuBarButtonView
> sensor = a TranslatingSensor
> highlightOnOpen = false
> Arguments:
> aMenu = a Menu
> Temporaries:
> performer = a VisualLauncher
> Context PC = 31
>
> ----------------------------------------------------------------------
> WinXPMenuBarButtonController(MenuBarButtonController)>>menuBarAction
> Receiver:
> a WinXPMenuBarButtonController
> Instance Variables:
> model = nil
> view = a WinXPMenuBarButtonView
> sensor = a TranslatingSensor
> highlightOnOpen = false
> Temporaries:
> theMenu = a Menu
> Context PC = 20
>
> ----------------------------------------------------------------------
> WinXPMenuBarButtonController(MenuBarButtonController)>>redButtonPressedEvent:
> Receiver:
> a WinXPMenuBarButtonController
> Instance Variables:
> model = nil
> view = a WinXPMenuBarButtonView
> sensor = a TranslatingSensor
> highlightOnOpen = false
> Arguments:
> event = a RedButtonPressedEvent
> Context PC = 10
>
> ----------------------------------------------------------------------
> RedButtonPressedEvent>>dispatchTo:
> Receiver:
> a RedButtonPressedEvent
> Instance Variables:
> time = 5058656
> initiator = an EventDispatcher
> window = an ApplicationWindow 60817437
> state = 1
> x = 243
> y = 10
> gx = 248
> gy = 61
> buttonNumber = 1
> Arguments:
> anObject = a WinXPMenuBarButtonController
> Context PC = 4
>
> ----------------------------------------------------------------------
> WinXPMenuBarButtonController(Controller)>>handleEvent:
> Receiver:
> a WinXPMenuBarButtonController
> Instance Variables:
> model = nil
> view = a WinXPMenuBarButtonView
> sensor = a TranslatingSensor
> highlightOnOpen = false
> Arguments:
> event = a RedButtonPressedEvent
> Context PC = 4
>
> ----------------------------------------------------------------------
> EventDispatcher>>dispatch:to:
> Receiver:
> an EventDispatcher
> Instance Variables:
> windowController = an ApplicationStandardSystemController
> currentMouseConsumer = nil
> grabbingMouse = false
> keyboardProcessor = a KeyboardProcessor
> lastControlObject = nil
> trapList = nil
> state = nil
> repairDamageWhenDebugging = true
> flushQueueAfterError = true
> distributeEventsWhenDebugging = true
> dragDropInProgress = false
> dragDropTracker = nil
> dispatchUnknownEvents = false
> Arguments:
> event = a RedButtonPressedEvent
> object = a WinXPMenuBarButtonController
> Temporaries:
> tmp = nil
> Context PC = 10
>
> ----------------------------------------------------------------------
> EventDispatcher>>dispatchEvent:
> Receiver:
> an EventDispatcher
> Instance Variables:
> windowController = an ApplicationStandardSystemController
> currentMouseConsumer = nil
> grabbingMouse = false
> keyboardProcessor = a KeyboardProcessor
> lastControlObject = nil
> trapList = nil
> state = nil
> repairDamageWhenDebugging = true
> flushQueueAfterError = true
> distributeEventsWhenDebugging = true
> dragDropInProgress = false
> dragDropTracker = nil
> dispatchUnknownEvents = false
> Arguments:
> event = a RedButtonPressedEvent
> Temporaries:
> objectWantingControl = a WinXPMenuBarButtonController
> targetKeyboardProcessor = nil
> Context PC = 113
>
> ----------------------------------------------------------------------
> RedButtonPressedEvent(Event)>>dispatch
> Receiver:
> a RedButtonPressedEvent
> Instance Variables:
> time = 5058656
> initiator = an EventDispatcher
> window = an ApplicationWindow 60817437
> state = 1
> x = 243
> y = 10
> gx = 248
> gy = 61
> buttonNumber = 1
> Context PC = 16
>
> ----------------------------------------------------------------------
> RedButtonPressedEvent(Event)>>dispatchForWindowManager:
> Receiver:
> a RedButtonPressedEvent
> Instance Variables:
> time = 5058656
> initiator = an EventDispatcher
> window = an ApplicationWindow 60817437
> state = 1
> x = 243
> y = 10
> gx = 248
> gy = 61
> buttonNumber = 1
> Arguments:
> aWinMgr = a WindowManager
> Context PC = 4
>
> ----------------------------------------------------------------------
> optimized [] in WindowManager>>safelyDispatchForWindowManager:
> Receiver:
> an UndefinedObject
> Temporaries:
> .event = a RedButtonPressedEvent
> .super = a WindowManager
> Context PC = 6
>
> ----------------------------------------------------------------------
> BlockClosure>>on:do:
> Receiver:
> a BlockClosure
> Instance Variables:
> method = CompiledBlock [] in WindowManager>>safelyDispatchForWindowManager:
> outerContext = nil
> copiedValues = an Array[2]
> Arguments:
> anExceptionSelector = BadControllerError
> handlerBlock = BlockClosure [] in
> WindowManager>>safelyDispatchForWindowManager:
> Context PC = 18
>
> ----------------------------------------------------------------------
> WindowManager>>safelyDispatchForWindowManager:
> Receiver:
> a WindowManager
> Instance Variables:
> windows = an OrderedCollection[1]
> activeController = nil
> interruptLock = false
> outstandingMetaOrDamage = false
> openInProgress = false
> eventQueue = an EventQueue
> baseProcess = a Process in Semaphore>>wait
> dontFilterEvents = false
> Arguments:
> event = a RedButtonPressedEvent
> Context PC = 13
>
> ----------------------------------------------------------------------
> WindowManager>>processNextEvent
> Receiver:
> a WindowManager
> Instance Variables:
> windows = an OrderedCollection[1]
> activeController = nil
> interruptLock = false
> outstandingMetaOrDamage = false
> openInProgress = false
> eventQueue = an EventQueue
> baseProcess = a Process in Semaphore>>wait
> dontFilterEvents = false
> Temporaries:
> event = a RedButtonPressedEvent
> Context PC = 9
>
> ----------------------------------------------------------------------
> optimized [] in [] in WindowManager>>newProcess
> Receiver:
> an UndefinedObject
> Temporaries:
> .super = a WindowManager
> Context PC = 13
>
> ----------------------------------------------------------------------
> BlockClosure>>on:do:
> Receiver:
> a BlockClosure
> Instance Variables:
> method = CompiledBlock [] in [] in WindowManager>>newProcess
> outerContext = nil
> copiedValues = a WindowManager
> Arguments:
> anExceptionSelector = TerminateException
> handlerBlock = BlockClosure [] in [] in WindowManager>>newProcess
> Context PC = 18
>
> ----------------------------------------------------------------------
> optimized [] in WindowManager>>newProcess
> Receiver:
> an UndefinedObject
> Temporaries:
> .super = a WindowManager
> Context PC = 15
>
> ----------------------------------------------------------------------
> BlockClosure>>on:do:
> Receiver:
> a BlockClosure
> Instance Variables:
> method = CompiledBlock [] in WindowManager>>newProcess
> outerContext = nil
> copiedValues = a WindowManager
> Arguments:
> anExceptionSelector = TerminateException
> handlerBlock = BlockClosure [] in [] in Process class>>forBlock:priority:
> Context PC = 18
>
> ----------------------------------------------------------------------
> optimized [] in Process class>>forBlock:priority:
> Receiver:
> an UndefinedObject
> Temporaries:
> .aBlock = BlockClosure [] in WindowManager>>newProcess
> Context PC = 9
> _______________________________________________
> vwnc mailing list
> [hidden email]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
>
_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] StoreGlorp version for VW 7.6

Alan Knight-2
Yes, that was just a mistake in labelling. Those versions are current for 7.6.

At 03:00 PM 6/10/2009, andres wrote:
Hi Dave, James, Alan:
                                            thank you all for your quick responses. The reason I didn't load
the parcels shipped with 7.6 is because it was labeled as a 7.5 beta and
in the "preview" section. Since many new versions of the packages have
solved ARs and managing code is a critical issue, I wanted to get the
latest build. I guess I will just stick to the parcels of the distribution.

Thanks again,
                 Andrés

Stevenson, Dave (Contr) escribió:
> I was told by Cincom support (who were told by Alan) to use the parcel that shipped with 7.6 (which is marked 7.5 beta something...)
>
>
>
>> Stevenson, Dave (contr) <[hidden email]>
> 972-946-4890
>
> -----Original Message-----
> From: [hidden email] [[hidden email]] On Behalf Of andres
> Sent: Tuesday, June 09, 2009 3:52 PM
> To: VWNC List
> Subject: [vwnc] StoreGlorp version for VW 7.6
>
> Hi list. I'm trying to use the store (glorp) replicator without any
> luck. I've been tracking old emails for the right version to load (I'm
> using VW 7.6) and I found on an October 2008 e mail the right version
> for a 7.6 image was StoreGlorp (2.4 77.2,aknight). However loading that
> version (and adding by hand after the #setLogin: message to the
> ExternalDatabaseConnection class) results in a mnu (see stack below).
> Could someone please tell me which version of StoreGlorp should I use
> for a 7.6 image?
>
> Thanks,
> Andrés
>
> The error below appears when trying to log to a repository, either in
> the workbook or the replicator.
>
> Unhandled exception: Message not understood: #prepareWithoutBinding:
> PostgreSQLEXDISession(Object)>>doesNotUnderstand:
> Glorp.VWDatabaseAccessor>>newPreparedStatementFor:
> Glorp.VWDatabaseAccessor>>basicExecuteSQLString:returnResult:binding:doing:
> Glorp.VWDatabaseAccessor>>basicExecuteSQLString:binding:
> Glorp.VWDatabaseAccessor>>basicExecuteSQLString:
> optimized [] in Glorp.DatabaseAccessor>>executeSQLString:
> Glorp.VWDatabaseAccessor(Glorp.DatabaseAccessor)>>executeSQLString:
> Glorp.StoreLoginFactory class>>setPostgresqlSessionToUnicode:
> Glorp.StoreLoginFactory class>>sessionForLogin:
> Glorp.StoreLoginFactory class>>sessionForStoreLogin:
> Glorp.UI.StoreWorkbook(Glorp.UI.GlorpWorkbook)>>on:
> Glorp.UI.StoreWorkbook class(Glorp.UI.GlorpWorkbook class)>>on:
> Glorp.UI.StoreWorkbook class(Glorp.UI.GlorpWorkbook
> class)>>openRequestingDatabase
> VisualLauncher>>openStoreForGlorpWorkbook
> WinXPMenuBarButtonController(MenuBarButtonController)>>dispatchMenuSymbol:
> WinXPMenuBarButtonController(MenuBarButtonController)>>dispatchMenuSelection:
> optimized [] in Win95MenuBarButtonController>>menuBarActionForMenu:
> BlockClosure>>ensure:
> WinXPMenuBarButtonController(Win95MenuBarButtonController)>>menuBarActionForMenu:
> WinXPMenuBarButtonController(MenuBarButtonController)>>menuBarAction
> WinXPMenuBarButtonController(MenuBarButtonController)>>redButtonPressedEvent:
> RedButtonPressedEvent>>dispatchTo:
> WinXPMenuBarButtonController(Controller)>>handleEvent:
> EventDispatcher>>dispatch:to:
> EventDispatcher>>dispatchEvent:
> RedButtonPressedEvent(Event)>>dispatch
> RedButtonPressedEvent(Event)>>dispatchForWindowManager:
> optimized [] in WindowManager>>safelyDispatchForWindowManager:
> BlockClosure>>on:do:
> WindowManager>>safelyDispatchForWindowManager:
> WindowManager>>processNextEvent
> optimized [] in [] in WindowManager>>newProcess
> BlockClosure>>on:do:
> optimized [] in WindowManager>>newProcess
> BlockClosure>>on:do:
> optimized [] in Process class>>forBlock:priority:
>
> ----------------------------------------------------------------------
> PostgreSQLEXDISession(Object)>>doesNotUnderstand:
> Receiver:
>       a PostgreSQLEXDISession
> Instance Variables:
>       stateHolder = a ValueHolder on: #new
>       traceStream = nil
>       traceLevel = 0
>       participants = a WeakArray[0]
>       participantsSemaphore = a RecursionLock
>       connection = a PostgreSQLEXDIConnection
>       query = nil
>       queryFragments = nil
>       bindInput = nil
>       bindTemplate = nil
>       bindOutput = nil
>       useNamedOutputBinding = false
>       bindValues = nil
>       resultTemplate = nil
>       allocateForEachRow = true
>       blockFactor = 5
>       numColumns = nil
>       columnDescriptions = nil
>       rowAdaptors = nil
>       rowBuffersHolder = a ValueHolder on: nil
>       bufferIndex = nil
>       answerStream = nil
>       currentRow = nil
>       scrollable = false
>       rowStream = nil
>       currentPostgresRow = nil
>        noticeResponsesAreSuppressed = nil
>       resultList = nil
>        translationsFromPostgres = nil
> Arguments:
>       aMessage = a Message with selector: #prepareWithoutBinding: and
> arguments: #('SHOW CLIENT_ENCODING')
> Temporaries:
>       excpt = a MessageNotUnderstood
>       resumeValue = nil
> Context PC = 25
>
> ----------------------------------------------------------------------
> Glorp.VWDatabaseAccessor>>newPreparedStatementFor:
> Receiver:
>       a Glorp.VWDatabaseAccessor
> Instance Variables:
>       connection = a PostgreSQLEXDIConnection
>       currentLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
> 'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
>       logging = false
>        reusePreparedStatements = true
>       deniedCommands = nil
>       mutex = a Semaphore[0]
>       dependents = nil
>       driverSession = nil
>       preparedStatements = a Glorp.CacheManager
> Arguments:
>       aCommand = a Glorp.SQLStringCommand
> Temporaries:
>       newSession = a PostgreSQLEXDISession
> Context PC = 19
>
> ----------------------------------------------------------------------
> Glorp.VWDatabaseAccessor>>basicExecuteSQLString:returnResult:binding:doing:
> Receiver:
>       a Glorp.VWDatabaseAccessor
> Instance Variables:
>       connection = a PostgreSQLEXDIConnection
>       currentLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
> 'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
>       logging = false
>        reusePreparedStatements = true
>       deniedCommands = nil
>       mutex = a Semaphore[0]
>       dependents = nil
>       driverSession = nil
>       preparedStatements = a Glorp.CacheManager
> Arguments:
>       aString = 'SHOW CLIENT_ENCODING'
>       returnResult = true
>       aBindingArray = nil
>       aBlock = BlockClosure [] in
> Glorp.VWDatabaseAccessor>>basicExecuteSQLString:binding:
> Temporaries:
>       answerStream = nil
>       command = a Glorp.SQLStringCommand
>       statement = nil
>       session = nil
>       cursor = nil
> Context PC = 39
>
> ----------------------------------------------------------------------
> Glorp.VWDatabaseAccessor>>basicExecuteSQLString:binding:
> Receiver:
>       a Glorp.VWDatabaseAccessor
> Instance Variables:
>       connection = a PostgreSQLEXDIConnection
>       currentLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
> 'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
>       logging = false
>        reusePreparedStatements = true
>       deniedCommands = nil
>       mutex = a Semaphore[0]
>       dependents = nil
>       driverSession = nil
>       preparedStatements = a Glorp.CacheManager
> Arguments:
>       aString = 'SHOW CLIENT_ENCODING'
>       aBindingArray = nil
> Context PC = 8
>
> ----------------------------------------------------------------------
> Glorp.VWDatabaseAccessor>>basicExecuteSQLString:
> Receiver:
>       a Glorp.VWDatabaseAccessor
> Instance Variables:
>       connection = a PostgreSQLEXDIConnection
>       currentLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
> 'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
>       logging = false
>        reusePreparedStatements = true
>       deniedCommands = nil
>       mutex = a Semaphore[0]
>       dependents = nil
>       driverSession = nil
>       preparedStatements = a Glorp.CacheManager
> Arguments:
>       aString = 'SHOW CLIENT_ENCODING'
> Context PC = 6
>
> ----------------------------------------------------------------------
> optimized [] in Glorp.DatabaseAccessor>>executeSQLString:
> Receiver:
>       an UndefinedObject
> Temporaries:
>       .super = a Glorp.VWDatabaseAccessor
>       .aString = 'SHOW CLIENT_ENCODING'
>       result = nil
> Context PC = 7
>
> ----------------------------------------------------------------------
> Glorp.VWDatabaseAccessor(Glorp.DatabaseAccessor)>>executeSQLString:
> Receiver:
>       a Glorp.VWDatabaseAccessor
> Instance Variables:
>       connection = a PostgreSQLEXDIConnection
>       currentLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
> 'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
>       logging = false
>        reusePreparedStatements = true
>       deniedCommands = nil
>       mutex = a Semaphore[0]
>       dependents = nil
>       driverSession = nil
>       preparedStatements = a Glorp.CacheManager
> Arguments:
>       aString = 'SHOW CLIENT_ENCODING'
> Temporaries:
>       result = nil
>       block = BlockClosure [] in Glorp.DatabaseAccessor>>executeSQLString:
>       time = nil
> Context PC = 25
>
> ----------------------------------------------------------------------
> Glorp.StoreLoginFactory class>>setPostgresqlSessionToUnicode:
> Receiver:
>       a Glorp.StoreLoginFactory class
> Instance Variables:
>       superclass = Object
>       methodDict = a MethodDictionary[0]
>       format = 16384
>       subclasses = nil
>       instanceVariables = nil
>       organization =
>       name = #StoreLoginFactory
>       classPool = a NameSpaceOfClass[0]
>       environment = a NameSpace[267]
> Arguments:
>       session = a Glorp.GlorpSession
> Temporaries:
>       encoding = nil
> Context PC = 14
>
> ----------------------------------------------------------------------
> Glorp.StoreLoginFactory class>>sessionForLogin:
> Receiver:
>       a Glorp.StoreLoginFactory class
> Instance Variables:
>       superclass = Object
>       methodDict = a MethodDictionary[0]
>       format = 16384
>       subclasses = nil
>       instanceVariables = nil
>       organization =
>       name = #StoreLoginFactory
>       classPool = a NameSpaceOfClass[0]
>       environment = a NameSpace[267]
> Arguments:
>       aLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
> 'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
> Temporaries:
>       session = a Glorp.GlorpSession
>       system = a Glorp.StoreDescriptorSystem
> Context PC = 45
>
> ----------------------------------------------------------------------
> Glorp.StoreLoginFactory class>>sessionForStoreLogin:
> Receiver:
>       a Glorp.StoreLoginFactory class
> Instance Variables:
>       superclass = Object
>       methodDict = a MethodDictionary[0]
>       format = 16384
>       subclasses = nil
>       instanceVariables = nil
>       organization =
>       name = #StoreLoginFactory
>       classPool = a NameSpaceOfClass[0]
>       environment = a NameSpace[267]
> Arguments:
>        aStoreConnectionProfile = a Store.ConnectionProfile
> Temporaries:
>       aLogin = a Login(a Glorp.PostgreSQLPlatform, 'andres',
> 'localPostgres123', 'localhost_VW_LocalStore_7.6', '')
> Context PC = 10
>
> ----------------------------------------------------------------------
> Glorp.UI.StoreWorkbook(Glorp.UI.GlorpWorkbook)>>on:
> Receiver:
>       a Glorp.UI.StoreWorkbook
> Instance Variables:
>       dependents = nil
>       builder = nil
>       uiSession = nil
>       eventHandlers = nil
>       locals = a WorkspaceVariablePool[0]
>       importAll = true
>       specificImports = an Array[3]
>       importSummaryHolder = a ValueHolder on: 'All'
>       pageExplanationHolder = nil
>       statusBarVisible = true
>       encodingChannel = a ValueHolder on: #Source
>       menuBarHolder = nil
>       pageHolder = a SelectionInList
>       lastInstalledPage = nil
>       session = nil
> Arguments:
>       aConnectionProfile = a Store.ConnectionProfile
> Context PC = 4
>
> ----------------------------------------------------------------------
> Glorp.UI.StoreWorkbook class(Glorp.UI.GlorpWorkbook class)>>on:
> Receiver:
>       a Glorp.UI.StoreWorkbook class
> Instance Variables:
>       superclass = Glorp.UI.GlorpWorkbook
>       methodDict = a MethodDictionary[0]
>       format = 16399
>       subclasses = nil
>       instanceVariables = nil
>       organization =
>       name = #StoreWorkbook
>       classPool = a NameSpaceOfClass[0]
>       environment = a NameSpace[12]
>       savedWindowInformation = nil
> Arguments:
>       aConnectionProfile = a Store.ConnectionProfile
> Context PC = 7
>
> ----------------------------------------------------------------------
> Glorp.UI.StoreWorkbook class(Glorp.UI.GlorpWorkbook
> class)>>openRequestingDatabase
> Receiver:
>       a Glorp.UI.StoreWorkbook class
> Instance Variables:
>       superclass = Glorp.UI.GlorpWorkbook
>       methodDict = a MethodDictionary[0]
>       format = 16399
>       subclasses = nil
>       instanceVariables = nil
>       organization =
>       name = #StoreWorkbook
>       classPool = a NameSpaceOfClass[0]
>       environment = a NameSpace[12]
>       savedWindowInformation = nil
> Temporaries:
>       login = a Store.ConnectionProfile
> Context PC = 13
>
> ----------------------------------------------------------------------
> VisualLauncher>>openStoreForGlorpWorkbook
> Receiver:
>       a VisualLauncher
> Instance Variables:
>       dependents = an ApplicationWindow 60817437
>       builder = an UIBuilder
>       uiSession = a ControlManager
>       eventHandlers = nil
>       menuBar = a Menu
>       toolBar = a ValueHolder on: a Menu
>       textCollector = a TextCollector on: Text for '
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> Render!
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> False
> FalseTermination Request
> Terminated?
> Resume
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Termination Request
> Terminated?
> Resume
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Termination Request
> Terminated?
> Resume
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Termination Request
> Terminated?
>
> Global garbage collection (please wait)...
> reclaimed 181.12 Mbytes of data and 0 OTEntries in 1.1 sec.
> heap shrunk by 175.75 Mbytes
> 69.63 Mbytes total;   57.57 Mbytes used,      12.06 Mbytes free.
> Resume
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Termination Request
> Terminated?
>   (MiniGL.FramerateStrategy class #DoIt - shouldRender is undeclared)
> (MiniGL.FramerateStrategy class #DoIt - realFramerate is undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 9, 2009 10:54:18 amResume
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Render!
> Termination Request
> Terminated?
>
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 9, 2009 10:57:29 am
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 9, 2009 10:57:32 am
> Global garbage collection (please wait)...
> reclaimed 0.01 Mbytes of data and 0 OTEntries in 0.4 sec.
> heap shrunk by 1.0 Mbytes
> 66.28 Mbytes total;   57.62 Mbytes used,      8.66 Mbytes free.
>   ({MiniGL.CameraViewingVolume} - clippingCone is undeclared)
> ({MiniGL.CameraViewingVolume} - clippingSphere is undeclared)
> ({MiniGL.RenderingContext} - cameraOrigin is undeclared)
> ({MiniGL.RenderingContext} - clippingFrustum is undeclared)
> ({MiniGL.RenderingContext} - clippingBox is undeclared)
> (MiniGL.RenderingContext class #DoIt - clippingVolume is undeclared)
> (AABBInternalNode class #DoIt - aRenderingContext is undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 9, 2009 11:10:09 am
> Scanning /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.cha
> (UndefinedObject #DoIt - undeclaredSoftLink)  (UndefinedObject #DoIt -
> undeclaredSoftLink)  (UndefinedObject #DoIt - undeclaredSoftLink)
> (UndefinedObject #DoIt - undeclaredSoftLink)  (UndefinedObject #DoIt -
> undeclaredSoftLink)
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Syntax error: Nothing more expected ->
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character (UndefinedObject #DoIt - pkg - redeclaredBlockArg)
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character (UndefinedObject #DoIt - pkg - redeclaredBlockArg)
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character (UndefinedObject #DoIt - pkg_1 - redeclaredBlockArg)
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character (UndefinedObject #DoIt - pkg_1 - redeclaredBlockArg)
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character
> Bad character (UndefinedObject #DoIt - DefaultAuthor is undeclared)
> (UndefinedObject #DoIt - DefaultMail is undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 9, 2009 11:22:50 am ({MiniGL.Animation} - framesPerSecond is undeclared)
>   ({MiniGL.Animation} - block is undeclared)  (MiniGL.Animation class
> #DoIt - anIdleInterval is undeclared)  (MiniGL.Animation class #DoIt -
> new is undeclared)  (MiniGL.Animation class #DoIt - milliseconds is
> undeclared)  (MiniGL.Animation class #DoIt - animationStep is
> undeclared)  (MiniGL.Animation class #DoIt - sefl is undeclared)
> (MiniGL.BlockAnimation class #DoIt - aBlock is undeclared)
> ({MiniGL.Scene} - root is undeclared)  (MiniGL.Animation class #DoIt -
> doAnimationStep is undeclared)  (MiniGL.Scene class #DoIt - boundingBox
> is undeclared)  (MiniGL.Scene class #DoIt - aRenderingContext is
> undeclared)  (MiniGL.OpenGLObject class #DoIt - aDelta is undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 9, 2009 11:53:58 am (MiniGL.MiniGLFunctionalTests class #DoIt -
> projection is undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt -
> triangle is undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt -
> scene is undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt -
> addEffect is undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt -
> green is undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt -
> negated is undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 9, 2009 12:00:24 pm (MiniGL.MiniGLFunctionalTests class #DoIt - camera
> is undeclared)  (MiniGL.Animation class #DoIt - performed is undeclared)
>
> An error occurred while sending menu state message #hasClassSelected in
> a menu of a Refactory.Browser.RefactoringBrowser. Answering true.
> To debug such errors, evaluate the following expression:
>       UI.Menu suppressMenuDispatchErrors: false.
> To revert to printing transcript warnings instead of opening the
> debugger, evaluate:
>       UI.Menu suppressMenuDispatchErrors: true.
> Global garbage collection (please wait)...
> reclaimed 0.04 Mbytes of data and 0 OTEntries in 0.2 sec.
> 67.47 Mbytes total;   58.99 Mbytes used,      8.48 Mbytes free.
>
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 9, 2009 12:06:31 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 9, 2009 12:11:11 pm (MiniGL.MiniGLFunctionalTests class #DoIt - red is
> undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt - blue is
> undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 9, 2009 3:42:53 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 9, 2009 3:44:07 pm (MiniGL.MiniGLFunctionalTests class #DoIt - new is
> undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt - t1 is
> undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt - scene is
> undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 9, 2009 5:27:23 pm (MiniGL.MiniGLFunctionalTests class #DoIt - p3 is
> undeclared)  (MiniGL.MiniGLFunctionalTests class #DoIt - green is
> undeclared)
> Compacting garbage collection (please wait)...
> reclaimed 12.2 Mbytes of data and 0 OTEntries in 0.1 sec.
> heap shrunk by 15.91 Mbytes
> 66.03 Mbytes total;   57.39 Mbytes used,      8.64 Mbytes free.
>
> Global garbage collection (please wait)...
> reclaimed 12.35 Mbytes of data and 0 OTEntries in 0.5 sec.
> heap shrunk by 9.47 Mbytes
> 72.49 Mbytes total;   57.35 Mbytes used,      15.13 Mbytes free.
>
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 9, 2009 5:34:40 pm (MiniGL.SameSceneManyViewportsFunctionalTests class
> #DoIt - triangles is undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 11, 2009 12:32:24 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 11, 2009 12:32:38 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 11, 2009 12:35:07 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 11, 2009 12:35:58 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 11, 2009 12:37:07 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 11, 2009 12:37:42 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 11, 2009 12:38:40 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 11, 2009 12:40:03 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 11, 2009 12:42:30 pm
> Global garbage collection (please wait)...
> reclaimed 0.17 Mbytes of data and 0 OTEntries in 0.3 sec.
> heap shrunk by 3.44 Mbytes
> 77.32 Mbytes total;   68.69 Mbytes used,      8.62 Mbytes free.
>   (MiniGL.X11Window class #DoIt - ifTrue is undeclared)
> (MiniGL.X11Window class #DoIt - renderingContextHandle is undeclared)
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 11, 2009 3:48:15 pm
> MiniGLFunctionalTests class>windowSpec defined
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 13, 2009 3:37:34 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 17, 2009 8:56:10 am
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at March
> 19, 2009 5:31:45 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at April
> 29, 2009 8:31:32 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at May
> 7, 2009 7:45:10 pm
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at June
> 8, 2009 11:35:02 am
> Creating table for TW_ClassRecord
> Creating table for TW_NameSpaceRecord
> Creating table for TW_Package
> Creating table for TW_ParcelRecord
> Creating table for TW_PkgClasses
> Creating table for TW_PkgNameSpaces
> Creating table for TW_Method
> Creating table for TW_Methods
> Creating table for TW_Blob
> Creating table for TW_BinaryBlob
> Creating table for TW_Blessing
> Creating table for TW_Bundle
> Creating table for TW_Bundles
> Creating table for TW_Packages
> Creating table for TW_DataElement
> Creating table for TW_Data
> Creating table for TW_DatabaseIdentifier
> Creating table for TW_Files
> Creating table for TW_FileRecord
> Creating table for TW_Properties
> Creating table for TW_PropertyRecord
> Creating table for TW_MethodDocs
> Done!
> Creating table for TW_DBUserGroup
> Creating table for TW_DBPundlePrivileges
> Done!
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at June
> 8, 2009 11:38:44 am
> Loading MiniGL . . .Done
>
> /home/andres/Smalltalks/vw7.6nc/Images/MiniGL/MiniGL.im created at June
> 9, 2009 5:25:43 pm
> Loading StoreGlorp . . . (ProtoObject class #toolListIcon -
> BehaviorIcons is undeclared)  (BlockClosure #asGlorpExpressionOn: -
> MessageArchiver is undeclared)  (BlockClosure
> #asGlorpExpressionForDescriptor: - BaseExpression is undeclared)
> (Glorp.VariableJoin #isConstant: - DatabaseField is undeclared)
> (Glorp.SubstringFunction #rewriteFunctionArgumentsWith: -
> PostgreSQLPlatform is undeclared)  (Glorp.SimpleQuery #sql: -
> SQLStringSelectCommand is undeclared)  (Glorp.ElementBuilder -
> notOptimized)  (Collection #writeStream - AddingWriteStream is
> undeclared)  (Association - notOptimized)  (Association - notOptimized)
>   (Glorp.GlorpClobType #requiresCast - SQLServerPlatform is undeclared)
>   (Glorp.DatabaseAccessor - notOptimized)  (Glorp.DatabaseRow -
> notOptimized)  (Glorp.DatabaseRow - notOptimized)
> (Glorp.DatabasePlatform #readTimeFromStream:for: - timeZoneOffset -
> neverRead)  (Glorp.StoreDescriptorSystem #validateRows: - methodTrace -
> neverRead)  (Glorp.Store73DescriptorSystem #tableForTW_METHOD: -
> commentId - neverUsed)  (Glorp.Store73DescriptorSystem
> #descriptorForStoreMethod: - table - neverRead)
> (Refactory.Browser.StoreForGlorpBrowserEnvironment - notOptimized)
> (Refactory.Browser.StoreForGlorpBrowserEnvironment - notOptimized)
> (Refactory.Browser.StoreForGlorpBrowserEnvironment - notOptimized)
> (Glorp.StorePundle #asBrowserEnvironment -
> StoreForGlorpBrowserEnvironment is undeclared)  (Glorp.StorePundle
> #browseContents - RefactoringBrowser is undeclared)  (Glorp.StorePundle
> #browseContents - StoreForGlorpNavigatorState is undeclared)
> (Glorp.StoreClassDefinitionInPackage #instVarNames - ExecuteCodeChange
> is undeclared)  (Glorp.RenamingRule class #replicateAs75 -
> undeclaredSoftLink)  (Glorp.RenamingRule class #replicateAs75 -
> undeclaredSoftLink)  (Glorp.RenamingRule class #replicateAs76 -
> undeclaredSoftLink)  (Glorp.RenamingRule class #replicateAs76 -
> undeclaredSoftLink)  (Glorp.StoreReplicationManager
> #evaluateInMemoryBundleConditions - bundleConditions - neverRead)
> (Glorp.UI.MetadataWorkbook #on: - MetadataDescriptorSystem is
> undeclared)  (Glorp.UI.StoreForGlorpPublishPundleDialog #accept -
> GlorpQueryPerformanceAnalyzer is undeclared)
> (AbsentClassImporterMetaclass #asStoreClassDefinition -
> StoreClassDefinition is undeclared)  (Store.Package
> #storeForGlorpPundleClass - StorePackage is undeclared)
> (OverridenStatic #asStoreSharedVariable - StoreSharedVariable is
> undeclared)  (Refactory.Browser.BrowserNavigator
> #browseClassVersionsFor:in: - StoreMethodInPackage is undeclared)
> (Refactory.Browser.BrowserNavigator #browseClassVersionsFor:in: - Query
> is undeclared)  (Refactory.Browser.BrowserNavigator
> #browseClassVersionsFor:in: - StoreMethod is undeclared)
> (Refactory.Browser.BrowserNavigator #browseClassVersionsFor:in: -
> StoreClassDefinitionInPackage is undeclared)
> (Refactory.Browser.BrowserNavigator #glorpWhatVersionIsThis -
> StoreLoginFactory is undeclared)  (Refactory.Browser.BrowserNavigator
> #glorpPublish - StoreForGlorpPublishPundleDialog is undeclared)
> (Refactory.Browser.BrowserNavigator #glorpPublish -
> StoreForGlorpPublishPackageDialog is undeclared)  (VisualLauncher
> #isAutoReplicationON - StoreAutoReplicatorSystem is undeclared)
> (VisualLauncher #openStoreForGlorpWorkbook - StoreWorkbook is
> undeclared)  (Store.PundleModel #stripIgnorablePropertiesToMatch: -
> StorePundle is undeclared)  (Store.PundleModel
> #publishTo:parent:versionName:blessingLevel:blessingComment: -
> StoreBundle is undeclared)  (Store.PundleModel
> #publishTo:parent:versionName:blessingLevel:blessingComment: -
> StorePundleWriter is undeclared)  (Store.PundleModel
> #publishTo:parent:versionName:blessingLevel:blessingComment: -
> StoreBlessing is undeclared)  (Store.PundleModel
> #publishTo:parent:versionName:blessingLevel:blessingComment: - Dialect
> is undeclared)  (CompiledMethod #asStoreMethodDefinitionWithoutProtocol
> - AdHocProxy is undeclared)  (CompiledMethod
> #asStoreMethodDefinitionWithoutProtocol - StoreBlob is undeclared)
> (OverridenNameSpace #asStoreNameSpace - StoreNameSpace is undeclared)
> (Store.BundleModel
> #asStorePundleIn:returnOriginalIfUnmodified:includeUninstalled: -
> StoreFile is undeclared)  (Store.PackageBrowserHelper
> #mergePundleVersionGlorp - GlorpMergeTool is undeclared)
> (Store.PackageBrowserHelper #mergePundleVersionGlorp -
> StoreForGlorpMergeData is undeclared) Done
> '
>       toolDock = a VisualLauncherToolDock
> Context PC = 3
>
> ----------------------------------------------------------------------
> WinXPMenuBarButtonController(MenuBarButtonController)>>dispatchMenuSymbol:
> Receiver:
>       a WinXPMenuBarButtonController
> Instance Variables:
>       model = nil
>       view = a WinXPMenuBarButtonView
>       sensor = a TranslatingSensor
>       highlightOnOpen = false
> Arguments:
>       menuSelection = #openStoreForGlorpWorkbook
> Context PC = 38
>
> ----------------------------------------------------------------------
> WinXPMenuBarButtonController(MenuBarButtonController)>>dispatchMenuSelection:
> Receiver:
>       a WinXPMenuBarButtonController
> Instance Variables:
>       model = nil
>       view = a WinXPMenuBarButtonView
>       sensor = a TranslatingSensor
>       highlightOnOpen = false
> Arguments:
>       menuSelection = #openStoreForGlorpWorkbook
> Context PC = 21
>
> ----------------------------------------------------------------------
> optimized [] in Win95MenuBarButtonController>>menuBarActionForMenu:
> Receiver:
>       an UndefinedObject
> Temporaries:
>       valueResult = a MenuItem 'Store Workbook... (Glorp)'
>       menuView = a WinXPMenuView
>       .super = a WinXPMenuBarButtonController
>       .aMenu = a Menu
> Context PC = 55
>
> ----------------------------------------------------------------------
> BlockClosure>>ensure:
> Receiver:
>       a BlockClosure
> Instance Variables:
>       method = CompiledBlock [] in
> Win95MenuBarButtonController>>menuBarActionForMenu:
>       outerContext = nil
>       copiedValues = an Array[2]
> Arguments:
>       aBlock = BlockClosure [] in
> Win95MenuBarButtonController>>menuBarActionForMenu:
> Temporaries:
>       result = nil
> Context PC = 4
>
> ----------------------------------------------------------------------
> WinXPMenuBarButtonController(Win95MenuBarButtonController)>>menuBarActionForMenu:
> Receiver:
>       a WinXPMenuBarButtonController
> Instance Variables:
>       model = nil
>       view = a WinXPMenuBarButtonView
>       sensor = a TranslatingSensor
>       highlightOnOpen = false
> Arguments:
>       aMenu = a Menu
> Temporaries:
>       performer = a VisualLauncher
> Context PC = 31
>
> ----------------------------------------------------------------------
> WinXPMenuBarButtonController(MenuBarButtonController)>>menuBarAction
> Receiver:
>       a WinXPMenuBarButtonController
> Instance Variables:
>       model = nil
>       view = a WinXPMenuBarButtonView
>       sensor = a TranslatingSensor
>       highlightOnOpen = false
> Temporaries:
>       theMenu = a Menu
> Context PC = 20
>
> ----------------------------------------------------------------------
> WinXPMenuBarButtonController(MenuBarButtonController)>>redButtonPressedEvent:
> Receiver:
>       a WinXPMenuBarButtonController
> Instance Variables:
>       model = nil
>       view = a WinXPMenuBarButtonView
>       sensor = a TranslatingSensor
>       highlightOnOpen = false
> Arguments:
>       event = a RedButtonPressedEvent
> Context PC = 10
>
> ----------------------------------------------------------------------
> RedButtonPressedEvent>>dispatchTo:
> Receiver:
>       a RedButtonPressedEvent
> Instance Variables:
>       time = 5058656
>       initiator = an EventDispatcher
>       window = an ApplicationWindow 60817437
>       state = 1
>       x = 243
>       y = 10
>       gx = 248
>       gy = 61
>       buttonNumber = 1
> Arguments:
>       anObject = a WinXPMenuBarButtonController
> Context PC = 4
>
> ----------------------------------------------------------------------
> WinXPMenuBarButtonController(Controller)>>handleEvent:
> Receiver:
>       a WinXPMenuBarButtonController
> Instance Variables:
>       model = nil
>       view = a WinXPMenuBarButtonView
>       sensor = a TranslatingSensor
>       highlightOnOpen = false
> Arguments:
>       event = a RedButtonPressedEvent
> Context PC = 4
>
> ----------------------------------------------------------------------
> EventDispatcher>>dispatch:to:
> Receiver:
>       an EventDispatcher
> Instance Variables:
>       windowController = an ApplicationStandardSystemController
>       currentMouseConsumer = nil
>       grabbingMouse = false
>       keyboardProcessor = a KeyboardProcessor
>       lastControlObject = nil
>       trapList = nil
>       state = nil
>        repairDamageWhenDebugging = true
>       flushQueueAfterError = true
>        distributeEventsWhenDebugging = true
>       dragDropInProgress = false
>       dragDropTracker = nil
>       dispatchUnknownEvents = false
> Arguments:
>       event = a RedButtonPressedEvent
>       object = a WinXPMenuBarButtonController
> Temporaries:
>       tmp = nil
> Context PC = 10
>
> ----------------------------------------------------------------------
> EventDispatcher>>dispatchEvent:
> Receiver:
>       an EventDispatcher
> Instance Variables:
>       windowController = an ApplicationStandardSystemController
>       currentMouseConsumer = nil
>       grabbingMouse = false
>       keyboardProcessor = a KeyboardProcessor
>       lastControlObject = nil
>       trapList = nil
>       state = nil
>        repairDamageWhenDebugging = true
>       flushQueueAfterError = true
>        distributeEventsWhenDebugging = true
>       dragDropInProgress = false
>       dragDropTracker = nil
>       dispatchUnknownEvents = false
> Arguments:
>       event = a RedButtonPressedEvent
> Temporaries:
>       objectWantingControl = a WinXPMenuBarButtonController
>        targetKeyboardProcessor = nil
> Context PC = 113
>
> ----------------------------------------------------------------------
> RedButtonPressedEvent(Event)>>dispatch
> Receiver:
>       a RedButtonPressedEvent
> Instance Variables:
>       time = 5058656
>       initiator = an EventDispatcher
>       window = an ApplicationWindow 60817437
>       state = 1
>       x = 243
>       y = 10
>       gx = 248
>       gy = 61
>       buttonNumber = 1
> Context PC = 16
>
> ----------------------------------------------------------------------
> RedButtonPressedEvent(Event)>>dispatchForWindowManager:
> Receiver:
>       a RedButtonPressedEvent
> Instance Variables:
>       time = 5058656
>       initiator = an EventDispatcher
>       window = an ApplicationWindow 60817437
>       state = 1
>       x = 243
>       y = 10
>       gx = 248
>       gy = 61
>       buttonNumber = 1
> Arguments:
>       aWinMgr = a WindowManager
> Context PC = 4
>
> ----------------------------------------------------------------------
> optimized [] in WindowManager>>safelyDispatchForWindowManager:
> Receiver:
>       an UndefinedObject
> Temporaries:
>       .event = a RedButtonPressedEvent
>       .super = a WindowManager
> Context PC = 6
>
> ----------------------------------------------------------------------
> BlockClosure>>on:do:
> Receiver:
>       a BlockClosure
> Instance Variables:
>       method = CompiledBlock [] in WindowManager>>safelyDispatchForWindowManager:
>       outerContext = nil
>       copiedValues = an Array[2]
> Arguments:
>       anExceptionSelector = BadControllerError
>       handlerBlock = BlockClosure [] in
> WindowManager>>safelyDispatchForWindowManager:
> Context PC = 18
>
> ----------------------------------------------------------------------
> WindowManager>>safelyDispatchForWindowManager:
> Receiver:
>       a WindowManager
> Instance Variables:
>       windows = an OrderedCollection[1]
>       activeController = nil
>       interruptLock = false
>        outstandingMetaOrDamage = false
>       openInProgress = false
>       eventQueue = an EventQueue
>       baseProcess = a Process in Semaphore>>wait
>       dontFilterEvents = false
> Arguments:
>       event = a RedButtonPressedEvent
> Context PC = 13
>
> ----------------------------------------------------------------------
> WindowManager>>processNextEvent
> Receiver:
>       a WindowManager
> Instance Variables:
>       windows = an OrderedCollection[1]
>       activeController = nil
>       interruptLock = false
>        outstandingMetaOrDamage = false
>       openInProgress = false
>       eventQueue = an EventQueue
>       baseProcess = a Process in Semaphore>>wait
>       dontFilterEvents = false
> Temporaries:
>       event = a RedButtonPressedEvent
> Context PC = 9
>
> ----------------------------------------------------------------------
> optimized [] in [] in WindowManager>>newProcess
> Receiver:
>       an UndefinedObject
> Temporaries:
>       .super = a WindowManager
> Context PC = 13
>
> ----------------------------------------------------------------------
> BlockClosure>>on:do:
> Receiver:
>       a BlockClosure
> Instance Variables:
>       method = CompiledBlock [] in [] in WindowManager>>newProcess
>       outerContext = nil
>       copiedValues = a WindowManager
> Arguments:
>       anExceptionSelector = TerminateException
>       handlerBlock = BlockClosure [] in [] in WindowManager>>newProcess
> Context PC = 18
>
> ----------------------------------------------------------------------
> optimized [] in WindowManager>>newProcess
> Receiver:
>       an UndefinedObject
> Temporaries:
>       .super = a WindowManager
> Context PC = 15
>
> ----------------------------------------------------------------------
> BlockClosure>>on:do:
> Receiver:
>       a BlockClosure
> Instance Variables:
>       method = CompiledBlock [] in WindowManager>>newProcess
>       outerContext = nil
>       copiedValues = a WindowManager
> Arguments:
>       anExceptionSelector = TerminateException
>       handlerBlock = BlockClosure [] in [] in Process class>>forBlock:priority:
> Context PC = 18
>
> ----------------------------------------------------------------------
> optimized [] in Process class>>forBlock:priority:
> Receiver:
>       an UndefinedObject
> Temporaries:
>       .aBlock = BlockClosure [] in WindowManager>>newProcess
> Context PC = 9
> _______________________________________________
> vwnc mailing list
> [hidden email]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
>
_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc

--
Alan Knight [|], Engineering Manager, Cincom Smalltalk

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] StoreGlorp version for VW 7.6

Niall Ross
In reply to this post by Andres Fortier-2
Dear Andres,
    as noted, the distributed parcels will work OK.  If you want to load
the StoreGlorp bundle from the Cincom Open Repository, then:

    - 2.4.61 is 7.5-compatible; later versions get gradually less so
though the replicator would probably still work in many later versions.

    - StoreGlorp 2.4.73 is 7.6-compatible and (virtually) identical to
the distributed parcels.

    - StoreGlorp 2.4.82 is still 7.6 compatible.  It has minor fixes
(bit their absence should not cause problems to replication) but inserts
'primaryKey' into Undeclared:  to fix, recode the Undeclared
'primaryKey's sole caller to 'self primaryKey' (this is fixed in later
version which is less compatible with base 7.6).  Later versions get
gradually less 7.6-compatible, the replicator would probably still work
in many cases but I would not use later than StoreGlorp 2.4.82 in a 7.6
base image.

The distributed Glorp and GlorpVWPort parcels work compatibly with the
above.  If you want to load Glorp and GlorpVWPort from the Cincom OR as
well, look at the dates of the StoreGlorp you've chosen and the blessing
comments of the Glorp and GlorpVWPort to choose compatible versions.

HTH
          Yours faithfully
             Niall Ross



>Hi list. I'm trying to use the store (glorp) replicator without any
>luck. I've been tracking old emails for the right version to load (I'm
>using VW 7.6) and I found on an October 2008 e mail the right version
>for a 7.6 image was StoreGlorp (2.4 77.2,aknight). However loading that
>version (and adding by hand after the #setLogin: message to the
>ExternalDatabaseConnection class) results in a mnu (see stack below).
>Could someone please tell me which version of StoreGlorp should I use
>for a 7.6 image?
>
>Thanks,
>Andrés
>  
>

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] StoreGlorp version for VW 7.6

Andres Fortier-2
Thanks for the details Niall!!

Andrés

Niall Ross escribió:

> Dear Andres,
>    as noted, the distributed parcels will work OK.  If you want to load
> the StoreGlorp bundle from the Cincom Open Repository, then:
>
>    - 2.4.61 is 7.5-compatible; later versions get gradually less so
> though the replicator would probably still work in many later versions.
>
>    - StoreGlorp 2.4.73 is 7.6-compatible and (virtually) identical to
> the distributed parcels.
>
>    - StoreGlorp 2.4.82 is still 7.6 compatible.  It has minor fixes (bit
> their absence should not cause problems to replication) but inserts
> 'primaryKey' into Undeclared:  to fix, recode the Undeclared
> 'primaryKey's sole caller to 'self primaryKey' (this is fixed in later
> version which is less compatible with base 7.6).  Later versions get
> gradually less 7.6-compatible, the replicator would probably still work
> in many cases but I would not use later than StoreGlorp 2.4.82 in a 7.6
> base image.
>
> The distributed Glorp and GlorpVWPort parcels work compatibly with the
> above.  If you want to load Glorp and GlorpVWPort from the Cincom OR as
> well, look at the dates of the StoreGlorp you've chosen and the blessing
> comments of the Glorp and GlorpVWPort to choose compatible versions.
>
> HTH
>          Yours faithfully
>             Niall Ross
>
>
>
>> Hi list. I'm trying to use the store (glorp) replicator without any
>> luck. I've been tracking old emails for the right version to load (I'm
>> using VW 7.6) and I found on an October 2008 e mail the right version
>> for a 7.6 image was StoreGlorp (2.4 77.2,aknight). However loading
>> that version (and adding by hand after the #setLogin: message to the
>> ExternalDatabaseConnection class) results in a mnu (see stack below).
>> Could someone please tell me which version of StoreGlorp should I use
>> for a 7.6 image?
>>
>> Thanks,
>> Andrés
>>  
>>
>
>
_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc