System.err.println("EVQ ERR 1: xv=" + xv + ", yv=" + yv);
static vValue dequeue(vList evq) {    vValue a, xv, yv;    a = evq.Get();    while (a == null) {		//#%#%# is polling really the way to do this?	try {	    Thread.sleep(iConfig.PollDelay);	} catch (InterruptedException e) {	}	a = evq.Get();    }    //  get two more values, which must be integers    xv = evq.Get();    yv = evq.Get();    if (xv == null || !(xv instanceof vInteger)    ||  yv == null || !(yv instanceof vInteger)) {System.err.println("EVQ ERR 1: xv=" + xv + ", yv=" + yv); //#%#%#% DEBUGGING	iRuntime.error(143);		// malformed queue    }    long x = ((vInteger)xv).value;    long y = ((vInteger)yv).value;    if (x < 0 || x >= (LeftmostFlag << 1) || y < 0) {System.err.println("EVQ ERR 2: x=" + x + ", y=" + y);	//#%#%#% DEBUGGING	iRuntime.error(143);		// malformed queue    }    if ((x & ControlFlag) != 0) {	// check CONTROL flag	k$control.value = iNew.Null();	// succeed (null) if set    } else {	k$control.value = null;		// failure value    }    if ((x & MetaFlag) != 0) {		// check META flag	k$meta.value = iNew.Null();	// succeed (null) if set    } else {	k$meta.value = null;		// failure value    }    if ((x & ShiftFlag) != 0) {		// check SHIFT flag	k$shift.value = iNew.Null();	// succeed (null) if set    } else {	k$shift.value = null;		// failure value    }    long msec = (y >> 16) & 0xFFF;	// set &interval    long expo = y >> 28;    k$interval.self.set(msec << (4 * expo));    x = (int)(short)x;			// extract signed coordinate values    y = (int)(short)y;    //#%#%#%# need to translate x/y to this window's coordinate system    k$x.self.Assign(iNew.Integer(x));	// also sets k$col    k$y.self.Assign(iNew.Integer(y));	// also sets k$row    return a;				// return event code}