def restoreCoreModels():
	from SimpleSession.versions.v62 import init, restoreViewer, \
	     restoreMolecules, restoreColors, restoreSurfaces, \
	     restoreVRML, restorePseudoBondGroups, restoreModelAssociations
	molInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwBOfYdVCWJhbGxTY2FsZXEDSwBOfYdVCXBvaW50U2l6ZXEESwBOfYdVBWNvbG9ycQVLAE59h1UKcmliYm9uVHlwZXEGSwBOfYdVCnN0aWNrU2NhbGVxB0sATn2HVQxhcm9tYXRpY01vZGVxCEsATn2HVQp2ZHdEZW5zaXR5cQlLAE59h1UGaGlkZGVucQpLAE59h1UNYXJvbWF0aWNDb2xvcnELSwBOfYdVD3JpYmJvblNtb290aGluZ3EMSwBOfYdVCWF1dG9jaGFpbnENSwBOfYdVCG9wdGlvbmFscQ59VQ9sb3dlckNhc2VDaGFpbnNxD0sATn2HVQlsaW5lV2lkdGhxEEsATn2HVQ9yZXNpZHVlTGFiZWxQb3NxEUsATn2HVQRuYW1lcRJLAE59h1UPYXJvbWF0aWNEaXNwbGF5cRNLAE59h1UPcmliYm9uU3RpZmZuZXNzcRRLAE59h1UKcGRiSGVhZGVyc3EVXVUDaWRzcRZLAE59h1UOc3VyZmFjZU9wYWNpdHlxF0sATn2HVRBhcm9tYXRpY0xpbmVUeXBlcRhLAE59h1UUcmliYm9uSGlkZXNNYWluY2hhaW5xGUsATn2HVQdkaXNwbGF5cRpLAE59h3Uu'))
	resInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQZpbnNlcnRxAksATn2HVQtmaWxsRGlzcGxheXEDSwBOfYdVBG5hbWVxBEsATn2HVQVjaGFpbnEFSwBOfYdVDnJpYmJvbkRyYXdNb2RlcQZLAE59h1UCc3NxB0sATn2HVQhtb2xlY3VsZXEISwBOfYdVC3JpYmJvbkNvbG9ycQlLAE59h1UFbGFiZWxxCksATn2HVQpsYWJlbENvbG9ycQtLAE59h1UIZmlsbE1vZGVxDEsATn2HVQVpc0hldHENSwBOfYdVC2xhYmVsT2Zmc2V0cQ5LAE59h1UIcG9zaXRpb25xD11VDXJpYmJvbkRpc3BsYXlxEEsATn2HVQhvcHRpb25hbHERfVUEc3NJZHESSwBOfYd1Lg=='))
	atomInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQdyZXNpZHVlcQJLAE59h1UIdmR3Q29sb3JxA0sATn2HVQRuYW1lcQRLAE59h1UDdmR3cQVLAE59h1UOc3VyZmFjZURpc3BsYXlxBksATn2HVQVjb2xvcnEHSwBOfYdVCWlkYXRtVHlwZXEISwBOfYdVBmFsdExvY3EJSwBOfYdVBWxhYmVscQpLAE59h1UOc3VyZmFjZU9wYWNpdHlxC0sATn2HVQdlbGVtZW50cQxLAE59h1UKbGFiZWxDb2xvcnENSwBOfYdVDHN1cmZhY2VDb2xvcnEOSwBOfYdVD3N1cmZhY2VDYXRlZ29yeXEPSwBOfYdVBnJhZGl1c3EQSwBOfYdVCmNvb3JkSW5kZXhxEV1VC2xhYmVsT2Zmc2V0cRJLAE59h1USbWluaW11bUxhYmVsUmFkaXVzcRNLAE59h1UIZHJhd01vZGVxFEsATn2HVQhvcHRpb25hbHEVfXEWVQxzZXJpYWxOdW1iZXJxF4iIXYdzVQdkaXNwbGF5cRhLAE59h3Uu'))
	bondInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQVjb2xvcnECSwBOfYdVBWF0b21zcQNdVQVsYWJlbHEESwBOfYdVCGhhbGZib25kcQVLAE59h1UGcmFkaXVzcQZLAE59h1ULbGFiZWxPZmZzZXRxB0sATn2HVQhkcmF3TW9kZXEISwBOfYdVCG9wdGlvbmFscQl9VQdkaXNwbGF5cQpLAE59h3Uu'))
	crdInfo = cPickle.loads(base64.b64decode('gAJ9cQEu'))
	surfInfo = {'category': (0, None, {}), 'probeRadius': (0, None, {}), 'pointSize': (0, None, {}), 'name': [], 'density': (0, None, {}), 'colorMode': (0, None, {}), 'useLighting': (0, None, {}), 'transparencyBlendMode': (0, None, {}), 'molecule': [], 'smoothLines': (0, None, {}), 'lineWidth': (0, None, {}), 'allComponents': (0, None, {}), 'twoSidedLighting': (0, None, {}), 'customVisibility': [], 'drawMode': (0, None, {}), 'display': (0, None, {}), 'customColors': []}
	vrmlInfo = {'subid': (0, None, {}), 'display': (0, None, {}), 'id': (0, None, {}), 'vrmlString': [], 'name': (0, None, {})}
	colors = {'Ru': ((0.141176, 0.560784, 0.560784), 1, u'default'), 'Re': ((0.14902, 0.490196, 0.670588), 1, u'default'), 'Rf': ((0.8, 0, 0.34902), 1, u'default'), 'Ra': ((0, 0.490196, 0), 1, u'default'), 'Rb': ((0.439216, 0.180392, 0.690196), 1, u'default'), 'Rn': ((0.258824, 0.509804, 0.588235), 1, u'default'), 'Rh': ((0.0392157, 0.490196, 0.54902), 1, u'default'), 'Be': ((0.760784, 1, 0), 1, u'default'), 'Ba': ((0, 0.788235, 0), 1, u'default'), 'Bh': ((0.878431, 0, 0.219608), 1, u'default'), 'Bi': ((0.619608, 0.309804, 0.709804), 1, u'default'), 'Bk': ((0.541176, 0.309804, 0.890196), 1, u'default'), 'Br': ((0.65098, 0.160784, 0.160784), 1, u'default'), 'H': ((1, 1, 1), 1, u'default'), 'P': ((1, 0.501961, 0), 1, u'default'), 'Os': ((0.14902, 0.4, 0.588235), 1, u'default'), 'Ge': ((0.4, 0.560784, 0.560784), 1, u'default'), 'Gd': ((0.270588, 1, 0.780392), 1, u'default'), 'Ga': ((0.760784, 0.560784, 0.560784), 1, u'default'), 'Pr': ((0.85098, 1, 0.780392), 1, u'default'), 'Pt': ((0.815686, 0.815686, 0.878431), 1, u'default'), 'Pu': ((0, 0.419608, 1), 1, u'default'),
'C': ((0.564706, 0.564706, 0.564706), 1, u'default'), 'Pb': ((0.341176, 0.34902, 0.380392), 1, u'default'), 'Pa': ((0, 0.631373, 1), 1, u'default'), 'Pd': ((0, 0.411765, 0.521569), 1, u'default'), 'Cd': ((1, 0.85098, 0.560784), 1, u'default'), 'Po': ((0.670588, 0.360784, 0), 1, u'default'), 'Pm': ((0.639216, 1, 0.780392), 1, u'default'), 'Hs': ((0.901961, 0, 0.180392), 1, u'default'), 'Ho': ((0, 1, 0.611765), 1, u'default'), 'Hf': ((0.301961, 0.760784, 1), 1, u'default'), 'Hg': ((0.721569, 0.721569, 0.815686), 1, u'default'), 'He': ((0.85098, 1, 1), 1, u'default'), 'Md': ((0.701961, 0.0509804, 0.65098), 1, u'default'), 'Mg': ((0.541176, 1, 0), 1, u'default'), 'K': ((0.560784, 0.25098, 0.831373), 1, u'default'), 'Mn': ((0.611765, 0.478431, 0.780392), 1, u'default'), 'O': ((1, 0.0509804, 0.0509804), 1, u'default'), 'Mt': ((0.921569, 0, 0.14902), 1, u'default'), 'S': ((1, 1, 0.188235), 1, u'default'), 'W': ((0.129412, 0.580392, 0.839216), 1, u'default'), 'Zn': ((0.490196, 0.501961, 0.690196), 1, u'default'), 'Eu': ((0.380392, 1, 0.780392), 1, u'default'),
'Zr': ((0.580392, 0.878431, 0.878431), 1, u'default'), 'Er': ((0, 0.901961, 0.458824), 1, u'default'), 'Ni': ((0.313725, 0.815686, 0.313725), 1, u'default'), 'No': ((0.741176, 0.0509804, 0.529412), 1, u'default'), 'Na': ((0.670588, 0.360784, 0.94902), 1, u'default'), 'Nb': ((0.45098, 0.760784, 0.788235), 1, u'default'), 'Nd': ((0.780392, 1, 0.780392), 1, u'default'), 'Ne': ((0.701961, 0.890196, 0.960784), 1, u'default'), 'Np': ((0, 0.501961, 1), 1, u'default'), 'Fr': ((0.258824, 0, 0.4), 1, u'default'), 'Fe': ((0.878431, 0.4, 0.2), 1, u'default'), 'Fm': ((0.701961, 0.121569, 0.729412), 1, u'default'), 'B': ((1, 0.709804, 0.709804), 1, u'default'), 'F': ((0.564706, 0.878431, 0.313725), 1, u'default'), 'Sr': ((0, 1, 0), 1, u'default'), 'N': ((0.188235, 0.313725, 0.972549), 1, u'default'), 'Kr': ((0.360784, 0.721569, 0.819608), 1, u'default'), 'Si': ((0.941176, 0.784314, 0.627451), 1, u'default'), 'Sn': ((0.4, 0.501961, 0.501961), 1, u'default'), 'Sm': ((0.560784, 1, 0.780392), 1, u'default'), 'V': ((0.65098, 0.65098, 0.670588), 1, u'default'), 'Sc': ((0.901961, 0.901961, 0.901961), 1, u'default'),
'Sb': ((0.619608, 0.388235, 0.709804), 1, u'default'), 'Sg': ((0.85098, 0, 0.270588), 1, u'default'), 'Se': ((1, 0.631373, 0), 1, u'default'), 'Co': ((0.941176, 0.564706, 0.627451), 1, u'default'), 'Cm': ((0.470588, 0.360784, 0.890196), 1, u'default'), 'Cl': ((0.121569, 0.941176, 0.121569), 1, u'default'), 'Ca': ((0.239216, 1, 0), 1, u'default'), 'Cf': ((0.631373, 0.211765, 0.831373), 1, u'default'), 'Ce': ((1, 1, 0.780392), 1, u'default'), 'Xe': ((0.258824, 0.619608, 0.690196), 1, u'default'), 'Tm': ((0, 0.831373, 0.321569), 1, u'default'), 'Cs': ((0.341176, 0.0901961, 0.560784), 1, u'default'), 'Cr': ((0.541176, 0.6, 0.780392), 1, u'default'), 'Cu': ((0.784314, 0.501961, 0.2), 1, u'default'), 'La': ((0.439216, 0.831373, 1), 1, u'default'), 'Li': ((0.8, 0.501961, 1), 1, u'default'), 'Tl': ((0.65098, 0.329412, 0.301961), 1, u'default'), 'Lu': ((0, 0.670588, 0.141176), 1, u'default'), 'Lr': ((0.780392, 0, 0.4), 1, u'default'), 'Th': ((0, 0.729412, 1), 1, u'default'), 'Ti': ((0.74902, 0.760784, 0.780392), 1, u'default'), 'Te': ((0.831373, 0.478431, 0), 1, u'default'),
'Tb': ((0.188235, 1, 0.780392), 1, u'default'), 'Tc': ((0.231373, 0.619608, 0.619608), 1, u'default'), 'Ta': ((0.301961, 0.65098, 1), 1, u'default'), 'Yb': ((0, 0.74902, 0.219608), 1, u'default'), 'Db': ((0.819608, 0, 0.309804), 1, u'default'), 'Dy': ((0.121569, 1, 0.780392), 1, u'default'), 'At': ((0.458824, 0.309804, 0.270588), 1, u'default'), 'I': ((0.580392, 0, 0.580392), 1, u'default'), 'medium purple': ((0.576471, 0.439216, 0.858824), 1, u'default'), 'U': ((0, 0.560784, 1), 1, u'default'), 'Y': ((0.580392, 1, 1), 1, u'default'), 'Ac': ((0.439216, 0.670588, 0.980392), 1, u'default'), 'Ag': ((0.752941, 0.752941, 0.752941), 1, u'default'), 'Ir': ((0.0901961, 0.329412, 0.529412), 1, u'default'), 'Am': ((0.329412, 0.360784, 0.94902), 1, u'default'), 'Al': ((0.74902, 0.65098, 0.65098), 1, u'default'), 'As': ((0.741176, 0.501961, 0.890196), 1, u'default'), 'Ar': ((0.501961, 0.819608, 0.890196), 1, u'default'), 'Au': ((1, 0.819608, 0.137255), 1, u'default'), 'Es': ((0.701961, 0.121569, 0.831373), 1, u'default'), 'In': ((0.65098, 0.458824, 0.45098), 1, u'default'),
'Mo': ((0.329412, 0.709804, 0.709804), 1, u'default')}
	materials = {u'default': ((0.85, 0.85, 0.85), 30)}
	pbInfo = {'category': [u'distance monitor'], 'bondInfo': [{'color': (0, None, {}), 'atoms': [], 'label': (0, None, {}), 'halfbond': (0, None, {}), 'labelColor': (0, None, {}), 'drawMode': (0, None, {}), 'display': (0, None, {})}], 'lineType': (1, 2, {}), 'color': (1, 0, {}), 'optional': {'fixedLabels': (True, False, (1, False, {}))}, 'display': (1, True, {}), 'showStubBonds': (1, False, {}), 'lineWidth': (1, 1, {}), 'stickScale': (1, 1, {}), 'id': [-2]}
	modelAssociations = {}
	colorInfo = (3, (u'green', (0, 1, 0, 1)), {(u'', (1, 1, 1, 1)): [1], (u'yellow', (1, 1, 0, 1)): [0]})
	viewerInfo = {'cameraAttrs': {'center': (63, 63, 63), 'fieldOfView': 19.855105770466, 'nearFar': (91.769506817047, 41.372403735931), 'ortho': False, 'eyeSeparation': 50.8, 'focal': 63}, 'viewerAttrs': {'silhouetteColor': None, 'clipping': False, 'showSilhouette': False, 'showShadows': False, 'viewSize': 77.203818615752, 'labelsOnTop': True, 'depthCueRange': (0.5, 1), 'silhouetteWidth': 2, 'singleLayerTransparency': True, 'shadowTextureSize': 2048, 'backgroundImage': [None, 1, 2, 1, 0, 0], 'backgroundGradient': [(None, [(0.94117647058824, 0.94117647058824, 0.94117647058824, 1), (0.74117647058824, 0.74117647058824, 0.74117647058824, 1), (0.38823529411765, 0.38823529411765, 0.38823529411765, 1)], 1), 1, 0, 0], 'depthCue': True, 'highlight': 0, 'scaleFactor': 1.7732115947795, 'angleDependentTransparency': True, 'backgroundMethod': 0}, 'viewerHL': 2, 'cameraMode': 'mono', 'detail': 1.5, 'viewerFog': None, 'viewerBG': 1}

	replyobj.status("Initializing session restore...", blankAfter=0,
		secondary=True)
	from SimpleSession.versions.v62 import expandSummary
	init(dict(enumerate(expandSummary(colorInfo))))
	replyobj.status("Restoring colors...", blankAfter=0,
		secondary=True)
	restoreColors(colors, materials)
	replyobj.status("Restoring molecules...", blankAfter=0,
		secondary=True)
	restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
	replyobj.status("Restoring surfaces...", blankAfter=0,
		secondary=True)
	restoreSurfaces(surfInfo)
	replyobj.status("Restoring VRML models...", blankAfter=0,
		secondary=True)
	restoreVRML(vrmlInfo)
	replyobj.status("Restoring pseudobond groups...", blankAfter=0,
		secondary=True)
	restorePseudoBondGroups(pbInfo)
	replyobj.status("Restoring model associations...", blankAfter=0,
		secondary=True)
	restoreModelAssociations(modelAssociations)
	replyobj.status("Restoring camera...", blankAfter=0,
		secondary=True)
	restoreViewer(viewerInfo)
def restoreCoreModels():
	from SimpleSession.versions.v62 import init, restoreViewer, \
	     restoreMolecules, restoreColors, restoreSurfaces, \
	     restoreVRML, restorePseudoBondGroups, restoreModelAssociations
	molInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwFOfYdVCWJhbGxTY2FsZXEDSwFHP9AAAAAAAAB9h1UJcG9pbnRTaXplcQRLAUc/8AAAAAAAAH2HVQVjb2xvcnEFSwFLAH2HVQpyaWJib25UeXBlcQZLAUsAfYdVCnN0aWNrU2NhbGVxB0sBRz/wAAAAAAAAfYdVDGFyb21hdGljTW9kZXEISwFLAX2HVQp2ZHdEZW5zaXR5cQlLAUdAFAAAAAAAAH2HVQZoaWRkZW5xCksBiX2HVQ1hcm9tYXRpY0NvbG9ycQtLAU59h1UPcmliYm9uU21vb3RoaW5ncQxLAUsAfYdVCWF1dG9jaGFpbnENSwGIfYdVCG9wdGlvbmFscQ59cQ9VC2NoYXJnZU1vZGVscRCIiUsBVQxBTUJFUiBmZjk5U0JxEX2Hh3NVD2xvd2VyQ2FzZUNoYWluc3ESSwGJfYdVCWxpbmVXaWR0aHETSwFHP/AAAAAAAAB9h1UPcmVzaWR1ZUxhYmVsUG9zcRRLAUsAfYdVBG5hbWVxFUsBWAcAAABzY3JhdGNofYdVD2Fyb21hdGljRGlzcGxheXEWSwGJfYdVD3JpYmJvblN0aWZmbmVzc3EXSwFHP+mZmZmZmZp9h1UKcGRiSGVhZGVyc3EYXXEZfXEaYVUDaWRzcRtLAUsASwCGfYdVDnN1cmZhY2VPcGFjaXR5cRxLAUe/8AAAAAAAAH2HVRBhcm9tYXRpY0xpbmVUeXBlcR1LAUsCfYdVFHJpYmJvbkhpZGVzTWFpbmNoYWlucR5LAYh9h1UHZGlzcGxheXEfSwGIfYd1Lg=='))
	resInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQZpbnNlcnRxAksBVQEgfYdVC2ZpbGxEaXNwbGF5cQNLAYl9h1UEbmFtZXEESwFYAwAAAERYTn2HVQVjaGFpbnEFSwFYAwAAAGhldH2HVQ5yaWJib25EcmF3TW9kZXEGSwFLAn2HVQJzc3EHSwGJiYZ9h1UIbW9sZWN1bGVxCEsBSwB9h1ULcmliYm9uQ29sb3JxCUsBTn2HVQVsYWJlbHEKSwFYAAAAAH2HVQpsYWJlbENvbG9ycQtLAU59h1UIZmlsbE1vZGVxDEsBSwF9h1UFaXNIZXRxDUsBiH2HVQtsYWJlbE9mZnNldHEOSwFOfYdVCHBvc2l0aW9ucQ9dcRBLAUsBhnERYVUNcmliYm9uRGlzcGxheXESSwGJfYdVCG9wdGlvbmFscRN9VQRzc0lkcRRLAUr/////fYd1Lg=='))
	atomInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQdyZXNpZHVlcQJLFksBfYdVCHZkd0NvbG9ycQNLFksBfXEEKEsCXXEFKEsBSxRlSwNdcQYoSwRLBksISwpLDUsPSxFLE2V1h1UEbmFtZXEHSxZYAwAAAEg4MX1xCChYBAAAAEgxMDFdcQlLEWFYAwAAAEMxMl1xCksVYVgDAAAAQzExXXELSxJhWAMAAABDMTBdcQxLEGFYAgAAAE8yXXENSxRhWAIAAABPMV1xDksBYVgCAAAAQzldcQ9LDmFYAgAAAEM4XXEQSwxhWAIAAABDM11xEUsDYVgCAAAAQzJdcRJLAmFYAgAAAEMxXXETSwBhWAIAAABDN11xFEsLYVgCAAAAQzZdcRVLCWFYAgAAAEM1XXEWSwdhWAIAAABDNF1xF0sFYVgDAAAASDkxXXEYSw9hWAIAAABIM11xGUsEYVgEAAAASDExMV1xGksTYVgCAAAASDZdcRtLCmFYAgAAAEg0XXEcSwZhWAIAAABINV1xHUsIYXWHVQN2ZHdxHksWiX2HVQ5zdXJmYWNlRGlzcGxheXEfSxaJfYdVBWNvbG9ycSBLFksBfXEhKEsCXXEiKEsBSxRlSwNdcSMoSwRLBksISwpLDUsPSxFLE2V1h1UJaWRhdG1UeXBlcSRLFol9h1UGYWx0TG9jcSVLFlUAfYdVBWxhYmVscSZLFlgAAAAAfYdVDnN1cmZhY2VPcGFjaXR5cSdLFke/8AAAAAAAAH2HVQdlbGVtZW50cShLFksGfXEpKEsIXXEqKEsBSxRlSwFdcSsoSwRLBksISwpLDUsPSxFLE2V1h1UKbGFiZWxDb2xvcnEsSxZLAX1xLShLAl1xLihLAUsUZUsDXXEvKEsESwZLCEsKSw1LD0sRSxNldYdVDHN1cmZhY2VDb2xvcnEwSxZLAX1xMShLAl1xMihLAUsUZUsDXXEzKEsESwZLCEsKSw1LD0sRSxNldYdVD3N1cmZhY2VDYXRlZ29yeXE0SxZYBAAAAG1haW59h1UGcmFkaXVzcTVLFkc/+zMzQAAAAH1xNihHP/euFIAAAABdcTcoSwFLFGVHP/AAAAAAAABdcTgoSwRLBksISwpLDUsPSxFLE2V1h1UKY29vcmRJbmRleHE5XXE6KEsASwOGcTtLBEsKhnE8Sw9LB4ZxPUsZSwGGcT5LHksBhnE/ZVULbGFiZWxPZmZzZXRxQEsWTn2HVRJtaW5pbXVtTGFiZWxSYWRpdXNxQUsWRwAAAAAAAAAAfYdVCGRyYXdNb2RlcUJLFksCfYdVCG9wdGlvbmFscUN9cUQoVQhnYWZmVHlwZXFFiIlLFlUCY2FxRn1xRyhVAmhhcUhdcUkoSwRLBksISwpLDUsPSxFLE2VVAm9zcUpdcUsoSwFLFGV1h4dVBmNoYXJnZXFMiIlLFkc/w7ZFocrAg31xTShHP8HKwIMSbphdcU4oSwZLCEsPSxFlR7/HVZs9B8hLXXFPKEsDSwlLDEsSZUe/2SOinHeaa11xUChLAUsUZUe/wGJN0vGp/F1xUShLBUsHSw5LEGVHP8s5wOvt+kRdcVIoSwBLAksLSxVldYeHVQxzZXJpYWxOdW1iZXJxU4iIXXFUKEsASwOGcVVLBEsKhnFWSw9LB4ZxV0sZSwKGcVhlh1UHYmZhY3RvcnFZiIlLFkcAAAAAAAAAAH2Hh1UJb2NjdXBhbmN5cVqIiUsWRz/wAAAAAAAAfYeHdVUHZGlzcGxheXFbSxaIfYd1Lg=='))
	bondInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQVjb2xvcnECSxhOfYdVBWF0b21zcQNdcQQoXXEFKEsCSwNlXXEGKEsCSwRlXXEHKEsFSwRlXXEIKEsFSwZlXXEJKEsHSwVlXXEKKEsHSwhlXXELKEsJSwdlXXEMKEsJSwplXXENKEsLSwllXXEOKEsLSwxlXXEPKEsCSwtlXXEQKEsNSwNlXXERKEsOSw1lXXESKEsPSw5lXXETKEsQSw5lXXEUKEsRSxBlXXEVKEsSSxBlXXEWKEsTSxJlXXEXKEsUSxJlXXEYKEsVSxRlXXEZKEsWSwRlXXEaKEsXSxZlXXEbKEsXSw1lXXEcKEsXSxRlZVUFbGFiZWxxHUsYWAAAAAB9h1UIaGFsZmJvbmRxHksYiH2HVQZyYWRpdXNxH0sYRz/JmZmgAAAAfYdVC2xhYmVsT2Zmc2V0cSBLGE59h1UIZHJhd01vZGVxIUsYSwF9h1UIb3B0aW9uYWxxIn1VB2Rpc3BsYXlxI0sYSwJ9h3Uu'))
	crdInfo = cPickle.loads(base64.b64decode('gAJ9cQFLAH1xAihVBmFjdGl2ZXEDSwFLAV1xBChHP/L+QGCxizJHP+X+wTVWBjtHvy2fMubp/OuHcQVHQAMW7vKJbZxHP/YEA9u91epHvzxUCyuSORKHcQZHP/LX+kiD1OlHv+bgfm3YxXBHvy4Awm57xjSHcQdHQAKisg3IlzhHv/WEt+hx1o5Hv0QEn1JOFZiHcQhHv6BWUpWsg9BHv/Z2v8oyFDBHPvXqgg2YHneHcQlHv5vEJUx4GzpHwAPsuaql4+hHPv0uQ4BZCbqHcQpHv/PCuNepOadHv+ZDyylUNxRHPzJKeNWdkWSHcQtHwAF0nxZmfipHv/O51HLl9kFHPz//jBY2IpSHcQxHv/OcpkmIAdtHP+Zo1K4ObdNHPzI6/xeNGGyHcQ1HwAFSyYpZurVHP/P/qtPK/txHPz/Z0mPbLQ+HcQ5Hv4s/Dwkhl2BHP/ZHgdfGHnpHPvb4JfOiyb6HcQ9HP3g3W0t+zo1HQAPUv98t3jxHPv5bukuYnveHcRBHQAybsICBmPpHP+V8GNY//Q5Hv0GAKnXajPeHcRFHQBMklX/dPtdHP/XEORd1slpHv0NMsRVDW4yHcRJHQAxjXwxLvr5Hv9wVuwzEg3RHvzqOeAiVByeHcRNHQBMfxflupAVHQAOTeWKjNAlHv0KhPhWm5EWHcRRHQBf0j0GISgFHP+TeCGSv9+tHv0U5/j7hBH2HcRVHQBu+Nxm+Sf5HP/MGv3XLGVtHv0YSMupRHM2HcRZHQBfq9uFzfJJHv+fOnPZBFl9Hv0XCU4y0Of6HcRdHQButKNzXvypHv/Sy6WQKi4tHv0cTM8TLJaeHcRhHQBMRXNXuYtpHv/b6B+5s0R5Hv0Q1gVVLbUmHcRlHQBL9kO3GBnpHwAQuCjKEQyZHv0RHs7525jyHcRpHQA6fTS5ozcRHv+2FCYCB+l5HvzxMf1laLgiHcRtHQAlJadjGm5FHv+utkrQaM3tHv0poKmkWtb+HcRxHQAKimWpuU/BHwANmMv4tEdxHv0Wfe+BV8QCHcR1HQALwsKknQAVHv/a2KgCAdbRHvz0oT2Rwk3qHcR5HQAIEN5sqq0pHwALCtXW5TTZHvz9pnqRK6EKHcR9HQAdwrPL9mOhHv/K09bEN+yJHv+kbRMeSAz+HcSBHQAKi3GrWkddHwARAF6iC0xFHv0ArJ12q0VyHcSFHQAjMAPkSba9Hv/Mjf4wOEUZHP+x21ITshq+HcSJHQAyIdFp6td1Hv+djJy9EOitHv0HXa3WGbKeHcSNldXMu'))
	surfInfo = {'category': (0, None, {}), 'probeRadius': (0, None, {}), 'pointSize': (0, None, {}), 'name': [], 'density': (0, None, {}), 'colorMode': (0, None, {}), 'useLighting': (0, None, {}), 'transparencyBlendMode': (0, None, {}), 'molecule': [], 'smoothLines': (0, None, {}), 'lineWidth': (0, None, {}), 'allComponents': (0, None, {}), 'twoSidedLighting': (0, None, {}), 'customVisibility': [], 'drawMode': (0, None, {}), 'display': (0, None, {}), 'customColors': []}
	vrmlInfo = {'subid': (0, None, {}), 'display': (0, None, {}), 'id': (0, None, {}), 'vrmlString': [], 'name': (0, None, {})}
	colors = {'Ru': ((0.141176, 0.560784, 0.560784), 1, u'default'), 'Re': ((0.14902, 0.490196, 0.670588), 1, u'default'), 'Rf': ((0.8, 0, 0.34902), 1, u'default'), 'Ra': ((0, 0.490196, 0), 1, u'default'), 'Rb': ((0.439216, 0.180392, 0.690196), 1, u'default'), 'Rn': ((0.258824, 0.509804, 0.588235), 1, u'default'), 'Rh': ((0.0392157, 0.490196, 0.54902), 1, u'default'), 'Be': ((0.760784, 1, 0), 1, u'default'), 'Ba': ((0, 0.788235, 0), 1, u'default'), 'Bh': ((0.878431, 0, 0.219608), 1, u'default'), 'Bi': ((0.619608, 0.309804, 0.709804), 1, u'default'), 'Bk': ((0.541176, 0.309804, 0.890196), 1, u'default'), 'Br': ((0.65098, 0.160784, 0.160784), 1, u'default'), 'H': ((1, 1, 1), 1, u'default'), 'P': ((1, 0.501961, 0), 1, u'default'), 'Os': ((0.14902, 0.4, 0.588235), 1, u'default'), 'Ge': ((0.4, 0.560784, 0.560784), 1, u'default'), 'Gd': ((0.270588, 1, 0.780392), 1, u'default'), 'Ga': ((0.760784, 0.560784, 0.560784), 1, u'default'), 'Pr': ((0.85098, 1, 0.780392), 1, u'default'), 'Pt': ((0.815686, 0.815686, 0.878431), 1, u'default'), 'Pu': ((0, 0.419608, 1), 1, u'default'),
'C': ((0.564706, 0.564706, 0.564706), 1, u'default'), 'Pb': ((0.341176, 0.34902, 0.380392), 1, u'default'), 'Pa': ((0, 0.631373, 1), 1, u'default'), 'Pd': ((0, 0.411765, 0.521569), 1, u'default'), 'Cd': ((1, 0.85098, 0.560784), 1, u'default'), 'Po': ((0.670588, 0.360784, 0), 1, u'default'), 'Pm': ((0.639216, 1, 0.780392), 1, u'default'), 'Hs': ((0.901961, 0, 0.180392), 1, u'default'), 'Ho': ((0, 1, 0.611765), 1, u'default'), 'Hf': ((0.301961, 0.760784, 1), 1, u'default'), 'Hg': ((0.721569, 0.721569, 0.815686), 1, u'default'), 'He': ((0.85098, 1, 1), 1, u'default'), 'Md': ((0.701961, 0.0509804, 0.65098), 1, u'default'), 'Mg': ((0.541176, 1, 0), 1, u'default'), 'K': ((0.560784, 0.25098, 0.831373), 1, u'default'), 'Mn': ((0.611765, 0.478431, 0.780392), 1, u'default'), 'O': ((1, 0.0509804, 0.0509804), 1, u'default'), 'Mt': ((0.921569, 0, 0.14902), 1, u'default'), 'S': ((1, 1, 0.188235), 1, u'default'), 'W': ((0.129412, 0.580392, 0.839216), 1, u'default'), 'sky blue': ((0.529412, 0.807843, 0.921569), 1, u'default'), 'Zn': ((0.490196, 0.501961, 0.690196), 1, u'default'),
'Eu': ((0.380392, 1, 0.780392), 1, u'default'), 'Zr': ((0.580392, 0.878431, 0.878431), 1, u'default'), 'Er': ((0, 0.901961, 0.458824), 1, u'default'), 'Ni': ((0.313725, 0.815686, 0.313725), 1, u'default'), 'No': ((0.741176, 0.0509804, 0.529412), 1, u'default'), 'Na': ((0.670588, 0.360784, 0.94902), 1, u'default'), 'Nb': ((0.45098, 0.760784, 0.788235), 1, u'default'), 'Nd': ((0.780392, 1, 0.780392), 1, u'default'), 'Ne': ((0.701961, 0.890196, 0.960784), 1, u'default'), 'Np': ((0, 0.501961, 1), 1, u'default'), 'Fr': ((0.258824, 0, 0.4), 1, u'default'), 'Fe': ((0.878431, 0.4, 0.2), 1, u'default'), 'Fm': ((0.701961, 0.121569, 0.729412), 1, u'default'), 'B': ((1, 0.709804, 0.709804), 1, u'default'), 'F': ((0.564706, 0.878431, 0.313725), 1, u'default'), 'Sr': ((0, 1, 0), 1, u'default'), 'N': ((0.188235, 0.313725, 0.972549), 1, u'default'), 'Kr': ((0.360784, 0.721569, 0.819608), 1, u'default'), 'Si': ((0.941176, 0.784314, 0.627451), 1, u'default'), 'Sn': ((0.4, 0.501961, 0.501961), 1, u'default'), 'Sm': ((0.560784, 1, 0.780392), 1, u'default'), 'V': ((0.65098, 0.65098, 0.670588), 1, u'default'),
'Sc': ((0.901961, 0.901961, 0.901961), 1, u'default'), 'Sb': ((0.619608, 0.388235, 0.709804), 1, u'default'), 'Sg': ((0.85098, 0, 0.270588), 1, u'default'), 'Se': ((1, 0.631373, 0), 1, u'default'), 'Co': ((0.941176, 0.564706, 0.627451), 1, u'default'), 'Cm': ((0.470588, 0.360784, 0.890196), 1, u'default'), 'Cl': ((0.121569, 0.941176, 0.121569), 1, u'default'), 'Ca': ((0.239216, 1, 0), 1, u'default'), 'Cf': ((0.631373, 0.211765, 0.831373), 1, u'default'), 'Ce': ((1, 1, 0.780392), 1, u'default'), 'Xe': ((0.258824, 0.619608, 0.690196), 1, u'default'), 'Tm': ((0, 0.831373, 0.321569), 1, u'default'), 'Cs': ((0.341176, 0.0901961, 0.560784), 1, u'default'), 'Cr': ((0.541176, 0.6, 0.780392), 1, u'default'), 'Cu': ((0.784314, 0.501961, 0.2), 1, u'default'), 'La': ((0.439216, 0.831373, 1), 1, u'default'), 'Li': ((0.8, 0.501961, 1), 1, u'default'), 'Tl': ((0.65098, 0.329412, 0.301961), 1, u'default'), 'Lu': ((0, 0.670588, 0.141176), 1, u'default'), 'Lr': ((0.780392, 0, 0.4), 1, u'default'), 'Th': ((0, 0.729412, 1), 1, u'default'), 'Ti': ((0.74902, 0.760784, 0.780392), 1, u'default'),
'tan': ((0.823529, 0.705882, 0.54902), 1, u'default'), 'Te': ((0.831373, 0.478431, 0), 1, u'default'), 'Tb': ((0.188235, 1, 0.780392), 1, u'default'), 'Tc': ((0.231373, 0.619608, 0.619608), 1, u'default'), 'Ta': ((0.301961, 0.65098, 1), 1, u'default'), 'Yb': ((0, 0.74902, 0.219608), 1, u'default'), 'Db': ((0.819608, 0, 0.309804), 1, u'default'), 'Dy': ((0.121569, 1, 0.780392), 1, u'default'), 'At': ((0.458824, 0.309804, 0.270588), 1, u'default'), 'I': ((0.580392, 0, 0.580392), 1, u'default'), 'U': ((0, 0.560784, 1), 1, u'default'), 'Y': ((0.580392, 1, 1), 1, u'default'), 'Ac': ((0.439216, 0.670588, 0.980392), 1, u'default'), 'Ag': ((0.752941, 0.752941, 0.752941), 1, u'default'), 'Ir': ((0.0901961, 0.329412, 0.529412), 1, u'default'), 'Am': ((0.329412, 0.360784, 0.94902), 1, u'default'), 'Al': ((0.74902, 0.65098, 0.65098), 1, u'default'), 'As': ((0.741176, 0.501961, 0.890196), 1, u'default'), 'Ar': ((0.501961, 0.819608, 0.890196), 1, u'default'), 'Au': ((1, 0.819608, 0.137255), 1, u'default'), 'Es': ((0.701961, 0.121569, 0.831373), 1, u'default'), 'In': ((0.65098, 0.458824, 0.45098), 1, u'default'),
'Mo': ((0.329412, 0.709804, 0.709804), 1, u'default')}
	materials = {u'default': ((0.85, 0.85, 0.85), 30)}
	pbInfo = {'category': [u'distance monitor'], 'bondInfo': [{'color': (0, None, {}), 'atoms': [], 'label': (0, None, {}), 'halfbond': (0, None, {}), 'labelColor': (0, None, {}), 'drawMode': (0, None, {}), 'display': (0, None, {})}], 'lineType': (1, 2, {}), 'color': (1, 4, {}), 'optional': {'fixedLabels': (True, False, (1, False, {}))}, 'display': (1, True, {}), 'showStubBonds': (1, False, {}), 'lineWidth': (1, 1, {}), 'stickScale': (1, 1, {}), 'id': [-2]}
	modelAssociations = {}
	colorInfo = (6, (u'H', (1, 1, 1, 1)), {(u'green', (0, 1, 0, 1)): [5], (u'O', (1, 0.0509804, 0.0509804, 1)): [2], (u'tan', (0.823529, 0.705882, 0.54902, 1)): [0], (u'yellow', (1, 1, 0, 1)): [4], (u'C', (0.564706, 0.564706, 0.564706, 1)): [1]})
	viewerInfo = {'cameraAttrs': {'center': (-5.0833333335998e-06, 1.6833333333022e-05, 3.5833333333457e-05), 'fieldOfView': 11.497513718627, 'nearFar': (5.7736648138275, -5.7746623725293), 'ortho': False, 'eyeSeparation': 50.8, 'focal': 3.5833333333457e-05}, 'viewerAttrs': {'silhouetteColor': None, 'clipping': False, 'showSilhouette': False, 'showShadows': False, 'viewSize': 6.7420666666667, 'labelsOnTop': True, 'depthCueRange': (0.5, 1), 'silhouetteWidth': 2, 'singleLayerTransparency': True, 'shadowTextureSize': 2048, 'backgroundImage': [None, 1, 2, 1, 0, 0], 'backgroundGradient': [('Chimera default', [(1, 1, 1, 1), (0, 0, 1, 1)], 1), 1, 0, 0], 'depthCue': True, 'highlight': 0, 'scaleFactor': 1, 'angleDependentTransparency': True, 'backgroundMethod': 0}, 'viewerHL': 5, 'cameraMode': 'mono', 'detail': 1.5, 'viewerFog': None, 'viewerBG': None}

	replyobj.status("Initializing session restore...", blankAfter=0,
		secondary=True)
	from SimpleSession.versions.v62 import expandSummary
	init(dict(enumerate(expandSummary(colorInfo))))
	replyobj.status("Restoring colors...", blankAfter=0,
		secondary=True)
	restoreColors(colors, materials)
	replyobj.status("Restoring molecules...", blankAfter=0,
		secondary=True)
	restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
	replyobj.status("Restoring surfaces...", blankAfter=0,
		secondary=True)
	restoreSurfaces(surfInfo)
	replyobj.status("Restoring VRML models...", blankAfter=0,
		secondary=True)
	restoreVRML(vrmlInfo)
	replyobj.status("Restoring pseudobond groups...", blankAfter=0,
		secondary=True)
	restorePseudoBondGroups(pbInfo)
	replyobj.status("Restoring model associations...", blankAfter=0,
		secondary=True)
	restoreModelAssociations(modelAssociations)
	replyobj.status("Restoring camera...", blankAfter=0,
		secondary=True)
	restoreViewer(viewerInfo)
def restoreCoreModels():
	from SimpleSession.versions.v62 import init, restoreViewer, \
	     restoreMolecules, restoreColors, restoreSurfaces, \
	     restoreVRML, restorePseudoBondGroups, restoreModelAssociations
	molInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwFOfYdVCWJhbGxTY2FsZXEDSwFHP9AAAAAAAAB9h1UJcG9pbnRTaXplcQRLAUc/8AAAAAAAAH2HVQVjb2xvcnEFSwFLAH2HVQpyaWJib25UeXBlcQZLAUsAfYdVCnN0aWNrU2NhbGVxB0sBRz/wAAAAAAAAfYdVDGFyb21hdGljTW9kZXEISwFLAX2HVQp2ZHdEZW5zaXR5cQlLAUdAFAAAAAAAAH2HVQZoaWRkZW5xCksBiX2HVQ1hcm9tYXRpY0NvbG9ycQtLAU59h1UPcmliYm9uU21vb3RoaW5ncQxLAUsAfYdVCWF1dG9jaGFpbnENSwGIfYdVCG9wdGlvbmFscQ59cQ9VC2NoYXJnZU1vZGVscRCIiUsBVQxBTUJFUiBmZjk5U0JxEX2Hh3NVD2xvd2VyQ2FzZUNoYWluc3ESSwGJfYdVCWxpbmVXaWR0aHETSwFHP/AAAAAAAAB9h1UPcmVzaWR1ZUxhYmVsUG9zcRRLAUsAfYdVBG5hbWVxFUsBWBAAAABzbWlsZXM6QzFDQ0NDPUMxfYdVD2Fyb21hdGljRGlzcGxheXEWSwGJfYdVD3JpYmJvblN0aWZmbmVzc3EXSwFHP+mZmZmZmZp9h1UKcGRiSGVhZGVyc3EYXXEZfXEaYVUDaWRzcRtLAUsASwCGfYdVDnN1cmZhY2VPcGFjaXR5cRxLAUe/8AAAAAAAAH2HVRBhcm9tYXRpY0xpbmVUeXBlcR1LAUsCfYdVFHJpYmJvbkhpZGVzTWFpbmNoYWlucR5LAYh9h1UHZGlzcGxheXEfSwGIfYd1Lg=='))
	resInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQZpbnNlcnRxAksBVQEgfYdVC2ZpbGxEaXNwbGF5cQNLAYl9h1UEbmFtZXEESwFYAwAAAFRNRn2HVQVjaGFpbnEFSwFYAQAAACB9h1UOcmliYm9uRHJhd01vZGVxBksBSwJ9h1UCc3NxB0sBiYmGfYdVCG1vbGVjdWxlcQhLAUsAfYdVC3JpYmJvbkNvbG9ycQlLAU59h1UFbGFiZWxxCksBWAAAAAB9h1UKbGFiZWxDb2xvcnELSwFOfYdVCGZpbGxNb2RlcQxLAUsBfYdVBWlzSGV0cQ1LAYl9h1ULbGFiZWxPZmZzZXRxDksBTn2HVQhwb3NpdGlvbnEPXXEQSwFLAYZxEWFVDXJpYmJvbkRpc3BsYXlxEksBiX2HVQhvcHRpb25hbHETfVUEc3NJZHEUSwFK/////32HdS4='))
	atomInfo = cPickle.loads(base64.b64decode('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'))
	bondInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQVjb2xvcnECSyxOfYdVBWF0b21zcQNdcQQoXXEFKEsCSwNlXXEGKEsCSwdlXXEHKEsCSwhlXXEIKEsCSwllXXEJKEsDSwRlXXEKKEsDSwplXXELKEsDSwtlXXEMKEsESwVlXXENKEsESwxlXXEOKEsESw1lXXEPKEsFSwZlXXEQKEsFSw5lXXERKEsFSw9lXXESKEsGSwdlXXETKEsGSxBlXXEUKEsHSxFlXXEVKEsSSxFlXXEWKEsTSxFlXXEXKEsUSxNlXXEYKEsVSxRlXXEZKEsWSxRlXXEaKEsXSxRlXXEbKEsYSxVlXXEcKEsZSxVlXXEdKEsaSxVlXXEeKEsbSw5lXXEfKEscSxtlXXEgKEsdSxtlXXEhKEseSxxlXXEiKEsfSxxlXXEjKEsgSx1lXXEkKEshSx1lXXElKEsiSx1lXXEmKEsjSxxlXXEnKEskSwxlXXEoKEslSwxlXXEpKEsmSyRlXXEqKEsnSyRlXXErKEsoSwplXXEsKEspSwplXXEtKEsqSyZlXXEuKEsrSyZlXXEvKEssSwplXXEwKEstSxtlZVUFbGFiZWxxMUssWAAAAAB9h1UIaGFsZmJvbmRxMkssiH2HVQZyYWRpdXNxM0ssRz/JmZmgAAAAfYdVC2xhYmVsT2Zmc2V0cTRLLE59h1UIZHJhd01vZGVxNUssSwF9h1UIb3B0aW9uYWxxNn1VB2Rpc3BsYXlxN0ssSwJ9h3Uu'))
	crdInfo = cPickle.loads(base64.b64decode('gAJ9cQFLAH1xAihLAF1xAyhHQAjGK7DAqqVHP+NXOe7KhWZHQADAk6bZFWWHcQRHQAQFF2uu+OJHP+v7hal4lPhHQAvDnSeORqyHcQVHP/K8QlGiG/pHP/pEvo19bqRHQAsTQ3MC/MyHcQZHP/MvKQtrghZHQAbusgwDVxdHQANfes4nX+WHcQdHQAFNQ9h7hSdHQAW1hrTmSSBHP/PUpPvisk2HcQhHQAiWT0zKFgNHP/vfCVA9EeNHP/FxXbqqnKWHcQlHQARwcgc5W7VHv84BJG/ZettHP/osFYyWYnyHcQpHQBB4LBGzXblHP9NusBbpJiRHQAJjS1ajYjCHcQtHQAIc7ftcCPxHv93be9OyJ6hHQBBna1rF6PGHcQxHQAnTZ27OAwNHP/cL4djvLKNHQBBOqzamJtSHcQ1HP+Ou4Njx2mpHP/uXVAb7Mg1HQBMNrg3+Fs2HcQ5HP99RYof2fZFHP+41adg5dG9HQAcP9H+qEhOHcQ9Hv8Kft4gfIalHQAdIZSho8RBHP/5Gg2AgQBWHcRBHP/cCZ3lenNxHQA5aDSzQYs5HQAdyJc2V+Q+HcRFHQADwPciRGElHQAxVaycNUvJHP+D4yqXRj7CHcRJHQA+wv6GRjWZHP/0mZIjBYZBHP7EOvWiZ6a+HcRNHQA+swRvQLFFHQAWUWxqJSltHv+lJJLYY7jOHcRRHQBQ8uPaqHalHP+/VGAn6Ex9Hv7uoLl+09qGHcRVHQBVZcOfSWh9HP8q+2jzOhjhHv88hod+WIfiHcRZHQBSIKR9QguVHv9vUN8/iZMxHP8DTPyROoG6HcRdHQBiNacGhHLlHv/ABooa5TLdHv+wVM8C9JeeHcRhHQBYOXYmNjFtHv+PmGKQPtupHP/Iu0IJDy1KHcRlHQBCkmsDLuFFHv+0A03VeVWZHv1U5Smmf5TqHcRpHQBxP/Zz3WfFHv9y0ggsjadtHv+pPMydT1fqHcRtHQBlH27feMt1HwAByW4mvxntHv+WyciBKuBSHcRxHQBbsn2DFBtNHv+w6IgTxZ/RHv/4hIJUbM2iHcR1Hv+XxPus35idHQBAXIMIcafRHP/J0DQoRYSKHcR5Hv+TH7etuIJtHQBU4axv8Yf9HQAALFDVsHIGHcR9HwADnLL452fVHQAxkcK9ShylHP+tchR09WM+HcSBHQBaSqvGdNmpHP/ZJz0pwBCZHP7VFU+ggQmaHcSFHP9fbIa+F+1RHQBah72x4+HdHQAE7IU55aNWHcSJHv/L1Y7hxuA1HQBhnGWn9UBJHP/fHz+IaptOHcSNHwAVbvuZ6YAhHQBEw1ufK8oxHP9KIAWT0hkCHcSRHwAUxBj/aeyxHQAqiy8JrgYdHP/yPTDqkTiiHcSVHwAB/uDVt8hVHQAUGed4hwwpHP9EqBSKRVnGHcSZHv/Hk+7DPuWhHQBSxHueQVVdHQAfmuTG0iDyHcSdHP8dSNpSusMJHQAVWuCVTObJHQBZ9H8a8KAmHcShHP96vHQcQk6lHP+oRj6xuaaNHQBSpU0nzldCHcSlHP8vBRBw/ThhHQBA1ibzl3rBHQBWlOseB+w+HcSpHv82kj4NhbFpHQAI0/4ZBVS5HQBq//JeLoTiHcStHv+UT4a/HtJxHQADLy3BZGvxHQBrH27U+RfmHcSxHP/8nVJPUV99Hv9eZiQDK+4NHQBRSYnQ2wzmHcS1HQAjqVxSrB1NHv/DN/w7oM4lHQBBWjA1B/NmHcS5HP+VuEHfeuqlHQBIe8U1BAn9HQBJDHCYCs+6HcS9Hv8gEomezdeRHQBLVTSgMLdtHQBixPJeLa9GHcTBHP/guonn+xo5Hv+5t6y3JHDxHQAyJRnMNNZmHcTFHv8E1j/8KIv1HQBCzn6g1/s1HP8zcRzhI8jyHcTJlVQZhY3RpdmVxM0sAdXMu'))
	surfInfo = {'category': (0, None, {}), 'probeRadius': (0, None, {}), 'pointSize': (0, None, {}), 'name': [], 'density': (0, None, {}), 'colorMode': (0, None, {}), 'useLighting': (0, None, {}), 'transparencyBlendMode': (0, None, {}), 'molecule': [], 'smoothLines': (0, None, {}), 'lineWidth': (0, None, {}), 'allComponents': (0, None, {}), 'twoSidedLighting': (0, None, {}), 'customVisibility': [], 'drawMode': (0, None, {}), 'display': (0, None, {}), 'customColors': []}
	vrmlInfo = {'subid': (0, None, {}), 'display': (0, None, {}), 'id': (0, None, {}), 'vrmlString': [], 'name': (0, None, {})}
	colors = {'Ru': ((0.141176, 0.560784, 0.560784), 1, u'default'), 'Re': ((0.14902, 0.490196, 0.670588), 1, u'default'), 'Rf': ((0.8, 0, 0.34902), 1, u'default'), 'Ra': ((0, 0.490196, 0), 1, u'default'), 'Rb': ((0.439216, 0.180392, 0.690196), 1, u'default'), 'Rn': ((0.258824, 0.509804, 0.588235), 1, u'default'), 'Rh': ((0.0392157, 0.490196, 0.54902), 1, u'default'), 'Be': ((0.760784, 1, 0), 1, u'default'), 'Ba': ((0, 0.788235, 0), 1, u'default'), 'Bh': ((0.878431, 0, 0.219608), 1, u'default'), 'Bi': ((0.619608, 0.309804, 0.709804), 1, u'default'), 'Bk': ((0.541176, 0.309804, 0.890196), 1, u'default'), 'Br': ((0.65098, 0.160784, 0.160784), 1, u'default'), 'H': ((1, 1, 1), 1, u'default'), 'P': ((1, 0.501961, 0), 1, u'default'), 'Os': ((0.14902, 0.4, 0.588235), 1, u'default'), 'Ge': ((0.4, 0.560784, 0.560784), 1, u'default'), 'Gd': ((0.270588, 1, 0.780392), 1, u'default'), 'Ga': ((0.760784, 0.560784, 0.560784), 1, u'default'), 'Pr': ((0.85098, 1, 0.780392), 1, u'default'), 'Pt': ((0.815686, 0.815686, 0.878431), 1, u'default'), 'Pu': ((0, 0.419608, 1), 1, u'default'),
'C': ((0.564706, 0.564706, 0.564706), 1, u'default'), 'Pb': ((0.341176, 0.34902, 0.380392), 1, u'default'), 'Pa': ((0, 0.631373, 1), 1, u'default'), 'Pd': ((0, 0.411765, 0.521569), 1, u'default'), 'Cd': ((1, 0.85098, 0.560784), 1, u'default'), 'Po': ((0.670588, 0.360784, 0), 1, u'default'), 'Pm': ((0.639216, 1, 0.780392), 1, u'default'), 'Hs': ((0.901961, 0, 0.180392), 1, u'default'), 'Ho': ((0, 1, 0.611765), 1, u'default'), 'Hf': ((0.301961, 0.760784, 1), 1, u'default'), 'Hg': ((0.721569, 0.721569, 0.815686), 1, u'default'), 'He': ((0.85098, 1, 1), 1, u'default'), 'Md': ((0.701961, 0.0509804, 0.65098), 1, u'default'), 'Mg': ((0.541176, 1, 0), 1, u'default'), 'K': ((0.560784, 0.25098, 0.831373), 1, u'default'), 'Mn': ((0.611765, 0.478431, 0.780392), 1, u'default'), 'O': ((1, 0.0509804, 0.0509804), 1, u'default'), 'Mt': ((0.921569, 0, 0.14902), 1, u'default'), 'S': ((1, 1, 0.188235), 1, u'default'), 'W': ((0.129412, 0.580392, 0.839216), 1, u'default'), 'Zn': ((0.490196, 0.501961, 0.690196), 1, u'default'), 'Eu': ((0.380392, 1, 0.780392), 1, u'default'),
'Zr': ((0.580392, 0.878431, 0.878431), 1, u'default'), 'Er': ((0, 0.901961, 0.458824), 1, u'default'), 'Ni': ((0.313725, 0.815686, 0.313725), 1, u'default'), 'No': ((0.741176, 0.0509804, 0.529412), 1, u'default'), 'Na': ((0.670588, 0.360784, 0.94902), 1, u'default'), 'Nb': ((0.45098, 0.760784, 0.788235), 1, u'default'), 'Nd': ((0.780392, 1, 0.780392), 1, u'default'), 'Ne': ((0.701961, 0.890196, 0.960784), 1, u'default'), 'Np': ((0, 0.501961, 1), 1, u'default'), 'Fr': ((0.258824, 0, 0.4), 1, u'default'), 'Fe': ((0.878431, 0.4, 0.2), 1, u'default'), 'Fm': ((0.701961, 0.121569, 0.729412), 1, u'default'), 'B': ((1, 0.709804, 0.709804), 1, u'default'), 'F': ((0.564706, 0.878431, 0.313725), 1, u'default'), 'Sr': ((0, 1, 0), 1, u'default'), 'N': ((0.188235, 0.313725, 0.972549), 1, u'default'), 'Kr': ((0.360784, 0.721569, 0.819608), 1, u'default'), 'Si': ((0.941176, 0.784314, 0.627451), 1, u'default'), 'Sn': ((0.4, 0.501961, 0.501961), 1, u'default'), 'Sm': ((0.560784, 1, 0.780392), 1, u'default'), 'V': ((0.65098, 0.65098, 0.670588), 1, u'default'), 'Sc': ((0.901961, 0.901961, 0.901961), 1, u'default'),
'Sb': ((0.619608, 0.388235, 0.709804), 1, u'default'), 'Sg': ((0.85098, 0, 0.270588), 1, u'default'), 'Se': ((1, 0.631373, 0), 1, u'default'), 'Co': ((0.941176, 0.564706, 0.627451), 1, u'default'), 'Cm': ((0.470588, 0.360784, 0.890196), 1, u'default'), 'Cl': ((0.121569, 0.941176, 0.121569), 1, u'default'), 'Ca': ((0.239216, 1, 0), 1, u'default'), 'Cf': ((0.631373, 0.211765, 0.831373), 1, u'default'), 'Ce': ((1, 1, 0.780392), 1, u'default'), 'Xe': ((0.258824, 0.619608, 0.690196), 1, u'default'), 'Tm': ((0, 0.831373, 0.321569), 1, u'default'), 'Cs': ((0.341176, 0.0901961, 0.560784), 1, u'default'), 'Cr': ((0.541176, 0.6, 0.780392), 1, u'default'), 'Cu': ((0.784314, 0.501961, 0.2), 1, u'default'), 'La': ((0.439216, 0.831373, 1), 1, u'default'), 'Li': ((0.8, 0.501961, 1), 1, u'default'), 'Tl': ((0.65098, 0.329412, 0.301961), 1, u'default'), 'Lu': ((0, 0.670588, 0.141176), 1, u'default'), 'Lr': ((0.780392, 0, 0.4), 1, u'default'), 'Th': ((0, 0.729412, 1), 1, u'default'), 'Ti': ((0.74902, 0.760784, 0.780392), 1, u'default'), 'tan': ((0.823529, 0.705882, 0.54902), 1, u'default'),
'Te': ((0.831373, 0.478431, 0), 1, u'default'), 'Tb': ((0.188235, 1, 0.780392), 1, u'default'), 'Tc': ((0.231373, 0.619608, 0.619608), 1, u'default'), 'Ta': ((0.301961, 0.65098, 1), 1, u'default'), 'Yb': ((0, 0.74902, 0.219608), 1, u'default'), 'Db': ((0.819608, 0, 0.309804), 1, u'default'), 'Dy': ((0.121569, 1, 0.780392), 1, u'default'), 'At': ((0.458824, 0.309804, 0.270588), 1, u'default'), 'I': ((0.580392, 0, 0.580392), 1, u'default'), 'U': ((0, 0.560784, 1), 1, u'default'), 'Y': ((0.580392, 1, 1), 1, u'default'), 'Ac': ((0.439216, 0.670588, 0.980392), 1, u'default'), 'Ag': ((0.752941, 0.752941, 0.752941), 1, u'default'), 'Ir': ((0.0901961, 0.329412, 0.529412), 1, u'default'), 'Am': ((0.329412, 0.360784, 0.94902), 1, u'default'), 'Al': ((0.74902, 0.65098, 0.65098), 1, u'default'), 'As': ((0.741176, 0.501961, 0.890196), 1, u'default'), 'Ar': ((0.501961, 0.819608, 0.890196), 1, u'default'), 'Au': ((1, 0.819608, 0.137255), 1, u'default'), 'Es': ((0.701961, 0.121569, 0.831373), 1, u'default'), 'In': ((0.65098, 0.458824, 0.45098), 1, u'default'), 'Mo': ((0.329412, 0.709804, 0.709804), 1, u'default')}
	materials = {u'default': ((0.85, 0.85, 0.85), 30)}
	pbInfo = {'category': [u'distance monitor'], 'bondInfo': [{'color': (0, None, {}), 'atoms': [], 'label': (0, None, {}), 'halfbond': (0, None, {}), 'labelColor': (0, None, {}), 'drawMode': (0, None, {}), 'display': (0, None, {})}], 'lineType': (1, 2, {}), 'color': (1, 5, {}), 'optional': {'fixedLabels': (True, False, (1, False, {}))}, 'display': (1, True, {}), 'showStubBonds': (1, False, {}), 'lineWidth': (1, 1, {}), 'stickScale': (1, 1, {}), 'id': [-2]}
	modelAssociations = {}
	colorInfo = (7, (u'H', (1, 1, 1, 1)), {(u'green', (0, 1, 0, 1)): [6], (u'N', (0.188235, 0.313725, 0.972549, 1)): [2], (u'O', (1, 0.0509804, 0.0509804, 1)): [3], (u'tan', (0.823529, 0.705882, 0.54902, 1)): [0], (u'yellow', (1, 1, 0, 1)): [5], (u'C', (0.564706, 0.564706, 0.564706, 1)): [4]})
	viewerInfo = {'cameraAttrs': {'center': (2.2739999761581, 1.82915, 2.40305), 'fieldOfView': 11.497513718627, 'nearFar': (10.853286593541, -4.9622135472226), 'ortho': False, 'eyeSeparation': 50.8, 'focal': 2.40305}, 'viewerAttrs': {'silhouetteColor': None, 'clipping': False, 'showSilhouette': False, 'showShadows': False, 'viewSize': 8.5023417431193, 'labelsOnTop': True, 'depthCueRange': (0.5, 1), 'silhouetteWidth': 2, 'singleLayerTransparency': True, 'shadowTextureSize': 2048, 'backgroundImage': [None, 1, 2, 1, 0, 0], 'backgroundGradient': [('Chimera default', [(1, 1, 1, 1), (0, 0, 1, 1)], 1), 1, 0, 0], 'depthCue': True, 'highlight': 0, 'scaleFactor': 1, 'angleDependentTransparency': True, 'backgroundMethod': 0}, 'viewerHL': 6, 'cameraMode': 'mono', 'detail': 1.5, 'viewerFog': None, 'viewerBG': None}

	replyobj.status("Initializing session restore...", blankAfter=0,
		secondary=True)
	from SimpleSession.versions.v62 import expandSummary
	init(dict(enumerate(expandSummary(colorInfo))))
	replyobj.status("Restoring colors...", blankAfter=0,
		secondary=True)
	restoreColors(colors, materials)
	replyobj.status("Restoring molecules...", blankAfter=0,
		secondary=True)
	restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
	replyobj.status("Restoring surfaces...", blankAfter=0,
		secondary=True)
	restoreSurfaces(surfInfo)
	replyobj.status("Restoring VRML models...", blankAfter=0,
		secondary=True)
	restoreVRML(vrmlInfo)
	replyobj.status("Restoring pseudobond groups...", blankAfter=0,
		secondary=True)
	restorePseudoBondGroups(pbInfo)
	replyobj.status("Restoring model associations...", blankAfter=0,
		secondary=True)
	restoreModelAssociations(modelAssociations)
	replyobj.status("Restoring camera...", blankAfter=0,
		secondary=True)
	restoreViewer(viewerInfo)
Example #4
0
def restoreCoreModels():
	from SimpleSession.versions.v62 import init, restoreViewer, \
	     restoreMolecules, restoreColors, restoreSurfaces, \
	     restoreVRML, restorePseudoBondGroups, restoreModelAssociations
	molInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwFOfYdVCWJhbGxTY2FsZXEDSwFHP9AAAAAAAAB9h1UJcG9pbnRTaXplcQRLAUc/8AAAAAAAAH2HVQVjb2xvcnEFSwFLAH2HVQpyaWJib25UeXBlcQZLAUsAfYdVCnN0aWNrU2NhbGVxB0sBRz/wAAAAAAAAfYdVDGFyb21hdGljTW9kZXEISwFLAX2HVQp2ZHdEZW5zaXR5cQlLAUdAFAAAAAAAAH2HVQZoaWRkZW5xCksBiX2HVQ1hcm9tYXRpY0NvbG9ycQtLAU59h1UPcmliYm9uU21vb3RoaW5ncQxLAUsAfYdVCWF1dG9jaGFpbnENSwGIfYdVCG9wdGlvbmFscQ59cQ9VCG9wZW5lZEFzcRCIiUsBKFUKcmlib3NlLnNkZnERTk5LAXRxEn2Hh3NVD2xvd2VyQ2FzZUNoYWluc3ETSwGJfYdVCWxpbmVXaWR0aHEUSwFHP/AAAAAAAAB9h1UPcmVzaWR1ZUxhYmVsUG9zcRVLAUsAfYdVBG5hbWVxFksBWAQAAAA1Nzc5fYdVD2Fyb21hdGljRGlzcGxheXEXSwGJfYdVD3JpYmJvblN0aWZmbmVzc3EYSwFHP+mZmZmZmZp9h1UKcGRiSGVhZGVyc3EZXXEafXEbYVUDaWRzcRxLAUsASwCGfYdVDnN1cmZhY2VPcGFjaXR5cR1LAUe/8AAAAAAAAH2HVRBhcm9tYXRpY0xpbmVUeXBlcR5LAUsCfYdVFHJpYmJvbkhpZGVzTWFpbmNoYWlucR9LAYh9h1UHZGlzcGxheXEgSwGIfYd1Lg=='))
	resInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQZpbnNlcnRxAksBVQEgfYdVC2ZpbGxEaXNwbGF5cQNLAYl9h1UEbmFtZXEESwFYAwAAAFVOS32HVQVjaGFpbnEFSwFYAQAAACB9h1UOcmliYm9uRHJhd01vZGVxBksBSwJ9h1UCc3NxB0sBiYmGfYdVCG1vbGVjdWxlcQhLAUsAfYdVC3JpYmJvbkNvbG9ycQlLAU59h1UFbGFiZWxxCksBWAAAAAB9h1UKbGFiZWxDb2xvcnELSwFOfYdVCGZpbGxNb2RlcQxLAUsBfYdVBWlzSGV0cQ1LAYl9h1ULbGFiZWxPZmZzZXRxDksBTn2HVQhwb3NpdGlvbnEPXXEQSwFLAYZxEWFVDXJpYmJvbkRpc3BsYXlxEksBiX2HVQhvcHRpb25hbHETfVUEc3NJZHEUSwFK/////32HdS4='))
	atomInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQdyZXNpZHVlcQJLFEsBfYdVCHZkd0NvbG9ycQNLFE59h1UEbmFtZXEESxRYAgAAAEg4fXEFKFgCAAAASDddcQZLEGFYAgAAAEgyXXEHSwthWAIAAABIM11xCEsMYVgCAAAASDFdcQlLCmFYAgAAAEg2XXEKSw9hWAIAAABINV1xC0sOYVgCAAAASDRdcQxLDWFYAgAAAE8yXXENSwFhWAMAAABIMTBdcQ5LE2FYAgAAAEg5XXEPSxJhWAIAAABDNV1xEEsJYVgCAAAAQzNdcRFLB2FYAgAAAEMyXXESSwZhWAIAAABDMV1xE0sFYVgCAAAATzRdcRRLA2FYAgAAAE8zXXEVSwJhWAIAAABPNV1xFksEYVgCAAAATzFdcRdLAGFYAgAAAEM0XXEYSwhhdYdVA3Zkd3EZSxSJfYdVDnN1cmZhY2VEaXNwbGF5cRpLFIl9h1UFY29sb3JxG0sUSwJ9cRwoSwFdcR0oSwBLAUsCSwNLBGVOXXEeKEsFSwZLB0sISwlldYdVCWlkYXRtVHlwZXEfSxSJfYdVBmFsdExvY3EgSxRVAH2HVQVsYWJlbHEhSxRYAAAAAH2HVQ5zdXJmYWNlT3BhY2l0eXEiSxRHv/AAAAAAAAB9h1UHZWxlbWVudHEjSxRLAX1xJChLCF1xJShLAEsBSwJLA0sEZUsGXXEmKEsFSwZLB0sISwlldYdVCmxhYmVsQ29sb3JxJ0sUTn2HVQxzdXJmYWNlQ29sb3JxKEsUTn2HVQ9zdXJmYWNlQ2F0ZWdvcnlxKUsUWAQAAABtYWlufYdVBnJhZGl1c3EqSxRHP/AAAAAAAAB9cSsoRz/4AAAAAAAAXXEsKEsASwFLAksDSwRlRz/7MzNAAAAAXXEtKEsFSwZLB0sISwlldYdVCmNvb3JkSW5kZXhxLl1xL0sASxSGcTBhVQtsYWJlbE9mZnNldHExSxROfYdVEm1pbmltdW1MYWJlbFJhZGl1c3EySxRHAAAAAAAAAAB9h1UIZHJhd01vZGVxM0sUSwJ9h1UIb3B0aW9uYWxxNH1xNShVBmNoYXJnZXE2iIlLFEcAAAAAAAAAAH1xNyhHv+HrhR64UexdcThLAGFHP9mZmZmZmZpdcTkoSxBLEUsSSxNlR7/lwo9cKPXDXXE6KEsBSwJLA0sEZUc/0euFHrhR7F1xOyhLBUsGSwdLCWVHP+HrhR64UexdcTxLCGF1h4dVDHNlcmlhbE51bWJlcnE9iIhdcT5LAUsUhnE/YYdVB2JmYWN0b3JxQIiJSxRHAAAAAAAAAAB9h4dVCW9jY3VwYW5jeXFBiIlLFEc/8AAAAAAAAH2Hh3VVB2Rpc3BsYXlxQksUiH2HdS4='))
	bondInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQVjb2xvcnECSxROfYdVBWF0b21zcQNdcQQoXXEFKEsCSwhlXXEGKEsCSwplXXEHKEsDSwdlXXEIKEsDSxJlXXEJKEsESwllXXEKKEsESxNlXXELKEsFSwplXXEMKEsFSxRlXXENKEsGSwtlXXEOKEsGSxVlXXEPKEsHSwhlXXEQKEsHSwllXXERKEsHSwxlXXESKEsISwtlXXETKEsISw1lXXEUKEsJSwplXXEVKEsJSw5lXXEWKEsKSw9lXXEXKEsLSxBlXXEYKEsLSxFlZVUFbGFiZWxxGUsUWAAAAAB9h1UIaGFsZmJvbmRxGksUiH2HVQZyYWRpdXNxG0sURz/JmZmgAAAAfYdVC2xhYmVsT2Zmc2V0cRxLFE59h1UIZHJhd01vZGVxHUsUSwF9h1UIb3B0aW9uYWxxHn1VB2Rpc3BsYXlxH0sUSwJ9h3Uu'))
	crdInfo = cPickle.loads(base64.b64decode('gAJ9cQFLAH1xAihLAF1xAyhHP9cnuy/sVtZHv/EHyEtdzGRHv+IWHk92X9mHcQRHv9ekP+XJHRVHQAIYk3S8an9HP+H5ckdFOO+HcQVHv/6pKjBVMmFHP+mcDr7fpEBHv/LGPxQSBbyHcQZHv/KTdLxqfvpHwAAJ1JUYKplHP+7MzMzMzM2HcQdHQAimF8G9pRJHv9SqZML4N7VHv9z8UEgW8AeHcQhHv9Sw8nuy/sVHP+tJUYKpkwxHP+Qvg3tKIzqHcQlHP+jfpD/lyR1HP9GX9itq59VHv884HX2/SICHcQpHv/jiGWUr08NHP8c+qzZ6D5FHP61wo9cKPXGHcQtHv/BzGPxQSBdHv/OCqZML4N9Hv8uscQyyleqHcQxHQAEQYk3S8apHP86+36Q/5clHP9wb2lEZzgeHcQ1Hv8jr7fpD/l1HP+GqzZ6D5CZHP/rZf2K2rn2HcQ5HP+vyEtdzGPxHP+pKjBVMmF9Hv/ML4N7SiM6HcQ9HwANRGc4HX3BHP8xdY4hllK9HP+duLrHEMsqHcRBHv/jPQfIS13NHv/tl/YraufVHv/CufVZs9B+HcRFHQADpD/lyR0VHv9iDEm6XjVBHP/VtxdY4hlmHcRJHQAPBiTdLxqhHP/PpD/lyR0VHP+bHEMspXp6HcRNHP97SiM5wOvtHQATPdl/YraxHP+xhfBvaURqHcRRHv/O6xxDLKV9HP+OHk92X9itHv/1mz0HyEteHcRVHv/JN0vGp++dHwAd/Lkjopx5HP+X9itq59VqHcRZHQAYk3S8an75Hv/NmZmZmZmZHv+YW8AaNuLuHcRdlVQZhY3RpdmVxGEsAdXMu'))
	surfInfo = {'category': (0, None, {}), 'probeRadius': (0, None, {}), 'pointSize': (0, None, {}), 'name': [], 'density': (0, None, {}), 'colorMode': (0, None, {}), 'useLighting': (0, None, {}), 'transparencyBlendMode': (0, None, {}), 'molecule': [], 'smoothLines': (0, None, {}), 'lineWidth': (0, None, {}), 'allComponents': (0, None, {}), 'twoSidedLighting': (0, None, {}), 'customVisibility': [], 'drawMode': (0, None, {}), 'display': (0, None, {}), 'customColors': []}
	vrmlInfo = {'subid': (0, None, {}), 'display': (0, None, {}), 'id': (0, None, {}), 'vrmlString': [], 'name': (0, None, {})}
	colors = {'Ru': ((0.141176, 0.560784, 0.560784), 1, u'default'), 'Re': ((0.14902, 0.490196, 0.670588), 1, u'default'), 'Rf': ((0.8, 0, 0.34902), 1, u'default'), 'Ra': ((0, 0.490196, 0), 1, u'default'), 'Rb': ((0.439216, 0.180392, 0.690196), 1, u'default'), 'Rn': ((0.258824, 0.509804, 0.588235), 1, u'default'), 'Rh': ((0.0392157, 0.490196, 0.54902), 1, u'default'), 'Be': ((0.760784, 1, 0), 1, u'default'), 'Ba': ((0, 0.788235, 0), 1, u'default'), 'Bh': ((0.878431, 0, 0.219608), 1, u'default'), 'Bi': ((0.619608, 0.309804, 0.709804), 1, u'default'), 'Bk': ((0.541176, 0.309804, 0.890196), 1, u'default'), 'Br': ((0.65098, 0.160784, 0.160784), 1, u'default'), 'H': ((1, 1, 1), 1, u'default'), 'P': ((1, 0.501961, 0), 1, u'default'), 'Os': ((0.14902, 0.4, 0.588235), 1, u'default'), 'Ge': ((0.4, 0.560784, 0.560784), 1, u'default'), 'Gd': ((0.270588, 1, 0.780392), 1, u'default'), 'Ga': ((0.760784, 0.560784, 0.560784), 1, u'default'), 'Pr': ((0.85098, 1, 0.780392), 1, u'default'), 'Pt': ((0.815686, 0.815686, 0.878431), 1, u'default'), 'Pu': ((0, 0.419608, 1), 1, u'default'),
'C': ((0.564706, 0.564706, 0.564706), 1, u'default'), 'Pb': ((0.341176, 0.34902, 0.380392), 1, u'default'), 'Pa': ((0, 0.631373, 1), 1, u'default'), 'Pd': ((0, 0.411765, 0.521569), 1, u'default'), 'Cd': ((1, 0.85098, 0.560784), 1, u'default'), 'Po': ((0.670588, 0.360784, 0), 1, u'default'), 'Pm': ((0.639216, 1, 0.780392), 1, u'default'), 'Hs': ((0.901961, 0, 0.180392), 1, u'default'), 'Ho': ((0, 1, 0.611765), 1, u'default'), 'Hf': ((0.301961, 0.760784, 1), 1, u'default'), 'Hg': ((0.721569, 0.721569, 0.815686), 1, u'default'), 'He': ((0.85098, 1, 1), 1, u'default'), 'Md': ((0.701961, 0.0509804, 0.65098), 1, u'default'), 'Mg': ((0.541176, 1, 0), 1, u'default'), 'K': ((0.560784, 0.25098, 0.831373), 1, u'default'), 'Mn': ((0.611765, 0.478431, 0.780392), 1, u'default'), 'O': ((1, 0.0509804, 0.0509804), 1, u'default'), 'Mt': ((0.921569, 0, 0.14902), 1, u'default'), 'S': ((1, 1, 0.188235), 1, u'default'), 'W': ((0.129412, 0.580392, 0.839216), 1, u'default'), 'Zn': ((0.490196, 0.501961, 0.690196), 1, u'default'), 'Eu': ((0.380392, 1, 0.780392), 1, u'default'),
'Zr': ((0.580392, 0.878431, 0.878431), 1, u'default'), 'Er': ((0, 0.901961, 0.458824), 1, u'default'), 'Ni': ((0.313725, 0.815686, 0.313725), 1, u'default'), 'No': ((0.741176, 0.0509804, 0.529412), 1, u'default'), 'Na': ((0.670588, 0.360784, 0.94902), 1, u'default'), 'Nb': ((0.45098, 0.760784, 0.788235), 1, u'default'), 'Nd': ((0.780392, 1, 0.780392), 1, u'default'), 'Ne': ((0.701961, 0.890196, 0.960784), 1, u'default'), 'Np': ((0, 0.501961, 1), 1, u'default'), 'Fr': ((0.258824, 0, 0.4), 1, u'default'), 'Fe': ((0.878431, 0.4, 0.2), 1, u'default'), 'Fm': ((0.701961, 0.121569, 0.729412), 1, u'default'), 'B': ((1, 0.709804, 0.709804), 1, u'default'), 'F': ((0.564706, 0.878431, 0.313725), 1, u'default'), 'Sr': ((0, 1, 0), 1, u'default'), 'N': ((0.188235, 0.313725, 0.972549), 1, u'default'), 'Kr': ((0.360784, 0.721569, 0.819608), 1, u'default'), 'Si': ((0.941176, 0.784314, 0.627451), 1, u'default'), 'Sn': ((0.4, 0.501961, 0.501961), 1, u'default'), 'Sm': ((0.560784, 1, 0.780392), 1, u'default'), 'V': ((0.65098, 0.65098, 0.670588), 1, u'default'), 'Sc': ((0.901961, 0.901961, 0.901961), 1, u'default'),
'Sb': ((0.619608, 0.388235, 0.709804), 1, u'default'), 'Sg': ((0.85098, 0, 0.270588), 1, u'default'), 'Se': ((1, 0.631373, 0), 1, u'default'), 'Co': ((0.941176, 0.564706, 0.627451), 1, u'default'), 'Cm': ((0.470588, 0.360784, 0.890196), 1, u'default'), 'Cl': ((0.121569, 0.941176, 0.121569), 1, u'default'), 'Ca': ((0.239216, 1, 0), 1, u'default'), 'Cf': ((0.631373, 0.211765, 0.831373), 1, u'default'), 'Ce': ((1, 1, 0.780392), 1, u'default'), 'Xe': ((0.258824, 0.619608, 0.690196), 1, u'default'), 'Tm': ((0, 0.831373, 0.321569), 1, u'default'), 'Cs': ((0.341176, 0.0901961, 0.560784), 1, u'default'), 'Cr': ((0.541176, 0.6, 0.780392), 1, u'default'), 'Cu': ((0.784314, 0.501961, 0.2), 1, u'default'), 'La': ((0.439216, 0.831373, 1), 1, u'default'), 'Li': ((0.8, 0.501961, 1), 1, u'default'), 'Tl': ((0.65098, 0.329412, 0.301961), 1, u'default'), 'Lu': ((0, 0.670588, 0.141176), 1, u'default'), 'Lr': ((0.780392, 0, 0.4), 1, u'default'), 'Th': ((0, 0.729412, 1), 1, u'default'), 'Ti': ((0.74902, 0.760784, 0.780392), 1, u'default'), 'tan': ((0.823529, 0.705882, 0.54902), 1, u'default'),
'Te': ((0.831373, 0.478431, 0), 1, u'default'), 'Tb': ((0.188235, 1, 0.780392), 1, u'default'), 'Tc': ((0.231373, 0.619608, 0.619608), 1, u'default'), 'Ta': ((0.301961, 0.65098, 1), 1, u'default'), 'Yb': ((0, 0.74902, 0.219608), 1, u'default'), 'Db': ((0.819608, 0, 0.309804), 1, u'default'), 'Dy': ((0.121569, 1, 0.780392), 1, u'default'), 'At': ((0.458824, 0.309804, 0.270588), 1, u'default'), 'I': ((0.580392, 0, 0.580392), 1, u'default'), 'U': ((0, 0.560784, 1), 1, u'default'), 'Y': ((0.580392, 1, 1), 1, u'default'), 'Ac': ((0.439216, 0.670588, 0.980392), 1, u'default'), 'Ag': ((0.752941, 0.752941, 0.752941), 1, u'default'), 'Ir': ((0.0901961, 0.329412, 0.529412), 1, u'default'), 'Am': ((0.329412, 0.360784, 0.94902), 1, u'default'), 'Al': ((0.74902, 0.65098, 0.65098), 1, u'default'), 'As': ((0.741176, 0.501961, 0.890196), 1, u'default'), 'Ar': ((0.501961, 0.819608, 0.890196), 1, u'default'), 'Au': ((1, 0.819608, 0.137255), 1, u'default'), 'Es': ((0.701961, 0.121569, 0.831373), 1, u'default'), 'In': ((0.65098, 0.458824, 0.45098), 1, u'default'), 'Mo': ((0.329412, 0.709804, 0.709804), 1, u'default')}
	materials = {u'default': ((0.85, 0.85, 0.85), 30)}
	pbInfo = {'category': [u'distance monitor'], 'bondInfo': [{'color': (0, None, {}), 'atoms': [], 'label': (0, None, {}), 'halfbond': (0, None, {}), 'labelColor': (0, None, {}), 'drawMode': (0, None, {}), 'display': (0, None, {})}], 'lineType': (1, 2, {}), 'color': (1, 3, {}), 'optional': {'fixedLabels': (True, False, (1, False, {}))}, 'display': (1, True, {}), 'showStubBonds': (1, False, {}), 'lineWidth': (1, 1, {}), 'stickScale': (1, 1, {}), 'id': [-2]}
	modelAssociations = {}
	colorInfo = (6, (u'H', (1, 1, 1, 1)), {(u'green', (0, 1, 0, 1)): [5], (u'O', (1, 0.0509804, 0.0509804, 1)): [1], (u'tan', (0.823529, 0.705882, 0.54902, 1)): [0], (u'yellow', (1, 1, 0, 1)): [3], (u'white', (1, 1, 1, 1)): [4]})
	viewerInfo = {'cameraAttrs': {'center': (0.5824, -0.08755, -0.07975), 'fieldOfView': 13.43030742423, 'nearFar': (4.3832987130573, -4.5427987130573), 'ortho': False, 'eyeSeparation': 50.8, 'focal': -0.07975}, 'viewerAttrs': {'silhouetteColor': None, 'clipping': False, 'showSilhouette': False, 'showShadows': False, 'viewSize': 6.7371011456628, 'labelsOnTop': True, 'depthCueRange': (0.5, 1), 'silhouetteWidth': 2, 'singleLayerTransparency': True, 'shadowTextureSize': 2048, 'backgroundImage': [None, 1, 2, 1, 0, 0], 'backgroundGradient': [('Chimera default', [(1, 1, 1, 1), (0, 0, 1, 1)], 1), 1, 0, 0], 'depthCue': True, 'highlight': 0, 'scaleFactor': 1, 'angleDependentTransparency': True, 'backgroundMethod': 0}, 'viewerHL': 5, 'cameraMode': 'mono', 'detail': 1.5, 'viewerFog': None, 'viewerBG': 4}

	replyobj.status("Initializing session restore...", blankAfter=0,
		secondary=True)
	from SimpleSession.versions.v62 import expandSummary
	init(dict(enumerate(expandSummary(colorInfo))))
	replyobj.status("Restoring colors...", blankAfter=0,
		secondary=True)
	restoreColors(colors, materials)
	replyobj.status("Restoring molecules...", blankAfter=0,
		secondary=True)
	restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
	replyobj.status("Restoring surfaces...", blankAfter=0,
		secondary=True)
	restoreSurfaces(surfInfo)
	replyobj.status("Restoring VRML models...", blankAfter=0,
		secondary=True)
	restoreVRML(vrmlInfo)
	replyobj.status("Restoring pseudobond groups...", blankAfter=0,
		secondary=True)
	restorePseudoBondGroups(pbInfo)
	replyobj.status("Restoring model associations...", blankAfter=0,
		secondary=True)
	restoreModelAssociations(modelAssociations)
	replyobj.status("Restoring camera...", blankAfter=0,
		secondary=True)
	restoreViewer(viewerInfo)
def restoreCoreModels():
	from SimpleSession.versions.v62 import init, restoreViewer, \
	     restoreMolecules, restoreColors, restoreSurfaces, \
	     restoreVRML, restorePseudoBondGroups, restoreModelAssociations
	molInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwFOfYdVCWJhbGxTY2FsZXEDSwFHP9AAAAAAAAB9h1UJcG9pbnRTaXplcQRLAUc/8AAAAAAAAH2HVQVjb2xvcnEFSwFLAH2HVQpyaWJib25UeXBlcQZLAUsAfYdVCnN0aWNrU2NhbGVxB0sBRz/wAAAAAAAAfYdVDGFyb21hdGljTW9kZXEISwFLAX2HVQp2ZHdEZW5zaXR5cQlLAUdAFAAAAAAAAH2HVQZoaWRkZW5xCksBiX2HVQ1hcm9tYXRpY0NvbG9ycQtLAU59h1UPcmliYm9uU21vb3RoaW5ncQxLAUsAfYdVCWF1dG9jaGFpbnENSwGIfYdVCG9wdGlvbmFscQ59VQ9sb3dlckNhc2VDaGFpbnNxD0sBiX2HVQlsaW5lV2lkdGhxEEsBRz/wAAAAAAAAfYdVD3Jlc2lkdWVMYWJlbFBvc3ERSwFLAH2HVQRuYW1lcRJLAVgQAAAAc21pbGVzOkMxQ0NDQz1DMX2HVQ9hcm9tYXRpY0Rpc3BsYXlxE0sBiX2HVQ9yaWJib25TdGlmZm5lc3NxFEsBRz/pmZmZmZmafYdVCnBkYkhlYWRlcnNxFV1xFn1xF2FVA2lkc3EYSwFLAEsAhn2HVQ5zdXJmYWNlT3BhY2l0eXEZSwFHv/AAAAAAAAB9h1UQYXJvbWF0aWNMaW5lVHlwZXEaSwFLAn2HVRRyaWJib25IaWRlc01haW5jaGFpbnEbSwGIfYdVB2Rpc3BsYXlxHEsBiH2HdS4='))
	resInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQZpbnNlcnRxAksBVQEgfYdVC2ZpbGxEaXNwbGF5cQNLAYl9h1UEbmFtZXEESwFYAwAAAFRNRn2HVQVjaGFpbnEFSwFYAQAAACB9h1UOcmliYm9uRHJhd01vZGVxBksBSwJ9h1UCc3NxB0sBiYmGfYdVCG1vbGVjdWxlcQhLAUsAfYdVC3JpYmJvbkNvbG9ycQlLAU59h1UFbGFiZWxxCksBWAAAAAB9h1UKbGFiZWxDb2xvcnELSwFOfYdVCGZpbGxNb2RlcQxLAUsBfYdVBWlzSGV0cQ1LAYl9h1ULbGFiZWxPZmZzZXRxDksBTn2HVQhwb3NpdGlvbnEPXXEQSwFLAYZxEWFVDXJpYmJvbkRpc3BsYXlxEksBiX2HVQhvcHRpb25hbHETfVUEc3NJZHEUSwFK/////32HdS4='))
	atomInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQdyZXNpZHVlcQJLEEsBfYdVCHZkd0NvbG9ycQNLEEsBfXEESwJdcQUoSwBLAUsCSwNLBEsFZXOHVQRuYW1lcQZLEFgCAAAASDh9cQcoWAIAAABIOV1xCEsOYVgCAAAASDJdcQlLB2FYAgAAAEgzXXEKSwhhWAIAAABIMV1xC0sGYVgCAAAASDZdcQxLC2FYAgAAAEg3XXENSwxhWAIAAABINF1xDksJYVgCAAAASDVdcQ9LCmFYAwAAAEgxMF1xEEsPYVgCAAAAQzNdcRFLAmFYAgAAAEMyXXESSwFhWAIAAABDMV1xE0sAYVgCAAAAQzZdcRRLBWFYAgAAAEM1XXEVSwRhWAIAAABDNF1xFksDYXWHVQN2ZHdxF0sQiX2HVQ5zdXJmYWNlRGlzcGxheXEYSxCJfYdVBWNvbG9ycRlLEEsBfXEaTl1xGyhLAEsBSwJLA0sESwVlc4dVCWlkYXRtVHlwZXEcSxCJfYdVBmFsdExvY3EdSxBVAH2HVQVsYWJlbHEeSxBYAAAAAH2HVQ5zdXJmYWNlT3BhY2l0eXEfSxBHv/AAAAAAAAB9h1UHZWxlbWVudHEgSxBLAX1xIUsGXXEiKEsASwFLAksDSwRLBWVzh1UKbGFiZWxDb2xvcnEjSxBLAX1xJEsCXXElKEsASwFLAksDSwRLBWVzh1UMc3VyZmFjZUNvbG9ycSZLEEsBfXEnSwJdcSgoSwBLAUsCSwNLBEsFZXOHVQ9zdXJmYWNlQ2F0ZWdvcnlxKUsQWAQAAABtYWlufYdVBnJhZGl1c3EqSxBHP/AAAAAAAAB9cStHP/szM0AAAABdcSwoSwBLAUsCSwNLBEsFZXOHVQpjb29yZEluZGV4cS1dcS5LAEsQhnEvYVULbGFiZWxPZmZzZXRxMEsQTn2HVRJtaW5pbXVtTGFiZWxSYWRpdXNxMUsQRwAAAAAAAAAAfYdVCGRyYXdNb2RlcTJLEEsCfYdVCG9wdGlvbmFscTN9cTQoVQxzZXJpYWxOdW1iZXJxNYiIXXE2SwFLEIZxN2GHVQdiZmFjdG9ycTiIiUsQRwAAAAAAAAAAfYeHVQlvY2N1cGFuY3lxOYiJSxBHP/AAAAAAAAB9h4d1VQdkaXNwbGF5cTpLEIh9h3Uu'))
	bondInfo = cPickle.loads(base64.b64decode('gAJ9cQEoVQVjb2xvcnECSxBOfYdVBWF0b21zcQNdcQQoXXEFKEsCSwNlXXEGKEsCSwdlXXEHKEsCSwhlXXEIKEsCSwllXXEJKEsDSwRlXXEKKEsDSwplXXELKEsDSwtlXXEMKEsESwVlXXENKEsESwxlXXEOKEsESw1lXXEPKEsFSwZlXXEQKEsFSw5lXXERKEsFSw9lXXESKEsGSwdlXXETKEsGSxBlXXEUKEsHSxFlZVUFbGFiZWxxFUsQWAAAAAB9h1UIaGFsZmJvbmRxFksQiH2HVQZyYWRpdXNxF0sQRz/JmZmgAAAAfYdVC2xhYmVsT2Zmc2V0cRhLEE59h1UIZHJhd01vZGVxGUsQSwF9h1UIb3B0aW9uYWxxGn1VB2Rpc3BsYXlxG0sQSwJ9h3Uu'))
	crdInfo = cPickle.loads(base64.b64decode('gAJ9cQFLAH1xAihLAF1xAyhHQAjzTWoWHk9HP+ROpKjBVMpHQAEHKwIMSbqHcQRHQAMO801qFh5HP+hfBvaURnRHQAu3tKIznA+HcQVHP/G1Cw8nuzBHP/ll/YraufVHQAqTQE6kqMGHcQZHP/Z6eGwiaApHQAflyR0U471HQAY59Vmz0H2HcQdHQAM36Q/5ckdHQAfeANG3F1lHP/qCQLeANG6HcQhHQAlL+xW1c+tHP/65I6Kcd5pHP/WuFHrhR66HcQlHQAULQ5WBBiVHv8AaNuLrHENHP/geT3Zf2K6HcQpHQBCQsPJ7sv9HP9J1JUYKpkxHQAKJN0vGp/CHcQtHQAEm6XjU/fRHv844hllK9PFHQA7NNahYeT6HcQxHQAhTWoWHk95HP/PO2RaHKwJHQBDPXCj1wo+HcQ1HP+MzMzMzMzNHP/qyLQ5WBBlHQBEpD/lyR0WHcQ5HP9qSowVTJhhHP/EgxJul41RHQAUnHeaa1CyHcQ9HP94N7SiM5wRHQAuImgJ1JUZHQAN1jiGWUr2HcRBHP/ywiaAnUlRHQAz6eGwiaApHQAyrNnoPkJeHcRFHQAP2yLQ5WBBHQA8nuy/sVtZHP/Eh/y5I6KeHcRJHQA7P3ztkWh1HP/+QlruYx+NHP+CDEm6XjVCHcRNlVQZhY3RpdmVxFEsAdXMu'))
	surfInfo = {'category': (0, None, {}), 'probeRadius': (0, None, {}), 'pointSize': (0, None, {}), 'name': [], 'density': (0, None, {}), 'colorMode': (0, None, {}), 'useLighting': (0, None, {}), 'transparencyBlendMode': (0, None, {}), 'molecule': [], 'smoothLines': (0, None, {}), 'lineWidth': (0, None, {}), 'allComponents': (0, None, {}), 'twoSidedLighting': (0, None, {}), 'customVisibility': [], 'drawMode': (0, None, {}), 'display': (0, None, {}), 'customColors': []}
	vrmlInfo = {'subid': (0, None, {}), 'display': (0, None, {}), 'id': (0, None, {}), 'vrmlString': [], 'name': (0, None, {})}
	colors = {'Ru': ((0.141176, 0.560784, 0.560784), 1, u'default'), 'Re': ((0.14902, 0.490196, 0.670588), 1, u'default'), 'Rf': ((0.8, 0, 0.34902), 1, u'default'), 'Ra': ((0, 0.490196, 0), 1, u'default'), 'Rb': ((0.439216, 0.180392, 0.690196), 1, u'default'), 'Rn': ((0.258824, 0.509804, 0.588235), 1, u'default'), 'Rh': ((0.0392157, 0.490196, 0.54902), 1, u'default'), 'Be': ((0.760784, 1, 0), 1, u'default'), 'Ba': ((0, 0.788235, 0), 1, u'default'), 'Bh': ((0.878431, 0, 0.219608), 1, u'default'), 'Bi': ((0.619608, 0.309804, 0.709804), 1, u'default'), 'Bk': ((0.541176, 0.309804, 0.890196), 1, u'default'), 'Br': ((0.65098, 0.160784, 0.160784), 1, u'default'), 'H': ((1, 1, 1), 1, u'default'), 'P': ((1, 0.501961, 0), 1, u'default'), 'Os': ((0.14902, 0.4, 0.588235), 1, u'default'), 'Ge': ((0.4, 0.560784, 0.560784), 1, u'default'), 'Gd': ((0.270588, 1, 0.780392), 1, u'default'), 'Ga': ((0.760784, 0.560784, 0.560784), 1, u'default'), 'Pr': ((0.85098, 1, 0.780392), 1, u'default'), 'Pt': ((0.815686, 0.815686, 0.878431), 1, u'default'), 'Pu': ((0, 0.419608, 1), 1, u'default'),
'C': ((0.564706, 0.564706, 0.564706), 1, u'default'), 'Pb': ((0.341176, 0.34902, 0.380392), 1, u'default'), 'Pa': ((0, 0.631373, 1), 1, u'default'), 'Pd': ((0, 0.411765, 0.521569), 1, u'default'), 'Cd': ((1, 0.85098, 0.560784), 1, u'default'), 'Po': ((0.670588, 0.360784, 0), 1, u'default'), 'Pm': ((0.639216, 1, 0.780392), 1, u'default'), 'Hs': ((0.901961, 0, 0.180392), 1, u'default'), 'Ho': ((0, 1, 0.611765), 1, u'default'), 'Hf': ((0.301961, 0.760784, 1), 1, u'default'), 'Hg': ((0.721569, 0.721569, 0.815686), 1, u'default'), 'He': ((0.85098, 1, 1), 1, u'default'), 'Md': ((0.701961, 0.0509804, 0.65098), 1, u'default'), 'Mg': ((0.541176, 1, 0), 1, u'default'), 'K': ((0.560784, 0.25098, 0.831373), 1, u'default'), 'Mn': ((0.611765, 0.478431, 0.780392), 1, u'default'), 'O': ((1, 0.0509804, 0.0509804), 1, u'default'), 'Mt': ((0.921569, 0, 0.14902), 1, u'default'), 'S': ((1, 1, 0.188235), 1, u'default'), 'W': ((0.129412, 0.580392, 0.839216), 1, u'default'), 'Zn': ((0.490196, 0.501961, 0.690196), 1, u'default'), 'Eu': ((0.380392, 1, 0.780392), 1, u'default'),
'Zr': ((0.580392, 0.878431, 0.878431), 1, u'default'), 'Er': ((0, 0.901961, 0.458824), 1, u'default'), 'Ni': ((0.313725, 0.815686, 0.313725), 1, u'default'), 'No': ((0.741176, 0.0509804, 0.529412), 1, u'default'), 'Na': ((0.670588, 0.360784, 0.94902), 1, u'default'), 'Nb': ((0.45098, 0.760784, 0.788235), 1, u'default'), 'Nd': ((0.780392, 1, 0.780392), 1, u'default'), 'Ne': ((0.701961, 0.890196, 0.960784), 1, u'default'), 'Np': ((0, 0.501961, 1), 1, u'default'), 'Fr': ((0.258824, 0, 0.4), 1, u'default'), 'Fe': ((0.878431, 0.4, 0.2), 1, u'default'), 'Fm': ((0.701961, 0.121569, 0.729412), 1, u'default'), 'B': ((1, 0.709804, 0.709804), 1, u'default'), 'F': ((0.564706, 0.878431, 0.313725), 1, u'default'), 'Sr': ((0, 1, 0), 1, u'default'), 'N': ((0.188235, 0.313725, 0.972549), 1, u'default'), 'Kr': ((0.360784, 0.721569, 0.819608), 1, u'default'), 'Si': ((0.941176, 0.784314, 0.627451), 1, u'default'), 'Sn': ((0.4, 0.501961, 0.501961), 1, u'default'), 'Sm': ((0.560784, 1, 0.780392), 1, u'default'), 'V': ((0.65098, 0.65098, 0.670588), 1, u'default'), 'Sc': ((0.901961, 0.901961, 0.901961), 1, u'default'),
'Sb': ((0.619608, 0.388235, 0.709804), 1, u'default'), 'Sg': ((0.85098, 0, 0.270588), 1, u'default'), 'Se': ((1, 0.631373, 0), 1, u'default'), 'Co': ((0.941176, 0.564706, 0.627451), 1, u'default'), 'Cm': ((0.470588, 0.360784, 0.890196), 1, u'default'), 'Cl': ((0.121569, 0.941176, 0.121569), 1, u'default'), 'Ca': ((0.239216, 1, 0), 1, u'default'), 'Cf': ((0.631373, 0.211765, 0.831373), 1, u'default'), 'Ce': ((1, 1, 0.780392), 1, u'default'), 'Xe': ((0.258824, 0.619608, 0.690196), 1, u'default'), 'Tm': ((0, 0.831373, 0.321569), 1, u'default'), 'Cs': ((0.341176, 0.0901961, 0.560784), 1, u'default'), 'Cr': ((0.541176, 0.6, 0.780392), 1, u'default'), 'Cu': ((0.784314, 0.501961, 0.2), 1, u'default'), 'La': ((0.439216, 0.831373, 1), 1, u'default'), 'Li': ((0.8, 0.501961, 1), 1, u'default'), 'Tl': ((0.65098, 0.329412, 0.301961), 1, u'default'), 'Lu': ((0, 0.670588, 0.141176), 1, u'default'), 'Lr': ((0.780392, 0, 0.4), 1, u'default'), 'Th': ((0, 0.729412, 1), 1, u'default'), 'Ti': ((0.74902, 0.760784, 0.780392), 1, u'default'), 'tan': ((0.823529, 0.705882, 0.54902), 1, u'default'),
'Te': ((0.831373, 0.478431, 0), 1, u'default'), 'Tb': ((0.188235, 1, 0.780392), 1, u'default'), 'Tc': ((0.231373, 0.619608, 0.619608), 1, u'default'), 'Ta': ((0.301961, 0.65098, 1), 1, u'default'), 'Yb': ((0, 0.74902, 0.219608), 1, u'default'), 'Db': ((0.819608, 0, 0.309804), 1, u'default'), 'Dy': ((0.121569, 1, 0.780392), 1, u'default'), 'At': ((0.458824, 0.309804, 0.270588), 1, u'default'), 'I': ((0.580392, 0, 0.580392), 1, u'default'), 'U': ((0, 0.560784, 1), 1, u'default'), 'Y': ((0.580392, 1, 1), 1, u'default'), 'Ac': ((0.439216, 0.670588, 0.980392), 1, u'default'), 'Ag': ((0.752941, 0.752941, 0.752941), 1, u'default'), 'Ir': ((0.0901961, 0.329412, 0.529412), 1, u'default'), 'Am': ((0.329412, 0.360784, 0.94902), 1, u'default'), 'Al': ((0.74902, 0.65098, 0.65098), 1, u'default'), 'As': ((0.741176, 0.501961, 0.890196), 1, u'default'), 'Ar': ((0.501961, 0.819608, 0.890196), 1, u'default'), 'Au': ((1, 0.819608, 0.137255), 1, u'default'), 'Es': ((0.701961, 0.121569, 0.831373), 1, u'default'), 'In': ((0.65098, 0.458824, 0.45098), 1, u'default'), 'Mo': ((0.329412, 0.709804, 0.709804), 1, u'default')}
	materials = {u'default': ((0.85, 0.85, 0.85), 30)}
	pbInfo = {'category': [u'distance monitor'], 'bondInfo': [{'color': (0, None, {}), 'atoms': [], 'label': (0, None, {}), 'halfbond': (0, None, {}), 'labelColor': (0, None, {}), 'drawMode': (0, None, {}), 'display': (0, None, {})}], 'lineType': (1, 2, {}), 'color': (1, 3, {}), 'optional': {'fixedLabels': (True, False, (1, False, {}))}, 'display': (1, True, {}), 'showStubBonds': (1, False, {}), 'lineWidth': (1, 1, {}), 'stickScale': (1, 1, {}), 'id': [-2]}
	modelAssociations = {}
	colorInfo = (5, (u'H', (1, 1, 1, 1)), {(u'tan', (0.823529, 0.705882, 0.54902, 1)): [0], (u'C', (0.564706, 0.564706, 0.564706, 1)): [2], (u'yellow', (1, 1, 0, 1)): [3], (u'green', (0, 1, 0, 1)): [4]})
	viewerInfo = {'cameraAttrs': {'center': (2.2739999761581, 1.82915, 2.40305), 'fieldOfView': 11.497513718627, 'nearFar': (5.9659819987586, -1.1598819987586), 'ortho': False, 'eyeSeparation': 50.8, 'focal': 2.40305}, 'viewerAttrs': {'silhouetteColor': None, 'clipping': False, 'showSilhouette': False, 'showShadows': False, 'viewSize': 8.5023417431193, 'labelsOnTop': True, 'depthCueRange': (0.5, 1), 'silhouetteWidth': 2, 'singleLayerTransparency': True, 'shadowTextureSize': 2048, 'backgroundImage': [None, 1, 2, 1, 0, 0], 'backgroundGradient': [('Chimera default', [(1, 1, 1, 1), (0, 0, 1, 1)], 1), 1, 0, 0], 'depthCue': True, 'highlight': 0, 'scaleFactor': 1, 'angleDependentTransparency': True, 'backgroundMethod': 0}, 'viewerHL': 4, 'cameraMode': 'mono', 'detail': 1.5, 'viewerFog': None, 'viewerBG': None}

	replyobj.status("Initializing session restore...", blankAfter=0,
		secondary=True)
	from SimpleSession.versions.v62 import expandSummary
	init(dict(enumerate(expandSummary(colorInfo))))
	replyobj.status("Restoring colors...", blankAfter=0,
		secondary=True)
	restoreColors(colors, materials)
	replyobj.status("Restoring molecules...", blankAfter=0,
		secondary=True)
	restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
	replyobj.status("Restoring surfaces...", blankAfter=0,
		secondary=True)
	restoreSurfaces(surfInfo)
	replyobj.status("Restoring VRML models...", blankAfter=0,
		secondary=True)
	restoreVRML(vrmlInfo)
	replyobj.status("Restoring pseudobond groups...", blankAfter=0,
		secondary=True)
	restorePseudoBondGroups(pbInfo)
	replyobj.status("Restoring model associations...", blankAfter=0,
		secondary=True)
	restoreModelAssociations(modelAssociations)
	replyobj.status("Restoring camera...", blankAfter=0,
		secondary=True)
	restoreViewer(viewerInfo)
Example #6
0
def restoreCoreModels():
    from SimpleSession.versions.v62 import init, restoreViewer, \
         restoreMolecules, restoreColors, restoreSurfaces, \
         restoreVRML, restorePseudoBondGroups, restoreModelAssociations
    molInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwFOfYdVCWJhbGxTY2FsZXEDSwFHP9AAAAAAAAB9h1UJcG9pbnRTaXplcQRLAUc/8AAAAAAAAH2HVQVjb2xvcnEFSwFLAH2HVQpyaWJib25UeXBlcQZLAUsAfYdVCnN0aWNrU2NhbGVxB0sBRz/wAAAAAAAAfYdVDGFyb21hdGljTW9kZXEISwFLAX2HVQp2ZHdEZW5zaXR5cQlLAUdAFAAAAAAAAH2HVQZoaWRkZW5xCksBiX2HVQ1hcm9tYXRpY0NvbG9ycQtLAU59h1UPcmliYm9uU21vb3RoaW5ncQxLAUsAfYdVCWF1dG9jaGFpbnENSwGIfYdVCG9wdGlvbmFscQ59cQ8oVQtjaGFyZ2VNb2RlbHEQiIlLAVUKTk9fQ0hBUkdFU3ERfYeHVQhvcGVuZWRBc3ESiIlLAShVOi9ob21lL2pyL3gvYWwvZ3JpZF9vazIvMUFNTC5wZGIwLjEyX2dyaWQvc29sdXRpb25fXzAxLm1vbDJxE1UETW9sMnEUTol0cRV9h4dVCG1vbDJuYW1lcRaIiUsBVRUxQU1MLnBkYjAuMTJfZ3JpZC5wZGJxF32Hh1UIbW9sMnR5cGVxGIiJSwFVB1BST1RFSU5xGX2Hh1ULbW9sMmNvbW1lbnRxGoiJSwFVAH2Hh3VVD2xvd2VyQ2FzZUNoYWluc3EbSwGJfYdVCWxpbmVXaWR0aHEcSwFHP/AAAAAAAAB9h1UPcmVzaWR1ZUxhYmVsUG9zcR1LAUsAfYdVBG5hbWVxHksBWBUAAAAxQU1MLnBkYjAuMTJfZ3JpZC5wZGJ9h1UPYXJvbWF0aWNEaXNwbGF5cR9LAYl9h1UPcmliYm9uU3RpZmZuZXNzcSBLAUc/6ZmZmZmZmn2HVQpwZGJIZWFkZXJzcSFdcSJ9cSNhVQNpZHNxJEsBSwBLAIZ9h1UOc3VyZmFjZU9wYWNpdHlxJUsBR7/wAAAAAAAAfYdVEGFyb21hdGljTGluZVR5cGVxJksBSwJ9h1UUcmliYm9uSGlkZXNNYWluY2hhaW5xJ0sBiH2HVQdkaXNwbGF5cShLAYh9h3Uu'
        ))
    resInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVQZpbnNlcnRxAkspVQEgfYdVC2ZpbGxEaXNwbGF5cQNLKYl9h1UEbmFtZXEESylYAwAAAFZBTH1xBShYAwAAAEdMTl1xBksOYVgDAAAAQVNQXXEHKEsASwZLFmVYAwAAAFNFUl1xCChLB0sZZVgDAAAATFlTXXEJKEsPSxtlWAMAAABBU05dcQpLGmFYAwAAAFBIRV1xCyhLA0sSSxNlWAMAAABBTEFdcQwoSwFLFEsdZVgDAAAAR0xZXXENKEsISxhLHEsgSyRLJWVYAwAAAEFMM11xDksoYVgDAAAASElTXXEPKEsFSwxLDWVYAwAAAElMRV1xEChLHksfZVgDAAAATEVVXXERKEsQSyFlWAMAAABBUkddcRJLBGFYAwAAAEdMVV1xEyhLAksKSxVlWAMAAABUWVJdcRRLCWFYAwAAAE1FVF1xFUsiYXWHVQVjaGFpbnEWSylYAQAAAEF9h1UOcmliYm9uRHJhd01vZGVxF0spSwJ9h1UCc3NxGEspiYmGfXEZiImGTl1xGihLDUsLhnEbSx5LBYZxHGWGc4dVCG1vbGVjdWxlcR1LKUsAfYdVC3JpYmJvbkNvbG9ycR5LKU59h1UFbGFiZWxxH0spWAAAAAB9h1UKbGFiZWxDb2xvcnEgSylLAX2HVQhmaWxsTW9kZXEhSylLAX2HVQVpc0hldHEiSymJfYdVC2xhYmVsT2Zmc2V0cSNLKU59h1UIcG9zaXRpb25xJF1xJUsBSymGcSZhVQ1yaWJib25EaXNwbGF5cSdLKYh9cSiJTl1xKUsoSwGGcSphhnOHVQhvcHRpb25hbHErfVUEc3NJZHEsSylK/////31xLShLAU5dcS5LDUsLhnEvYYZLAk5dcTBLHksFhnExYYZ1h3Uu'
        ))
    atomInfo = cPickle.loads(
        base64.b64decode(
            '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'
        ))
    bondInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVQVjb2xvcnECTTgBTn2HVQVhdG9tc3EDXXEEKF1xBShLKksrZV1xBihLK0ssZV1xByhLLEstZV1xCChLMkszZV1xCShLM0s2ZV1xCihLM0s0ZV1xCyhLNEs1ZV1xDChLLEsyZV1xDShLN0s4ZV1xDihLOEs5ZV1xDyhLOUs6ZV1xEChLNEs3ZV1xEShLQEtBZV1xEihLQUtCZV1xEyhLQUtEZV1xFChLQktDZV1xFShLREtFZV1xFihLRUtHZV1xFyhLRUtGZV1xGChLRktIZV1xGShLR0tJZV1xGihLSEtKZV1xGyhLSUtKZV1xHChLOUtAZV1xHShLS0tMZV1xHihLTEtNZV1xHyhLTEtPZV1xIChLTUtOZV1xIShLT0tQZV1xIihLUEtRZV1xIyhLUUtSZV1xJChLUktTZV1xJShLU0tVZV1xJihLU0tUZV1xJyhLQktLZV1xKChLVktXZV1xKShLV0taZV1xKihLV0tYZV1xKyhLWEtZZV1xLChLWktbZV1xLShLW0tcZV1xLihLW0tdZV1xLyhLXEteZV1xMChLXUtfZV1xMShLXktfZV1xMihLTUtWZV1xMyhLYEthZV1xNChLYUtiZV1xNShLYktjZV1xNihLWEtgZV1xNyhLaEtpZV1xOChLaUtsZV1xOShLaUtqZV1xOihLaktrZV1xOyhLbEttZV1xPChLYktoZV1xPShLbktvZV1xPihLb0twZV1xPyhLcEtxZV1xQChLaktuZV1xQShLcktzZV1xQihLc0t0ZV1xQyhLc0t2ZV1xRChLdEt1ZV1xRShLdkt3ZV1xRihLd0t5ZV1xRyhLd0t4ZV1xSChLeEt6ZV1xSShLeUt7ZV1xSihLekt8ZV1xSyhLe0t8ZV1xTChLfEt9ZV1xTShLcEtyZV1xTihLfkt/ZV1xTyhLf0uCZV1xUChLf0uAZV1xUShLgEuBZV1xUihLgkuDZV1xUyhLg0uEZV1xVChLhEuFZV1xVShLhEuGZV1xVihLdEt+ZV1xVyhLh0uIZV1xWChLiEuLZV1xWShLiEuJZV1xWihLiUuKZV1xWyhLi0uMZV1xXChLi0uNZV1xXShLgEuHZV1xXihLjkuPZV1xXyhLj0uSZV1xYChLj0uQZV1xYShLkEuRZV1xYihLkkuTZV1xYyhLk0uUZV1xZChLk0uVZV1xZShLlEuWZV1xZihLlUuXZV1xZyhLlkuXZV1xaChLiUuOZV1xaShLmEuZZV1xaihLmUucZV1xayhLmUuaZV1xbChLmkubZV1xbShLnEudZV1xbihLnUueZV1xbyhLnUufZV1xcChLnkugZV1xcShLn0uhZV1xcihLoEuhZV1xcyhLkEuYZV1xdChLokujZV1xdShLo0umZV1xdihLo0ukZV1xdyhLpEulZV1xeChLpkunZV1xeShLp0uoZV1xeihLqEupZV1xeyhLqEuqZV1xfChLmkuiZV1xfShLq0usZV1xfihLrEuvZV1xfyhLrEutZV1xgChLrUuuZV1xgShLr0uwZV1xgihLsEuxZV1xgyhLsUuyZV1xhChLskuzZV1xhShLpEurZV1xhihLtEu1ZV1xhyhLtUu4ZV1xiChLtUu2ZV1xiShLtku3ZV1xiihLuEu5ZV1xiyhLuUu6ZV1xjChLuUu7ZV1xjShLrUu0ZV1xjihLvEu9ZV1xjyhLvUvAZV1xkChLvUu+ZV1xkShLvku/ZV1xkihLwEvBZV1xkyhLwEvCZV1xlChLtku8ZV1xlShLw0vEZV1xlihLxEvFZV1xlyhLxEvHZV1xmChLxUvGZV1xmShLx0vIZV1xmihLyEvKZV1xmyhLyEvJZV1xnChLyUvLZV1xnShLykvMZV1xnihLy0vNZV1xnyhLzEvNZV1xoChLvkvDZV1xoShLzkvPZV1xoihLz0vQZV1xoyhLz0vSZV1xpChL0EvRZV1xpShL0kvTZV1xpihL00vVZV1xpyhL00vUZV1xqChL1EvWZV1xqShL1UvXZV1xqihL1kvYZV1xqyhL10vYZV1xrChLxUvOZV1xrShL2UvaZV1xrihL2kvdZV1xryhL2kvbZV1xsChL20vcZV1xsShL0EvZZV1xsihL3kvfZV1xsyhL30viZV1xtChL30vgZV1xtShL4EvhZV1xtihL4kvjZV1xtyhL40vkZV1xuChL5EvlZV1xuShL5EvmZV1xuihL20veZV1xuyhL50voZV1xvChL6EvrZV1xvShL6EvpZV1xvihL6UvqZV1xvyhL60vsZV1xwChL7EvtZV1xwShL7EvuZV1xwihL4EvnZV1xwyhL70vwZV1xxChL8EvzZV1xxShL8EvxZV1xxihL8UvyZV1xxyhL80v0ZV1xyChL80v1ZV1xyShL6UvvZV1xyihL9kv3ZV1xyyhL90v4ZV1xzChL+Ev5ZV1xzShL8Uv2ZV1xzihL+kv7ZV1xzyhL+0v+ZV1x0ChL+0v8ZV1x0ShL/Ev9ZV1x0ihL/kv/ZV1x0yhL+Ev6ZV1x1ChNAAFNAQFlXXHVKE0BAU0EAWVdcdYoTQEBTQIBZV1x1yhNAgFNAwFlXXHYKE0EAU0FAWVdcdkoTQUBTQYBZV1x2ihNBQFNBwFlXXHbKEv8TQABZV1x3ChNCAFNCQFlXXHdKE0JAU0MAWVdcd4oTQkBTQoBZV1x3yhNCgFNCwFlXXHgKE0MAU0NAWVdceEoTQ0BTQ4BZV1x4ihNDgFNDwFlXXHjKE0PAU0QAWVdceQoTQIBTQgBZV1x5ShNEQFNEgFlXXHmKE0SAU0TAWVdcecoTRMBTRQBZV1x6ChNCgFNEQFlXXHpKE0VAU0WAWVdceooTRYBTRkBZV1x6yhNFgFNFwFlXXHsKE0XAU0YAWVdce0oTRMBTRUBZV1x7ihNGgFNGwFlXXHvKE0bAU0cAWVdcfAoTRsBTR4BZV1x8ShNHAFNHQFlXXHyKE0eAU0gAWVdcfMoTR4BTR8BZV1x9ChNHwFNIQFlXXH1KE0XAU0aAWVdcfYoTSIBTSMBZV1x9yhNIwFNJAFlXXH4KE0jAU0mAWVdcfkoTSQBTSUBZV1x+ihNJgFNKAFlXXH7KE0mAU0nAWVdcfwoTScBTSkBZV1x/ShNHAFNIgFlXXH+KE0qAU0rAWVdcf8oTSsBTSwBZV1yAAEAAChNLAFNLQFlXXIBAQAAKE0kAU0qAWVdcgIBAAAoTS4BTS8BZV1yAwEAAChNLwFNMgFlXXIEAQAAKE0vAU0wAWVdcgUBAAAoTTABTTEBZV1yBgEAAChNMgFNMwFlXXIHAQAAKE0zAU00AWVdcggBAAAoTTMBTTUBZV1yCQEAAChNLAFNLgFlXXIKAQAAKE02AU03AWVdcgsBAAAoTTcBTToBZV1yDAEAAChNNwFNOAFlXXINAQAAKE04AU05AWVdcg4BAAAoTToBTTsBZV1yDwEAAChNOwFNPAFlXXIQAQAAKE08AU09AWVdchEBAAAoTTABTTYBZV1yEgEAAChNPgFNPwFlXXITAQAAKE0/AU1CAWVdchQBAAAoTT8BTUABZV1yFQEAAChNQAFNQQFlXXIWAQAAKE1CAU1DAWVdchcBAAAoTUIBTUQBZV1yGAEAAChNOAFNPgFlXXIZAQAAKE1FAU1GAWVdchoBAAAoTUYBTUcBZV1yGwEAAChNRwFNSAFlXXIcAQAAKE1AAU1FAWVdch0BAAAoTUkBTUoBZV1yHgEAAChNSgFNSwFlXXIfAQAAKE1LAU1MAWVdciABAAAoTUcBTUkBZV1yIQEAAChNTQFNTgFlXXIiAQAAKE1OAU1RAWVdciMBAAAoTU4BTU8BZV1yJAEAAChNTwFNUAFlXXIlAQAAKE1RAU1SAWVdciYBAAAoTVEBTVMBZV1yJwEAAChNSwFNTQFlXXIoAQAAKE1UAU1VAWVdcikBAAAoTVUBTVgBZV1yKgEAAChNVQFNVgFlXXIrAQAAKE1WAU1XAWVdciwBAAAoTVYBTVsBZV1yLQEAAChNWAFNWQFlXXIuAQAAKE1YAU1aAWVdci8BAAAoTU8BTVQBZV1yMAEAAChLZEthZV1yMQEAAChLZUtkZV1yMgEAAChLZktlZV1yMwEAAChLZ0tlZV1yNAEAAChLO0s4ZV1yNQEAAChLPEs7ZV1yNgEAAChLPUs8ZV1yNwEAAChLPks9ZV1yOAEAAChLP0s9ZV1yOQEAAChLLksrZV1yOgEAAChLL0suZV1yOwEAAChLMEsvZV1yPAEAAChLMUsvZWVVBWxhYmVscj0BAABNOAFYAAAAAH2HVQhoYWxmYm9uZHI+AQAATTgBiH2HVQZyYWRpdXNyPwEAAE04AUc/yZmZoAAAAH2HVQtsYWJlbE9mZnNldHJAAQAATTgBTn2HVQhkcmF3TW9kZXJBAQAATTgBSwF9h1UIb3B0aW9uYWxyQgEAAH1yQwEAAFUIbW9sMnR5cGVyRAEAAIiJTTgBVQExfXJFAQAAKFUCYXJyRgEAAF1yRwEAAChLEUsSSxNLFEsVSxZLKEspSypLK0ssS0FLQktDS0RLRUtGS15LX0tgS2FLYktpS2pLa0tsS21LlUuWS5dLmEuZS5pLoUuiS6NLpEulS6ZlVQEyXXJIAQAAKEsCSwZLCksPSxtLH0sgSyFLJkswSzVLOks/S0xLT0tQS1VLXEtnS3JLdUt7S4RLjEuTS59Lq0uwS7NLtEu5S7tLvEvBS8dLzEvSS9RL2kviS+dL7Ev0S/tNAAFNCAFNEAFNFgFNGgFNHwFNJgFNJwFNLQFNLgFNMgFNMwFNNgFNNwFlVQJhbXJJAQAAXXJKAQAAKEsHSwtLF0siSy1LMUs3SztLSEtRS1hLY0tuS3ZLd0uAS4hLj0ubS6dLrEu1S71LxEvIS85L1UvWS99L40voS/BL+Ev8TQQBTQwBTRMBTRcBTRsBTSIBTSoBZXWHh3NVB2Rpc3BsYXlySwEAAE04AUsCfYd1Lg=='
        ))
    crdInfo = cPickle.loads(
        base64.b64decode(
            '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'
        ))
    surfInfo = {
        'category': (0, None, {}),
        'probeRadius': (0, None, {}),
        'pointSize': (0, None, {}),
        'name': [],
        'density': (0, None, {}),
        'colorMode': (0, None, {}),
        'useLighting': (0, None, {}),
        'transparencyBlendMode': (0, None, {}),
        'molecule': [],
        'smoothLines': (0, None, {}),
        'lineWidth': (0, None, {}),
        'allComponents': (0, None, {}),
        'twoSidedLighting': (0, None, {}),
        'customVisibility': [],
        'drawMode': (0, None, {}),
        'display': (0, None, {}),
        'customColors': []
    }
    vrmlInfo = {
        'subid': (0, None, {}),
        'display': (0, None, {}),
        'id': (0, None, {}),
        'vrmlString': [],
        'name': (0, None, {})
    }
    colors = {
        'Ru': ((0.141176, 0.560784, 0.560784), 1, u'default'),
        'Re': ((0.14902, 0.490196, 0.670588), 1, u'default'),
        'Rf': ((0.8, 0, 0.34902), 1, u'default'),
        'Ra': ((0, 0.490196, 0), 1, u'default'),
        'Rb': ((0.439216, 0.180392, 0.690196), 1, u'default'),
        'Rn': ((0.258824, 0.509804, 0.588235), 1, u'default'),
        'Rh': ((0.0392157, 0.490196, 0.54902), 1, u'default'),
        'Be': ((0.760784, 1, 0), 1, u'default'),
        'Ba': ((0, 0.788235, 0), 1, u'default'),
        'Bh': ((0.878431, 0, 0.219608), 1, u'default'),
        'Bi': ((0.619608, 0.309804, 0.709804), 1, u'default'),
        'Bk': ((0.541176, 0.309804, 0.890196), 1, u'default'),
        'chartreuse': ((0.498039, 1, 0), 1, u'default'),
        'Br': ((0.65098, 0.160784, 0.160784), 1, u'default'),
        'orange': ((1, 0.498039, 0), 1, u'default'),
        'H': ((1, 1, 1), 1, u'default'),
        'P': ((1, 0.501961, 0), 1, u'default'),
        'Os': ((0.14902, 0.4, 0.588235), 1, u'default'),
        'goldenrod': ((0.854902, 0.647059, 0.12549), 1, u'default'),
        'Ge': ((0.4, 0.560784, 0.560784), 1, u'default'),
        'Gd': ((0.270588, 1, 0.780392), 1, u'default'),
        'Ga': ((0.760784, 0.560784, 0.560784), 1, u'default'),
        'Pr': ((0.85098, 1, 0.780392), 1, u'default'),
        'Pt': ((0.815686, 0.815686, 0.878431), 1, u'default'),
        'Pu': ((0, 0.419608, 1), 1, u'default'),
        'C': ((0.564706, 0.564706, 0.564706), 1, u'default'),
        'Pb': ((0.341176, 0.34902, 0.380392), 1, u'default'),
        'forest green': ((0.133333, 0.545098, 0.133333), 1, u'default'),
        'Pa': ((0, 0.631373, 1), 1, u'default'),
        'Pd': ((0, 0.411765, 0.521569), 1, u'default'),
        'Xe': ((0.258824, 0.619608, 0.690196), 1, u'default'),
        'Po': ((0.670588, 0.360784, 0), 1, u'default'),
        'Pm': ((0.639216, 1, 0.780392), 1, u'default'),
        'Hs': ((0.901961, 0, 0.180392), 1, u'default'),
        'Ho': ((0, 1, 0.611765), 1, u'default'),
        'Hf': ((0.301961, 0.760784, 1), 1, u'default'),
        'Hg': ((0.721569, 0.721569, 0.815686), 1, u'default'),
        'He': ((0.85098, 1, 1), 1, u'default'),
        'Md': ((0.701961, 0.0509804, 0.65098), 1, u'default'),
        'Mg': ((0.541176, 1, 0), 1, u'default'),
        'K': ((0.560784, 0.25098, 0.831373), 1, u'default'),
        'Mn': ((0.611765, 0.478431, 0.780392), 1, u'default'),
        'O': ((1, 0.0509804, 0.0509804), 1, u'default'),
        'Mt': ((0.921569, 0, 0.14902), 1, u'default'),
        'S': ((1, 1, 0.188235), 1, u'default'),
        'W': ((0.129412, 0.580392, 0.839216), 1, u'default'),
        'sky blue': ((0.529412, 0.807843, 0.921569), 1, u'default'),
        'Zn': ((0.490196, 0.501961, 0.690196), 1, u'default'),
        'plum': ((0.866667, 0.627451, 0.866667), 1, u'default'),
        'hot pink': ((1, 0.411765, 0.705882), 1, u'default'),
        'dark khaki': ((0.741176, 0.717647, 0.419608), 1, u'default'),
        'Eu': ((0.380392, 1, 0.780392), 1, u'default'),
        'Zr': ((0.580392, 0.878431, 0.878431), 1, u'default'),
        'Er': ((0, 0.901961, 0.458824), 1, u'default'),
        'Ni': ((0.313725, 0.815686, 0.313725), 1, u'default'),
        'No': ((0.741176, 0.0509804, 0.529412), 1, u'default'),
        'Na': ((0.670588, 0.360784, 0.94902), 1, u'default'),
        'Nb': ((0.45098, 0.760784, 0.788235), 1, u'default'),
        'Nd': ((0.780392, 1, 0.780392), 1, u'default'),
        'Ne': ((0.701961, 0.890196, 0.960784), 1, u'default'),
        'Np': ((0, 0.501961, 1), 1, u'default'),
        'Fr': ((0.258824, 0, 0.4), 1, u'default'),
        'Fe': ((0.878431, 0.4, 0.2), 1, u'default'),
        'Fm': ((0.701961, 0.121569, 0.729412), 1, u'default'),
        'olive drab': ((0.419608, 0.556863, 0.137255), 1, u'default'),
        'B': ((1, 0.709804, 0.709804), 1, u'default'),
        'F': ((0.564706, 0.878431, 0.313725), 1, u'default'),
        'Sr': ((0, 1, 0), 1, u'default'),
        'N': ((0.188235, 0.313725, 0.972549), 1, u'default'),
        'Kr': ((0.360784, 0.721569, 0.819608), 1, u'default'),
        'Si': ((0.941176, 0.784314, 0.627451), 1, u'default'),
        'Sn': ((0.4, 0.501961, 0.501961), 1, u'default'),
        'Sm': ((0.560784, 1, 0.780392), 1, u'default'),
        'V': ((0.65098, 0.65098, 0.670588), 1, u'default'),
        'Sc': ((0.901961, 0.901961, 0.901961), 1, u'default'),
        'Sb': ((0.619608, 0.388235, 0.709804), 1, u'default'),
        'Li': ((0.8, 0.501961, 1), 1, u'default'),
        'Sg': ((0.85098, 0, 0.270588), 1, u'default'),
        'Se': ((1, 0.631373, 0), 1, u'default'),
        'Co': ((0.941176, 0.564706, 0.627451), 1, u'default'),
        'Cm': ((0.470588, 0.360784, 0.890196), 1, u'default'),
        'Cl': ((0.121569, 0.941176, 0.121569), 1, u'default'),
        'Ca': ((0.239216, 1, 0), 1, u'default'),
        'Cf': ((0.631373, 0.211765, 0.831373), 1, u'default'),
        'Ce': ((1, 1, 0.780392), 1, u'default'),
        'Cd': ((1, 0.85098, 0.560784), 1, u'default'),
        'Tm': ((0, 0.831373, 0.321569), 1, u'default'),
        'light green': ((0.564706, 0.933333, 0.564706), 1, u'default'),
        'Cs': ((0.341176, 0.0901961, 0.560784), 1, u'default'),
        'Cr': ((0.541176, 0.6, 0.780392), 1, u'default'),
        'Cu': ((0.784314, 0.501961, 0.2), 1, u'default'),
        'La': ((0.439216, 0.831373, 1), 1, u'default'),
        'light sea green': ((0.12549, 0.698039, 0.666667), 1, u'default'),
        'Tl': ((0.65098, 0.329412, 0.301961), 1, u'default'),
        'Lu': ((0, 0.670588, 0.141176), 1, u'default'),
        'Lr': ((0.780392, 0, 0.4), 1, u'default'),
        'Th': ((0, 0.729412, 1), 1, u'default'),
        'Ti': ((0.74902, 0.760784, 0.780392), 1, u'default'),
        'light blue': ((0.678431, 0.847059, 0.901961), 1, u'default'),
        'Te': ((0.831373, 0.478431, 0), 1, u'default'),
        'Tb': ((0.188235, 1, 0.780392), 1, u'default'),
        'tan': ((0.823529, 0.705882, 0.54902), 1, u'default'),
        'Ta': ((0.301961, 0.65098, 1), 1, u'default'),
        'Yb': ((0, 0.74902, 0.219608), 1, u'default'),
        'Db': ((0.819608, 0, 0.309804), 1, u'default'),
        'dark cyan': ((0, 0.545098, 0.545098), 1, u'default'),
        'Tc': ((0.231373, 0.619608, 0.619608), 1, u'default'),
        'Dy': ((0.121569, 1, 0.780392), 1, u'default'),
        'At': ((0.458824, 0.309804, 0.270588), 1, u'default'),
        'I': ((0.580392, 0, 0.580392), 1, u'default'),
        'medium purple': ((0.576471, 0.439216, 0.858824), 1, u'default'),
        'U': ((0, 0.560784, 1), 1, u'default'),
        'Y': ((0.580392, 1, 1), 1, u'default'),
        'Ac': ((0.439216, 0.670588, 0.980392), 1, u'default'),
        'Ag': ((0.752941, 0.752941, 0.752941), 1, u'default'),
        'Ir': ((0.0901961, 0.329412, 0.529412), 1, u'default'),
        'Am': ((0.329412, 0.360784, 0.94902), 1, u'default'),
        'Al': ((0.74902, 0.65098, 0.65098), 1, u'default'),
        'As': ((0.741176, 0.501961, 0.890196), 1, u'default'),
        'Ar': ((0.501961, 0.819608, 0.890196), 1, u'default'),
        'Au': ((1, 0.819608, 0.137255), 1, u'default'),
        'Es': ((0.701961, 0.121569, 0.831373), 1, u'default'),
        'In': ((0.65098, 0.458824, 0.45098), 1, u'default'),
        'Mo': ((0.329412, 0.709804, 0.709804), 1, u'default'),
        'light gray': ((0.827451, 0.827451, 0.827451), 1, u'default')
    }
    materials = {u'default': ((0.85, 0.85, 0.85), 30)}
    pbInfo = {
        'category': [u'distance monitor'],
        'bondInfo': [{
            'color': (3, None, {}),
            'atoms': [[348, 62], [348, 49], [348, 103]],
            'label': (3, u'3.390\xc5', {
                u'1.802\xc5': [0],
                u'3.903\xc5': [2]
            }),
            'halfbond': (3, False, {}),
            'labelColor': (3, None, {}),
            'drawMode': (3, 0, {}),
            'display': (3, 2, {})
        }],
        'lineType': (1, 2, {}),
        'color': (1, 6, {}),
        'optional': {
            'fixedLabels': (True, False, (1, 0, {}))
        },
        'display': (1, True, {}),
        'showStubBonds': (1, False, {}),
        'lineWidth': (1, 1, {}),
        'stickScale': (1, 1, {}),
        'id': [-2]
    }
    modelAssociations = {}
    colorInfo = (9, (u'S', (1, 1, 0.188235, 1)), {
        (u'N', (0.188235, 0.313725, 0.972549, 1)): [2],
        (u'magenta', (1, 0, 1, 1)): [5],
        (u'green', (0, 1, 0, 1)): [8],
        (u'O', (1, 0.0509804, 0.0509804, 1)): [3],
        (u'black', (0, 0, 0, 1)): [1],
        (u'tan', (0.823529, 0.705882, 0.54902, 1)): [0],
        (u'white', (1, 1, 1, 1)): [7],
        (u'', (0, 0, 1, 1)): [6]
    })
    viewerInfo = {
        'cameraAttrs': {
            'center': (30.221, -0.6859999833107, -1.0805365558724),
            'fieldOfView': 25.670082649233,
            'nearFar': (19.562815847775, -21.723888959519),
            'ortho': False,
            'eyeSeparation': 50.8,
            'focal': 1.3185000143051
        },
        'viewerAttrs': {
            'silhouetteColor':
            None,
            'clipping':
            False,
            'showSilhouette':
            True,
            'showShadows':
            False,
            'viewSize':
            20.96859089809,
            'labelsOnTop':
            True,
            'depthCueRange': (0.5, 1),
            'silhouetteWidth':
            2,
            'singleLayerTransparency':
            True,
            'shadowTextureSize':
            2048,
            'backgroundImage': [None, 1, 2, 1, 0, 0],
            'backgroundGradient': [('Chimera default', [(1, 1, 1, 1),
                                                        (0, 0, 1, 1)], 1), 1,
                                   0, 0],
            'depthCue':
            False,
            'highlight':
            0,
            'scaleFactor':
            1.0743855093392,
            'angleDependentTransparency':
            True,
            'backgroundMethod':
            0
        },
        'viewerHL': 8,
        'cameraMode': 'mono',
        'detail': 5,
        'viewerFog': None,
        'viewerBG': 7
    }

    replyobj.status("Initializing session restore...",
                    blankAfter=0,
                    secondary=True)
    from SimpleSession.versions.v62 import expandSummary
    init(dict(enumerate(expandSummary(colorInfo))))
    replyobj.status("Restoring colors...", blankAfter=0, secondary=True)
    restoreColors(colors, materials)
    replyobj.status("Restoring molecules...", blankAfter=0, secondary=True)
    restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
    replyobj.status("Restoring surfaces...", blankAfter=0, secondary=True)
    restoreSurfaces(surfInfo)
    replyobj.status("Restoring VRML models...", blankAfter=0, secondary=True)
    restoreVRML(vrmlInfo)
    replyobj.status("Restoring pseudobond groups...",
                    blankAfter=0,
                    secondary=True)
    restorePseudoBondGroups(pbInfo)
    replyobj.status("Restoring model associations...",
                    blankAfter=0,
                    secondary=True)
    restoreModelAssociations(modelAssociations)
    replyobj.status("Restoring camera...", blankAfter=0, secondary=True)
    restoreViewer(viewerInfo)
Example #7
0
def restoreCoreModels():
    from SimpleSession.versions.v62 import init, restoreViewer, \
         restoreMolecules, restoreColors, restoreSurfaces, \
         restoreVRML, restorePseudoBondGroups, restoreModelAssociations
    molInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwFOfYdVCWJhbGxTY2FsZXEDSwFHP9AAAAAAAAB9h1UJcG9pbnRTaXplcQRLAUc/8AAAAAAAAH2HVQVjb2xvcnEFSwFLAH2HVQpyaWJib25UeXBlcQZLAUsAfYdVCnN0aWNrU2NhbGVxB0sBRz/wAAAAAAAAfYdVDGFyb21hdGljTW9kZXEISwFLAX2HVQp2ZHdEZW5zaXR5cQlLAUdAFAAAAAAAAH2HVQZoaWRkZW5xCksBiX2HVQ1hcm9tYXRpY0NvbG9ycQtLAU59h1UPcmliYm9uU21vb3RoaW5ncQxLAUsAfYdVCWF1dG9jaGFpbnENSwGIfYdVCG9wdGlvbmFscQ59cQ9VCG9wZW5lZEFzcRCIiUsBKFUbZ3Vhbm9zaW5lX21vbm9waG9zcGhhdGUuc2RmcRFOTksBdHESfYeHc1UPbG93ZXJDYXNlQ2hhaW5zcRNLAYl9h1UJbGluZVdpZHRocRRLAUc/8AAAAAAAAH2HVQ9yZXNpZHVlTGFiZWxQb3NxFUsBSwB9h1UEbmFtZXEWSwFYBAAAADY4MDR9h1UPYXJvbWF0aWNEaXNwbGF5cRdLAYl9h1UPcmliYm9uU3RpZmZuZXNzcRhLAUc/6ZmZmZmZmn2HVQpwZGJIZWFkZXJzcRldcRp9cRthVQNpZHNxHEsBSwBLAIZ9h1UOc3VyZmFjZU9wYWNpdHlxHUsBR7/wAAAAAAAAfYdVEGFyb21hdGljTGluZVR5cGVxHksBSwJ9h1UUcmliYm9uSGlkZXNNYWluY2hhaW5xH0sBiH2HVQdkaXNwbGF5cSBLAYh9h3Uu'
        ))
    resInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVQZpbnNlcnRxAksBVQEgfYdVC2ZpbGxEaXNwbGF5cQNLAYl9h1UEbmFtZXEESwFYAwAAAFVOS32HVQVjaGFpbnEFSwFYAQAAACB9h1UOcmliYm9uRHJhd01vZGVxBksBSwJ9h1UCc3NxB0sBiYmGfYdVCG1vbGVjdWxlcQhLAUsAfYdVC3JpYmJvbkNvbG9ycQlLAU59h1UFbGFiZWxxCksBWAAAAAB9h1UKbGFiZWxDb2xvcnELSwFOfYdVCGZpbGxNb2RlcQxLAUsBfYdVBWlzSGV0cQ1LAYl9h1ULbGFiZWxPZmZzZXRxDksBTn2HVQhwb3NpdGlvbnEPXXEQSwFLAYZxEWFVDXJpYmJvbkRpc3BsYXlxEksBiX2HVQhvcHRpb25hbHETfVUEc3NJZHEUSwFK/////32HdS4='
        ))
    atomInfo = cPickle.loads(
        base64.b64decode(
            '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'
        ))
    bondInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVQVjb2xvcnECSyhOfYdVBWF0b21zcQNdcQQoXXEFKEsCSwZlXXEGKEsCSwdlXXEHKEsCSwhlXXEIKEsCSwplXXEJKEsDSxFlXXEKKEsDSxNlXXELKEsESxBlXXEMKEsESyBlXXENKEsFSxJlXXEOKEsFSyFlXXEPKEsGSxRlXXEQKEsHSyZlXXERKEsISydlXXESKEsJSxhlXXETKEsLSxFlXXEUKEsLSxVlXXEVKEsLSxZlXXEWKEsMSxVlXXEXKEsMSxllXXEYKEsMSyNlXXEZKEsNSxZlXXEaKEsNSxdlXXEbKEsOSxhlXXEcKEsOSxllXXEdKEsPSxllXXEeKEsPSyRlXXEfKEsPSyVlXXEgKEsQSxFlXXEhKEsQSxJlXXEiKEsQSxplXXEjKEsRSxtlXXEkKEsSSxNlXXElKEsSSxxlXXEmKEsTSxRlXXEnKEsTSx1lXXEoKEsUSx5lXXEpKEsUSx9lXXEqKEsVSxdlXXErKEsWSyJlXXEsKEsXSxhlZVUFbGFiZWxxLUsoWAAAAAB9h1UIaGFsZmJvbmRxLksoiH2HVQZyYWRpdXNxL0soRz/JmZmgAAAAfYdVC2xhYmVsT2Zmc2V0cTBLKE59h1UIZHJhd01vZGVxMUsoSwF9h1UIb3B0aW9uYWxxMn1VB2Rpc3BsYXlxM0soSwJ9h3Uu'
        ))
    crdInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQFLAH1xAihLAF1xAyhHQBMkWhysCDFHP/ehYeT3Zf5HP76XjU/fO2SHcQRHP/NML4N7SiNHv+gk3S8an75HP/CNuLrHEMuHcQVHv+OOIZZSvTxHwAZHrhR64UhHv/TztkWhysGHcQZHP/U2ETQE6ktHwA3JhfBvaURHP9ZhfBvaURqHcQdHQA4MFUyYXwdHP9Z7sv7FbV1HP+Uxj8UEgW+HcQhHQA/qfvnbItFHQAFRGc4HX3BHv/G+De0ojOeHcQlHQBeyR0U47zVHP+MpXp4bCJpHv+PZf2K2rn2HcQpHwBDh5Pdl/YtHQAfruYx+KCRHv9tdzGPxQSCHcQtHQBUu5jH4oJBHQANnoPkJa7pHP/KhysCDEm+HcQxHv+svGp++dslHP6C+De0ojOdHP8ML4N7SiM6HcQ1HwAjkwvg3tKJHv+qj1wo9cKRHP9figkC3gDSHcQ5Hv/ZJUYKpkwxHQAFRTjvNNahHv9MrAgxJul6HcQ9HwBNYKpkwvg5HP+nWOIZZSvVHP6oCdSVGCqaHcRBHwBVWhysCDEpHv/cYk3S8an9HP+FT987ZFoeHcRFHP9jWoWHk92ZHv/4gW8AaNuNHv+wpx3mmtQuHcRJHv5Pdl/YrauhHv/JVmz0HyEtHP9i+De0ojOeHcRNHP/qNT987ZFpHwASaa1Cw8nxHv9uKCQLeANKHcRRHQAJbVz6rNnpHv/h41P3ztkZHP97CJoCdSVKHcRVHQAnSvTw2ETRHv+Ks2eg+QltHv9DGPxQSBbyHcRZHwAGaa1Cw8nxHP75jH4oJAt5HP8OYx+KCQLiHcRdHv9m6XjU/fO5HP/TiGWUr08NHv8DOcDr7fpGHcRhHwAQtDlYEGJNHP/aowVTJhfBHv76rNnoPkJeHcRlHwA9GCqZML4NHP/1Jul41P31Hv8eqzZ6D5CaHcRpHwBHF1jiGWUtHv9tNahYeT3ZHP9PIS13MY/GHcRtHP+NK9PDYRNBHv/Luy/sVtXRHv/sjOcDr7fqHcRxHv+JML4N7SiNHv/yc4HX2/SJHP/FTjvNNahaHcR1HQAJT987ZFodHwAc/sVtXPqtHv/QojOcDr7iHcR5HQAaRaHKwIMVHv/+yLQ5WBBlHP/VEZzgdfb+HcR9HQAV9itq59VpHv6KIznA6+39Hv/CjBVMmF8KHcSBHQBAuscQyylhHv/JWBBiTdLxHv+ckdFOO802HcSFHv+hOpKjBVMpHwAtxqfvnbItHv+MgW8AaNuOHcSJHQAFHeaa1Cw9HwBB2K2rn1WdHP+UfigkC3gGHcSNHP+TLKV6eGwlHP/i9PDYRNAVHv8pHRTjvNNeHcSRHwAcD5CWu5jJHv/zJ7sv7FbVHP+JRGc4HX3CHcSVHwBQVMmF8G9pHwAMZZSvTw2FHP+elEZzgdfeHcSZHwBlXCj1wo9dHv/R1jiGWUr1HP+C7mMfigkGHcSdHQBGQfIS13MZHQAd9v0h/y5JHv/j9If8uSOmHcShHQBrl41P3ztlHP/DQfIS13MZHv+7MzMzMzM2HcSllVQZhY3RpdmVxKksAdXMu'
        ))
    surfInfo = {
        'category': (0, None, {}),
        'probeRadius': (0, None, {}),
        'pointSize': (0, None, {}),
        'name': [],
        'density': (0, None, {}),
        'colorMode': (0, None, {}),
        'useLighting': (0, None, {}),
        'transparencyBlendMode': (0, None, {}),
        'molecule': [],
        'smoothLines': (0, None, {}),
        'lineWidth': (0, None, {}),
        'allComponents': (0, None, {}),
        'twoSidedLighting': (0, None, {}),
        'customVisibility': [],
        'drawMode': (0, None, {}),
        'display': (0, None, {}),
        'customColors': []
    }
    vrmlInfo = {
        'subid': (0, None, {}),
        'display': (0, None, {}),
        'id': (0, None, {}),
        'vrmlString': [],
        'name': (0, None, {})
    }
    colors = {
        'Ru': ((0.141176, 0.560784, 0.560784), 1, u'default'),
        'Re': ((0.14902, 0.490196, 0.670588), 1, u'default'),
        'Rf': ((0.8, 0, 0.34902), 1, u'default'),
        'Ra': ((0, 0.490196, 0), 1, u'default'),
        'Rb': ((0.439216, 0.180392, 0.690196), 1, u'default'),
        'Rn': ((0.258824, 0.509804, 0.588235), 1, u'default'),
        'Rh': ((0.0392157, 0.490196, 0.54902), 1, u'default'),
        'Be': ((0.760784, 1, 0), 1, u'default'),
        'Ba': ((0, 0.788235, 0), 1, u'default'),
        'Bh': ((0.878431, 0, 0.219608), 1, u'default'),
        'Bi': ((0.619608, 0.309804, 0.709804), 1, u'default'),
        'Bk': ((0.541176, 0.309804, 0.890196), 1, u'default'),
        'Br': ((0.65098, 0.160784, 0.160784), 1, u'default'),
        'H': ((1, 1, 1), 1, u'default'),
        'P': ((1, 0.501961, 0), 1, u'default'),
        'Os': ((0.14902, 0.4, 0.588235), 1, u'default'),
        'Ge': ((0.4, 0.560784, 0.560784), 1, u'default'),
        'Gd': ((0.270588, 1, 0.780392), 1, u'default'),
        'Ga': ((0.760784, 0.560784, 0.560784), 1, u'default'),
        'Pr': ((0.85098, 1, 0.780392), 1, u'default'),
        'Pt': ((0.815686, 0.815686, 0.878431), 1, u'default'),
        'Pu': ((0, 0.419608, 1), 1, u'default'),
        'C': ((0.564706, 0.564706, 0.564706), 1, u'default'),
        'Pb': ((0.341176, 0.34902, 0.380392), 1, u'default'),
        'Pa': ((0, 0.631373, 1), 1, u'default'),
        'Pd': ((0, 0.411765, 0.521569), 1, u'default'),
        'Cd': ((1, 0.85098, 0.560784), 1, u'default'),
        'Po': ((0.670588, 0.360784, 0), 1, u'default'),
        'Pm': ((0.639216, 1, 0.780392), 1, u'default'),
        'Hs': ((0.901961, 0, 0.180392), 1, u'default'),
        'Ho': ((0, 1, 0.611765), 1, u'default'),
        'Hf': ((0.301961, 0.760784, 1), 1, u'default'),
        'Hg': ((0.721569, 0.721569, 0.815686), 1, u'default'),
        'He': ((0.85098, 1, 1), 1, u'default'),
        'Md': ((0.701961, 0.0509804, 0.65098), 1, u'default'),
        'Mg': ((0.541176, 1, 0), 1, u'default'),
        'K': ((0.560784, 0.25098, 0.831373), 1, u'default'),
        'Mn': ((0.611765, 0.478431, 0.780392), 1, u'default'),
        'O': ((1, 0.0509804, 0.0509804), 1, u'default'),
        'Mt': ((0.921569, 0, 0.14902), 1, u'default'),
        'S': ((1, 1, 0.188235), 1, u'default'),
        'W': ((0.129412, 0.580392, 0.839216), 1, u'default'),
        'Zn': ((0.490196, 0.501961, 0.690196), 1, u'default'),
        'Eu': ((0.380392, 1, 0.780392), 1, u'default'),
        'Zr': ((0.580392, 0.878431, 0.878431), 1, u'default'),
        'Er': ((0, 0.901961, 0.458824), 1, u'default'),
        'Ni': ((0.313725, 0.815686, 0.313725), 1, u'default'),
        'No': ((0.741176, 0.0509804, 0.529412), 1, u'default'),
        'Na': ((0.670588, 0.360784, 0.94902), 1, u'default'),
        'Nb': ((0.45098, 0.760784, 0.788235), 1, u'default'),
        'Nd': ((0.780392, 1, 0.780392), 1, u'default'),
        'Ne': ((0.701961, 0.890196, 0.960784), 1, u'default'),
        'Np': ((0, 0.501961, 1), 1, u'default'),
        'Fr': ((0.258824, 0, 0.4), 1, u'default'),
        'Fe': ((0.878431, 0.4, 0.2), 1, u'default'),
        'Fm': ((0.701961, 0.121569, 0.729412), 1, u'default'),
        'B': ((1, 0.709804, 0.709804), 1, u'default'),
        'F': ((0.564706, 0.878431, 0.313725), 1, u'default'),
        'Sr': ((0, 1, 0), 1, u'default'),
        'N': ((0.188235, 0.313725, 0.972549), 1, u'default'),
        'Kr': ((0.360784, 0.721569, 0.819608), 1, u'default'),
        'Si': ((0.941176, 0.784314, 0.627451), 1, u'default'),
        'Sn': ((0.4, 0.501961, 0.501961), 1, u'default'),
        'Sm': ((0.560784, 1, 0.780392), 1, u'default'),
        'V': ((0.65098, 0.65098, 0.670588), 1, u'default'),
        'Sc': ((0.901961, 0.901961, 0.901961), 1, u'default'),
        'Sb': ((0.619608, 0.388235, 0.709804), 1, u'default'),
        'Sg': ((0.85098, 0, 0.270588), 1, u'default'),
        'Se': ((1, 0.631373, 0), 1, u'default'),
        'Co': ((0.941176, 0.564706, 0.627451), 1, u'default'),
        'Cm': ((0.470588, 0.360784, 0.890196), 1, u'default'),
        'Cl': ((0.121569, 0.941176, 0.121569), 1, u'default'),
        'Ca': ((0.239216, 1, 0), 1, u'default'),
        'Cf': ((0.631373, 0.211765, 0.831373), 1, u'default'),
        'Ce': ((1, 1, 0.780392), 1, u'default'),
        'Xe': ((0.258824, 0.619608, 0.690196), 1, u'default'),
        'Tm': ((0, 0.831373, 0.321569), 1, u'default'),
        'Cs': ((0.341176, 0.0901961, 0.560784), 1, u'default'),
        'Cr': ((0.541176, 0.6, 0.780392), 1, u'default'),
        'Cu': ((0.784314, 0.501961, 0.2), 1, u'default'),
        'La': ((0.439216, 0.831373, 1), 1, u'default'),
        'Li': ((0.8, 0.501961, 1), 1, u'default'),
        'Tl': ((0.65098, 0.329412, 0.301961), 1, u'default'),
        'Lu': ((0, 0.670588, 0.141176), 1, u'default'),
        'Lr': ((0.780392, 0, 0.4), 1, u'default'),
        'Th': ((0, 0.729412, 1), 1, u'default'),
        'Ti': ((0.74902, 0.760784, 0.780392), 1, u'default'),
        'tan': ((0.823529, 0.705882, 0.54902), 1, u'default'),
        'Te': ((0.831373, 0.478431, 0), 1, u'default'),
        'Tb': ((0.188235, 1, 0.780392), 1, u'default'),
        'Tc': ((0.231373, 0.619608, 0.619608), 1, u'default'),
        'Ta': ((0.301961, 0.65098, 1), 1, u'default'),
        'Yb': ((0, 0.74902, 0.219608), 1, u'default'),
        'Db': ((0.819608, 0, 0.309804), 1, u'default'),
        'Dy': ((0.121569, 1, 0.780392), 1, u'default'),
        'At': ((0.458824, 0.309804, 0.270588), 1, u'default'),
        'I': ((0.580392, 0, 0.580392), 1, u'default'),
        'U': ((0, 0.560784, 1), 1, u'default'),
        'Y': ((0.580392, 1, 1), 1, u'default'),
        'Ac': ((0.439216, 0.670588, 0.980392), 1, u'default'),
        'Ag': ((0.752941, 0.752941, 0.752941), 1, u'default'),
        'Ir': ((0.0901961, 0.329412, 0.529412), 1, u'default'),
        'Am': ((0.329412, 0.360784, 0.94902), 1, u'default'),
        'Al': ((0.74902, 0.65098, 0.65098), 1, u'default'),
        'As': ((0.741176, 0.501961, 0.890196), 1, u'default'),
        'Ar': ((0.501961, 0.819608, 0.890196), 1, u'default'),
        'Au': ((1, 0.819608, 0.137255), 1, u'default'),
        'Es': ((0.701961, 0.121569, 0.831373), 1, u'default'),
        'In': ((0.65098, 0.458824, 0.45098), 1, u'default'),
        'Mo': ((0.329412, 0.709804, 0.709804), 1, u'default')
    }
    materials = {u'default': ((0.85, 0.85, 0.85), 30)}
    pbInfo = {
        'category': [u'distance monitor'],
        'bondInfo': [{
            'color': (0, None, {}),
            'atoms': [],
            'label': (0, None, {}),
            'halfbond': (0, None, {}),
            'labelColor': (0, None, {}),
            'drawMode': (0, None, {}),
            'display': (0, None, {})
        }],
        'lineType': (1, 2, {}),
        'color': (1, 5, {}),
        'optional': {
            'fixedLabels': (True, False, (1, False, {}))
        },
        'display': (1, True, {}),
        'showStubBonds': (1, False, {}),
        'lineWidth': (1, 1, {}),
        'stickScale': (1, 1, {}),
        'id': [-2]
    }
    modelAssociations = {}
    colorInfo = (8, (u'H', (1, 1, 1, 1)), {
        (u'green', (0, 1, 0, 1)): [7],
        (u'N', (0.188235, 0.313725, 0.972549, 1)): [3],
        (u'P', (1, 0.501961, 0, 1)): [1],
        (u'O', (1, 0.0509804, 0.0509804, 1)): [2],
        (u'tan', (0.823529, 0.705882, 0.54902, 1)): [0],
        (u'yellow', (1, 1, 0, 1)): [5],
        (u'white', (1, 1, 1, 1)): [6]
    })
    viewerInfo = {
        'cameraAttrs': {
            'center': (0.19475, -0.37664999046326, -0.0725),
            'fieldOfView': 13.43030742423,
            'nearFar': (7.7478989223783, -7.8928989223783),
            'ortho': False,
            'eyeSeparation': 50.8,
            'focal': -0.0725
        },
        'viewerAttrs': {
            'silhouetteColor':
            None,
            'clipping':
            False,
            'showSilhouette':
            False,
            'showShadows':
            False,
            'viewSize':
            9.62975,
            'labelsOnTop':
            True,
            'depthCueRange': (0.5, 1),
            'silhouetteWidth':
            2,
            'singleLayerTransparency':
            True,
            'shadowTextureSize':
            2048,
            'backgroundImage': [None, 1, 2, 1, 0, 0],
            'backgroundGradient': [('Chimera default', [(1, 1, 1, 1),
                                                        (0, 0, 1, 1)], 1), 1,
                                   0, 0],
            'depthCue':
            True,
            'highlight':
            0,
            'scaleFactor':
            1,
            'angleDependentTransparency':
            True,
            'backgroundMethod':
            0
        },
        'viewerHL': 7,
        'cameraMode': 'mono',
        'detail': 1.5,
        'viewerFog': None,
        'viewerBG': 6
    }

    replyobj.status("Initializing session restore...",
                    blankAfter=0,
                    secondary=True)
    from SimpleSession.versions.v62 import expandSummary
    init(dict(enumerate(expandSummary(colorInfo))))
    replyobj.status("Restoring colors...", blankAfter=0, secondary=True)
    restoreColors(colors, materials)
    replyobj.status("Restoring molecules...", blankAfter=0, secondary=True)
    restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
    replyobj.status("Restoring surfaces...", blankAfter=0, secondary=True)
    restoreSurfaces(surfInfo)
    replyobj.status("Restoring VRML models...", blankAfter=0, secondary=True)
    restoreVRML(vrmlInfo)
    replyobj.status("Restoring pseudobond groups...",
                    blankAfter=0,
                    secondary=True)
    restorePseudoBondGroups(pbInfo)
    replyobj.status("Restoring model associations...",
                    blankAfter=0,
                    secondary=True)
    restoreModelAssociations(modelAssociations)
    replyobj.status("Restoring camera...", blankAfter=0, secondary=True)
    restoreViewer(viewerInfo)
Example #8
0
def restoreCoreModels():
    from SimpleSession.versions.v62 import init, restoreViewer, \
         restoreMolecules, restoreColors, restoreSurfaces, \
         restoreVRML, restorePseudoBondGroups, restoreModelAssociations
    molInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVRFyaWJib25JbnNpZGVDb2xvcnECSwhOfYdVCWJhbGxTY2FsZXEDSwhHP8mZmaAAAAB9h1UJcG9pbnRTaXplcQRLCEc/8AAAAAAAAH2HVQVjb2xvcnEFSwhLAH1xBihLAV1xB0sBYUsCXXEISwJhSwNdcQlLA2FLBF1xCksEYUsFXXELSwVhSwZdcQxLBmFLB11xDUsHYXWHVQpyaWJib25UeXBlcQ5LCEsAfYdVCnN0aWNrU2NhbGVxD0sIRz/gAAAAAAAAfYdVDGFyb21hdGljTW9kZXEQSwhLAX2HVQp2ZHdEZW5zaXR5cRFLCEdAFAAAAAAAAH2HVQZoaWRkZW5xEksIiX2HVQ1hcm9tYXRpY0NvbG9ycRNLCE59h1UPcmliYm9uU21vb3RoaW5ncRRLCEsAfYdVCWF1dG9jaGFpbnEVSwiIfYdVCG9wdGlvbmFscRZ9cRdVCG9wZW5lZEFzcRiIiUsIKFUOMjU4X0ZHRzIyNC54eXpxGU5OSwF0cRp9cRsoKFUPbi0yNTJfRkdHNTUueHl6cRxOTksBdHEdXXEeSwNhKFUabi0yNThfRkdHMjI0LTI1Ml9GR0c1NS54eXpxH05OSwF0cSBdcSFLB2EoVRp0LTI1OF9GR0cyMjQtMjUyX0ZHRzU1Lnh5enEiTk5LAXRxI11xJEsGYShVGnMtMjU4X0ZHRzIyNC0yNTJfRkdHNTUueHl6cSVOTksBdHEmXXEnSwVhKFUPdC0yNTJfRkdHNTUueHl6cShOTksBdHEpXXEqSwJhKFUNMjUyX0ZHRzU1Lnh5enErTk5LAXRxLF1xLUsAYShVD3MtMjUyX0ZHRzU1Lnh5enEuTk5LAXRxL11xMEsBYXWHh3NVD2xvd2VyQ2FzZUNoYWluc3ExSwiJfYdVCWxpbmVXaWR0aHEySwhHP/AAAAAAAAB9h1UPcmVzaWR1ZUxhYmVsUG9zcTNLCEsAfYdVBG5hbWVxNEsIWAkAAAAyNTJfRkdHNTV9cTUoWAAAAABdcTYoSwBLBGVYGAAAAG4tMjU4X0ZHRzIyNC1tYXRjaGVkLnh5el1xN0sHYVgYAAAAdC0yNThfRkdHMjI0LW1hdGNoZWQueHl6XXE4SwZhWBgAAABzLTI1OF9GR0cyMjQtbWF0Y2hlZC54eXpdcTlLBWF1h1UPYXJvbWF0aWNEaXNwbGF5cTpLCIl9h1UPcmliYm9uU3RpZmZuZXNzcTtLCEc/6ZmZmZmZmn2HVQpwZGJIZWFkZXJzcTxdcT0ofXE+fXE/fXFAfXFBfXFCfXFDfXFEfXFFZVUDaWRzcUZLCEsASwCGfXFHKEsHSwCGXXFISwdhSwNLAIZdcUlLA2FLBksAhl1xSksGYUsCSwCGXXFLSwJhSwVLAIZdcUxLBWFLAUsAhl1xTUsBYUsESwCGXXFOSwRhdYdVDnN1cmZhY2VPcGFjaXR5cU9LCEe/8AAAAAAAAH2HVRBhcm9tYXRpY0xpbmVUeXBlcVBLCEsCfYdVFHJpYmJvbkhpZGVzTWFpbmNoYWlucVFLCIh9h1UHZGlzcGxheXFSSwiIfYd1Lg=='
        ))
    resInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVQZpbnNlcnRxAksIVQEgfYdVC2ZpbGxEaXNwbGF5cQNLCIl9h1UEbmFtZXEESwhYAwAAAFVOS32HVQVjaGFpbnEFSwhYAQAAACB9h1UOcmliYm9uRHJhd01vZGVxBksISwJ9h1UCc3NxB0sIiYmGfYdVCG1vbGVjdWxlcQhLCEsAfXEJKEsBTl1xCksBSwGGcQthhksCTl1xDEsCSwGGcQ1hhksDTl1xDksDSwGGcQ9hhksETl1xEEsESwGGcRFhhksFTl1xEksFSwGGcRNhhksGTl1xFEsGSwGGcRVhhksHTl1xFksHSwGGcRdhhnWHVQtyaWJib25Db2xvcnEYSwhOfYdVBWxhYmVscRlLCFgAAAAAfYdVCmxhYmVsQ29sb3JxGksITn2HVQhmaWxsTW9kZXEbSwhLAX2HVQVpc0hldHEcSwiJfYdVC2xhYmVsT2Zmc2V0cR1LCE59h1UIcG9zaXRpb25xHl1xHyhLAUsBhnEgSwFLAYZxIUsBSwGGcSJLAUsBhnEjSwFLAYZxJEsBSwGGcSVLAUsBhnEmSwFLAYZxJ2VVDXJpYmJvbkRpc3BsYXlxKEsIiX2HVQhvcHRpb25hbHEpfVUEc3NJZHEqSwhK/////32HdS4='
        ))
    atomInfo = cPickle.loads(
        base64.b64decode(
            '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'
        ))
    bondInfo = cPickle.loads(
        base64.b64decode(
            'gAJ9cQEoVQVjb2xvcnECTSgBTn2HVQVhdG9tc3EDXXEEKF1xBShLEEsRZV1xBihLEUsSZV1xByhLEUsUZV1xCChLEksTZV1xCShLFEsVZV1xCihLFEsWZV1xCyhLFEsXZV1xDChLF0sYZV1xDShLF0sZZV1xDihLGUsaZV1xDyhLGUsbZV1xEChLG0scZV1xEShLG0sdZV1xEihLG0seZV1xEyhLHksfZV1xFChLHksgZV1xFShLIEshZV1xFihLIEsiZV1xFyhLIksjZV1xGChLIksmZV1xGShLIksnZV1xGihLI0skZV1xGyhLI0slZV1xHChLJ0soZV1xHShLJ0spZV1xHihLJ0sqZV1xHyhLKksrZV1xIChLKkszZV1xIShLK0ssZV1xIihLK0stZV1xIyhLLUsuZV1xJChLLUsvZV1xJShLL0swZV1xJihLL0sxZV1xJyhLMUsyZV1xKChLMUszZV1xKShLM0s0ZV1xKihLNUtBZV1xKyhLNUtNZV1xLChLNktNZV1xLShLN0tVZV1xLihLOEtUZV1xLyhLOUs8ZV1xMChLOUtDZV1xMShLOUtPZV1xMihLOktIZV1xMyhLOktOZV1xNChLOktVZV1xNShLO0tGZV1xNihLO0tUZV1xNyhLO0tZZV1xOChLPUtOZV1xOShLPktQZV1xOihLP0tPZV1xOyhLQEtRZV1xPChLQktOZV1xPShLREtSZV1xPihLRUtRZV1xPyhLR0tYZV1xQChLSUtXZV1xQShLSktZZV1xQihLS0tZZV1xQyhLTEtWZV1xRChLTUtOZV1xRShLT0tRZV1xRihLT0tUZV1xRyhLUEtSZV1xSChLUEtTZV1xSShLUUtTZV1xSihLUktWZV1xSyhLU0tXZV1xTChLVUtZZV1xTShLVktYZV1xTihLV0tYZV1xTyhLWktmZV1xUChLWkt8ZV1xUShLW0t8ZV1xUihLXEt+ZV1xUyhLXUt9ZV1xVChLXkttZV1xVShLXkt4ZV1xVihLXkt+ZV1xVyhLX0trZV1xWChLX0t7ZV1xWShLX0t9ZV1xWihLYEthZV1xWyhLYEtoZV1xXChLYEt5ZV1xXShLYkt4ZV1xXihLY0tyZV1xXyhLZEt5ZV1xYChLZUt6ZV1xYShLZ0t4ZV1xYihLaUtzZV1xYyhLakt6ZV1xZChLbEt3ZV1xZShLbkt2ZV1xZihLb0t7ZV1xZyhLcEt7ZV1xaChLcUt1ZV1xaShLcktzZV1xaihLckt0ZV1xayhLc0t1ZV1xbChLdEt2ZV1xbShLdEt6ZV1xbihLdUt3ZV1xbyhLdkt3ZV1xcChLeEt8ZV1xcShLeUt6ZV1xcihLeUt9ZV1xcyhLe0t+ZV1xdChLf0uGZV1xdShLf0uaZV1xdihLgEuaZV1xdyhLgUucZV1xeChLgkubZV1xeShLg0uHZV1xeihLg0uIZV1xeyhLg0uZZV1xfChLhEuKZV1xfShLhEuXZV1xfihLhEucZV1xfyhLhUuJZV1xgChLhUuYZV1xgShLhUubZV1xgihLi0uXZV1xgyhLjEueZV1xhChLjUuZZV1xhShLjkudZV1xhihLj0uXZV1xhyhLkEufZV1xiChLkUudZV1xiShLkkuiZV1xiihLk0uhZV1xiyhLlEuYZV1xjChLlUuYZV1xjShLlkugZV1xjihLl0uaZV1xjyhLmEucZV1xkChLmUubZV1xkShLmUudZV1xkihLnUujZV1xkyhLnkufZV1xlChLnkujZV1xlShLn0ugZV1xlihLoEuiZV1xlyhLoUuiZV1xmChLoUujZV1xmShLpEulZV1xmihLpUumZV1xmyhLpUuoZV1xnChLpkunZV1xnShLqEupZV1xnihLqEuqZV1xnyhLqEurZV1xoChLq0usZV1xoShLq0utZV1xoihLrUuuZV1xoyhLrUuvZV1xpChLr0uwZV1xpShLr0uxZV1xpihLr0uyZV1xpyhLskuzZV1xqChLsku0ZV1xqShLtEu1ZV1xqihLtEu2ZV1xqyhLtku3ZV1xrChLtku6ZV1xrShLtku7ZV1xrihLt0u4ZV1xryhLt0u5ZV1xsChLu0u8ZV1xsShLu0u9ZV1xsihLu0u+ZV1xsyhLvku/ZV1xtChLvkvHZV1xtShLv0vAZV1xtihLv0vBZV1xtyhLwUvCZV1xuChLwUvDZV1xuShLw0vEZV1xuihLw0vFZV1xuyhLxUvGZV1xvChLxUvHZV1xvShLx0vIZV1xvihLyUvVZV1xvyhLyUvhZV1xwChLykvhZV1xwShLy0vpZV1xwihLzEvoZV1xwyhLzUvQZV1xxChLzUvTZV1xxShLzUvjZV1xxihLzkvcZV1xxyhLzkviZV1xyChLzkvpZV1xyShLz0vaZV1xyihLz0voZV1xyyhLz0vtZV1xzChL0UviZV1xzShL0kvkZV1xzihL1EvlZV1xzyhL1kviZV1x0ChL10vjZV1x0ShL2EvmZV1x0ihL2UvlZV1x0yhL20vsZV1x1ChL3UvrZV1x1ShL3kvtZV1x1ihL30vtZV1x1yhL4EvqZV1x2ChL4UviZV1x2ShL40vlZV1x2ihL40voZV1x2yhL5EvmZV1x3ChL5EvnZV1x3ShL5UvnZV1x3ihL5kvqZV1x3yhL50vrZV1x4ChL6UvtZV1x4ShL6kvsZV1x4ihL60vsZV1x4yhL7kv6ZV1x5ChL7k0QAWVdceUoS+9NEAFlXXHmKEvwTRIBZV1x5yhL8U0RAWVdcegoS/JNAQFlXXHpKEvyTQwBZV1x6ihL8k0SAWVdcesoS/NL/2VdcewoS/NNDwFlXXHtKEvzTREBZV1x7ihL9Ev1ZV1x7yhL9Ev4ZV1x8ChL9E0NAWVdcfEoS/ZNDAFlXXHyKEv3TQYBZV1x8yhL+U0OAWVdcfQoS/tNDAFlXXH1KEv8TQ0BZV1x9ihL/U0HAWVdcfcoS/5NDgFlXXH4KE0AAU0LAWVdcfkoTQIBTQoBZV1x+ihNAwFNDwFlXXH7KE0EAU0PAWVdcfwoTQUBTQkBZV1x/ShNBgFNBwFlXXH+KE0GAU0IAWVdcf8oTQcBTQkBZV1yAAEAAChNCAFNCgFlXXIBAQAAKE0IAU0OAWVdcgIBAAAoTQkBTQsBZV1yAwEAAChNCgFNCwFlXXIEAQAAKE0MAU0QAWVdcgUBAAAoTQ0BTQ4BZV1yBgEAAChNDQFNEQFlXXIHAQAAKE0PAU0SAWVdcggBAAAoTRMBTRoBZV1yCQEAAChNEwFNLgFlXXIKAQAAKE0UAU0uAWVdcgsBAAAoTRUBTTABZV1yDAEAAChNFgFNLwFlXXINAQAAKE0XAU0bAWVdcg4BAAAoTRcBTRwBZV1yDwEAAChNFwFNLQFlXXIQAQAAKE0YAU0eAWVdchEBAAAoTRgBTSsBZV1yEgEAAChNGAFNMAFlXXITAQAAKE0ZAU0dAWVdchQBAAAoTRkBTSwBZV1yFQEAAChNGQFNLwFlXXIWAQAAKE0fAU0rAWVdchcBAAAoTSABTTIBZV1yGAEAAChNIQFNLQFlXXIZAQAAKE0iAU0xAWVdchoBAAAoTSMBTSsBZV1yGwEAAChNJAFNMwFlXXIcAQAAKE0lAU0xAWVdch0BAAAoTSYBTTYBZV1yHgEAAChNJwFNNQFlXXIfAQAAKE0oAU0sAWVdciABAAAoTSkBTSwBZV1yIQEAAChNKgFNNAFlXXIiAQAAKE0rAU0uAWVdciMBAAAoTSwBTTABZV1yJAEAAChNLQFNLwFlXXIlAQAAKE0tAU0xAWVdciYBAAAoTTEBTTcBZV1yJwEAAChNMgFNMwFlXXIoAQAAKE0yAU03AWVdcikBAAAoTTMBTTQBZV1yKgEAAChNNAFNNgFlXXIrAQAAKE01AU02AWVdciwBAAAoTTUBTTcBZWVVBWxhYmVsci0BAABNKAFYAAAAAH2HVQhoYWxmYm9uZHIuAQAATSgBiH2HVQZyYWRpdXNyLwEAAE0oAUc/yZmZoAAAAH2HVQtsYWJlbE9mZnNldHIwAQAATSgBTn2HVQhkcmF3TW9kZXIxAQAATSgBSwF9h1UIb3B0aW9uYWxyMgEAAH1VB2Rpc3BsYXlyMwEAAE0oAUsCfYd1Lg=='
        ))
    crdInfo = cPickle.loads(
        base64.b64decode(
            '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'
        ))
    surfInfo = {
        'category': (0, None, {}),
        'probeRadius': (0, None, {}),
        'pointSize': (0, None, {}),
        'name': [],
        'density': (0, None, {}),
        'colorMode': (0, None, {}),
        'useLighting': (0, None, {}),
        'transparencyBlendMode': (0, None, {}),
        'molecule': [],
        'smoothLines': (0, None, {}),
        'lineWidth': (0, None, {}),
        'allComponents': (0, None, {}),
        'twoSidedLighting': (0, None, {}),
        'customVisibility': [],
        'drawMode': (0, None, {}),
        'display': (0, None, {}),
        'customColors': []
    }
    vrmlInfo = {
        'subid': (0, None, {}),
        'display': (0, None, {}),
        'id': (0, None, {}),
        'vrmlString': [],
        'name': (0, None, {})
    }
    colors = {
        'deep pink': ((1, 0.0784314, 0.576471), 1, u'default'),
        'gold': ((1, 0.843137, 0), 1, u'default'),
        'plum': ((0.866667, 0.627451, 0.866667), 1, u'default'),
        'salmon': ((0.980392, 0.501961, 0.447059), 1, u'default'),
        'light green': ((0.564706, 0.933333, 0.564706), 1, u'default'),
        'sky blue': ((0.529412, 0.807843, 0.921569), 1, u'default'),
        'tan': ((0.823529, 0.705882, 0.54902), 1, u'default'),
        'light gray': ((0.827451, 0.827451, 0.827451), 1, u'default')
    }
    materials = {u'default': ((0.85, 0.85, 0.85), 30)}
    pbInfo = {
        'category': [u'distance monitor'],
        'bondInfo': [{
            'color': (0, None, {}),
            'atoms': [],
            'label': (0, None, {}),
            'halfbond': (0, None, {}),
            'labelColor': (0, None, {}),
            'drawMode': (0, None, {}),
            'display': (0, None, {})
        }],
        'lineType': (1, 1, {}),
        'color': (1, 9, {}),
        'optional': {
            'fixedLabels': (True, False, (1, False, {}))
        },
        'display': (1, True, {}),
        'showStubBonds': (1, False, {}),
        'lineWidth': (1, 1, {}),
        'stickScale': (1, 1, {}),
        'id': [-2]
    }
    modelAssociations = {}
    colorInfo = (12, (u'deep pink', (1, 0.0784314, 0.576471, 1)), {
        (u'green', (0, 1, 0, 1)): [11],
        (u'light green', (0.564706, 0.933333, 0.564706, 1)): [3],
        (u'magenta', (1, 0, 1, 1)): [8],
        (u'', (1, 1, 1, 1)): [10],
        (u'gold', (1, 0.843137, 0, 1)): [7],
        (u'sky blue', (0.529412, 0.807843, 0.921569, 1)): [1],
        (u'tan', (0.823529, 0.705882, 0.54902, 1)): [0],
        (u'plum', (0.866667, 0.627451, 0.866667, 1)): [2],
        (u'light gray', (0.827451, 0.827451, 0.827451, 1)): [5],
        (u'salmon', (0.980392, 0.501961, 0.447059, 1)): [4],
        (u'gray', (0.745, 0.745, 0.745, 1)): [9]
    })
    viewerInfo = {
        'cameraAttrs': {
            'center': (0.19649996900558, 0.50299999046326, 0.13299999046326),
            'fieldOfView': 25,
            'nearFar': (7.1585000071526, -6.892500026226),
            'ortho': False,
            'eyeSeparation': 50.8,
            'focal': 0.13299999046326
        },
        'viewerAttrs': {
            'viewSize': 7.0255000166893,
            'highlight': 0,
            'clipping': False,
            'scaleFactor': 1
        },
        'viewerHL': 11,
        'cameraMode': 'mono',
        'detail': 1,
        'viewerFog': None,
        'viewerBG': 10
    }

    replyobj.status("Initializing session restore...",
                    blankAfter=0,
                    secondary=True)
    from SimpleSession.versions.v62 import expandSummary
    init(dict(enumerate(expandSummary(colorInfo))))
    replyobj.status("Restoring colors...", blankAfter=0, secondary=True)
    restoreColors(colors, materials)
    replyobj.status("Restoring molecules...", blankAfter=0, secondary=True)
    restoreMolecules(molInfo, resInfo, atomInfo, bondInfo, crdInfo)
    replyobj.status("Restoring surfaces...", blankAfter=0, secondary=True)
    restoreSurfaces(surfInfo)
    replyobj.status("Restoring VRML models...", blankAfter=0, secondary=True)
    restoreVRML(vrmlInfo)
    replyobj.status("Restoring pseudobond groups...",
                    blankAfter=0,
                    secondary=True)
    restorePseudoBondGroups(pbInfo)
    replyobj.status("Restoring model associations...",
                    blankAfter=0,
                    secondary=True)
    restoreModelAssociations(modelAssociations)
    replyobj.status("Restoring camera...", blankAfter=0, secondary=True)
    restoreViewer(viewerInfo)