Context: One of the claimants of the English throne opposing William the Conqueror, Edgar Atheling, eventually fled to Scotland. King Malcolm III of Scotland married Edgar's sister Margaret, and came into opposition to William who had already disputed Scotland's southern borders. William invaded Scotland in 1072, riding as far as Abernethy where he met up with his fleet of ships. Malcolm submitted, paid homage to William and surrendered his son Duncan as a hostage, beginning a series of arguments as to whether the Scottish Crown owed allegiance to the King of England.

Question: Who was Margaret's brother?


Context: Between Bingen and Bonn, the Middle Rhine flows through the Rhine Gorge, a formation which was created by erosion. The rate of erosion equaled the uplift in the region, such that the river was left at about its original level while the surrounding lands raised. The gorge is quite deep and is the stretch of the river which is known for its many castles and vineyards. It is a UNESCO World Heritage Site (2002) and known as "the Romantic Rhine", with more than 40 castles and fortresses from the Middle Ages and many quaint and lovely country villages.

Question: What flows after Bingen and Bonn?


Question: coronavirus worldometer


Question: scdhec


Question: n95 mask coronavirus


Question: parcelamento fgts mp 927


Question: coronavirus colombia


Question: covid update


Question: confinement france


Question: covid alabama


Question: ffcra leave


Question: is there a covid 19 vaccine


( He ( ( charged ( ( Jon , ) ( knife high ) ) ) . ) )

(ROOT (S (NP (PRP He)) (VP (VBD charged) (NP (NP (NNP Jon)) (, ,) (ADJP (RB knife) (JJ high)))) (. .)))

( Jon ( ( was ( ( charging him ) ( with ( a knife ) ) ) ) . ) )

(ROOT (S (NP (NNP Jon)) (VP (VBD was) (VP (VBG charging) (NP (PRP him)) (PP (IN with) (NP (DT a) (NN knife))))) (. .)))


He asserted that the area was blessed with the highest concentration of exactly those natural features that, when combined, create the most pleasing and relaxing vistas possible landscapes composed of  lakes representing the source of life in water, trees offering the promise of shelter, smooth areas providing easy walking and a curved shoreline or path in the distance to stimulate curiosity.

( He ( ( asserted ( that ( ( the area ) ( was ( blessed ( with ( ( the ( highest concentration ) ) ( of ( ( exactly ( those ( natural features ) ) ) ( ( ( ( that , ) ( when combined ) ) , ) ( create ( ( ( ( ( ( the ( ( most ( ( pleasing and ) relaxing ) ) ( vistas ( possible landscapes ) ) ) ) ( composed ( of ( lakes ( ( representing ( ( the source ) ( of life ) ) ) ( in ( ( water , ) ( trees ( offering ( ( the promise ) ( of shelter ) ) ) ) ) ) ) ) ) ) ) , ) ( ( smooth areas ) ( providing ( easy walking ) ) ) ) and ) ( ( a ( curved ( ( shoreline or ) path ) ) ) ( in ( the ( distance ( to ( stimulate curiosity ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) . ) )

(ROOT (S (NP (PRP He)) (VP (VBD asserted) (SBAR (IN that) (S (NP (DT the) (NN area)) (VP (VBD was) (VP (VBN blessed) (PP (IN with) (NP (NP (DT the) (JJS highest) (NN concentration)) (PP (IN of) (NP (NP (RB exactly) (DT those) (JJ natural) (NNS features)) (SBAR (WHNP (WHNP (DT that)) (, ,) (NP (WRB when) (JJ combined)) (, ,)) (S (VP (VBP create) (NP (NP (DT the) (ADJP (RBS most) (JJ pleasing) (CC and) (JJ relaxing)) (JJ vistas) (JJ possible) (NNS landscapes)) (VP (VBN composed) (PP (IN of) (NP (NP (NNS lakes)) (VP (VBG representing) (NP (NP (DT the) (NN source)) (PP (IN of) (NP (NN life)))) (PP (IN in) (NP (NP (NN water)) (, ,) (NP (NP (NNS trees)) (VP (VBG offering) (NP (NP (DT the) (NN promise)) (PP (IN of) (NP (NN shelter)))))))))))) (, ,) (NP (NP (JJ smooth) (NNS areas)) (VP (VBG providing) (NP (JJ easy) (NN walking)))) (CC and) (NP (NP (DT a) (JJ curved) (NN shoreline) (CC or) (NN path)) (PP (IN in) (NP (DT the) (NN distance) (S (VP (TO to) (VP (VB stimulate) (NP (NN curiosity))))))))))))))))))))) (. .)))

He implied that this area was a beautiful place.

( He ( ( implied ( that ( ( this area ) ( was ( a ( beautiful place ) ) ) ) ) ) . ) )

(ROOT (S (NP (PRP He)) (VP (VBD implied) (SBAR (IN that) (S (NP (DT this) (NN area)) (VP (VBD was) (NP (DT a) (JJ beautiful) (NN place)))))) (. .)))


However, the other young lady was most kind.

( However ( , ( ( the ( other ( young lady ) ) ) ( ( was ( most kind ) ) . ) ) ) )

(ROOT (S (ADVP (RB However)) (, ,) (NP (DT the) (JJ other) (JJ young) (NN lady)) (VP (VBD was) (ADJP (RBS most) (JJ kind))) (. .)))

She wanted to make up for my disappointment at the turn of events.

( She ( ( wanted ( to ( ( ( make up ) ( for ( my disappointment ) ) ) ( at ( ( the turn ) ( of events ) ) ) ) ) ) . ) )

(ROOT (S (NP (PRP She)) (VP (VBD wanted) (S (VP (TO to) (VP (VB make) (PRT (RP up)) (PP (IN for) (NP (PRP$ my) (NN disappointment))) (PP (IN at) (NP (NP (DT the) (NN turn)) (PP (IN of) (NP (NNS events))))))))) (. .)))


I am not aware of any studies comparing the number of words an average person could expect to hear spoken in a typical day 500 years ago vs. the number that can be heard now, but the increase surely is vast.

( ( ( ( ( I ( ( am not ) ( aware ( of ( ( any studies ) ( comparing ( ( the number ) ( of ( words ( ( an ( average person ) ) ( could ( expect ( to ( hear ( spoken ( in ( ( a ( typical day ) ) ( ( ( 500 years ) ago ) ( vs. ( ( the number ) ( that ( can ( be ( heard now ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) , ) but ) ( ( the increase ) ( surely ( is vast ) ) ) ) . )

(ROOT (S (S (NP (PRP I)) (VP (VBP am) (RB not) (ADJP (JJ aware) (PP (IN of) (NP (NP (DT any) (NNS studies)) (VP (VBG comparing) (NP (NP (DT the) (NN number)) (PP (IN of) (NP (NP (NNS words)) (SBAR (S (NP (DT an) (JJ average) (NN person)) (VP (MD could) (VP (VB expect) (S (VP (TO to) (VP (VB hear) (VP (VBN spoken) (PP (IN in) (NP (NP (DT a) (JJ typical) (NN day)) (PP (ADVP (NP (CD 500) (NNS years)) (RB ago)) (IN vs.) (NP (NP (DT the) (NN number)) (SBAR (WHNP (WDT that)) (S (VP (MD can) (VP (VB be) (VP (VBN heard) (ADVP (RB now)))))))))))))))))))))))))))) (, ,) (CC but) (S (NP (DT the) (NN increase)) (ADVP (RB surely)) (VP (VBZ is) (ADJP (JJ vast)))) (. .)))

According to the research I've seen, the average person hundreds of years ago heard many more words over the course of the day compared to a modern human being.

( ( According ( to ( ( the research ) ( I ( 've seen ) ) ) ) ) ( , ( ( ( the ( average ( person hundreds ) ) ) ( of years ) ) ( ago ( ( ( ( heard ( many ( more words ) ) ) ( over ( ( the course ) ( of ( the day ) ) ) ) ) ( compared ( to ( a ( modern ( human being ) ) ) ) ) ) . ) ) ) ) )

(ROOT (S (PP (VBG According) (PP (TO to) (NP (NP (DT the) (NN research)) (SBAR (S (NP (PRP I)) (VP (VBP 've) (VP (VBN seen)))))))) (, ,) (NP (NP (DT the) (JJ average) (NN person) (NNS hundreds)) (PP (IN of) (NP (NNS years)))) (ADVP (IN ago)) (VP (VBD heard) (NP (JJ many) (JJR more) (NNS words)) (PP (IN over) (NP (NP (DT the) (NN course)) (PP (IN of) (NP (DT the) (NN day))))) (PP (VBN compared) (PP (TO to) (NP (DT a) (JJ modern) (JJ human) (NN being))))) (. .)))


Sultan Abdul Hamid II (1876 1909) tried to apply absolute rule to an empire staggering under a crushing foreign debt, with a fragmented population of hostile people, and succeeded only in creating ill will and dissatisfaction amongst the younger generation of educated Turks.

( ( ( Sultan ( Abdul ( Hamid II ) ) ) ( -LRB- ( ( 1876 1909 ) -RRB- ) ) ) ( ( ( ( ( tried ( to ( ( apply ( absolute rule ) ) ( to ( ( an empire ) ( ( ( staggering ( under ( a ( crushing ( foreign debt ) ) ) ) ) , ) ( with ( ( a ( fragmented population ) ) ( of ( hostile people ) ) ) ) ) ) ) ) ) ) , ) and ) ( succeeded ( only ( in ( ( creating ( ill ( ( will and ) dissatisfaction ) ) ) ( amongst ( ( the ( younger generation ) ) ( of ( educated Turks ) ) ) ) ) ) ) ) ) . ) )

(ROOT (S (NP (NP (NNP Sultan) (NNP Abdul) (NNP Hamid) (NNP II)) (PRN (-LRB- -LRB-) (NP (QP (CD 1876) (CD 1909))) (-RRB- -RRB-))) (VP (VP (VBD tried) (S (VP (TO to) (VP (VB apply) (NP (JJ absolute) (NN rule)) (PP (TO to) (NP (NP (DT an) (NN empire)) (VP (VBG staggering) (PP (IN under) (NP (DT a) (VBG crushing) (JJ foreign) (NN debt))) (, ,) (PP (IN with) (NP (NP (DT a) (ADJP (JJ fragmented)) (NN population)) (PP (IN of) (NP (JJ hostile) (NNS people)))))))))))) (, ,) (CC and) (VP (VBD succeeded) (PP (RB only) (IN in) (S (VP (VBG creating) (NP (JJ ill) (NN will) (CC and) (NN dissatisfaction)) (PP (IN amongst) (NP (NP (DT the) (JJR younger) (NN generation)) (PP (IN of) (NP (NNP educated) (NNPS Turks)))))))))) (. .)))

Sultan Abdul Hamid II was universally admired by educated young Turks.

( ( Sultan ( Abdul ( Hamid II ) ) ) ( ( ( was universally ) ( admired ( by ( ( educated young ) Turks ) ) ) ) . ) )

(ROOT (S (NP (NNP Sultan) (NNP Abdul) (NNP Hamid) (NNP II)) (VP (VBD was) (ADVP (RB universally)) (VP (VBN admired) (PP (IN by) (NP (ADJP (VBN educated) (JJ young)) (NNPS Turks))))) (. .)))


At 79 m (260 ft) wide and 36 m (118 ft) high, it was built by the Ptolemies during a total reconstruction of the temple in the years 237 105 b.c.

( ( ( At ( ( ( ( ( 79 ( m ( -LRB- ( ( 260 ft ) -RRB- ) ) ) ) wide ) and ) ( 36 ( m ( -LRB- ( ( 118 ft ) -RRB- ) ) ) ) ) high ) ) ( , ( it ( was ( ( built ( by ( the Ptolemies ) ) ) ( during ( ( a ( total reconstruction ) ) ( of ( ( the temple ) ( in ( the years ) ) ) ) ) ) ) ) ) ) ) ( 237 ( 105 b.c. ) ) )

(ROOT (SINV (S (PP (IN At) (NP (NP (NP (CD 79) (NN m) (PRN (-LRB- -LRB-) (NP (QP (CD 260) (CD ft))) (-RRB- -RRB-))) (ADJP (JJ wide))) (CC and) (NP (CD 36) (NN m) (PRN (-LRB- -LRB-) (NP (QP (CD 118) (CD ft))) (-RRB- -RRB-))) (ADVP (JJ high)))) (, ,) (NP (PRP it)) (VP (VBD was) (VP (VBN built) (PP (IN by) (NP (DT the) (NNPS Ptolemies))) (PP (IN during) (NP (NP (DT a) (JJ total) (NN reconstruction)) (PP (IN of) (NP (NP (DT the) (NN temple)) (PP (IN in) (NP (DT the) (NNS years)))))))))) (VP (VBZ 237)) (NP (CD 105) (NN b.c.))))

It was built in 105 BC by the Ptolomies.

( It ( ( was ( ( built ( in ( 105 BC ) ) ) ( by ( the Ptolomies ) ) ) ) . ) )

(ROOT (S (NP (PRP It)) (VP (VBD was) (VP (VBN built) (PP (IN in) (NP (CD 105) (NN BC))) (PP (IN by) (NP (DT the) (NNPS Ptolomies))))) (. .)))


There are slave irons, traditional island costumes, and an interesting French map of 1778 showing the theatre de la guerre (theater of war) between the Americans and the British.

( There ( ( are ( ( ( ( ( ( slave irons ) , ) ( traditional ( island costumes ) ) ) , ) and ) ( ( ( ( an ( interesting ( French map ) ) ) ( of 1778 ) ) ( showing ( ( ( the ( theatre ( de la ) ) ) guerre ) ( -LRB- ( ( theater ( of war ) ) -RRB- ) ) ) ) ) ( between ( ( ( the Americans ) and ) ( the British ) ) ) ) ) ) . ) )

(ROOT (S (NP (EX There)) (VP (VBP are) (NP (NP (NN slave) (NNS irons)) (, ,) (NP (JJ traditional) (NN island) (NNS costumes)) (, ,) (CC and) (NP (NP (DT an) (JJ interesting) (JJ French) (NN map)) (PP (IN of) (NP (CD 1778))) (VP (VBG showing) (NP (NP (DT the) (FW theatre) (FW de) (FW la)) (ADJP (JJ guerre)) (PRN (-LRB- -LRB-) (NP (NP (NN theater)) (PP (IN of) (NP (NN war)))) (-RRB- -RRB-)))) (PP (IN between) (NP (NP (DT the) (NNPS Americans)) (CC and) (NP (DT the) (NNP British))))))) (. .)))

The Americans won against the British is a quick skirmish.

( ( ( The Americans ) ( won ( against ( the British ) ) ) ) ( ( is ( a ( quick skirmish ) ) ) . ) )

(ROOT (S (NP (NP (DT The) (NNPS Americans)) (VP (VBN won) (PP (IN against) (NP (DT the) (NNP British))))) (VP (VBZ is) (NP (DT a) (JJ quick) (NN skirmish))) (. .)))


Homes or businesses not located on one of these roads must place a mail receptacle along the route traveled.

( ( ( Homes or ) ( businesses ( not ( located ( on ( one ( of ( these roads ) ) ) ) ) ) ) ) ( ( must ( ( place ( a ( mail receptacle ) ) ) ( along ( ( the route ) traveled ) ) ) ) . ) )

(ROOT (S (NP (NP (NNPS Homes)) (CC or) (NP (NP (NNS businesses)) (VP (RB not) (VBN located) (PP (IN on) (NP (NP (CD one)) (PP (IN of) (NP (DT these) (NNS roads)))))))) (VP (MD must) (VP (VB place) (NP (DT a) (NN mail) (NN receptacle)) (PP (IN along) (NP (NP (DT the) (NN route)) (VP (VBN traveled)))))) (. .)))

A mailbox needs to be on a traveled route.

( ( A mailbox ) ( ( needs ( to ( be ( on ( a ( traveled route ) ) ) ) ) ) . ) )

(ROOT (S (NP (DT A) (NN mailbox)) (VP (VBZ needs) (S (VP (TO to) (VP (VB be) (PP (IN on) (NP (DT a) (JJ traveled) (NN route))))))) (. .)))


It displays some superb marble sculptures of the second century a.d. , most notably a Venus and the Emperor Hadrian and his wife Sabina.

( It ( ( displays ( ( ( ( ( some ( superb ( marble sculptures ) ) ) ( of ( the ( second ( century a.d. ) ) ) ) ) , ) ( most notably ) ) ( ( ( a Venus ) and ) ( ( ( the ( Emperor Hadrian ) ) and ) ( his ( wife Sabina ) ) ) ) ) ) . ) )

(ROOT (S (NP (PRP It)) (VP (VBZ displays) (NP (NP (DT some) (ADJP (JJ superb)) (NN marble) (NNS sculptures)) (PP (IN of) (NP (DT the) (JJ second) (NN century) (NN a.d.))) (, ,) (ADVP (RBS most) (RB notably)) (NP (NP (DT a) (NNP Venus)) (CC and) (NP (NP (DT the) (NNP Emperor) (NNP Hadrian)) (CC and) (NP (PRP$ his) (NN wife) (NN Sabina)))))) (. .)))

Sabina was the second wife of Emperor Hadrian.

( Sabina ( ( was ( ( the ( second wife ) ) ( of ( Emperor Hadrian ) ) ) ) . ) )

(ROOT (S (NP (NNP Sabina)) (VP (VBD was) (NP (NP (DT the) (JJ second) (NN wife)) (PP (IN of) (NP (NNP Emperor) (NNP Hadrian))))) (. .)))


If the face has been getting longer at the bottom over the generations, it has been getting shorter (and broader) on top.

( ( If ( ( the face ) ( has ( been ( ( getting ( longer ( at ( the bottom ) ) ) ) ( over ( the generations ) ) ) ) ) ) ) ( , ( it ( ( has ( been ( getting ( ( shorter ( -LRB- ( and ( broader -RRB- ) ) ) ) ( on top ) ) ) ) ) . ) ) ) )

(ROOT (S (SBAR (IN If) (S (NP (DT the) (NN face)) (VP (VBZ has) (VP (VBN been) (VP (VBG getting) (ADVP (RB longer) (PP (IN at) (NP (DT the) (NN bottom)))) (PP (IN over) (NP (DT the) (NNS generations)))))))) (, ,) (NP (PRP it)) (VP (VBZ has) (VP (VBN been) (VP (VBG getting) (NP (NP (JJR shorter) (PRN (-LRB- -LRB-) (CC and) (ADJP (JJR broader)) (-RRB- -RRB-))) (PP (IN on) (NP (NN top))))))) (. .)))

The shape of the face changes over the course of generations.

( ( ( The shape ) ( of ( the face ) ) ) ( ( changes ( over ( ( the course ) ( of generations ) ) ) ) . ) )

(ROOT (S (NP (NP (DT The) (NN shape)) (PP (IN of) (NP (DT the) (NN face)))) (VP (VBZ changes) (PP (IN over) (NP (NP (DT the) (NN course)) (PP (IN of) (NP (NNS generations)))))) (. .)))


Dick In The Ass and Dildo In The Pussy

Dick In The Ass and Dildo In The Pussy


"\"xxx\""


Cunt Juice Creams His Cock As Milf Rides In Very Horny Fuck


sex orgy in church tube porn video, sex orgy in church tube hot, sex orgy in church tube movies, sex orgy in church tube porno, sex orgy in church tube sexy, sex orgy in church tube nude, sex orgy in church tube anal, sex orgy in church tube sex, sex orgy in church tube videos, sex orgy in church tube vids,


is this porn


Play with her Big Tits and Cum!

tits Play with her Big Tits and Cum! sex, big Play with her Big Tits and Cum! sex, XX5D9 Play with her Big Tits and Cum! sex, boobs Play with her Big Tits and Cum! sex, ass Play with her Big Tits and Cum! sex, sexy Play with her Big Tits and Cum! sex, huge Play with her Big Tits and Cum! sex, suck Play with her Big Tits and Cum! sex, busty Play with her Big Tits and Cum! sex, cum Play with her Big Tits and Cum! sex, pornstar Play with her Big Tits and Cum! sex, amateur Play with her Big Tits and Cum! sex, blonde Play with her Big Tits and Cum! sex, XX645 Play with her Big Tits and Cum! sex, XX627 Play with her Big Tits and Cum! sex, Play with her Big Tits and Cum! sex,


VIEWS: 3670

MILF wife sucks cock

Collared slut milf gets to suck cock in restraints and blindfold!


from common import *
from editorcommon import *
import weakref

class KPEditorObject(KPEditorItem):
	SNAP_TO = (24,24)

	def __init__(self, obj, layer):
		KPEditorItem.__init__(self)
		obj.qtItem = self
		self._objRef = weakref.ref(obj)
		self._layerRef = weakref.ref(layer)
		self._updatePosition()
		self._updateSize()

		self.setAcceptHoverEvents(True)

		self.resizing = None

		if not hasattr(KPEditorObject, 'SELECTION_PEN'):
			KPEditorObject.SELECTION_PEN = QtGui.QPen(Qt.green, 1, Qt.DotLine)

		# I don't bother setting the ZValue because it doesn't quite matter:
		# only one layer's objects are ever clickable, and drawBackground takes
		# care of the layered drawing

	def _updatePosition(self):
		self.ignoreMovement = True

		x,y = self._objRef().position
		self.setPos(x*24, y*24)

		self.ignoreMovement = False

	def _updateSize(self):
		self.prepareGeometryChange()

		obj = self._objRef()
		w,h = obj.size

		self._boundingRect = QtCore.QRectF(0, 0, w*24, h*24)
		self._selectionRect = QtCore.QRectF(0, 0, w*24-1, h*24-1)

		self._resizerEndXY = (w*24-5, h*24-5)

	def paint(self, painter, option, widget):
		if self.isSelected():
			painter.setPen(self.SELECTION_PEN)
			painter.drawRect(self._selectionRect)

	def hoverMoveEvent(self, event):
		if self._layerRef() != KP.mapScene.currentLayer:
			self.setCursor(Qt.ArrowCursor)
			return

		pos = event.pos()
		bit = self.resizerPortionAt(pos.x(), pos.y())

		if bit == 1 or bit == 4:
			self.setCursor(Qt.SizeFDiagCursor)
		elif bit == 2 or bit == 3:
			self.setCursor(Qt.SizeBDiagCursor)
		elif bit == 7 or bit == 8:
			self.setCursor(Qt.SizeHorCursor)
		elif bit == 5 or bit == 6:
			self.setCursor(Qt.SizeVerCursor)
		else:
			self.setCursor(Qt.ArrowCursor)

	def mousePressEvent(self, event):
		if event.button() == Qt.LeftButton:
			pos = event.pos()
			bit = self.resizerPortionAt(pos.x(), pos.y())

			if self._layerRef() == KP.mapScene.currentLayer and bit:
			# if bit:
				event.accept()

				x, xSide, y, ySide = False, None, False, None

				if bit == 1 or bit == 7 or bit == 3:
					x, xSide = True, 1
				elif bit == 2 or bit == 4 or bit == 8:
					x, xSide = True, 0

				if bit == 1 or bit == 2 or bit == 5:
					y, ySide = True, 1
				elif bit == 3 or bit == 4 or bit == 6:
					y, ySide = True, 0

				self.resizing = (x, xSide, y, ySide)
				return

		KPEditorItem.mousePressEvent(self, event)

	def _tryAndResize(self, obj, axisIndex, mousePosition, stationarySide):
		objPosition = obj.position[axisIndex]
		objSize = obj.size[axisIndex]

		if stationarySide == 0:
			# Resize the right/bottom side
			relativeMousePosition = mousePosition - objPosition
			newSize = relativeMousePosition + 1
			if newSize == objSize or newSize < 1:
				return False

			if axisIndex == 1:
				obj.size = (obj.size[0], newSize)
			else:
				obj.size = (newSize, obj.size[1])

		else:
			# Resize the left/top side
			rightSide = objPosition + objSize - 1
			newLeftSide = mousePosition

			newPosition = newLeftSide
			newSize = rightSide - newLeftSide + 1

			if newSize < 1:
				return False
			if newPosition == objPosition and newSize == objSize:
				return False

			if axisIndex == 1:
				obj.position = (obj.position[0], newPosition)
				obj.size = (obj.size[0], newSize)
			else:
				obj.position = (newPosition, obj.position[1])
				obj.size = (newSize, obj.size[1])

		return True

	def mouseMoveEvent(self, event):
		if self.resizing:
			obj = self._objRef()
			scenePos = event.scenePos()

			hasChanged = False
			resizeX, xSide, resizeY, ySide = self.resizing

			if resizeX:
				hasChanged |= self._tryAndResize(obj, 0, int(scenePos.x() / 24), xSide)
			if resizeY:
				hasChanged |= self._tryAndResize(obj, 1, int(scenePos.y() / 24), ySide)

			if hasChanged:
				obj.updateCache()
				self._layerRef().updateCache()
				self._updatePosition()
				self._updateSize()

		else:
			KPEditorItem.mouseMoveEvent(self, event)

	def mouseReleaseEvent(self, event):
		if self.resizing and event.button() == Qt.LeftButton:
			self.resizing = None
		else:
			KPEditorItem.mouseReleaseEvent(self, event)

	def _itemMoved(self, oldX, oldY, newX, newY):
		obj = self._objRef()
		obj.position = (newX/24, newY/24)
		self._layerRef().updateCache()

	def remove(self, withItem=False):
		obj = self._objRef()
		layer = self._layerRef()

		layer.objects.remove(obj)
		layer.updateCache()

		if withItem:
			self.scene().removeItem(self)


import cloud_detection_new as cloud_detection
from matplotlib import pyplot as plt
import views
from skimage import exposure

nir = cloud_detection.get_nir()[0:600,2000:2600]
red = cloud_detection.get_red()[0:600,2000:2600]
green = cloud_detection.get_green()[0:600,2000:2600]
blue = cloud_detection.get_blue()[0:600,2000:2600] # or use coastal
coastal = cloud_detection.get_coastal()[0:600,2000:2600]
marine_shadow_index = (green-blue)/(green+blue)

img = views.create_composite(red, green, blue)
img_rescale = exposure.rescale_intensity(img, in_range=(0, 90))

plt.rcParams['savefig.facecolor'] = "0.8"
vmin, vmax=0.0,0.1
def example_plot(ax, data, fontsize=12):
     ax.imshow(data, vmin=vmin, vmax=vmax)
     ax.locator_params(nbins=3)
     ax.set_xlabel('x-label', fontsize=fontsize)
     ax.set_ylabel('y-label', fontsize=fontsize)
     ax.set_title('Title', fontsize=fontsize)

plt.close('all')
fig = plt.figure

ax1=plt.subplot(243)
ax2=plt.subplot(244)
ax3=plt.subplot(247)
ax4=plt.subplot(248)
ax5=plt.subplot(121)

a_coastal = coastal[500:600, 500:600]
a_blue = blue[500:600, 500:600]
a_green = green[500:600, 500:600]
a_red = red[500:600, 500:600]
a_nir = nir[500:600, 500:600]
a_img = img[500:600, 500:600]
spec1 = [a_coastal[60, 60], a_blue[60, 60], a_green[60, 60], a_red[60, 60], a_nir[60, 60]]

b_coastal = coastal[200:300, 100:200]
b_blue = blue[200:300, 100:200]
b_green = green[200:300, 100:200]
b_red = red[200:300, 100:200]
b_nir = nir[200:300, 100:200]
b_img = img[200:300, 100:200]

example_plot(ax1, coastal)
example_plot(ax2, blue)
example_plot(ax3, green)
example_plot(ax4, red)
ax5.imshow(img)

# plt.tight_layout()
plt.close('all')
spec = [b_coastal[60, 60], b_blue[60, 60], b_green[60, 60], b_red[60, 60], b_nir[60, 60]]
plt.plot(spec, 'k*-')
plt.plot(spec1, 'k.-')

plt.close('all')
cbg = (coastal+blue+green)/3

plt.imshow(cbg/red)


#!/usr/bin/env python
__author__ = 'saguinag' + '@' + 'nd.edu'
__version__ = "0.1.0"

##
## fname "b2CliqueTreeRules.py"
##

## TODO: some todo list

## VersionLog:

import net_metrics as metrics
import pandas as pd
import argparse, traceback
import os, sys
import networkx as nx
import re
from collections import deque, defaultdict, Counter
import tree_decomposition as td
import PHRG as phrg
import probabilistic_cfg as pcfg
import exact_phrg as xphrg
import a1_hrg_cliq_tree as nfld
from a1_hrg_cliq_tree import load_edgelist

DEBUG = False

def get_parser ():
  parser = argparse.ArgumentParser(description='b2CliqueTreeRules.py: given a tree derive grammar rules')
  parser.add_argument('-t', '--treedecomp', required=True, help='input tree decomposition (dimacs file format)')
  parser.add_argument('--version', action='version', version=__version__)
  return parser

def dimacs_td_ct (tdfname):
  """ tree decomp to clique-tree """

  print '... input file:', tdfname
  fname = tdfname
  graph_name = os.path.basename(fname)
  gname = graph_name.split('.')[0]
  gfname = "datasets/out." + gname
  tdh = os.path.basename(fname).split('.')[1] # tree decomp heuristic
  tfname = gname+"."+tdh

  G = load_edgelist(gfname)

  if DEBUG: print nx.info(G)
  print
  with open(fname, 'r') as f:  # read tree decomp from inddgo
    lines = f.readlines()
    lines = [x.rstrip('\r\n') for x in lines]

  cbags = {}
  bags = [x.split() for x in lines if x.startswith('B')]

  for b in bags:
    cbags[int(b[1])] = [int(x) for x in b[3:]]  # what to do with bag size?

  edges = [x.split()[1:] for x in lines if x.startswith('e')]
  edges = [[int(k) for k in x] for x in edges]

  tree = defaultdict(set)
  for s, t in edges:
    tree[frozenset(cbags[s])].add(frozenset(cbags[t]))
    if DEBUG: print '.. # of keys in `tree`:', len(tree.keys())
  if DEBUG: print tree.keys()
  root = list(tree)[0]
  if DEBUG: print '.. Root:', root
  root = frozenset(cbags[1])
  if DEBUG: print '.. Root:', root
  T = td.make_rooted(tree, root)
  if DEBUG: print '.. T rooted:', len(T)
  # nfld.unfold_2wide_tuple(T) # lets me display the tree's frozen sets

  T = phrg.binarize(T)

  prod_rules = {}
  td.new_visit(T, G, prod_rules)

  if DEBUG: print "--------------------"
  if DEBUG: print "- Production Rules -"
  if DEBUG: print "--------------------"

  for k in prod_rules.iterkeys():
    if DEBUG: print k
    s = 0
    for d in prod_rules[k]:
      s += prod_rules[k][d]
    for d in prod_rules[k]:
      prod_rules[k][d] = float(prod_rules[k][d]) / float(s)  # normailization step to create probs not counts.
      if DEBUG: print '\t -> ', d, prod_rules[k][d]

  rules = []
  id = 0
  for k, v in prod_rules.iteritems():
    sid = 0
    for x in prod_rules[k]:
      rhs = re.findall("[^()]+", x)
      rules.append(("r%d.%d" % (id, sid), "%s" % re.findall("[^()]+", k)[0], rhs, prod_rules[k][x]))
      if DEBUG: print ("r%d.%d" % (id, sid), "%s" % re.findall("[^()]+", k)[0], rhs, prod_rules[k][x])

      sid += 1
    id += 1

  df = pd.DataFrame(rules)

  outdf_fname = "./ProdRules/"+tfname+".prules"
  if not os.path.isfile(outdf_fname+".bz2"):
    print '...',outdf_fname, "written"
    df.to_csv(outdf_fname+".bz2", compression="bz2")
  else:
    print '...', outdf_fname, "file exists"
  return

def main ():
  parser = get_parser()
  args = vars(parser.parse_args())

  dimacs_td_ct(args['treedecomp'])  # gen synth graph

if __name__ == '__main__':
  try:
    main()
  except Exception, e:
    print str(e)
    traceback.print_exc()
    sys.exit(1)
  sys.exit(0)


from itertools import chain

from django.utils.itercompat import is_iterable

class Tags:
    """
    Built-in tags for internal checks.
    """
    admin = 'admin'
    caches = 'caches'
    compatibility = 'compatibility'
    database = 'database'
    models = 'models'
    security = 'security'
    signals = 'signals'
    templates = 'templates'
    urls = 'urls'

class CheckRegistry:

    def __init__(self):
        self.registered_checks = set()
        self.deployment_checks = set()

    def register(self, check=None, *tags, **kwargs):
        """
        Can be used as a function or a decorator. Register given function
        `f` labeled with given `tags`. The function should receive **kwargs
        and return list of Errors and Warnings.

        Example::

            registry = CheckRegistry()
            @registry.register('mytag', 'anothertag')
            def my_check(apps, **kwargs):
                # ... perform checks and collect `errors` ...
                return errors
            # or
            registry.register(my_check, 'mytag', 'anothertag')
        """
        kwargs.setdefault('deploy', False)

        def inner(check):
            check.tags = tags
            checks = self.deployment_checks if kwargs['deploy'] else self.registered_checks
            checks.add(check)
            return check

        if callable(check):
            return inner(check)
        else:
            if check:
                tags += (check, )
            return inner

    def run_checks(self, app_configs=None, tags=None, include_deployment_checks=False):
        """
        Run all registered checks and return list of Errors and Warnings.
        """
        errors = []
        checks = self.get_checks(include_deployment_checks)

        if tags is not None:
            checks = [check for check in checks if not set(check.tags).isdisjoint(tags)]
        else:
            # By default, 'database'-tagged checks are not run as they do more
            # than mere static code analysis.
            checks = [check for check in checks if Tags.database not in check.tags]

        for check in checks:
            new_errors = check(app_configs=app_configs)
            assert is_iterable(new_errors), (
                "The function %r did not return a list. All functions registered "
                "with the checks registry must return a list." % check)
            errors.extend(new_errors)
        return errors

    def tag_exists(self, tag, include_deployment_checks=False):
        return tag in self.tags_available(include_deployment_checks)

    def tags_available(self, deployment_checks=False):
        return set(chain.from_iterable(
            check.tags for check in self.get_checks(deployment_checks)
        ))

    def get_checks(self, include_deployment_checks=False):
        checks = list(self.registered_checks)
        if include_deployment_checks:
            checks.extend(self.deployment_checks)
        return checks

registry = CheckRegistry()
register = registry.register
run_checks = registry.run_checks
tag_exists = registry.tag_exists


#!/usr/bin/env python

"""
   Get rid of lines containing duplicate copies of the same atom in the "Atoms"
   section of a LAMMPS data file.  Duplicate lines which occur later are
   preserved and the earlier lines are erased.
   The file is read from sys.stdin.  This program does not parse the entire
   data file.  The text from the "Atoms" section of the LAMMPS file must
   be extracted in advance before it is sent to this program.)

"""

import sys

def main():
    in_stream = sys.stdin
    f = None
    fname = None
    if len(sys.argv) == 2:
        fname = sys.argv[1]
        f = open(fname, 'r')
        in_stream = f

    atom_ids_in_use = set([])

    lines = in_stream.readlines()

    # Start at the end of the file and read backwards.
    # If duplicate lines exist, eliminate the ones that occur earlier in the file.
    i = len(lines)
    while i > 0:
        i -= 1
        line_orig = lines[i]
        line = line_orig.rstrip('\n')
        if '#' in line_orig:
            ic = line.find('#')
            line = line_orig[:ic]

        tokens = line.strip().split()
        if len(tokens) > 0:
            atom_id = tokens[0]
            if atom_id in atom_ids_in_use:
                del lines[i]
            else:
                atom_ids_in_use.add(atom_id)
        else:
            del lines[i]

    for line in lines:
        sys.stdout.write(line)

    if f != None:
        f.close()

    return

if __name__ == '__main__':
    main()


#!/usr/bin/env python
# Copyright (c) 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

'''The 'grit build' tool along with integration for this tool with the
SCons build system.
'''

import filecmp
import getopt
import os
import shutil
import sys

from grit import grd_reader
from grit import util
from grit.tool import interface
from grit import shortcuts

# It would be cleaner to have each module register itself, but that would
# require importing all of them on every run of GRIT.
'''Map from <output> node types to modules under grit.format.'''
_format_modules = {
  'android':                  'android_xml',
  'c_format':                 'c_format',
  'chrome_messages_json':     'chrome_messages_json',
  'data_package':             'data_pack',
  'js_map_format':            'js_map_format',
  'rc_all':                   'rc',
  'rc_translateable':         'rc',
  'rc_nontranslateable':      'rc',
  'rc_header':                'rc_header',
  'resource_map_header':      'resource_map',
  'resource_map_source':      'resource_map',
  'resource_file_map_source': 'resource_map',
}
_format_modules.update(
    (type, 'policy_templates.template_formatter') for type in
        [ 'adm', 'admx', 'adml', 'reg', 'doc', 'json',
          'plist', 'plist_strings', 'ios_plist', 'android_policy' ])

def GetFormatter(type):
  modulename = 'grit.format.' + _format_modules[type]
  __import__(modulename)
  module = sys.modules[modulename]
  try:
    return module.Format
  except AttributeError:
    return module.GetFormatter(type)

class RcBuilder(interface.Tool):
  '''A tool that builds RC files and resource header files for compilation.

Usage:  grit build [-o OUTPUTDIR] [-D NAME[=VAL]]*

All output options for this tool are specified in the input file (see
'grit help' for details on how to specify the input file - it is a global
option).

Options:

  -a FILE           Assert that the given file is an output. There can be
                    multiple "-a" flags listed for multiple outputs. If a "-a"
                    or "--assert-file-list" argument is present, then the list
                    of asserted files must match the output files or the tool
                    will fail. The use-case is for the build system to maintain
                    separate lists of output files and to catch errors if the
                    build system's list and the grit list are out-of-sync.

  --assert-file-list  Provide a file listing multiple asserted output files.
                    There is one file name per line. This acts like specifying
                    each file with "-a" on the command line, but without the
                    possibility of running into OS line-length limits for very
                    long lists.

  -o OUTPUTDIR      Specify what directory output paths are relative to.
                    Defaults to the current directory.

  -D NAME[=VAL]     Specify a C-preprocessor-like define NAME with optional
                    value VAL (defaults to 1) which will be used to control
                    conditional inclusion of resources.

  -E NAME=VALUE     Set environment variable NAME to VALUE (within grit).

  -f FIRSTIDSFILE   Path to a python file that specifies the first id of
                    value to use for resources.  A non-empty value here will
                    override the value specified in the <grit> node's
                    first_ids_file.

  -w WHITELISTFILE  Path to a file containing the string names of the
                    resources to include.  Anything not listed is dropped.

  -t PLATFORM       Specifies the platform the build is targeting; defaults
                    to the value of sys.platform. The value provided via this
                    flag should match what sys.platform would report for your
                    target platform; see grit.node.base.EvaluateCondition.

  -h HEADERFORMAT   Custom format string to use for generating rc header files.
                    The string should have two placeholders: {textual_id}
                    and {numeric_id}. E.g. "#define {textual_id} {numeric_id}"
                    Otherwise it will use the default "#define SYMBOL 1234"

  --output-all-resource-defines
  --no-output-all-resource-defines  If specified, overrides the value of the
                    output_all_resource_defines attribute of the root <grit>
                    element of the input .grd file.

  --write-only-new flag
                    If flag is non-0, write output files to a temporary file
                    first, and copy it to the real output only if the new file
                    is different from the old file.  This allows some build
                    systems to realize that dependent build steps might be
                    unnecessary, at the cost of comparing the output data at
                    grit time.

  --depend-on-stamp
                    If specified along with --depfile and --depdir, the depfile
                    generated will depend on a stampfile instead of the first
                    output in the input .grd file.

Conditional inclusion of resources only affects the output of files which
control which resources get linked into a binary, e.g. it affects .rc files
meant for compilation but it does not affect resource header files (that define
IDs).  This helps ensure that values of IDs stay the same, that all messages
are exported to translation interchange files (e.g. XMB files), etc.
'''

  def ShortDescription(self):
    return 'A tool that builds RC files for compilation.'

  def Run(self, opts, args):
    self.output_directory = '.'
    first_ids_file = None
    whitelist_filenames = []
    assert_output_files = []
    target_platform = None
    depfile = None
    depdir = None
    rc_header_format = None
    output_all_resource_defines = None
    write_only_new = False
    depend_on_stamp = False
    (own_opts, args) = getopt.getopt(args, 'a:o:D:E:f:w:t:h:',
        ('depdir=','depfile=','assert-file-list=',
         'output-all-resource-defines',
         'no-output-all-resource-defines',
         'depend-on-stamp',
         'write-only-new='))
    for (key, val) in own_opts:
      if key == '-a':
        assert_output_files.append(val)
      elif key == '--assert-file-list':
        with open(val) as f:
          assert_output_files += f.read().splitlines()
      elif key == '-o':
        self.output_directory = val
      elif key == '-D':
        name, val = util.ParseDefine(val)
        self.defines[name] = val
      elif key == '-E':
        (env_name, env_value) = val.split('=', 1)
        os.environ[env_name] = env_value
      elif key == '-f':
        # TODO(joi@chromium.org): Remove this override once change
        # lands in WebKit.grd to specify the first_ids_file in the
        # .grd itself.
        first_ids_file = val
      elif key == '-w':
        whitelist_filenames.append(val)
      elif key == '--output-all-resource-defines':
        output_all_resource_defines = True
      elif key == '--no-output-all-resource-defines':
        output_all_resource_defines = False
      elif key == '-t':
        target_platform = val
      elif key == '-h':
        rc_header_format = val
      elif key == '--depdir':
        depdir = val
      elif key == '--depfile':
        depfile = val
      elif key == '--write-only-new':
        write_only_new = val != '0'
      elif key == '--depend-on-stamp':
        depend_on_stamp = True

    if len(args):
      print 'This tool takes no tool-specific arguments.'
      return 2
    self.SetOptions(opts)
    if self.scons_targets:
      self.VerboseOut('Using SCons targets to identify files to output.\n')
    else:
      self.VerboseOut('Output directory: %s (absolute path: %s)\n' %
                      (self.output_directory,
                       os.path.abspath(self.output_directory)))

    if whitelist_filenames:
      self.whitelist_names = set()
      for whitelist_filename in whitelist_filenames:
        self.VerboseOut('Using whitelist: %s\n' % whitelist_filename);
        whitelist_contents = util.ReadFile(whitelist_filename, util.RAW_TEXT)
        self.whitelist_names.update(whitelist_contents.strip().split('\n'))

    self.write_only_new = write_only_new

    self.res = grd_reader.Parse(opts.input,
                                debug=opts.extra_verbose,
                                first_ids_file=first_ids_file,
                                defines=self.defines,
                                target_platform=target_platform)

    # If the output_all_resource_defines option is specified, override the value
    # found in the grd file.
    if output_all_resource_defines is not None:
      self.res.SetShouldOutputAllResourceDefines(output_all_resource_defines)

    # Set an output context so that conditionals can use defines during the
    # gathering stage; we use a dummy language here since we are not outputting
    # a specific language.
    self.res.SetOutputLanguage('en')
    if rc_header_format:
      self.res.AssignRcHeaderFormat(rc_header_format)
    self.res.RunGatherers()
    self.Process()

    if assert_output_files:
      if not self.CheckAssertedOutputFiles(assert_output_files):
        return 2

    if depfile and depdir:
      self.GenerateDepfile(depfile, depdir, first_ids_file, depend_on_stamp)

    return 0

  def __init__(self, defines=None):
    # Default file-creation function is built-in open().  Only done to allow
    # overriding by unit test.
    self.fo_create = open

    # key/value pairs of C-preprocessor like defines that are used for
    # conditional output of resources
    self.defines = defines or {}

    # self.res is a fully-populated resource tree if Run()
    # has been called, otherwise None.
    self.res = None

    # Set to a list of filenames for the output nodes that are relative
    # to the current working directory.  They are in the same order as the
    # output nodes in the file.
    self.scons_targets = None

    # The set of names that are whitelisted to actually be included in the
    # output.
    self.whitelist_names = None

    # Whether to compare outputs to their old contents before writing.
    self.write_only_new = False

  @staticmethod
  def AddWhitelistTags(start_node, whitelist_names):
    # Walk the tree of nodes added attributes for the nodes that shouldn't
    # be written into the target files (skip markers).
    from grit.node import include
    from grit.node import message
    from grit.node import structure
    for node in start_node:
      # Same trick data_pack.py uses to see what nodes actually result in
      # real items.
      if (isinstance(node, include.IncludeNode) or
          isinstance(node, message.MessageNode) or
          isinstance(node, structure.StructureNode)):
        text_ids = node.GetTextualIds()
        # Mark the item to be skipped if it wasn't in the whitelist.
        if text_ids and text_ids[0] not in whitelist_names:
          node.SetWhitelistMarkedAsSkip(True)

  @staticmethod
  def ProcessNode(node, output_node, outfile):
    '''Processes a node in-order, calling its formatter before and after
    recursing to its children.

    Args:
      node: grit.node.base.Node subclass
      output_node: grit.node.io.OutputNode
      outfile: open filehandle
    '''
    base_dir = util.dirname(output_node.GetOutputFilename())

    formatter = GetFormatter(output_node.GetType())
    formatted = formatter(node, output_node.GetLanguage(), output_dir=base_dir)
    outfile.writelines(formatted)

  def Process(self):
    # Update filenames with those provided by SCons if we're being invoked
    # from SCons.  The list of SCons targets also includes all <structure>
    # node outputs, but it starts with our output files, in the order they
    # occur in the .grd
    if self.scons_targets:
      assert len(self.scons_targets) >= len(self.res.GetOutputFiles())
      outfiles = self.res.GetOutputFiles()
      for ix in range(len(outfiles)):
        outfiles[ix].output_filename = os.path.abspath(
          self.scons_targets[ix])
    else:
      for output in self.res.GetOutputFiles():
        output.output_filename = os.path.abspath(os.path.join(
          self.output_directory, output.GetFilename()))

    # If there are whitelisted names, tag the tree once up front, this way
    # while looping through the actual output, it is just an attribute check.
    if self.whitelist_names:
      self.AddWhitelistTags(self.res, self.whitelist_names)

    for output in self.res.GetOutputFiles():
      self.VerboseOut('Creating %s...' % output.GetFilename())

      # Microsoft's RC compiler can only deal with single-byte or double-byte
      # files (no UTF-8), so we make all RC files UTF-16 to support all
      # character sets.
      if output.GetType() in ('rc_header', 'resource_map_header',
          'resource_map_source', 'resource_file_map_source'):
        encoding = 'cp1252'
      elif output.GetType() in ('android', 'c_format', 'js_map_format', 'plist',
                                'plist_strings', 'doc', 'json', 'android_policy'):
        encoding = 'utf_8'
      elif output.GetType() in ('chrome_messages_json'):
        # Chrome Web Store currently expects BOM for UTF-8 files :-(
        encoding = 'utf-8-sig'
      else:
        # TODO(gfeher) modify here to set utf-8 encoding for admx/adml
        encoding = 'utf_16'

      # Set the context, for conditional inclusion of resources
      self.res.SetOutputLanguage(output.GetLanguage())
      self.res.SetOutputContext(output.GetContext())
      self.res.SetFallbackToDefaultLayout(output.GetFallbackToDefaultLayout())
      self.res.SetDefines(self.defines)

      # Make the output directory if it doesn't exist.
      self.MakeDirectoriesTo(output.GetOutputFilename())

      # Write the results to a temporary file and only overwrite the original
      # if the file changed.  This avoids unnecessary rebuilds.
      outfile = self.fo_create(output.GetOutputFilename() + '.tmp', 'wb')

      if output.GetType() != 'data_package':
        outfile = util.WrapOutputStream(outfile, encoding)

      # Iterate in-order through entire resource tree, calling formatters on
      # the entry into a node and on exit out of it.
      with outfile:
        self.ProcessNode(self.res, output, outfile)

      # Now copy from the temp file back to the real output, but on Windows,
      # only if the real output doesn't exist or the contents of the file
      # changed.  This prevents identical headers from being written and .cc
      # files from recompiling (which is painful on Windows).
      if not os.path.exists(output.GetOutputFilename()):
        os.rename(output.GetOutputFilename() + '.tmp',
                  output.GetOutputFilename())
      else:
        # CHROMIUM SPECIFIC CHANGE.
        # This clashes with gyp + vstudio, which expect the output timestamp
        # to change on a rebuild, even if nothing has changed, so only do
        # it when opted in.
        if not self.write_only_new:
          write_file = True
        else:
          files_match = filecmp.cmp(output.GetOutputFilename(),
              output.GetOutputFilename() + '.tmp')
          write_file = not files_match
        if write_file:
          shutil.copy2(output.GetOutputFilename() + '.tmp',
                       output.GetOutputFilename())
        os.remove(output.GetOutputFilename() + '.tmp')

      self.VerboseOut(' done.\n')

    # Print warnings if there are any duplicate shortcuts.
    warnings = shortcuts.GenerateDuplicateShortcutsWarnings(
        self.res.UberClique(), self.res.GetTcProject())
    if warnings:
      print '\n'.join(warnings)

    # Print out any fallback warnings, and missing translation errors, and
    # exit with an error code if there are missing translations in a non-pseudo
    # and non-official build.
    warnings = (self.res.UberClique().MissingTranslationsReport().
        encode('ascii', 'replace'))
    if warnings:
      self.VerboseOut(warnings)
    if self.res.UberClique().HasMissingTranslations():
      print self.res.UberClique().missing_translations_
      sys.exit(-1)

  def CheckAssertedOutputFiles(self, assert_output_files):
    '''Checks that the asserted output files are specified in the given list.

    Returns true if the asserted files are present. If they are not, returns
    False and prints the failure.
    '''
    # Compare the absolute path names, sorted.
    asserted = sorted([os.path.abspath(i) for i in assert_output_files])
    actual = sorted([
        os.path.abspath(os.path.join(self.output_directory, i.GetFilename()))
        for i in self.res.GetOutputFiles()])

    if asserted != actual:
      missing = list(set(actual) - set(asserted))
      extra = list(set(asserted) - set(actual))
      error = '''Asserted file list does not match.

Expected output files:
%s
Actual output files:
%s
Missing output files:
%s
Extra output files:
%s
'''
      print error % ('\n'.join(asserted), '\n'.join(actual), '\n'.join(missing),
          '\n'.join(extra))
      return False
    return True

  def GenerateDepfile(self, depfile, depdir, first_ids_file, depend_on_stamp):
    '''Generate a depfile that contains the imlicit dependencies of the input
    grd. The depfile will be in the same format as a makefile, and will contain
    references to files relative to |depdir|. It will be put in |depfile|.

    For example, supposing we have three files in a directory src/

    src/
      blah.grd    <- depends on input{1,2}.xtb
      input1.xtb
      input2.xtb

    and we run

      grit -i blah.grd -o ../out/gen --depdir ../out --depfile ../out/gen/blah.rd.d

    from the directory src/ we will generate a depfile ../out/gen/blah.grd.d
    that has the contents

      gen/blah.h: ../src/input1.xtb ../src/input2.xtb

    Where "gen/blah.h" is the first output (Ninja expects the .d file to list
    the first output in cases where there is more than one). If the flag
    --depend-on-stamp is specified, "gen/blah.rd.d.stamp" will be used that is
    'touched' whenever a new depfile is generated.

    Note that all paths in the depfile are relative to ../out, the depdir.
    '''
    depfile = os.path.abspath(depfile)
    depdir = os.path.abspath(depdir)
    infiles = self.res.GetInputFiles()

    # We want to trigger a rebuild if the first ids change.
    if first_ids_file is not None:
      infiles.append(first_ids_file)

    if (depend_on_stamp):
      output_file = depfile + ".stamp"
      # Touch the stamp file before generating the depfile.
      with open(output_file, 'a'):
        os.utime(output_file, None)
    else:
      # Get the first output file relative to the depdir.
      outputs = self.res.GetOutputFiles()
      output_file = os.path.join(self.output_directory,
                                 outputs[0].GetFilename())

    output_file = os.path.relpath(output_file, depdir)
    # The path prefix to prepend to dependencies in the depfile.
    prefix = os.path.relpath(os.getcwd(), depdir)
    deps_text = ' '.join([os.path.join(prefix, i) for i in infiles])

    depfile_contents = output_file + ': ' + deps_text
    self.MakeDirectoriesTo(depfile)
    outfile = self.fo_create(depfile, 'wb')
    outfile.writelines(depfile_contents)

  @staticmethod
  def MakeDirectoriesTo(file):
    '''Creates directories necessary to contain |file|.'''
    dir = os.path.split(file)[0]
    if not os.path.exists(dir):
      os.makedirs(dir)


from __future__ import print_function
import os, string, tempfile, shutil
from subprocess import Popen
from ase.io import write
from ase.units import Bohr

class Bader:
    '''class for running bader analysis and extracting data from it.

    The class runs bader, extracts the charge density and outputs it
    to a cube file. Then you call different functions of the class to
    extract the charges, volumes, etc...

    ACF.dat contains the coordinates of each atom, the charge
    associated with it according to Bader partitioning, percentage of
    the whole according to Bader partitioning and the minimum distance
    to the surface. This distance should be compared to maximum
    cut-off radius for the core region if pseudo potentials have been
    used.

    BCF.dat contains the coordinates of each Bader maxima, the charge
    within that volume, the nearest atom and the distance to that
    atom.

    AtomVolumes.dat contains the number of each volume that has been
    assigned to each atom. These numbers correspond to the number of
    the BvAtxxxx.dat files.

    The options for the executable are::

        bader [ -c bader | voronoi ]
              [ -n bader | voronoi ]
              [ -b neargrid | ongrid ]
              [ -r refine_edge_iterations ]
              [ -ref reference_charge ]
              [ -p all_atom | all_bader ]
              [ -p sel_atom | sel_bader ] [volume list]
              [ -p atom_index | bader_index ]
              [ -i cube | chgcar ]
              [ -h ] [ -v ]
              chargefile

    References:

    G. Henkelman, A. Arnaldsson, and H. Jonsson, A fast and robust
    algorithm for Bader decomposition of charge density,
    Comput. Mater. Sci. 36 254-360 (2006).

    E. Sanville, S. D. Kenny, R. Smith, and G. Henkelman An improved
    grid-based algorithm for Bader charge allocation,
    J. Comp. Chem. 28 899-908 (2007).

    W. Tang, E. Sanville, and G. Henkelman A grid-based Bader analysis
    algorithm without lattice bias, J. Phys.: Condens. Matter 21
    084204 (2009).
    '''
    def __init__(self, atoms):
        '''

        '''
        self.atoms = atoms

        #get density and write cube file
        calc = atoms.get_calculator()
        ncfile = calc.get_nc()
        base, ext = os.path.splitext(ncfile)

        x, y, z, density = calc.get_charge_density()
        cubefile = base + '_charge_density.cube'
        self.densityfile = cubefile

        if not os.path.exists(cubefile):
            write(cubefile, atoms, data=density * Bohr ** 3)

        #cmd to run for bader analysis. check if output exists so we
        #don't run this too often.
        acf_file = base + '_ACF.dat'
        if not os.path.exists(acf_file):
            #mk tempdir
            tempdir = tempfile.mkdtemp()

            cwd = os.getcwd()
            abscubefile = os.path.abspath(cubefile)
            os.chdir(tempdir)
            cmd = 'bader %s' % abscubefile

            process = Popen(cmd)
            status = Popen.wait()

            if status != 0:
                print(process)

            shutil.copy2('ACF.dat', os.path.join(cwd, acf_file))

            os.chdir(cwd)
            shutil.rmtree(tempdir)

        self.charges = []
        self.volumes = []

        #now parse the output
        f = open(acf_file, 'r')
        #skip 2 lines
        f.readline()
        f.readline()

        for i, atom in enumerate(self.atoms):
            line = f.readline()
            fields = line.split()
            n = int(fields[0])
            x = float(fields[1])
            y = float(fields[2])
            z = float(fields[3])
            chg = float(fields[4])
            mindist = float(fields[5])
            vol = float(fields[6])

            self.charges.append(chg)
            self.volumes.append(vol)

        f.close()

    def get_bader_charges(self):
        return self.charges

    def get_bader_volumes(self):
        'return volumes in Ang**3'
        return [x * Bohr ** 3 for x in self.volumes]

    def write_atom_volume(self, atomlist):
        '''write bader atom volumes to cube files.
        atomlist = [0,2] #for example

        -p sel_atom Write the selected atomic volumes, read from the
        subsequent list of volumes.
        '''
        alist = string.join([str(x) for x in atomlist], ' ')
        cmd = 'bader -p sel_atom %s %s' % (alist, self.densityfile)
        print(cmd)
        os.system(cmd)

    def write_bader_volume(self, atomlist):
        """write bader atom volumes to cube files.

        ::

          atomlist = [0,2] #  for example

        -p sel_bader Write the selected Bader volumes, read from the
        subsequent list of volumes.
        """
        alist = string.join([str(x) for x in atomlist], ' ')
        cmd = 'bader -p sel_bader %s %s' % (alist, self.densityfile)
        print(cmd)
        os.system(cmd)

    def write_atom_index(self):
        ''' -p atom_index Write the atomic volume index to a charge
        density file.
        '''
        cmd = 'bader -p atom_index %s' % (self.densityfile)
        print(cmd)
        os.system(cmd)

    def write_bader_index(self):
        '''
        -p bader_index Write the Bader volume index to a charge
        density file.
        '''
        cmd = 'bader -p bader_index %s' % (self.densityfile)
        print(cmd)
        os.system(cmd)

    def write_all_atom(self):
        '''
        -p all_atom Combine all volumes associated with an atom and
        write to file. This is done for all atoms and written to files
        named BvAtxxxx.dat. The volumes associated with atoms are
        those for which the maximum in charge density within the
        volume is closest to the atom.
        '''
        cmd = 'bader -p all_atom %s' % (self.densityfile)
        print(cmd)
        os.system(cmd)

    def write_all_bader(self):
        '''
        -p all_bader Write all Bader volumes (containing charge above
        threshold of 0.0001) to a file. The charge distribution in
        each volume is written to a separate file, named
        Bvolxxxx.dat. It will either be of a CHGCAR format or a CUBE
        file format, depending on the format of the initial charge
        density file. These files can be quite large, so this option
        should be used with caution.
        '''
        cmd = 'bader -p all_bader %s' % (self.densityfile)
        print(cmd)
        os.system(cmd)

if __name__ == '__main__':

    from ase.calculators.jacapo import Jacapo

    atoms = Jacapo.read_atoms('ethylene.nc')

    b = Bader(atoms)

    print(b.get_bader_charges())
    print(b.get_bader_volumes())
    b.write_atom_volume([3, 4])


#!/usr/bin/env python
#
# Copyright 2013 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# Find the most recent tombstone file(s) on all connected devices
# and prints their stacks.
#
# Assumes tombstone file was created with current symbols.

import datetime
import logging
import multiprocessing
import os
import subprocess
import sys
import optparse

from pylib import android_commands

def _ListTombstones(adb):
  """List the tombstone files on the device.

  Args:
    adb: An instance of AndroidCommands.

  Yields:
    Tuples of (tombstone filename, date time of file on device).
  """
  lines = adb.RunShellCommand('TZ=UTC su -c ls -a -l /data/tombstones')
  for line in lines:
    if 'tombstone' in line and not 'No such file or directory' in line:
      details = line.split()
      t = datetime.datetime.strptime(details[-3] + ' ' + details[-2],
                                     '%Y-%m-%d %H:%M')
      yield details[-1], t

def _GetDeviceDateTime(adb):
  """Determine the date time on the device.

  Args:
    adb: An instance of AndroidCommands.

  Returns:
    A datetime instance.
  """
  device_now_string = adb.RunShellCommand('TZ=UTC date')
  return datetime.datetime.strptime(
      device_now_string[0], '%a %b %d %H:%M:%S %Z %Y')

def _GetTombstoneData(adb, tombstone_file):
  """Retrieve the tombstone data from the device

  Args:
    tombstone_file: the tombstone to retrieve

  Returns:
    A list of lines
  """
  return adb.GetProtectedFileContents('/data/tombstones/' + tombstone_file)

def _EraseTombstone(adb, tombstone_file):
  """Deletes a tombstone from the device.

  Args:
    tombstone_file: the tombstone to delete.
  """
  return adb.RunShellCommandWithSU('rm /data/tombstones/' + tombstone_file)

def _ResolveSymbols(tombstone_data, include_stack):
  """Run the stack tool for given tombstone input.

  Args:
    tombstone_data: a list of strings of tombstone data.
    include_stack: boolean whether to include stack data in output.

  Yields:
    A string for each line of resolved stack output.
  """
  stack_tool = os.path.join(os.path.dirname(__file__), '..', '..',
                            'third_party', 'android_platform', 'development',
                            'scripts', 'stack')
  proc = subprocess.Popen(stack_tool, stdin=subprocess.PIPE,
                          stdout=subprocess.PIPE)
  output = proc.communicate(input='\n'.join(tombstone_data))[0]
  for line in output.split('\n'):
    if not include_stack and 'Stack Data:' in line:
      break
    yield line

def _ResolveTombstone(tombstone):
  lines = []
  lines += [tombstone['file'] + ' created on ' + str(tombstone['time']) +
            ', about this long ago: ' +
            (str(tombstone['device_now'] - tombstone['time']) +
            ' Device: ' + tombstone['serial'])]
  print '\n'.join(lines)
  print 'Resolving...'
  lines += _ResolveSymbols(tombstone['data'], tombstone['stack'])
  return lines

def _ResolveTombstones(jobs, tombstones):
  """Resolve a list of tombstones.

  Args:
    jobs: the number of jobs to use with multiprocess.
    tombstones: a list of tombstones.
  """
  if not tombstones:
    print 'No device attached?  Or no tombstones?'
    return
  if len(tombstones) == 1:
    data = _ResolveTombstone(tombstones[0])
  else:
    pool = multiprocessing.Pool(processes=jobs)
    data = pool.map(_ResolveTombstone, tombstones)
    data = ['\n'.join(d) for d in data]
  print '\n'.join(data)

def _GetTombstonesForDevice(adb, options):
  """Returns a list of tombstones on a given adb connection.

  Args:
    adb: An instance of Androidcommands.
    options: command line arguments from OptParse
  """
  ret = []
  all_tombstones = list(_ListTombstones(adb))
  if not all_tombstones:
    print 'No device attached?  Or no tombstones?'
    return ret

  # Sort the tombstones in date order, descending
  all_tombstones.sort(cmp=lambda a, b: cmp(b[1], a[1]))

  # Only resolve the most recent unless --all-tombstones given.
  tombstones = all_tombstones if options.all_tombstones else [all_tombstones[0]]

  device_now = _GetDeviceDateTime(adb)
  for tombstone_file, tombstone_time in tombstones:
    ret += [{'serial': adb.Adb().GetSerialNumber(),
             'device_now': device_now,
             'time': tombstone_time,
             'file': tombstone_file,
             'stack': options.stack,
             'data': _GetTombstoneData(adb, tombstone_file)}]

  # Erase all the tombstones if desired.
  if options.wipe_tombstones:
    for tombstone_file, _ in all_tombstones:
      _EraseTombstone(adb, tombstone_file)

  return ret

def main():
  parser = optparse.OptionParser()
  parser.add_option('--device',
                    help='The serial number of the device. If not specified '
                         'will use all devices.')
  parser.add_option('-a', '--all-tombstones', action='store_true',
                    help="""Resolve symbols for all tombstones, rather than just
                         the most recent""")
  parser.add_option('-s', '--stack', action='store_true',
                    help='Also include symbols for stack data')
  parser.add_option('-w', '--wipe-tombstones', action='store_true',
                    help='Erase all tombstones from device after processing')
  parser.add_option('-j', '--jobs', type='int',
                    default=4,
                    help='Number of jobs to use when processing multiple '
                         'crash stacks.')
  options, args = parser.parse_args()

  if options.device:
    devices = [options.device]
  else:
    devices = android_commands.GetAttachedDevices()

  tombstones = []
  for device in devices:
    adb = android_commands.AndroidCommands(device)
    tombstones += _GetTombstonesForDevice(adb, options)

  _ResolveTombstones(options.jobs, tombstones)

if __name__ == '__main__':
  sys.exit(main())


#!/usr/bin/env python
"""
Render Django templates.
Useful for generating fixtures for the JavaScript unit test suite.

Usage:
    python render_templates.py path/to/templates.json

where "templates.json" is a JSON file of the form:
    [
        {
            "template": "openassessmentblock/oa_base.html",
            "context": {
                "title": "Lorem",
                "question": "Ipsum?"
            },
            "output": "oa_base.html"
        },
        ...
    ]

The rendered templates are saved to "output" relative to the
templates.json file's directory.
"""
import sys
import os.path
import json
import re
import dateutil.parser
import pytz

# This is a bit of a hack to ensure that the root repo directory
# is in the Python path, so Django can find the settings module.
sys.path.append(os.path.dirname(os.path.dirname(__file__)))
from django.template.context import Context
from django.template.loader import get_template

USAGE = u"{prog} TEMPLATE_DESC"

DATETIME_REGEX = re.compile("^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}$")

def parse_dates(context):
    """
    Transform datetime strings into Python datetime objects.

    JSON does not provide a standard way to serialize datetime objects,
    but some of the templates expect that the context contains
    Python datetime objects.

    This (somewhat hacky) solution recursively searches the context
    for formatted datetime strings of the form "2014-01-02T12:34"
    and converts them to Python datetime objects with the timezone
    set to UTC.

    Args:
        context (JSON-serializable): The context (or part of the context)
            that will be passed to the template.  Dictionaries and lists
            will be recursively searched and transformed.

    Returns:
        JSON-serializable of the same type as the `context` argument.

    """
    if isinstance(context, dict):
        return {
            key: parse_dates(value)
            for key, value in context.iteritems()
        }
    elif isinstance(context, list):
        return [
            parse_dates(item)
            for item in context
        ]
    elif isinstance(context, basestring):
        if DATETIME_REGEX.match(context) is not None:
            return dateutil.parser.parse(context).replace(tzinfo=pytz.utc)

    return context

def render_templates(root_dir, template_json):
    """
    Create rendered templates.

    Args:
        root_dir (str): The directory in which to write the rendered templates.
        template_json (dict): Description of which templates to render.  Must be a list
            of dicts, each containing keys "template" (str), "context" (dict), and "output" (str).

    Returns:
        None

    """
    for template_dict in template_json:
        template = get_template(template_dict['template'])
        context = parse_dates(template_dict['context'])
        rendered = template.render(Context(context))
        output_path = os.path.join(root_dir, template_dict['output'])

        try:
            with open(output_path, 'w') as output_file:
                output_file.write(rendered.encode('utf-8'))
        except IOError:
            print "Could not write rendered template to file: {}".format(output_path)
            sys.exit(1)

def main():
    """
    Main entry point for the script.
    """
    if len(sys.argv) < 2:
        print USAGE.format(sys.argv[0])
        sys.exit(1)

    try:
        with open(sys.argv[1]) as template_json:
            root_dir = os.path.dirname(sys.argv[1])
            render_templates(root_dir, json.load(template_json))
    except IOError as ex:
        print u"Could not open template description file: {}".format(sys.argv[1])
        print(ex)
        sys.exit(1)
    except ValueError as ex:
        print u"Could not parse template description as JSON: {}".format(sys.argv[1])
        print(ex)
        sys.exit(1)

if __name__ == '__main__':
    main()


#!/usr/bin/env python

"""Node Server Example

This example demonstrates how to create a very simple node server
that supports bi-diractional messaging between server and connected
clients forming a cluster of nodes.
"""

from __future__ import print_function

from os import getpid
from optparse import OptionParser

from circuits.node import Node
from circuits import Component, Debugger

__version__ = "0.0.1"

USAGE = "%prog [options]"
VERSION = "%prog v" + __version__

def parse_options():
    parser = OptionParser(usage=USAGE, version=VERSION)

    parser.add_option(
        "-b", "--bind",
        action="store", type="string",
        default="0.0.0.0:8000", dest="bind",
        help="Bind to address:[port]"
    )

    parser.add_option(
        "-d", "--debug",
        action="store_true",
        default=False, dest="debug",
        help="Enable debug mode"
    )

    opts, args = parser.parse_args()

    return opts, args

class NodeServer(Component):

    def init(self, args, opts):
        """Initialize our ``ChatServer`` Component.

        This uses the convenience ``init`` method which is called after the
        component is proeprly constructed and initialized and passed the
        same args and kwargs that were passed during construction.
        """

        self.args = args
        self.opts = opts

        self.clients = {}

        if opts.debug:
            Debugger().register(self)

        if ":" in opts.bind:
            address, port = opts.bind.split(":")
            port = int(port)
        else:
            address, port = opts.bind, 8000

        Node(port=port, server_ip=address).register(self)

    def connect(self, sock, host, port):
        """Connect Event -- Triggered for new connecting clients"""

        self.clients[sock] = {
            "host": sock,
            "port": port,
        }

    def disconnect(self, sock):
        """Disconnect Event -- Triggered for disconnecting clients"""

        if sock not in self.clients:
            return

        del self.clients[sock]

    def ready(self, server, bind):
        print("Ready! Listening on {}:{}".format(*bind))
        print("Waiting for remote events...")

    def hello(self):
        return "Hello World! ({0:d})".format(getpid())

def main():
    opts, args = parse_options()

    # Configure and "run" the System.
    NodeServer(args, opts).run()

if __name__ == "__main__":
    main()


Grunge Dallas skyline with American flag illustration


An Indigenous Peoples' History of the United States

An Indigenous Peoples'history of the United States

an indigenous peoples'history of the united states


Call of Duty: General - Cod poster  image 1

the cover to call duty modern warfare
the poster is hanging on the wall


Skull Leopard Concealed Carry Gun Purse Cheetah Bling Rhinestone Shoulder Bag White Black or Pink

Two purses with skulls and leopard print on them.

two purses with skulls and chains on them

two purses with skulls and leopard prints on them

two purses with skulls and leopard print on them


adidas Zx Flux Smooth, Baskets Basses Femme chic

The adidas shoes are designed with black and white floral print.

the adidas sneakers are all white and black

the adidaswee sneakers are white and black

the adidaswee running shoe is made from fabric

the adidas sneakers are designed with an allover print

the adidas sneakers are designed with black and white print

the adidas shoes are designed with black and white print

the adidaswee sneakers are designed with an allover print

the adidas shoes are designed with black and white floral print

the adidaswee shoes are designed with black and white print

the adidas sneakers are designed with black and white floral print

the adidaswee shoes are designed with an allover print

the adidaswee running shoe is designed with an allover print


2013 Lincoln MKZ|AWD|ON SALE NOW!!

The Lincoln motorcycle is parked in front of other cars.

the lincoln is parked in front of other cars


Picture of Case FortyFour Case FortyFour No.11 Case for Samsung Galaxy Xcover 4 in Cross Grain Black

The black leather wallet case for an iPhone 6

the black leather wallet case for iphone 6


2009-2012 Ford F150 Oem Factory Navigation Radio With Hard Drive And Install Kit

The dashboard of a car with an iPod and GPS.

the dashboard and dash panel in a vehicle

the dashboard of a car with an electronic device

the dashboard of a car with a gps system

the dashboard of a car with its navigation system

the dashboard of a car with a gps device

the dashboard of a car with an ipod and radio

the dashboard of a car with an ipod and gps

the dashboard of a car with its radio and gps

the dashboard of a car with a radio and other electronics

the dashboard of a car with its radio and other controls


2010 FORD F-250 Super Duty

The white truck is parked on the side of the road.

the white truck is parked on the side of the road


Xbox One Xbox One Red Dead Redemption 2 Picture


e O w r U l 1 U h b S x n x C E m B p h X p 2 H k H F 1 B 6 x O j a 3 1 v W n g p j Z 2 o j G 1 7 0 T p T q t G 6 l 0 F v l T J l Z 1 r X f P c m U D N G l 3 2 F 0 q w O Y x a 8 J J f N P y H L 1 b K M g X h 5 J G Q p q I O 0 a s E 8 1 g e 0 m P m C n z b 1 8 A H 8 U 7 V S D T N J n 5 q Z m V M p r E t M q C J 8 d l q l T p E e h c 6 o V 4 V K k I a 8 8 r A p l M v e L L k U c v d X d J m R S 7 K w O X 3 R W m r O R W b n 3 v 1 N 8 V r F a b v K w n S O p Z t R W I T o 3 F O 3 e y f w D a W K e J Q t l X u 7 X j t 7 f t B 0 J 9 p G r A j D K k 9 T d b s r E t 6 E v U U e P G j S o M M T b X w t 1 v R y G B a 6 o 0 7 P t 8 4 w E H y 0 G j g C D q v 3 Y s N Z e r 9 j m o c j V t n z 5 7 b P 4 q Y z w N G d H z 9 m C V 0 O H g E j x y V f G F 5 H a G l O M r S c 4 f H q 0 a 1 W M k 3 x D U v 2 w w A t Z z t k l K b e I L m G R q Q 0 a z F x O U q e u w K R F W e 7 t I d M y 8 W N 5 a v s 5 a 6 M L w o h 3 u H T 1 C A E y E E 6 q 2 S 5 Y 4 Y S 3 p X L 2 G p b S 0 N D L 7 F Y V A V i E 7 D X 2 M Q b C E b 4 B N V P x F X U 7 R 3 l 8 W 2 D x 8 S Z 6 j N 2 0 s Y 6 J 6 7 r h i W Q h 4 9 i s h f H g e z R C h 8 Z T F W l f r J L e J 9 a m a J 2 j X L S y K o k T I I z G k n 3 C J e 4 5 s f Y X 7 4 X 1 0 Z E x A G a J O H J e s n Z f b p q N p t d e J E f S 4 8 G M S V u 1 Z c V M 2 S X M n T X x 0 L o 5 c i k Y N h o m C N K 5 N x r g d Y N M a O Z h n C 3 W f i C G b 7 3 A m s S P v p 4 0 k a t E c 0 i 1 n l s p W E 7 k 4 K g m x k j Y G j 0 t 4 U w q h k o D U 9 D j D 4 6 h z 2 t R o h Q z d M Y o c e 1 X w D f t S J A 7 H M W 2 a U k 7 v r r G k b b N G T 4 g 5 w r V 2 H j j 1 A B e F q O s S w U l v U v 2 a D M b N y J c J B 7 Z h u z a y M S 6 8 9 W u U v H 7 4 W K F y G T u J m B 9 Z e v a d 0 N C R K C K Q 8 h H W c M Y D 4 N M u r I Z 0 C 8 2 X N Z f a a 4 D 1 x f s h Y 1 I W C o L T t w 1 O 9 h O z v 4 6 e 1 4 7 z 4 C a l 8 W O p A 0 H a I F K O J f n A V d 4 y U 2 7 w c M 2 U v U I z N H x T 2 o d V k U O D l h U m K V b d Q s g H 8 o I 0 o A g 8 2 a L X J i 1 s d

9 3 u W E A E B U l J l R s r 4 T q t Z O w G P R 4 m p C N y y 7 r 2 k P p F N m A L q p Q 3 G r X N Q u j s T 9 X q e N g m l 5 K w W W w P R H I 3 o U U T B Y e b w D k R k w r l a g X F c N 6 e q k x M a 9 5 H k S L 3 L l d T Q B c j F K n 2 K C 5 x W I Y 4 r 2 T F r H u 6 R l N C 4 M 2 Y 0 w Z Q O n 7 U v v L n d f e A p G b u i W V F n r b E u b h N 5 C A G 8 N 6 j A B v P e u 8 R M L h 7 J x r G t M w l V 9 p 1 A J q 9 L G a E p X c e x b K S A g M x x i B a 1 l j v Y B W H p N M 3 r T J s 9 B F r y q 4 5 m R q v 5 F G f y h V b i 9 F S k a j p 6 4 J 6 f s e j N d p a 1 7 Z 1 m m 1 k m Z w r d 4 p 8 i 7 q J P E t s E B v E r P A U g M 7 H C 6 7 d D 9 s 4 n o D 4 D V t A x t V B I W 1 u I I K y g Y 8 u q E k c o C Q k J z a I H M L 0 T P O e B 4 M R A 7 r Y H A 3 h 0 H x v F u B o Z 3 L i Z E f Q 9 m T l u v 6 Z i K 1 8 S t Y I t b D g T N H t X o K O 7 5 X 6 A 8 E G D T A C A h 3 O w P P E l U E A i y 6 U w 8 6 e L H E 2 r g a x 3 Q 2 2 S Z L U a O H v M Y O M x U i Q V J b V d Z x l i 1 H w J J I H t P P B f u 3 e t H 9 7 m Q t r 0 P k q 4 8 o z c 2 o O X d W M l w B b S z 0 9 A 0 F l K Z k 8 P P C b B Y W I 7 E e 3 a k S t U u W v O a 2 L b s G 9 t q m K A I h Y q m R 0 P G f g 7 Y D a X Y q m z o M n z k Q l s A 6 i t y b E q 4 t l Q c C e 9 v z f J k L c s e i 3 M A 3 c R O a q g q D 5 C e d B Y Z f 4 m H d 1 A G q l u I X l A c x n j q A Y L 4 y Z B a n 8 m 5 O m k t q E s 4 3 E Q t 9 F g n P 9 O D l N 3 V m J X D N D p D V 2 T g A Z I T S Y V v S c R x C 8 C X 6 r 1 i Q p d a T H 0 L u e m E C c G Y V m P O w I H M k s Z f p X 3 p H 5 D 1 D D M a t e a 4 4 T J F u F P c C a H z K 0 d U Q O C n e 6 Y 6 K v o z H 7 N 6 S 5 9 R w V E B y z h K N Y k b A C D q M l 9 b T P O n q m 2 V W b C O e A t N n 2 v s v M 6 L O x N 0 M X J F h O S 9 T B W t 5 m w 0 D m Q n s 0 y O Z d R a M 0 X H 3 V F W S T t k d 7 5 l i j t B k 0 d P K L a q f y R M 4 T 3 6 b X c 5 f u 4 5 Y p I c 0 G C l l C A A c X h i e 4 U j I M p k l x h X 0 Q k x a s f F P Y m r 9 Y h B 3 Y T

9 d 0 3 v n a l X M h 4 9 N D 6 V 5 Y E c o W i j U Y e k D l z 8 k 2 x 6 Q 9 N 1 S I O m C D f m J l F Q Z Y R l t g S e e y Y O n 0 D i U D C 4 O g a 4 t m 0 B U h d E B w 9 T 3 6 M x m T z u R Q Q l C P u W l t L o e I K P c F D x v Q e J A d u J d 5 W g n j 1 D A S Z z s S Y l 6 f m t g 8 g b X G 3 j T e L n 8 8 p o U 6 U Q j 7 6 g O n T x a A u 8 I U 5 n t X A G 2 X 1 j p S f B K j t O U h x B 8 G Q P g S h d l w 5 m k o L u 7 o h o 3 t 7 9 s z g h C g A U H C z e v M z 7 7 c j F w t d b q k b M U B T f w K 9 D e r S g R y Y x g d 4 s 3 r 5 5 c i E 1 U l 3 0 j e 8 S 2 8 k 1 e s x W a N 0 K 6 8 5 L 8 3 j u I 7 V c O o v C d w 7 e A i 2 e q C 5 B m h k 4 1 d r X a v N M b N W y Q d M z H B k p j h s m 0 n E J V m 1 J g B N y a 3 K Q 3 a G U k X P v F d t Z y Q z i p 1 V K k d K 1 N j i 5 k E q e I s J T A 3 z C D 6 I u V n X d d 1 f g p X f d l I B V 5 7 3 y V I 1 z u V x u B J M a w v x B O A q 1 J X N 6 v 0 H H o 8 H y s g w U T t 8 d D L t c 9 d k x 9 P C u g H 4 t Y 2 o 8 s 6 4 H N D l W O W O c F a h 8 8 S j 0 q n 3 f u i H 1 7 E I N A m b 2 n 8 J r U L H h d q X O 6 h u X j 8 c 0 Q u Y e z N S d 2 X Z o K W T 7 1 R d F 3 8 S k P Z m h F z m Z o w g H D c 7 P R A z y 6 Z U i o 1 q b 1 Q b Z 0 s k N f X f 5 b N l K u W j T E w L r x v x 9 v 7 a O 2 S o A f O x O b B z v F X O B D x h L E a I u Q k K R V F 0 j U q O b S s 5 u e P G A T X x C y K L n e 0 E I v L m X a i M a r 3 0 O U J h z J w q I n F w h f G P t C Z U l A L m j V 4 Q r K I P p 3 j R R 1 s t X k 2 F k z j b 6 8 d H H I n U 7 U y b Z G c S 2 U V V x r q a E A F R q H Q y g S O K 3 F u P P S P H 7 2 s J C B F s N V L f z q O O n 4 y U B g Z W D k i u F U 6 8 U o L R Q t R X 9 G w L F r l T v 0 Z S x Z X j f i o f v n 7 D x J h T n 3 s q 9 Y n K d l I O 2 d B E a f l G g w N N n V N k F d I J w n L J x Z u X H U F G g K y W l H b E P V s m s j D 6 Q 9 Z a X 4 D u d l G l O y k 2 l a B a r N c C T r Z c o Y H f g z M Z 9 J f d g 6 E t w 5 h n Y j J I W 5 3 B E v 9 v Z K l x D S m p Z F 1 b T p O s


Activity of some antibiotics against Pseudomonas aeruginosa strains isolated from cancerous patients.

150 Pseudomonas aeruginosa strains, isolated from pathological samples (urine, faeces, sputum, etc.)

of affections developed in cancerous patients have been studied.

In vitro, with two different inocula, activities of some cephalosporins--ceftazidime, cefotaxime, cefoperazone--have been compared with those of gentamicin, carbenicillin and tobramycin.

Ceftazidime, among the antibiotics tested, has been the most active against Pseudomonas aeruginosa strains.


In portable handheld work apparatus driven by an internal combustion engine, the hot exhaust gases of the engine are guided through an exhaust-gas muffler.

Such work apparatus include chain saws, brushcutters, suction/blower apparatus or the like.

The exhaust-gas muffler assumes considerable temperatures.

An exhaust-gas catalytic converter, which is possibly integrated into the exhaust-gas system, brings about an after burning of incompletely combusted exhaust-gas components.

A considerable increase of the temperature level in the exhaust-gas system can, under circumstances, take place because of the after burning in the exhaust-gas catalytic converter.

An exhaust-gas muffler, which is equipped with an exhaust-gas catalytic converter as needed, is affixed to any desired apparatus part of the portable handheld work apparatus with one or several attachment pins.

The attachment pins can be configured as threaded fasteners, stud bolts or the like and are especially subjected to mechanical vibration loads as well as thermal loads.

The attachment pins define a thermal bridge between the exhaust-gas muffler which is hot during operation and the comparatively cooler apparatus part.

Temperature fluctuations in the exhaust-gas muffler, for example, because of frequently changing power outputs or starting and stopping of the engine can lead to a loosening of the attachment pins especially in combination with vibration loads resulting from the engine operation.

When the apparatus part, which receives the attachment pins, is configured of a light metal, especially magnesium or a corresponding plastic material, a high heat entry via the attachment pin can lead to a creeping of the material of the apparatus in the region of the attachment pin.

The creeping of the material receiving the attachment pin can, likewise, lead to an unwanted automatic loosening of the exhaust-gas muffler attachment.

For a reliable attachment of an exhaust-gas muffler, configurations of attachment pins are known wherein a comparatively long threaded section is provided at the apparatus end.

A relatively large transition surface can be provided for the introduced heat via the long threaded section threadably engaged in the housing part.

During operation, a comparatively low temperature level is present on the end of the threaded section facing away from the exhaust-gas muffler.

At least in this region, a permanently secure threaded connection can be obtained especially in association with an adhesive.

A sufficient amount of structural space is not always available for accommodating the correspondingly long threaded section.

A correspondingly long configuration of the attachment pin can, under certain circumstances, not lead to the desired success especially for a high temperature level caused by an exhaust-gas catalytic converter.

An adhesive locking of the threaded fastener leads to a cost intensive assembly operation.

Creeping of the material, which accommodates the threaded section, cannot be avoided under some circumstances, at least not in the hotter region of the threaded section.


Stress testing has long been performed as part of the quality control process for computer hardware and/or software.

During stress testing, the system is stressed in different ways and the response is recorded and analyzed, both for speed and accuracy.

As part of system stress testing, it is oftentimes necessary for the system load to vary between high stress levels and low stress levels in order to simulate real world conditions and/or to test the limits of the system.

In the prior art, the stress test is typically allowed to run until a stop event, which may be the completion of the test or a premature termination of the test due to, for example, a system crash.

During the time when the stress test is performed, data is logged.

When the stop event is encountered, a post-run analysis is performed.

That is, the logged data is analyzed after the testing terminates in order to ascertain the performance of the system and the cause for the premature termination, if any.

As systems become more complex, it is not uncommon for a stress test to last the entire day or even multiple days.

If the system behaves unacceptably within the first few hours but the test is allowed to proceed until completion before the test data is analyzed, days may be wasted before the problem is uncovered.

Furthermore, the execution environment of many hardware and/or software involves the use of transient data and states.

If the test is halted at the moment the system begins to behave unacceptably or shortly thereafter, some or much of the transient data and/or states information reflects the condition that cause the error.

By retrieving this transient data and/or states information, the source of error may be more rapidly and/or accurately determined.

On the other hand, if the test is allowed to proceed much further, such as to completion to facilitate post-run analysis, much or all of the transient data and/or state information related to the error may have been irretrievably lost and is thus of little help to the determination of the source of error.


Regulatory T cells in ankylosing spondylitis and the response after adalimumab treatment.

The aim of this study was to investigate the role of regulatory T cells (Tregs) in ankylosing spondylitis (AS).

We included 69 AS patients (15 of them received anti-tumor necrosis factor-apha agent-adalimumab) in the study and used a questionnaire to record the demographic data, disease activity index, functional index, human leukocyte antigen-B27, erythrocyte sedimentation rate (ESR) and C-reactive protein (CRP).

Thirty healthy subjects were used as controls.

The peripheral blood mononuclear cells (PMBCs) were stained with anti-CD4, anti-CD25 and anti-Forkhead/winged helix transcription factor P3 (anti-FoxP3) antibodies and flow-cytometry was used to determine cell populations.

The percentages of Tregs in PMBCs were significantly higher in AS patients than in healthy controls.

In AS patients who had poor disease functional index with higher levels of ESR and CRP were positively and significantly correlated with Tregs percentages in PMBCs.

After adalimumab treatment in 15 patients, the percentages of Tregs, the ESR/CRP levels and the Bath Ankylosing Spondylitis Disease Activity Index/Bath Ankylosing Spondylitis Functional Index were significantly and gradually decreased over time.

The high expression of FoxP3 and CD25 on CD4(+) T cells in PBMCs in AS patients was noted, and could be reversed by adalimumab therapy.

These findings suggest that Tregs may play a role in modulating the inflammatory process in AS.

Whether Tregs can be taken as a predictor for disease activity or treatment outcome is unclear and requires further study.


Analysis of lateral flow biodetectors: competitive format.

Lateral flow (LF) biodetectors facilitate low-cost, rapid identification of various analytes.

The LF cell consists of a porous membrane containing immobilized ligands at various locations.

Through the action of capillary forces, a mixture of sample and reporter particles is transported to the ligand sites, where the target analytes and the reporters bind to the immobilized ligand.

The concentration of the reporters is measured with a scanner.

A mathematical model for two different competitive assays is constructed and used to study the performance of LF devices under various operating conditions.

The model predicts the signal magnitude as a function of target analyte, reporter, and ligand concentrations, reaction rate constants, and flow rate.

The predictions are compared and qualitatively agree with experimental data.

The model provides insights into various experimental observations.

Furthermore, the model can be used to optimize the performance of LF devices and to inexpensively and rapidly test the system under various operating conditions.


# AeroDyn Module
The legacy version of this module and additional documentation are available
the [NWTC Software Portal](https://nwtc.nrel.gov/AeroDyn/).

## Overview
AeroDyn is a time-domain wind and MHK turbine aerodynamics module that can be
coupled into the OpenFAST multi-physics engineering tool to enable aero-elastic
simulation of horizontal-axis wind turbines.

AeroDyn can also be driven as a
standalone code to compute wind turbine aerodynamic response uncoupled from
OpenFAST.

## Manual
AeroDyn documentation is available on the OpenFAST
[ReadTheDocs](https://openfast.readthedocs.io/en/master/source/user/aerodyn/index.html) site.


Let u = 0.13 + t. Round u to three decimal places.

Let y = b + t. What is y rounded to four dps?

Let m = 117.036 - o. Let z = 117.081 - m. What is z rounded to 2 decimal places?

Let z = a - x. What is z rounded to seven dps?

What is m rounded to the nearest one thousand?

What is h rounded to the nearest one hundred thousand?

What is g rounded to the nearest one hundred?

Let l = t - b. Round l to two decimal places.

Let f = -46.979 + h. Let u = -0.2 - f. What is u rounded to five decimal places?

Let d = 0.1399948 - c. Round d to 6 dps.

Round v to the nearest one hundred thousand.

What is g rounded to the nearest ten thousand?

What is g rounded to the nearest integer?

What is v rounded to two decimal places?

Let h = -115 + n. Round h to six decimal places.

What is c rounded to the nearest 1000000?

Let i = -2.8 + j. What is i rounded to two decimal places?

Let k = -39.000046 + f. Round k to 5 dps.

Let r = 2286 + v. What is r rounded to the nearest one thousand?

What is y rounded to four decimal places?

What is t rounded to the nearest one thousand?

Let x = 2 - r. Let o = 4.521 - x. Round o to 2 decimal places.

Let d = 42391886 - o. Let s = 18.8 - d. What is s rounded to 5 dps?

Round p to the nearest one hundred thousand.

What is d rounded to the nearest integer?

What is z rounded to the nearest integer?

What is u rounded to the nearest 1000000?

What is p rounded to six decimal places?

Suppose 0 = 4*s - f*y - 328 - 2238, 3*s = -5*y + i. Round s to the nearest one hundred.

What is k rounded to the nearest 100000?

Let h = y + m. What is h rounded to 2 dps?

Let j = -9 + c. Round j to one decimal place.

Let a = u + t. What is a rounded to the nearest integer?

Let k = 147 - y. Let i = -58.99999938 - k. What is i rounded to seven dps?

What is v rounded to seven decimal places?

What is c rounded to the nearest ten thousand?


Songz performed the song on 106 & Park ' s New Year 's Eve celebration on December 31 , 2009 .

MTV and Logo TV collaborated to air various aspects of the preparation for the Roseland shows on April 4 .


The shopping district is featured throughout the story when the characters go into town , and especially whenever Ayu appears in the early story .

Various types of merchandising have also been made based on her appearance , such as plushes and keychains .


According to the World Bank Latin American and Caribbean Studies , Mexican women in the labor force still spend approximately 33 hours each week performing household responsibilities .

Areas in southern Mozambique also lost access to clean water , furthering dehydration and illnesses .


Petra 's use for the movie 's climatic scenes greatly contributed to its popularity as an international tourist destination .

The film was shot in Jordan , within miles of the Iraqi border , to achieve Bigelow 's goal of authenticity .


Rallying is another major event with rallies conducted in closed roads around Coimbatore .

In the Safari Rally , a rotor arm in Mouton 's Quattro failed and caused the turbo to break down as well .


Because most of the heavy equipment was unheated , six operators were typically assigned to each piece of equipment , allowing for frequent breaks .

Leighton does not only provide construction and construction services but is also the world 's largest contract miner .


Sacramone began studying dance at the age of five and started training gymnastics three years later , at age eight , in 1996 .

She defended her title on the vault , placed second on the floor exercise and third on the balance beam .


In 2009 , a gang of teenagers robbed a group of four 12- to 15 @-@ year @-@ old boys of their bikes at Parson Street .

Rau took active part in the events in Stuttgart 's streets on this and the following day .


The Leafs never missed the playoffs in the years Kennedy played a full season .

An avid follower of ice hockey , he has been a fan of the Toronto Maple Leafs since his childhood in the Leaside and Etobicoke communities in Toronto .


The college opened a $ 2 million , 9 @,@ 000 @-@ square @-@ foot ( 840 m2 ) fitness center in February 2009 .

Daniels works out daily at the student gym and eats frequently with students in student dining facilities .


The broad objective is to improve the performance of the organisation, by analysing current performance and developing improvement action plans.


Aiko is a modern concept based around reinventing core categories such as knits,sweater and leather. Led by creative director Cynthia Mittweg and Sean Barron, the founder of Katayone, Adeli and Joie. The firs collection was launched in the spring of 2010 focusing primarily on the sweatshirt category.Since the launch,the relaxed yet luxurious collection has expanded and expanded and experimented with numerous new techniques and novelties.
Born in London and raised between Tokyo and Los Angeles, Cynthia enjoyed succesful careers in both music and art.


Our Double Studio of 27 sqm. is located on the first floor where you can enjoy a wonderful panoramic sea view up to Kefalonia Island, even while lying on the bed.
It is one bedroom studio suitable for two people, with a king size bed plus 1 folding bed for your child (if required), an equipped kitchenette with fridge, A/C, TV, safety box and a bathroom with shower.
There is a large terrace of 11 sqm. with a fantastic view over our swimming pool and Jacuzzi. Free internet is available in all areas.


Not that I believe in either/or, but maybe if there were such activity, do you believe that you would undoubtedly have knowledge of it.


"Based on information from the CDC and WHO, it is believed that professional drycleaning and laundry operations can help contain the spread of the virus because the heat and chemistry of the professional cleaning process is known to kill germs" From the Drycleaning & Laundry Institute international
We're Glad to See You!
Since inception, Glad Cleaners has always maintained a plant on the premises, so your garments remain with us during the entire cleaning process. We continually strive towards providing our customers, both residential and commercial, with exceptional, reliable, and courteous services while maintaining competitive prices. We utilize an eco-friendly dry-cleaning process and recently upgraded our equipment which allows us to continue to provide our customers with the highest quality work product.


Input: [Approximate Cost] PEN 33 [Activity]

Output: Visit Lima's famous Museo del Oro (Gold Museum), containing over 7000 pieces of gold, silver and gilded copper from a number of Peru's different pre-Columbian cultures

Trip Notes for Andes & Amazon between Cartagena and Rio de Janeiro including Carnival


Input: [Approximate Cost] PEN 7 [Activity]

Output: Visit the beautiful Baroque cathedral of San Franciso in Lima's historical centre, and explore the morbidly fascinating catacombs underneath

Trip Notes for Andes & Amazon between Cartagena and Rio de Janeiro including Carnival


Input: [Approximate Cost] PEN 9 [Activity]

Output: Explore the excellent Museum of the Nation in Lima, which has numerous exhibits highlighting many of the pre-conquest civilisations and an outstanding photo exhibit on Peru's Internal Conflict of the 1980s and 1990s

Trip Notes for Andes & Amazon between Cartagena and Rio de Janeiro including Carnival


Input: [Approximate Cost] USD 35 [Activity]

Output: Explore the bohemian areas of Barranco and Miraflores on a cycling tour of Lima

Trip Notes for Andes & Amazon between Cartagena and Rio de Janeiro including Carnival


Input: [Approximate Cost] PEN 4 [Activity]

Output: See the incredible 'Magic Water Circuit' in Lima's Parque de la Reserva, an astounding evening display of water, music, light, images, and laser effects across 13 huge water fountains

Trip Notes for Andes & Amazon between Cartagena and Rio de Janeiro including Carnival


Input: [Approximate Cost] PEN 30 [Activity]

Output: Explore the Rafael Larco Herrera Museum in Lima, containing the largest private collection of pre-Colombian art in the world

Trip Notes for Andes & Amazon between Cartagena and Rio de Janeiro including Carnival


Input: [Approximate Cost] USD 40 [Activity]

Output: Take a cebiche and pisco sour class at one of the top restaurants in Miraflores, a lively district of Lima

Trip Notes for Andes & Amazon between Cartagena and Rio de Janeiro including Carnival


Input: [Title] Classical Drawing Series: Flowers, Leaves, and Stems [Program Type] Workshop or Trip [Date] 09/10/2015 - 6:00pm [Description]

Output: Studying live plants, students will sharpen their observational skills as they learn the techniques of realistic drawing. This program is open to all drawing levels.

Programs & Events | North Carolina Museum of Natural SciencesPage


Input: [Title] Classical Drawing: Butterflies [Program Type] Workshop or Trip [Date] 08/20/2015 - 6:00pm [Description]

Output: Open to all drawing levels. Join us as we examine Museum specimens in detail and learn simple steps to a realistic drawing.

Programs & Events | North Carolina Museum of Natural SciencesPage


Input: [Title] Computer Programming for Beginners [Program Type] Family Program, Workshop or Trip [Date] 08/13/2015 - 6:30pm [Description]

Output: Have you ever wondered how a computer program works? Do you want to make your own computer games and websites? Discover your inner hacker and sign up today!

Programs & Events | North Carolina Museum of Natural SciencesPage


She lives in this house over there
Has her world outside it
Scrabbles in the earth with her fingers and her mouth
Shes five years old
Threads worms on a string
Keeps spiders in her pocket
Collects fly wings in a jar
Scrubs horse flies
And pinches them on a line
Ohhh...!
She has one friend, he lives next door
Theyre listening to the weather
He knows how many freckles shes got
She scratches his beard
Shes painting huge books
And glues them together
They saw a big raven
It glided down the sky
She touched it
Ohh...!
Today is her birthday
Theyre smoking cigars
Hes got a chain of flowers
And sews a bird in her knickers
Ohhh...!
Theyre smoking cigars
They lie in the bathtub
A chain of flowers


Deus does not exist
But if he does, he lives above me
In the fattest largest cloud up there
Hes whiter than white and cleaner than clean
He wants to reach me
Deus does not exist
But if he does I always notice him
Getting ready in his airy room
He is picking his gloves so gently off
He wants to touch me
Im walking humbly down a tiny street
Pulling my collar it gets bigger, woo!
I once met him
It really surprised me
He put me in a bath tub
Made me squeaky clean
Really clean
To create a universe
You must taste
The forbidden fruit
He said hi
I said hi
I was still clean
Deus does not exist
But if he does hed want to get down from that cloud
First marzipan fingers then marble hands
More silent than silence and slower than slow
Diving towards me
My collar is huge room for two hands
They start at the chest and move slowly down
I thought I had seen everything
He wasnt white and fluffy
He just had side burns
He just had side burns
And a quiff
He said hi
I said hi
I was still clean
I was squeaky clean
I was surprised
Just as you would be
Deus, Deus
Deus, Deus


A divorced lady arrives home from a bar
Guess, guess what she sees, sees there
There is a naked person in my flat!
Hes got a weird expression on his face!
Oh my god and jesus as well!
W-what are you doing here?
Are you hurting your chest?
Offending yourself?
Forcing yourself into pain and sorrow like there is no tomorrow?
You should use the pain and sorrow
To fill you up with power
Lifes both sweet and sour!
He looks at me hopeless with tears in his eyes
Goes out of the window and up on the roof
Naked man, naked man calm down!
I-Ill give you some strawberry cake
Dont act like there is no tomorrow
You should use the pain and the sorrow
To fill you up with power
Lifes both sweet and sour!
Lifes both sweet and sour!
Lifes both sweet and sour!
Lifes both sweet and sour!
Dont act
Dont act
Dont act
Like theres no tomorrow!
You should use the pain and sorrow
To fill you up with power
Lifes both sweet and sour
Dont act, dont act like there is no tomorrow
You should use the pain and sorrow
To fill you up with power
Lifes both sweet and sour
Lifes both sweet and sour
Lifes both sweet and sour


I was watching a woman who was walking down my street
Walking with grace, so beautifully carefully
Shes a big and pretty mother, big and pretty mother
Swinging her handbag back and forth so joyfully
Shes drawing circles with her breasts in her jumper
Give me a big mother, huge and loving one
I can crawl upon and cling to
Shes a large woman, warm and cuddly
Wet lady, strong mother
Shes walking down the street in front of my window
Whistling funky tunes in the ears of my neighbours
Give me a big mother, one that would always want me
Hot embracing mother, I can crawl upon and cling to
You cant be safer cant be more secure
Than with a breast in each palm
With a breast in each palm
Thats the way I was born
And thats the way I want to die
Give me a big mother, soft and wet one
That would caress me
In all those special places
Wheres a strong mother
One that squeezes me
One I can crawl